




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试验一斐波那契数列一、实验目的与要求1.认识Fibonacci数列,体验发现其通项公式的过程;2.了解matlab软件中进行数据显示与数据拟合的方式;3.掌握matlab软件中plot,polyfit等函数的基本用法;4.提高对数据进行分析与处理的能力。二、问题描述某人养了一对兔,一个月后生育了一对小兔。假设小兔一个月后就可以长大成熟,而每对成熟的兔每月都将生育一对小兔,且兔子不会死亡。问:一年后共有多少对兔子?三、问题分析这个问题,最早由意大利数学家斐波那契(Fibonacci),于1202年在其著作《珠算原理》中提出。根据问题的假设,兔子的总数目是如下数列:1,1,2,3,5,8,13,21,34,55,89,144,233,•…问题的答案就是此数列的第12项,即一年后共有144对兔子。这个数列通常被称为斐波那契(Fibonacci)数列,研究这个问题就是研究Fibonacci数列。把这个问题作更深入的研究,我们会问:第n个月后,总共有多少对兔子?即Fibonacci数列的第n项是多少?这就需要我们探素Fibonacci数列的通项公式。根据问题的描述,我们知道第n+2个月后兔子的对数,等于第n+1个月后兔子的对数(表示原来就有的老兔子对数),加上第n个月后兔子的对数(表示生育出来的新兔子对数)。这样就得到关于Fibonacci数列的一个递推公式:F=F+Fn+2n+1n利用matlab软件的数据可视化功能将这些数据显示成平面曲线的形式后,我们可以观察到Fibonacci数列的变化规律;通过matlab软件的数据拟合功能,我们可以大概知道Fibonacci数列的函数关系式,结合上面的递推公式,就可以推导出来Fibonacci数列的通项公式。四、背景知识介绍1.数据的可视化。TOC\o"1-5"\h\z将离散的数据:F,F,F,F,,F,,1234n看成平面坐标系里的点:(1,F),(2,F),(3,F),(4,F),,(n,F),,.1..234n利用matlab软件的plot函数在平面坐标系里划出一个点列,就可以实现离散数据的可视化。plot函数的基本使用格式为:plot(y),其中参数y表示竖坐标,即需要显示的数据。例1y=l:20;y=y43;plot(y)2.数据的拟合。数据拟合就是寻找一个目标函数,作为被拟合数据的近似函数关系。目标函数的类型,可以是多项式、指数函数等。作数据拟合,首先需要估计目标函数的类型,这一点可以通过数据可视化来观察得到,而一阶多项式是最常见的目标函数,此时称为线性回归。确定拟合系数的原则是最小二乘法,即所有误差的平方和取最小值。在matlab软件中以多项式为目标函数作数据拟合的函数是polyfit,它的基本使用格式为:polyfit(x,y,n)。其中(x,y)是被拟合的数据,即平面上的一个点列,而n是事先确定的多项式的阶数。例2x=[l,3,4,5,6,7,8,9,l0];y=[l0,5,4,2,l,l,2,3,4];polyfit(x,y,2)结果:0.2676t2-3.6053t+l3.45973.数列的通项公式。寻找一个整标函数,使得它在n处的函数值,等于数列的第n项的值,这个函数就是数列的通项公式。4.黄金分割。把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比(如下图)。其比值是一个无理数(石-1)十2,取其前三位数字的近似值是0.618。由于按此比例设计的造型十分协调美观,因此称之为黄金分割。AM:AB=MB:AMAMB五、实验过程本试验将Fibonacci数列的有限项,看成是待处理的数据。首先利用matlab软件的可视化功能,将这些数据显示在平面坐标系中,观察其图形类似什么曲线,结论是:指数函数的曲线。进一步,利用指数函数与对数函数的互逆关系,将原有数据取对数,再观察其曲线形状是否类似直线,以验证原来的观察是否正确。通过观察到的目标函数,然后利用matlab软件的数据拟合功能,得到Fibonacci数列通项公式的近似关系。最后,从近似关系出发,推导出来Fibonacci数列的通项公式。1.观察数据的大概函数关系。为了研究Fibonacci数列的变化规律,我们取此数列的前30项来观察。利用Matlab软件的数据可视化功能,将这些数据显示在平面坐标系中,观察其中蕴涵的函数关系。具体的实现流程为:(1)定义数组fn;(2)显示数组fn。具体的代码如下:functionplotfibo(n)%定义函数显示Fibonacci数列前n项fn二[1,1];%将数列的前两项放到数组fn中fori=3:n%fn的第3项到第n项
fn=[fn,fn(i-2)+fn(i-1)];%将第i项添加到数组fn中end%循环结束plot(fn)%将装有数列前n项的数组显示出来这个函数的调用方式是:plotfibo(30),显示出来的图像为图1,经观察,觉得曲线的形状象指数函数的曲线,其数据无限增大。可以改变参数n的值,反复观察。图1n=30图2n=50图3n=500图4n=10002.进一步验证上一步得到的结论。经过上一步的观察,觉得这些数据应该是指数函数的形式。为了进一步验证这个结论是否正确,可以利用指数函数与对数函数的互逆关系。如果这些数据确实是指数函数的形式,则经过取对数后应该是一个线性关系,即一阶多项式,从图形上看应该象一条直线。因此,再利用Matlab软件的数据可视化功能,将这些数据取对数后显示在平面坐标系中,观察它是否象一条直线。具体的实现流程为:(1)定义数组fn;(2)数组fn取对数;(3)显示数组fn。具体的代码如下:functionplotlnfibo(n)%显示取对数后的前n项fn二[1,1];%将数列的前两项放到数组fn中fori=3:n%fn的第3项到第n项fn=[fn,fn(i-2)+fn(i-1)];%将第i项添加到数组fn中
endfn=log(fn)plot(fn)%循环结束%将原来的数据取对数%将装有数列前n项的数组显示出来这个函数的调用方式是:plotlnfibo(30),显示出来的图像为图5,经观察,觉得它确实象一条直线。可以改变参数n的值,反复观察。3.获得数据的近似关系式。经过以上第一步的观察,确定Fibonacci数列的数据是指数函数的关系,第二步验证了第一步得到的结论,因此我们认为Fibonacci数列的数据关系就是指数函数,取对数后就是线性函数,即一阶多项式。利用Matlab软件的数据拟合功能,通过取对数后的数据,用一阶多项式拟合出它的函数关系式,可以得到Fibonacci数列通项公式的一个近似表达式。具体的实现流程为:(1)定义数组fn;(2)数组fn取对数;(3)用一阶多项式拟合数组fn。具体的代码如下:functionfitlnfibo(n)%根据取对数后的数据,拟合出线性表达式fn二[1,1];%将数列的前两项放到数组fn中fori=3:n%fn的第3项到第n项fn=[fn,fn(i-2)+fn(i-1)];%将第i项添加到数组fn中end%循环结束xn=1:n;%定义横坐标fn=log(fn)%将原来的数据取对数polyfit(xn,fn,1)%拟合装有数列前n项的数组这个函数的调用方式是:fitlnfibo(30),运行后返回结果是:0.4799,-0.7768。这两个数据就是一阶多项式的系数,即:log(F)沁-0.7768+0.4799nn为了提高精度,可以加大n的值。取n=1000时得到:log(F)u-0.8039+0.4812nn从上面的表达式,可以得到数列通项公式的近似:Fu0.4476x1.6180nn4.观察拟合数据与原始数据的吻合程度。经过第三步的拟合,得到了Fibonacci数列近似的通项公式,为了观察其吻合程度,我们将Fibonacci数列的拟合数据与原始数据的图形显示出来,进行对比观察。具体的实现流程为:(1)定义数组fnl,fn2;(2)显示数组fnl,fn2。具体的代码如下:functionplotfibo2(n)%显示拟合数据与原始数据的前n项fn1=[];fori=1:n%装拟合数据的数组%fn1的第1项到第n项fn1=[fn1,0.4476*1.618"];%将第i项添加到数组fn1中endfn2=[1,1];fori=3:n%装原始数据的数组,前两项放到数组fn2中%fn2的第3项到第n项fn2=[fn2,fn2(i-2)+fn2(i-1)];%将第i项添加到数组fn2中endx=1:n;plot(x,fn1,x,fn2,'r*')%显示,fn1—兰线,fn2—红星这个函数的调用方式是:fitlnfibo2(20),显示出来的图像为图9,或fitlnfibo2(50),显示出来的图像为图10。5.推导Fibonacci数列的通项公式(1)。通过以上的观察和分析,我们知道Fibonacci数列的数据大概是指数函数的关系。因此,我们猜测它的通项公式具有形式:F二kxrn。将这个表达式代n入递推公式F二F+F中,得到:kxr”+2二kxrn+i+kxrn。经过简化得到:n+2n+1nr2=r+1这是一个一元二次的代数方程,其两个根艮形式如下:r二(1土、■■5)十2考虑到Fibonacci数列的数据无限增大,我们取r二(1+十2,于是得到通项公式如下:F=kx[(1+J5)一2]nn上面的公式对吗?我们可以来验证。取n=1和n=2代入上面的公式中计算,显然得不到F二1,F二1,因此它不是Fibonacci数列的通项公式。12但这个公式并非一无是处,我们可以来考虑这个公式与Fibonacci数列到底相差多少。因此,我们引入以下一个数列:T=F-kx[(1+j5)一2]nnn可以验证,这个新的数列也满足同样的递推公式:T二T+T,因此我n+2n+1n们猜测它同样是指数函数的形式,可以假设其表达式为:T=^xrn,代入递推n公式后,同样可以得到:r2二r+1。这里的r显然不同于上面的r,故这个r取值为:r二(1—J5)十2,从而得至【」:T=^x[(1—^5)一2]n。故有:F=kx[(1+、'5)一2]n+九x[(1-\5)一2]nn由条件F=1,F=1确定其中的常数,得到:12F={[(1+75)一2]n—[(1-妁一2]n}一75n可以证明,它确实就是Fibonacci数列的通项公式。这个公式是法国数学家比内(Binet)在1843年发现的,称为比内公式。6.推导Fibonacci数列的通项公式(2)。Fibonacci数列具有如下递推关系:F二F+Fn+2n+1n这个等式实际上是一个二阶常系数线性齐次差分方程,可以仿照二阶常系数线性齐次微分方程来求解。首先由递推等式得到如下特征方程:r2=r+1这是一个一元二次的代数方程,其两个根艮形式如下:r二(1土、■■'?)十2因此,我们得到差分方程的通解如下:F=Cx[(1+J5)一2]n+Cx[(1—j5)一2]nn12取n=1和n=2代入上面的公式中,解得:c=1*5,c=—1一*512从而得到:
F二{[(1+h5)-2]n-[(1-\5)一2]n}r5n可以证明,它确实就是Fibonacci数列的通项公式。六、结论与应用1.Fibonacci数列的阶。通过以上试验过程,我们得到了Fibonacci数列的通项公式,它类似一个指数函数,当n无限增大时,其数据也无限增大,变化的阶是:{[(1+T5)一2]n}一T5在Fibonacci数列的通项公式中,出现了(1+\:'5)一2和(1-、⑸一2等无理数,而它们运算以后的结果确是正整数,多么奇妙啊。2.Fibonacci数列与黄金分割数的关系。上面的两个无理数之间,存在着这样的关系:(1+V5)十2=[^5—1)十2]-1而G=(扁—1)一2就是著名的黄金分割数。因此,Fibonacci数列的通项公式又可以写成如下形式:F=[G-n+(—1)n+1Gn“厉可以验证,Fibonacci数列与黄金分割数之间还有如下的关系:FFFvGvvFFF2<」<V亠<2n+1VV」V—LFFFFFF352n+12n+242LimFn\:5—1=GnsF2n+13.Fibonacci数列通项公式的其它形式。Fibonacci数列的通项公式还有其它形式,比如1-10011-10011-10F二01n+11-10000000000114・自然界中的Fibonacci数列。Fibonacci数列与自然界中的许多现象有着紧密的联系,比如:植物的分枝生长、向日葵种子的排列、花瓣的数量、••晶体的结构等。花瓣的数量,一般都是Fibonacci数以斐波那契螺旋方式的排列如果顺时针与逆时针螺旋的数目,是斐波那契数列中相邻的2项,可称其为斐波那契螺旋,也被称作黄金螺旋。这样的布局能使植物的生长疏密得当、最充分地利用阳光和空气。5.应用。Fibonacci数列在纯粹数学、运筹优化、计算机科学等领域具有重大的应用价值。本试验研究的是Fibonacci数列的变化规律,而数列本质上就是一些数据。因此,对于一般的数据(比如:从调查中获得的数据、从试验中获得的数据),我们也可以参照这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不会被跳墙的居间合同
- 售后服务协议合同
- 公司股份转让合同协议书详细
- 技术服务合同免税
- 墙布供货施工合同协议书
- 股权分配及股份制公司合同详解
- 产品销售与分销合同细节规定
- 汽车零部件生产技术优化合同
- 广东工贸职业技术学院《工程材料及制造基础双语》2023-2024学年第二学期期末试卷
- 兰州航空职业技术学院《中学英语教学设计》2023-2024学年第二学期期末试卷
- GB 19522-2004车辆驾驶人员血液、呼气酒精含量阈值与检验
- 登记总账、账务处理程序课件
- 热能与动力工程测试技术(白)课件
- 彩生活运营模式2016年
- 脂肪肝的科普课件
- 某银行安全保卫工作知识考试参考题库(500题)
- 片剂工艺流程图
- 企业服务工作实施方案
- 信息技术ppt课件完整版
- 新湘教(湖南美术)版小学美术五年级下册全册PPT课件(精心整理汇编)
- 大智慧指标公式函数大全(完整可打印版)
评论
0/150
提交评论