据我所知,MATLAB中脚本和函数之间的一个区别是脚本中的变量将出现在工作空间中,而函数中的变量会在函数返回结果时消失。
有时,我需要一个脚本,它接受从shell脚本调用的参数。也就是说,我需要工作空间中的变量,因此,我不能简单地使我的脚本成为一个函数。
在这种情况下,我怎么能有一个带参数的脚本,但还不是一个函数?即,脚本接受要运行的参数,其中的变量显示在工作区中。
答案 0 :(得分:0)
你应该在函数和步骤
中创建一个断点您应该将变量作为左侧参数返回
function [output1, output2] = test(input1, input2)
variable_of_interest
end
将其更改为
function [output1, output2, variable_of_interest] = test(input1, input2)
variable_of_interest
end
查看http://www.mathworks.com/help/matlab/ref/global.html
function [out, out...] = functionName(in, more_in)
% Inside the function
main...
end
进入
% Inside the function
main...
[out, moreout ...] = functionName(in, morein ...)
到
functionName;
Note
您的变量名称必须匹配。
是的,只需删除第一行和最后一行(如果有一个end
子句可以省略)并调用脚本。由于函数名称和文件名必须相同,因此MATLAB按文件名识别函数/脚本。它会起作用。