修改代码如下:
进口numpy为NP
进口matlab.engine
eng = matlab.engine.start_matlab()
data = np.Arange(5)
data_list = data.tolist()
Eng.Workspace ['D'] = eng.cell(data_list)
Eng.Workspace ['foo'] = eng.eval('cellfun(@double,d)')
print(eng.eval(“平均(foo)”))
这
data_list
传递给MATLAB工作区是Python列表数据类型,该数据类型不能与
mean
MATLAB的功能,因此引发了一个错误,说它期望
数字或逻辑值
。
它可以通过
将列表转换为单元格数组,然后使用CellFun函数将其转换为双数字数据类型
然后可以将其传递给均值函数。