我在 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: unsupported Python data type: numpy.ndarray”
我知道这是因为 Matlab 无法读取 numpy 数组格式。
如何将 numpy 数组转换为 matlab 可读数组?任何例子都会有帮助。
Qyouu
相关分类