函数的递归调用
函数的嵌套调用
如果在一个函数的定义中调用了其他函数这就是函数的嵌套调用。例如下图,在fact函数中调用了a函数,a函数中又调用了b函数。
函数的递归调用
一个函数调用它自身称为函数的递归调用。
递归是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。
(1)直接递归调用
(2)间接递归调用
例1 利用函数的递归调用,求n!。
n!本身就是以递归的形式定义的:
函数文件fact.m如下:
在脚本文件a.m中调用函数文件fact.m,求n!。
在命令行窗口运行命令文件:
流程图:
例2 Fibonacci数列定义如下:
编写递归调用函数求Fibonacci数列的第n项,然后调用该函数验证Fibonacci数列的如下性质:
Fibonacci数列前八项是1,1,2,3,5,8,13,21
用正方形来表示,如下图:
由此可以得出,8个正方形的面积和=第8个正方形的边长乘以第9个正方形的边长
首先建立函数文件ffib.m。
建立程序文件test.m。
运行结果为: