在SPM matlabbatch中调用外部函数
我试图通过编译的SPM12中的matlabbatch对象使用私有MATLAB函数(私有是指我自己编写的):在SPM matlabbatch中调用外部函数,matlab,batch-processing,matlab-deployment,matlab-spm,Matlab,Batch Processing,Matlab Deployment,Matlab Spm,我试图通过编译的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 = {};
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.m中定义的函数“myfunction”为:
function myfunction(n)
disp(n);
end
SPM返回的错误消息如下:
项“要调用的函数”,字段“val”:项必须是函数句柄或函数名
但是,如果我用标准的MATLAB函数替换函数“myfunction”,例如“disp”,它就可以工作。这表明,不知何故,我需要指定myfunction.m文件的路径,但我没有找到如何指定
感谢您的帮助。myfunction.m在您的系统中位于何处?它在您的路径上吗?@Suever:myfunction.m文件是通过“-a”选项添加到mcc的,而它本应使用“-I”选项。问题解决了。感谢您的帮助。
myfunction.m
在您的系统中的位置?它在您的路径上吗?@Suever:myfunction.m文件是通过“-a”选项添加到mcc的,而它本应使用“-I”选项。问题解决了。谢谢你的帮助。