递归程序设计与化模型及其求解.docVIP

  • 12
  • 0
  • 约2.32万字
  • 约 25页
  • 2016-10-06 发布于贵州
  • 举报
递归程序设计与化模型及其求解

递归程序设计 递归算法实现的程序简洁、易读懂。可以用来解决一些复杂的问题。 在使用Matlab软件进行递归程序设计当中,要特别注意的是:程序中一定要有返回语句(return),以便使程序在适当的时候终止递归调用,否则会出现堆栈溢出,甚至导致程序中断退出。为防止程序异常终止,可以添加异常处理代码(try…catch…end)。 递归程序设计的第一步,要分析问题,建立问题求解的递推关系式或算法。然后再进行程序设计实现。 计算阶乘 从n个数中取n个数的数的全排列记为,且有。 因此建立其求阶乘的递推关系式:,结束条件:。 计算阶乘的Matlab函数如下: function r=factorial(n) %计算n的阶乘 if n==1 r=1; return end r=n*factorial(n-1); 例子: 再命令行输入factorial(3)则返回6 组合数学中的Pascal公式 从n个数中取r个的组合数记为,且有,。 组合数学中又这样的Pascal公式: 。 因此可以编写如下的函数求组合数: function num=getcom(n,r) if r==0 | (n==r) %结束条件 num=1; return end if r==1,%2004-12-7add num=n; return end num

文档评论(0)

1亿VIP精品文档

相关文档