使用mlabwrap-purepy调用自定义函数时出现类型错误

时间:2014-03-21 07:15:54

标签: matlab python-2.7 typeerror mlabwrap

我从https://github.com/cpbotha/mlabwrap-purepy下载了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)一样运行 - 但我按照上面的说明点击了错误。什么可能解决这个问题的线索?

1 个答案:

答案 0 :(得分:0)

尝试向函数get_x()添加一些帮助字符串。

即,在get_x.m文件中:

function [x] = get_x()
% GET_X return x
x = 1;
end