主要内容

在文件中创建函数

脚本和函数都允许您通过将命令序列存储在程序文件中来重用它们。脚本是最简单的程序类型,因为它们完全按照您在命令行中键入的方式存储命令。函数提供了更大的灵活性,主要是因为您可以传递输入值并返回输出值。例如,这个函数命名为事实计算一个数字的阶乘(n)并返回结果(f).

函数F =事实(n) F = prod(1:n);结束

这种类型的函数必须在文件中定义,而不是在命令行中定义。通常,将函数存储在它自己的文件中。在这种情况下,最佳实践是为函数和文件使用相同的名称(在本例中,fact.m),自MATLAB®将程序与文件名关联。将文件保存在当前文件夹或MATLAB搜索路径上的文件夹中。

可以从命令行调用该函数,使用与MATLAB安装的函数相同的语法规则。例如,计算5的阶乘。

X = 5;Y =事实(5)
Y = 120

从R2016b开始,存储函数的另一种选择是将它们包含在脚本文件的末尾。例如,创建一个名为mystats.m只需几个命令和两个函数,事实而且.脚本计算(3,2)的排列。

X = 3;Y = 2;Z = p (x,y)函数P = perm(n,r) P = fact(n)/fact(n-r);结束函数F =事实(n) F = prod(1:n);结束

从命令行调用脚本。

mystats
Z = 6

函数定义语法

每个函数的第一行是定义语句,其中包括以下元素。

函数关键字(必需)

关键字使用小写字符。

输出参数(可选)

函数返回一个输出,可以在后面指定输出名称函数关键字。

函数myOutput = myFunction(x)

如果函数返回多个输出,请将输出名称括在方括号中。

函数[1,2,3] = myFunction(x)

如果没有输出,可以省略它。

函数myFunction (x)

或者你可以使用空方括号。

函数[] = myFunction(x)

函数名(必选)

有效的函数名遵循与变量名相同的规则。必须以字母开头,可以包含字母、数字或“_”。

请注意

为了避免混淆,函数文件和文件中的第一个函数使用相同的名称。MATLAB将您的程序与文件而不是函数名。脚本文件不能与文件中的函数同名。

输入参数(可选)

如果你的函数接受任何输入,将它们的名字用括号括在函数名之后。输入用逗号分隔。

函数y = myFunction(1,2,3)

如果没有输入,可以省略括号。

提示

定义具有多个输入或输出参数的函数时,首先列出所需的参数。这种顺序允许您在不指定可选参数的情况下调用函数。

函数和文件的内容

函数体可以包括有效的MATLAB表达式、控制流语句、注释、空行和嵌套函数。在函数中创建的任何变量都存储在特定于该函数的工作空间中,该工作空间与基本工作空间分离。

程序文件可以包含多个函数。如果文件只包含函数定义,则第一个函数是主函数,也是MATLAB与文件名关联的函数。在主函数或脚本代码之后的函数称为局部函数。本地函数仅在文件中可用。

结束语句

函数以an结尾结束语句、文件末尾或局部函数的定义行,以先到者为准。的结束如属下列情况,须提交声明:

  • 文件中的任何函数都包含一个嵌套函数(完全包含在其父函数中的函数)。

  • 函数是函数文件中的局部函数,文件中的任何局部函数都使用结束关键字。

  • 该函数是脚本文件中的本地函数。

虽然它有时是可选的,使用结束为了更好的代码可读性。

另请参阅

相关的话题