主要内容

在文件中创建函数

脚本和函数都允许您通过在程序文件中存储它们来重用命令序列。脚本是最简单的程序,因为它们完全按照您在命令行中键入它们的命令。函数提供更大的灵活性,主要是因为您可以通过输入值并返回输出值。例如,此功能命名事实计算数字的阶乘(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与文件名关联的函数。遵循主函数或脚本代码的函数称为本地函数。本地函数仅在文件中可用。

结束声明

函数以任何一个结尾结尾语句,文件的末尾,或本地函数的定义行,以先到者为准。这结尾如果:

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

  • 该函数是函数文件中的本地函数,文件中的任何本地函数都使用结尾关键词。

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

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

也可以看看

相关话题