脚本和函数都允许您通过在程序文件中存储它们来重用命令序列。脚本是最简单的程序,因为它们完全按照您在命令行中键入它们的命令。函数提供更大的灵活性,主要是因为您可以通过输入值并返回输出值。例如,此功能命名事实
计算数字的阶乘(N
)并返回结果(F
)。
功能f =事实(n)f = prod(1:n);结尾
此类型的函数必须在文件中定义,而不是在命令行中。通常,您可以在自己的文件中存储一个函数。在这种情况下,最好的做法是为函数和文件使用相同的名称(在此示例中,Imm.
),自Matlab以来®将程序与文件名相关联。将文件保存在当前文件夹中或MATLAB搜索路径上的文件夹中。
您可以使用应用于使用MATLAB的功能的相同的语法规则从命令行调用命令行。对于实例,计算5的阶乘。
x = 5;Y =事实(5)
y = 120.
从R2016B开始,用于存储函数的另一个选项是在脚本文件的末尾包含它们。例如,创建名为的文件mystats.m
有几个命令和两个函数,事实
和烫发
。该脚本计算(3,2)的排列。
x = 3;y = 2;z = perm(x,y)功能p = perm(n,r)p =事实(n)/事实(n-r);结尾功能f =事实(n)f = prod(1:n);结尾
从命令行调用脚本。
my
z = 6.
每个函数的第一行是定义语句,其中包括以下元素。
|
使用关键字的小写字符。 |
输出参数(可选) |
如果函数返回一个输出,则可以在此之后指定输出名称 功能myoutput = myfunction(x)
如果您的函数返回多个输出,请将Squage括号中的输出名称括起来。 功能[一个,两个,三] = myfunction(x)
如果没有输出,则可以省略它。 功能myfunction(x)
或者您可以使用空的方括号。 功能[] = myfunction(x)
|
功能名称(必填) |
有效的函数名称遵循与变量名称相同的规则。它们必须以字母开头,并且可以包含字母,数字或下划线。 笔记 为避免混淆,请使用函数文件和文件中的第一个函数的相同名称。Matlab将您的计划与文件名称,而不是函数名称。脚本文件不能将名称与文件中的函数相同。 |
输入参数(可选) |
如果您的函数接受任何输入,则在函数名后括在括号中的名称。用逗号分隔输入。 功能y = myfunction(一个,二,三)
如果没有输入,则可以省略括号。 |
提示
当您定义具有多个输入或输出参数的函数时,首先列出任何所需的参数。此订购允许您在不指定可选参数的情况下调用您的函数。
函数的主体可以包括有效的MATLAB表达式,控制流语句,注释,空白行和嵌套函数。您在函数中创建的任何变量都存储在特定于该函数的工作空间中,该函数与基本工作区分开。
程序文件可以包含多个函数。如果文件仅包含函数定义,则第一个函数是主要函数,是Matlab与文件名关联的函数。遵循主函数或脚本代码的函数称为本地函数。本地函数仅在文件中可用。
函数以任何一个结尾结尾
语句,文件的末尾,或本地函数的定义行,以先到者为准。这结尾
如果:
文件中的任何功能都包含嵌套函数(完全包含在其父级的函数)。
该函数是函数文件中的本地函数,文件中的任何本地函数都使用结尾
关键词。
该函数是脚本文件中的本地函数。
虽然有时是可选的,但使用结尾
为了更好的代码可读性。