主要内容

功能

声明功能名称,输入和输出

描述

例子

函数[y1,...,yn] = myFun(x1,...,xm)声明一个名称的函数myfun接受输入x1,...,xm并返回输出Y1,...,Yn。此声明语句必须是该函数的第一行。有效函数名称以字母字符开头,可以包含字母,数字或下划线。

您可以保存您的功能:

  • 在功能文件中仅包含函数定义。文件的名称必须匹配文件中第一个函数的名称。

  • 在包含命令和函数定义的脚本文件中。函数必须在文件的末尾。脚本文件不能与文件中的函数具有相同的名称。R2016B或更高版本中的脚金宝app本中支持功能。

文件可以包括多个本地功能或嵌套功能。为了可读性,请使用结尾关键字指示文件中每个函数的末尾。这结尾当以下内容时,需要关键字

  • 文件中的任何功能都包含一个嵌套功能。

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

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

例子

全部收缩

在名为的文件中定义函数平均值接受输入向量,计算值的平均值,并返回单个结果。

功能ave =平均(x)ave = sum(x(:))/numel(x);结尾

从命令行调用功能。

z = 1:99;ave =平均(z)
AVE = 50

在名为的文件中定义函数Stat.m这返回输入向量的平均值和标准偏差。

功能[m,s] = stat(x)n =长度(x);m = sum(x)/n;s = sqrt(sum((x-m)。^2/n));结尾

从命令行调用功能。

值= [12.7,45.4,98.9,26.6,53.1];[AVE,STDEV] = STAT(值)
ave = 47.3400 stdev = 29.4124

在名为的文件中定义脚本Integrationscript.m该计算intemand的价值$ 2 \ pi/3 $并计算曲线下的区域从0到$ \ pi $。包括定义整数的本地函数,$ y = \ sin(x)^3 $

笔记:在脚本中包含功能需要MATLAB®R2016B或更高版本。

%计算在2*pi/3处积分的值。x = 2*pi/3;y = myintegrand(x)%计算曲线下的面积从0到PI。xmin = 0;xmax = pi;f = @myintegrand;a =积分(f,xmin,xmax)功能y = myintegrand(x)y = sin(x)。^3;结尾
y = 0.6495 a = 1.3333

在名称的文件中定义两个函数stat2.m,第一个功能在其中调用第二个功能。

功能[m,s] = stat2(x)n =长度(x);m = avg(x,n);s = sqrt(sum((x-m)。^2/n));结尾功能m = avg(x,n)m = sum(x)/n;结尾

功能avg是一个本地功能。本地功能仅适用于同一文件中的其他功能。

通话功能Stat2从命令行。

值= [12.7,45.4,98.9,26.6,53.1];[AVE,STDEV] = STAT2(值)
ave = 47.3400 stdev = 29.4124

定义一个限制输入到包含否的数字向量的函数inf或者元素。此功能使用参数关键字,对MATLAB有效®版本R2019B及以后。

功能[m,s] = stat3(x)参数X(1,:) {Mustbenumeric,asebefinite}结尾n =长度(x);m = avg(x,n);s = sqrt(sum((x-m)。^2/n));结尾功能m = avg(x,n)m = sum(x)/n;结尾

在里面参数代码块,(1,:)表示这X必须是矢量。验证功能,{Mustbenumeric,Mustbefinite},限制元素X到不是数字值inf或者。有关更多信息,请参阅函数参数验证

使用包含一个元素的向量调用该函数违反输入参数声明。这种违规导致错误必须屈服验证功能。

值= [12.7,45.4,98.9,Nan,53.1];[AVE,STDEV] = STAT3(值)
位置1处的无效输入参数必须是有限的。

版本历史记录

在R2006a之前引入