我试图通过我编译的SPM12中的matlabbatch对象使用私有MATLAB函数(私有意味着我自己编写):
run_spm12.sh $MCR_ENV run batch.m
使用包含以下行的batch.m文件:
matlabbatch{1}.cfg_basicio.run_ops.call_matlab.inputs{1}.string = 'Hello world';
matlabbatch{1}.cfg_basicio.run_ops.call_matlab.outputs = {};
matlabbatch{1}.cfg_basicio.run_ops.call_matlab.fun = 'myfunction';
功能' myfunction'在myfunction.m文件中定义为:
function myfunction(n)
disp(n);
end
SPM返回的错误消息如下:
项目'要调用的函数',字段' val':项目必须是函数句柄或函数名称。
但是,如果我更换功能' myfunction'通过标准的MATLAB函数,例如' disp'例如。它表明,不知何故,我需要指定myfunction.m文件的路径,但我没有找到如何。
感谢您的帮助。