Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SPM matlabbatch中调用外部函数_Matlab_Batch Processing_Matlab Deployment_Matlab Spm - Fatal编程技术网

在SPM matlabbatch中调用外部函数

在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 = {};

我试图通过编译的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.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”选项。问题解决了。谢谢你的帮助。