脚本和函数
MATLAB 代码可以保存在 m 文件中以便重用。m 文件具有 .m
扩展名,该扩展名自动与 MATLAB 相关联。m 文件可以包含脚本或函数。
脚本
脚本只是程序文件,它以预定义的顺序执行一系列 MATLAB 命令。
脚本不接受输入,脚本也不返回输出。从功能上讲,脚本相当于直接在 MATLAB 命令窗口中输入命令并能够重放它们。
脚本的一个例子:
length = 10;
width = 3;
area = length * width;
该脚本将在当前工作空间中定义 length
,width
和 area
,其值分别为 10
,3
和 30
。
如前所述,上述脚本在功能上等同于直接在命令窗口中键入相同的命令。
>> length = 10;
>> width = 3;
>> area = length * width;
功能
与脚本相比,函数更加灵活和可扩展。与脚本不同,函数可以接受输入并将输出返回给调用者。函数具有自己的工作空间,这意味着函数的内部操作不会更改调用者的变量。
所有函数都使用相同的标头格式定义:
function [output] = myFunctionName(input)
function
关键字开始每个函数头。产出清单如下。输出列表也可以是要返回的逗号分隔的变量列表。
function [a, b, c] = myFunctionName(input)
接下来是将用于调用的函数的名称。这通常与文件名相同。例如,我们将此函数保存为 myFunctionName.m
。
函数名称后面是输入列表。与输出一样,这也可以是逗号分隔列表。
function [a, b, c] = myFunctionName(x, y, z)
我们可以将之前的示例脚本重写为可重用的函数,如下所示:
function [area] = calcRecArea(length, width)
area = length * width;
end
我们可以从其他函数调用函数,甚至可以从脚本文件调用函数。以下是我们在脚本文件中使用的上述函数的示例。
l = 100;
w = 20;
a = calcRecArea(l, w);
和以前一样,我们在工作区中创建 l
,w
和 a
,分别为 100
,20
和 2000
。