1

Pythonを使用して、Matlab構造体をディスクに書き込みたいと思います。これは、scipy.ioモジュールを使用するとかなり簡単です:http://docs.scipy.org/doc/scipy-0.9.0/reference/tutorial/io.html

ただし、構造体のフィールドの1つをフォームの関数にして@sqrt、.matファイルをmatlabのディスクにロードすると、次の機能が得られるようにします。

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

しかし、私はこれを行う方法を見つけることができません。'@sqrt'の文字列を構造体フィールドの1つに入力するだけでは機能しません。

ありがとう!

4

1 に答える 1

1

私は SciPy を使ったことはありませんが、考えられる回避策は思いつきます。ハンドルの代わりに関数名の文字列を保存し、MATLAB で次を使用しますstr2func

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

本当にワンライナーが必要な場合は、feval代わりに次を使用できます。

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