我正在使用python的matlab引擎。我的目标是将一些信息从python传递给我的matlab脚本,然后存储结果。我能够做到这一点,如果我创建了我想要的所有值的matlab数组,但我真的很喜欢字典(所以我可以记住什么值与什么变量或如果我将来改变我的matlab脚本)。这是我已经试过:从matlab返回值到python(作为字典?)
MATLAB功能:
function out = mymatlabfunc(x,y)
# compute stuff
out = py.dict('interesting variable 1', x_out, 'interesting variable 2', y_out, ...);
和蟒蛇:
eng = matlab.engine.start_matlab()
xdata, ydata = matlab.double(x), matlab.double(y)
resultdict = eng.mymatlabfunc(xdata,ydata)
不幸的是这并没有回我的词典,而是一matlab.object我,我不不知道该怎么办。是否有可能返回我的字典,或者我应该简单地返回matlab中的数字,并在python中创建我的字典?
从m端来看,它只是一个“Python对象”,因为matlab不支持字典。只需调用诸如“get”之类的方法即可获得想要的whantever。 – Daniel
@Daniel我得到一个错误,说matlab.object没有属性'get'。 Python认为这仍然是一个matlab对象,而不是字典。 – qRTPCR