function[输出参数]= myfun(输入参数)函数体;
end
%调用
s = area(2);
%定义
function s = area(r)s = pi * r.^2;
end
注意:调用要写在定义的上方
可以输入矩阵,会输出两个结果
%调用
cLen(1);
cLen([1,2]);
%定义
function c = Len(r)c=2*pi*r;
end
function [s, c] = areaAndLen(r,PI)s = pi * r.^2;c = 2 * pi * r;
end
定义
f =@(输入参数)函数体
f:函数句柄
简单一点的:
%定义
f = @(x)x.^2;
点乘的含义就是当前面的x是矩阵时,会对每个矩阵元素进行乘法运算
%调用
f(2)
f([2,3])
复杂一点的:
%定义
f1 = @(x,y)x.^2 +y.^2 +2*x.*y; %(x+y)^2
%调用
f1(2,3);
%调用
f1([1,2,3],6);%广播机制f([1,2,3],[6,6,6])
%转化
f2 = @fun;
f3 = @( x )fun(x);
%调用
f2(5)
f3(6)
%定义
function y = fun(x)y = x.^2;
end
函数体复杂时,使用函数
函数体简单时,使用匿名函数
eg:
%转换
f4 = @fun;
f5 = (x)fun(x);
%调用结果见下图
f4(-3);
f5(-6);
%定义
function y = fun(×)if x >= ey = x;elsey =-x;end
end
实际上就是后缀.m的文件;
当文件里只有函数时,就成为函数脚本文件或函数文件;
函数文件可被其他脚本调用(需要在同一文件目录下),也可在命令行调用。
创建一个脚本文件并保存,脚本文件名就是函数名,要与主调用函数文件在同一个文件夹下
主调用函数文件里可以调用脚本文件