1. Python调Matlab函数输入matrix
可做如下转换:
假设matlab中某一个函数的输入参数是多维矩阵,那我们可以把python中定义好的数组先转成list,如下:
np_a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
mat_a = matlab.double(np_a.tolist())
这样生成的mat_a就可以直接作为参数传入matlab函数了。
2.Matlab生成的矩阵导入Python
方法1:先保存,再使用scipy.io.loadmat库导入python
#该方法适用于取得了和matlab的通信接口
from scipy.io import loadmat
h.execute("save('mat_path', 'mat_name');")
q = np.array(mat_path)
m = loadmat(q)
mat_a = m['mat_name']
方法2:通过执行matlab编译好的组件,自然也会产生矩阵输出,如matlab.mlarray.double类型的矩阵,可以通过np.array直接转换