1

使用 Python,我想将 Matlab 结构写入磁盘。这使用 scipy.io 模块相当简单:http: //docs.scipy.org/doc/scipy-0.9.0/reference/tutorial/io.html

但是,我希望结构的一个字段成为表单的函数,@sqrt这样当我在 matlab 中将 .mat 文件加载到磁盘时,我得到了这个功能:

>> myStruct = load('MyStruct.mat')
>> myStruct.myFunction(5)
ans =
    2.2361

但我找不到如何做到这一点。简单地将“@sqrt”字符串放入结构字段之一是行不通的。

谢谢!

4

1 回答 1

1

我从未使用过 SciPy,但我能想到一个可能的解决方法。存储函数名称字符串而不是其句柄,并在 MATLAB 中使用str2func

myfunc = str2func(myStruct.myFunction);
myfunc(5)

如果你真的需要单线,你可以feval改用:

feval(myStruct.myFunction, 5)
于 2013-03-12T23:14:18.440 回答