我在MATLAB中有一个函数,它有四个输入
function f = calculate_mat(F,M,a,b).
这里F和M是多维数组,“a”和“b”是常数项
现在我必须在python脚本中调用这个函数,在这里我给出了上面所有的输入值
import matlab.engine
import numpy as np
# c, a, b are constants
c = 100
a = 30
b = 0.2
freal = np.arange(0,30000,10) # real frequency range
fimag = np.arange(0,200,1) # imaginary frequency range
F = np.zeros((3000,200))
M = np.zeros((3000,200))
for i in range(len(freal)):
for j in range(len(fimag)):
F = freal[i] + fimag[j]
omega = 2 * np.pi * F[i][j]
kx = omega / c # wave number
M[i][j] = np.abs(kx)
eng = matlab.engine.start_matlab()
fst = eng.calculate_mat(F, M, a,b)
但是python脚本抛出了一个错误:“TypeError:不支持的python数据类型:numpy.ndarray”
我理解这是因为Matlab不能读取numpy数组格式
如何将numpy数组转换为matlab可读的数组?任何例子都会有帮助
不能使用numpy数组调用matlab函数。必须将numpy数组转换为matlab矩阵:
相关问题 更多 >
编程相关推荐