求解递推数列第n项的MATLAB实现解读.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
求解递推数列第n项的MATLAB实现 1 绪论 1.1 MATLAB简介 随着计算机技术的不断发展,计算机已成为应用数学工作者解决数学问题的主要运算工具,数学运算软件如:MATLAB,Mathematica,Maple等,已经被广泛使用。 MATLAB是面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须要进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的的编辑模式。MATLAB可以进行矩阵运算、绘制函数和数学、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 1.2 课题的背景 在生活中,很多计数问题到最后都归结为一些递推公式,如果单依赖数学的方法,有些递推公式按照如今的数学发展水平是很难找出通项公式的,在解决实际问题中,不免涉及到求解第n项的值,如果n比较大,手算的话得从第一项一直计算到第n项,也许算到其中的某一项突然算错了,最后得到的值和预估的值不一样,又得从头算起,这样费时费力。数学软件的形成为这一计算提供了很大的方便,只需要根据递推关系编一个程序,很快就能得出计算结果。本文选了特殊的并且很有代表性的四个递推数列,给出求解其第n项的算法,解决和递推数列相关的应用型问题。 1.3 MATLAB相比于其他程序设计语言的优点 MATLAB作为一个数学运算工具,它将矩阵作为基本的存储单元。矩阵运算很快,代码复杂度小。它定义数据时无需声明数据类型,各种函数的运算可以直接进行符号运算,更加的面向于用户。MATLAB的工具箱也很丰富,在图像处理、信号处理、仿真等方面的工具箱里的工具、示例非常多,功能非常强大。 2 用MATLAB求解递推数列第项 数列是按一定次序排列的一列数。数列中的每一个数都叫做这个数列的项。排在第一位的数称为这个数列的第1项,排在第二位的数称为这个数列的第2项……排在第位的数称为这个数列的第项。如果数列的第项与它前一项或几项的关系可以用一个式子来表示,那么这个公式叫做这个数列的递推公式。而用递推公式表示的数列就叫做递推数列。 不是所有的递推数列在至今的数学发展的水平下都能求得通项公式,对于这些数列,可以用MATLAB编程求解第项,如此既方便了很多实际问题,也便于数列通项公式的研究。 2.1 Fibonacci数列 2.1.1 Fibonacci数列简介 Fibonacci数列,又称黄金分割数列、小兔子数列,因数学家斐波那契以兔子繁殖为例而引入。在现代物理、化学、准晶体等领域,Fibonacci数列都有直接应用。 数学上,Fibonacci被递归的方法定义为: Fibonacci数列有很多漂亮的数学性质,比如:从第二项开始,每个奇数项的平方都比前后两项之积少1,每个偶数项的平方都比前后两项之积多1;第项代表了集合中所有不包含相邻正整数的子集个数。 Fibonacci数列中的Fibonacci数经常出现在我们的生活中,比如松果、凤梨、树叶的排列、某些花朵的花瓣数,超越数,黄金矩阵、黄金分割、等螺旋线、杨辉三角等。 2.1.2 求解Fibonacci数列第项算法 1.递归算法 %建立M函数文件 function f=fib(n) if n==0||n==1 f=1; %特殊情况,else f=fib(n-1)+fib(n-2); %递归调用fib函数 end end 2.循环算法 %建立M函数文件function f=fib(n) a=1;b=1; if n==0||n==1 f=1; %前两项为特殊情况 else for x=2:2:n %两个项一循环 a=a+b; %奇数项把前面最近的偶数项和奇数项加起来 b=a+b; %偶数项把前面最近的奇数项和偶数项加起来 end if mod(n,2) f=b; %奇数时函数返回b else f=a; %偶数时函数返回a end end end 3.矩阵计算 原理:Fibonacci数 %建立M函数文件function f=fib(n) a=[ 1 1 1 0 ]; b=a^(n-1)*[1;1]; f=b(1); end 2.1.3 Fibonacci数应用 问:把一对兔子(雌、雄各一只)在某年的开始放到围栏中,每个月这对兔子都生出一对新兔,其中雌、雄各一只。由第二个

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档