向脚本中添加函数
MATLAB® 脚本(包括实时脚本)可以包含用于定义函数的代码。这些函数称为局部函数。局部函数在您要重用脚本中的代码时很有用。通过添加局部函数,可以避免创建和管理单独的函数文件。在尝试不同函数时,局部函数也很有用,可根据需要轻松添加、修改和删除它们。
创建包含局部函数的脚本
要创建包含局部函数的脚本或实时脚本,请转至主页选项卡,然后选择新建脚本或新建实时脚本。然后,向文件中添加代码。每个局部函数必须以其自己的函数定义语句开头,以 end
关键字结尾。这些函数可以按任意顺序显示,并且可以在脚本中的任何位置定义。
在 R2024a 之前: 脚本中的局部函数必须在文件末尾、脚本代码的最后一行后定义。
例如,创建名为 mystats.m
的脚本。
edit mystats
在文件中,包括两个局部函数,mymean
和 mymedian
。脚本 mystats
声明一个数组,确定数组的长度,然后使用局部函数 mymean
和 mymedian
计算数组的平均值和中位数。
x = 1:10; n = length(x); function a = mymean(v,n) % MYMEAN Local function that calculates mean of array. a = sum(v)/n; end function m = mymedian(v,n) % MYMEDIAN Local function that calculates median of array. w = sort(v); if rem(n,2) == 1 m = w((n + 1)/2); else m = (w(n/2) + w(n/2 + 1))/2; end end avg = mymean(x,n); med = mymedian(x,n);
运行具有局部函数的脚本
要运行包含局部函数的脚本或实时脚本,请在编辑器或实时编辑器选项卡中,点击 运行按钮。您还可以在命令行窗口中键入已保存脚本的名称。
要在脚本或实时脚本中运行单个节,请将光标放在该节内,并使用 运行节按钮(.m
文件需要 R2017b 或更高版本)。在实时脚本或函数(.mlx
文件)中,您只能运行局部函数定义之前的节。
局部函数和变量的限制
局部函数仅在定义了这些函数的文件中可见。它们对其他文件中的函数不可见,并且不能从命令行窗口来调用。
当前文件中的局部函数优先于其他文件中的函数。即,当您在脚本内调用某个函数时,MATLAB 会先检查该函数是否为局部函数,然后在其他位置查找该函数。这样您可以在创建特定函数的备用版本的同时,将原始版本保留在另一文件中。
脚本可在基础工作区中创建变量并进行访问。局部函数与所有其他函数类似,具有与基础工作区分开的专属工作区。局部函数无法访问其他函数的工作区或基础工作区中的变量,除非您将这些变量作为参量传递。
包含局部函数的脚本必须包含函数之外的可执行代码。
访问有关局部函数的帮助
虽然您不能从命令行或其他文件中的函数调用局部函数,但您可以使用 help
命令访问其帮助。同时指定脚本和局部函数的名称,用 >
字符将它们隔开。
例如:
help mystats>mymean
mymean Local function that calculates mean of array.