转载:https://ww2.mathworks.cn/help/matlab/ref/function.html
记录学习笔记:
1.语法:function [y1,...,yN] = myfun(x1,...,xM)
说明:
- 名为myfun的函数,且该文件名为myfun.m(只包含函数定义的函数文件中。文件的名称须与文件中第一个函数的名称一致);
- 函数输入为x1,…,xM,输出为y1,…,yN;
- 此声明语句必须是函数的第一个可执行代码行。
- 有效的函数名称以字母字符开头,并且可以包含字母、数字或下划线。
- 包含命令和函数定义的脚本文件中。函数必须位于该文件的末尾。脚本文件不能与文件中的函数具有相同的名称。
- 文件可以包含多个局部函数或嵌套函数。为提高可读性,可使用 end 关键字来表示文件中每个函数的末尾。
- 在函数中又定义一个函数,称为是局部函数。注意:局部函数仅可供同一文件中的其他函数使用。
2.实例
代码来源:https://ww2.mathworks.cn/help/matlab/ref/function.html
(1)包含一个输出的函数
%在名为 average.m 的文件中定义一个函数,该函数接受一个输入向量,计算各个值的平均值,然后返回单个结果。
function ave = average(x)
ave = sum(x(:))/numel(x);
end
(2)包含多个输出的函数
%在名为 stat.m 的文件中定义一个函数,该函数返回输入向量的均值和标准差。
function [m,s] = stat(x)
n = length(x);
m = sum(x)/n;
s = sqrt(sum((x-m).^2/n));
end
(3)脚本文件中的函数(可以使用匿名函数)
% Compute the value of the integrand at 2*pi/3.
x = 2*pi/3;
y = myIntegrand(x)
% Compute the area under the curve from 0 to pi.
xmin = 0;
xmax = pi;
f = @myIntegrand;
a = integral(f,xmin,xmax)
function y = myIntegrand(x)
y = sin(x).^3;
end
注意函数在最后;利用匿名函数。