在MATLAB R2011b和Python(Windows 7)之间传递数据

2024-09-30 18:13:10 发布

您现在位置:Python中文网/ 问答频道 /正文

朋友们好

我想在MATLAB和Python之间传递数据,一种方法是使用matlab.engine软件或从MATLAB调用Python库。但是这种方法需要Matlab2014版本,而我的版本是MATLABR2011b。

因此,我请求您为不同的方法提供指导,以便在Python和matlabr2011b版本之间进行通信。你知道吗

提前谢谢


Tags: 方法版本软件朋友engine指导matlab传递数据
2条回答

都支持二进制文件格式。
可以使用^{}/^{}在matlab中读取/写入hdf5数据文件:

>> hdf5write('./data_from_matlab.h5', '/data', x);

在python中有^{}

import h5py, numpy as np

with h5py.File('./data_from_matlab.h5', 'r') as R:
    x = np.array(R['data'])

另一方面:

import h5py, numpy as np

with h5py.File('./data_from_python.h5', 'w') as W:
    W.create_dataset(name='data', data=np.zeros((10,10),dtype='f4'))

并在Matlab中阅读

>> data = hdf5read('./data_from_python.h5','/data');  % you might need to remove '/' from '/data'...

根据您想做什么和您的数据类型,您可以将其写入文件并用另一种语言从中读取。您可以在python部分使用numpy.fromfile。你知道吗

相关问题 更多 >