F 函数文件的定义与调用
F.a函数文件的基本结构
注意:当函数名与函数文件名不同时,MATLAB将忽略函数名,调用时使用函数文件名。
例题:function[s,p] = f1(r) s = pi*r*r; p = 2*pi*r; % [s,p] = f1(2)
F.b 函数调用
例子:
F.c 匿名函数
匿名函数不用函数文件定义,直接在程序脚本中创建。
例子:
给已经存在的函数定义函数句柄:
例题:
function f =f1(n)
f = 0;
for k = 1;n
f = f +k*(k+1);
end
f2= @(n)n+10*log(n*n+5);
y = f2(40)/(f2(30)+f2(20))
G 函数的递归调用
例题:
function f = f1(n)
if n <=1
f = 1;
else
f = f1(n-1)*n;
end
H函数参数与变量的作用域
H.a 函数参数的可调性
例子(nargin):
类似于重载
例子(nargout):
建立函数文件subtract.m
function [dif, absdif] = subtract(a,b)
dif = a-b;
if nargout==2
absdif=abs(dif);
end
function fout = f1(a,b,c)
if nargin==1
fout = a;
elseif nargin == 2
fout = a+b;
elseif nargin == 3
fout = (a*b*c)/2;
end
H.b 局部变量与全局变量
>> global ALPHA BETA
>>
>> ALPHA =1;
>> BETA = 2;
>> c = f1(10,20)
c =
50
function fout = f1(x,y)
global ALPHA BETA
fout = ALPHA*x+ BETA*y;