脚本和函数都允许您通过将命令序列存储在程序文件中来重用它们。脚本是最简单的程序类型,因为它们存储的命令与您在命令行中输入的命令完全一样。函数提供了更多的灵活性,主要是因为您可以传递输入值和返回输出值。例如,这个函数名为事实
计算数字的阶乘(N
)并返回结果(F
).
函数f=事实(n)f=产品(1:n);终止
这种类型的函数必须在文件中定义,而不是在命令行中定义。通常,您将函数存储在自己的文件中。在这种情况下,最佳做法是对函数和文件使用相同的名称(在本例中,事实
),自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=fact(n)/fact(n-r);终止函数f=事实(n)f=产品(1:n);终止
从命令行调用脚本。
mystats
z=6
每个函数的第一行是定义语句,它包括以下元素。
|
关键字使用小写字符。 |
输出参数(可选) |
如果函数返回一个输出,则可以在 函数myOutput = myFunction (x)
如果函数返回多个输出,请将输出名称括在方括号中。 函数(1、2、3)= myFunction (x)
如果没有输出,可以省略它。 函数myFunction(x)
或者可以使用空方括号。 函数[] = myFunction (x)
|
函数名(必需) |
有效的函数名遵循与变量名相同的规则。它们必须以字母开头,并且可以包含字母、数字或下划线。 笔记 为避免混淆,请对函数文件和文件中的第一个函数使用相同的名称文件名称,而不是函数名。脚本文件不能与文件中的函数同名。 |
输入参数(可选) |
如果您的函数接受任何输入,请将它们的名称用括号括在函数名之后。用逗号分隔输入。 函数y=myFunction(一、二、三)
如果没有输入,可以省略括号。 |
提示
定义具有多个输入或输出参数的函数时,请首先列出所有必需的参数。此顺序允许您在不指定可选参数的情况下调用函数。
函数体可以包括有效的MATLAB表达式、控制流语句、注释、空行和嵌套函数。在函数中创建的任何变量都存储在特定于该函数的工作区中,该工作区与基本工作区分开。
程序文件可以包含多个函数。如果文件仅包含函数定义,则第一个函数是主函数,并且是MATLAB与文件名关联的函数。遵循主函数或脚本代码的函数称为本地函数。本地函数仅在文件中可用。
函数以终止
语句、文件结尾或局部函数的定义行,以先到者为准。这个终止
如果:
文件中的任何函数都包含嵌套函数(完全包含在其父函数中的函数)。
函数是函数文件中的本地函数,文件中的任何本地函数都使用终止
关键词。
该函数是脚本文件中的本地函数。
虽然有时它是可选的,使用终止
为了更好的代码可读性。