1

mlabwrap-purepy を次からダウンロードしました。https://github.com/cpbotha/mlabwrap-purepy 次に、以下を使用して matlab 関数を呼び出します。

%% Python init <br>
import matlabwrap <br>
mlab = matlabwrap.init() <br>
%% <br>

すべての組み込みの matlab 関数を簡単に呼び出すことができますが、カスタム関数を呼び出しているときに Type-Error が発生します。次の matlab 関数を検討してください。

%% Matlab Function %% <br>
function [x] = get_x() <br>
  x = 1; <br>
end <br>
%%% <br>

実行するとmlab.get_x()、次のエラーが表示されます。

TypeError: cannot concatenate 'str' and 'numpy.ndarray' objects <br>

何が起こっているのかの手がかりはありますか?
私が見た:Run a MATLAB script from python + pass args - しかし、それは私の問題を解決しませんでした。

ただし、入力引数なしで mlab.eval を使用して単純な matlab スクリプトを実行すると、次のように機能します。

x = mlab.eval('get_x') <br>

-- のように実行できるようにしたいのですがmlab.function_name(arg1,arg2)、上記のようにエラーが発生しました。これを修正する可能性のある手がかりはありますか?

4

1 に答える 1

0

関数 get_x() にヘルプ文字列を追加してみてください。

つまり、get_x.m ファイルでは次のようになります。

function [x] = get_x()
% GET_X return x
x = 1;
end
于 2014-04-07T13:08:17.643 に答える