函数的递归调用
一个函数调用它自身称为函数的递归调用。
递归是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。大大地减少了程序的代码量,但递归调用也会加大存储空阃和执行时间的开销,影响程序的执行效率。
(1)直接递归调用
在f函数中调用了f函数本身
(2)间接递归调用
在其他函数中又调用这个函数本身来实现
例1:利用函数的递归调用,求n! 。
%fact.m文件代码
function f = fact(n)
if n<=1
f = 1;
else
f = n*fact(n-1); %递归调用求(n-1)!
end
%脚本文件.m中调用函数文件fact.m
n = input('请输入n=');
f = fact(n);
disp(f)
%输出结果
请输入n=
4
24