【问题标题】:save matlab function to disk using scipy使用 scipy 将 matlab 函数保存到磁盘
【发布时间】:2013-03-13 07:14:18
【问题描述】:

使用 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”字符串放入结构字段之一是行不通的。

谢谢!

【问题讨论】:

    标签: python matlab scipy


    【解决方案1】:

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

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

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

    feval(myStruct.myFunction, 5)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-04
      • 1970-01-01
      相关资源
      最近更新 更多