在MATLAB中,一个函数可以调用其它函数,也可以调用自身(即递归调用)。
利用递归算法编写函数的典型例子是计算Fibonacci数列。
M-函数文件:
function a = my_fibo(k)将这个文件写入M-文件编辑器并以名称“my_fibo.m”保存,然后就可以调用:
>> my_fibo(26)
递归算法是解决某一类问题的有效方法,但不宜滥用,因为它的运算速度往往很慢。例如
但如果用一般的循环语句来求解这个问题:
>> tic,n=[1,1];for k=3:100,n(k)=n(k-1)+n(k-2);end,toc,n(26)速度差别是非常明显。
追问那比如y(x+2)=y(x)+y(x+1)在函数中应该怎样表示呢
追答你说的y是表示一个函数吗?那和上面举的例子是一样的。