1

我从以下位置下载了 mlabwrap-purepy:https://github.com/cpbotha/mlabwrap-purepy 接下来,我使用以下命令调用 matlab 函数:

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

我可以轻松调用所有内置的 matlab 函数,但是在调用自定义函数时我遇到了类型错误。考虑以下 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 回答