python 调用matlab .m 显示问题:
TypeError: 不受支持的 Python 数据类型: numpy.ndarray
问题分析: matlab 支持矩阵类型的数据,python 是数组类型的,需要进行数据转换
- 数组转列表
- 强制转换为 matlab.double
import matlab.engine
import numpy as np
import scipy.io as sio
eng = matlab.engine.start_matlab()
df = pd.read_excel("testdata.xlsx")
print(df.shape)
# X1 = df.values.tolist[1]
X1 = df['current'].values
##数据转换 数组转列表
X2 = X1.tolist()
Y = df['time'].values
Yshift =eng.barbrokenFFTtest(matlab.double(X2))