使用scipy将matlab函数保存到磁盘

2024-04-25 05:44:05 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python,我想写一个Matlab结构到磁盘。这是相当简单的使用西皮.io模块:http://docs.scipy.org/doc/scipy-0.9.0/reference/tutorial/io.html

但是,我希望struct的一个字段是@sqrt形式的函数,这样当我在matlab中将.mat文件加载到磁盘时,就可以得到以下功能:

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

但我不知道怎么做。简单地将字符串'@sqrt'放入一个struct字段中是行不通的。你知道吗

谢谢!你知道吗


Tags: 模块ioorghttpdocsdocscipysqrt
1条回答
网友
1楼 · 发布于 2024-04-25 05:44:05

我从来没有和SciPy一起工作过,但是我能想到一个可能的解决方法。存储函数名字符串而不是其句柄,并在MATLAB中使用^{}

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

如果您真的需要一行程序,可以使用^{}

feval(myStruct.myFunction, 5)

相关问题 更多 >