如何使用输入参数创建MATLAB脚本,但还不是函数?

时间:2014-07-04 01:26:31

标签: matlab

据我所知,MATLAB中脚本和函数之间的一个区别是脚本中的变量将出现在工作空间中,而函数中的变量会在函数返回结果时消失。

有时,我需要一个脚本,它接受从shell脚本调用的参数。也就是说,我需要工作空间中的变量,因此,我不能简单地使我的脚本成为一个函数。

在这种情况下,我怎么能有一个带参数的脚本,但还不是一个函数?即,脚本接受要运行的参数,其中的变量显示在工作区中。

1 个答案:

答案 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按文件名识别函数/脚本。它会起作用。