函数的递归调用
上一节
下一节
视频
拓展学习
例1 利用函数的递归调用,求n!。
函数文件fact.m如下:
function f=fact (n)
if n<=1
f=1;
else
f=fact (n-1)*n; %递归调用求(n-1)!
end
在脚本文件a.m中调用函数文件fact.m,求n!。
n=input('Please input n=');
s=fact (n);
disp(s)
例2 Fibonacci数列定义如下:
f1=1
f2=1
fn=fn-1+fn-2 (n>2)
编写递归调用函数求Fibonacci数列的第n项,然后调用该函数验证Fibonacci数列的如下性质:
f1^2+f2^2+f3^2+……+fn^2=fn×fn+1
首先建立函数文件ffib.m。
function f=ffib(n)
if n>2
f=ffib(n-1)+ffib(n-2);
else
f=1;
end
建立程序文件test.m。
F=[];
for k=1:20
F=[F,ffib(k)*ffib(k)];
end
sum(F)
ffib(20)*ffib(21)

