斐波那契数列_第1页
斐波那契数列_第2页
斐波那契数列_第3页
斐波那契数列_第4页
斐波那契数列_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、斐波那契数列斐波那契数列实验二实验二斐波那契,意大利数学家列昂纳多斐波那契,意大利数学家列昂纳多斐波那契斐波那契(Leonardo FibonacciLeonardo Fibonacci,1170-12401170-1240,籍贯大概是,籍贯大概是比萨)。他被人称作比萨)。他被人称作“比萨的列昂纳多比萨的列昂纳多”。12021202年,他撰写了年,他撰写了珠算原理珠算原理(Liber AbacciLiber Abacci)一书。他是第一个研究了印度和阿拉伯数学理一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事

2、,派驻地点相当于今日的阿尔聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。亚、希腊、西西里和普罗旺斯研究数学。一、实验目的一、实验目的认识认识Fibonacci数列,数列,体验发现其通项公式的过程。体验发现其通项公式的过程。 了解了解matlab软件中,软件中,进行数据显示与数据拟合的方式。进行数据显示与数据拟合的方式。 提高对数据进行分析与处理的能力。提高对数据进行分析与处理的能力。 二、问题描述二、问题描

3、述 一般而言,兔子在出生两个月后,就一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?那么一年以后可以繁殖多少对兔子?三、问题分析三、问题分析21nnnFFF称为称为Fibonacci数列数列。递推公式:递推公式:1,1,2,3,5,8,13,21,34,55,兔子对的兔子对的数目数目依次如下:依次如下: 所求答案所求答案:Fibonacci数列的第数列的第12项。项。Fibonacci数列的数列的一般规律一般规律是什么?是什么?四、背景知识四、背景知识

4、1 1、最小二乘和数据拟合、最小二乘和数据拟合2022-2-21多项式拟合多项式拟合当数据点互异时plot(x,y,s) :将所给的点列连接成一条折线将所给的点列连接成一条折线 x-点列的横坐标,点列的横坐标,y-点列的竖坐标点列的竖坐标s-图形的格式字符串图形的格式字符串 例例:给定数据,给定数据,x1=1,3,4,5,6,7,8,9,10; y1=10,5,4,2,1,1,2,3,4;描绘其图形描绘其图形代码:代码:x1=1,3,4,5,6,7,8,9,10; y1=10,5,4,2,1,1,2,3,4; plot(x1,y1)2 2、画图和多项式拟合命令、画图和多项式拟合命令2022-2

5、-211234567891012345678910p=polyfit (x,y,n) :用用n次次多项式拟合多项式拟合数据列数据列 返回多项式的系数,次序是由高阶到低阶返回多项式的系数,次序是由高阶到低阶例例:x=1,3,4,5,6,7,8,9,10;y=10,5,4,2,1,1,2,3,4;拟合:拟合:p=polyfit (x,y,2) 结果:结果:0.2676 -3.6053 13.4597数值数值:f = polyval(p,x)结果:结果: f =10.1219 5.0519 3.3196 2.1224 1.4604 1.3335 1.7417 2.6851 4.1636即即2次多项式

6、为次多项式为p1=0.2676x2 -3.6053x+13.4597拟合效果展示:拟合效果展示:代码代码:x=1,3,4,5,6,7,8,9,10;y=10,5,4,2,1,1,2,3,4;p=polyfit (x,y,2);plot(x,y, ro,x,polyval (p,x), b)legend(数据点数据点,拟合曲线拟合曲线) ;2022-2-21123456789101234567891011 数 据 点拟 合 曲 线五、实验过程五、实验过程 NnFnn, 2 , 1),( 查看代码( ,log),1,2,nnFnN 查看代码 log()0.8039+0.4812nnF n0.447

7、6 1.6180nF 即:查看代码( ,),nn F 0.4476 1.6180 xy 查看代码查看代码0.7768+0.4799yx ( ,log(),1,2,nnFnNnnFCr猜测,通项公式:210rr 2/ )51(2, 1 r解得:(15)/2)nnFC121 FF将上式代入递推公式中得:考虑到该数列趋向无穷,故通项公式取为:考虑到该数列趋向无穷,故通项公式取为:然而然而,上式并不满足:上式并不满足:nnnFCrCr215(,1)2nnnbFCrrrr构造数列:进一步修正进一步修正nb可得数列仍然满足那个递推公式nnnbbCr因而猜测 的通项形式:21(15)/2rrrr其中,也满足

8、方程,故这样,得到这样,得到Fibonacci数列通项的新猜测:数列通项的新猜测:11515225nnnF这样,得到这样,得到Fibonacci数列通项:数列通项:称为称为比内公式比内公式。(Binet,法国,法国,1843年发现年发现)1211/51/5FFCC 由条件,确定,21nnnFFF 21rr 1,2(15)/2r 12151522nnnFCC 1211,55CC 1515225nnnF六、化学反应中生成物的浓度问题六、化学反应中生成物的浓度问题1、描绘、描绘生成物浓度的散点图生成物浓度的散点图代码:代码: t=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

9、,16;y=4.00,6.40,8.00,8.80,9.22,9.50,9.70,9.86;y=y,10.00,10.20,10.32,10.42,10.50,10.55,10.58,10.60;plot(t,y, r+)xlabel(时间); ylabel(浓度);legend(生成物浓度散点图生成物浓度散点图)从图形看,显然是非线性关系,数据点列呈从图形看,显然是非线性关系,数据点列呈现单调上升趋势,开始上升较快随后逐渐变现单调上升趋势,开始上升较快随后逐渐变慢,故宜采用多项式、双曲型函数、指数型慢,故宜采用多项式、双曲型函数、指数型函数或对数型函数做拟合等函数或对数型函数做拟合等2、采用

10、、采用2,4和和6阶多项式进行拟合阶多项式进行拟合代码:代码: p2= polyfit(t,y,2);p4= polyfit(t,y,4);p6= polyfit(t,y,6);R1 = dot(y-polyval(p6,t),y-polyval(p6,t) %计算拟合残差plot(t,y,r+,t,polyval(p2,t),t,polyval(p4,t),t,polyval(p6,t)legend(测量数据测量数据, 2阶拟合阶拟合, 4阶拟合阶拟合, 6阶拟合阶拟合)6阶多项式拟合效果较好阶多项式拟合效果较好3、采用双曲函数进行拟合:、采用双曲函数进行拟合:代码:代码: p1= poly

11、fit(1./t,1./y,1);plot(t,y,r+,t,1./polyval(p1,1./t)R2 = dot(y-1./polyval(p1,1./t),y-1./polyval(p1,1./t)legend(测量数据测量数据, 双曲型拟合双曲型拟合)(0)tybatb11Y,11,TtatbybabaatbytYTytt其中七、结论与应用七、结论与应用 1515225nnnF5/)2/ )51(nnFn 时,之间。与的阶在故nnnF2)2/3( 215G黄金分割数1(15)5122) 1(511nnnnGGF 214322121225432FFFFFFGFFFFFFnnnn1512n

12、nnFLimGFhttp:/ -1 0 0 0 01 1 -1 0 0 00 1 1 -1 0 0 0 0 0 0 1 1 。显示Fibonacci数列前n项function plotfibo(n) %显示Fibonacci数列前n项fn=1,1; %将数列的前两项放到数组fn中for i=3:n %fn的第3项到第n项 fn=fn,fn(i-2)+fn(i-1); %将第i项添加到数组fn中end %循环结束plot(fn) %将装有数列前n项的数组显示出来返回显示取对数后的前n项function plotlnfibo(n) %显示取对数后的前n项fn=1,1; %将数列的前两项放到数组fn

13、中for i=3:n %fn的第3项到第n项 fn=fn,fn(i-2)+fn(i-1); %将第i项添加到数组fn中end %循环结束fn=log(fn) %将原来的数据取对数plot(fn) %将装有数列前n项的数组显示出来返回根据取对数后的数据,拟合出线性表达式 function fitlnfibo(n) %先取对数,再拟合fn=1,1; %将数列的前两项放到数组fn中for i=3:n %fn的第3项到第n项 fn=fn,fn(i-2)+fn(i-1); %将第i项添加到数组fn中end %循环结束xn=1:n; %定义横坐标fn=log(fn) %将原来的数据取对数polyfit(x

14、n,fn,1) %拟合装有数列前n项的数组返回显示拟合数据与原始数据的前n项function plotfibo2(n) %显示拟合数据与原始数据的前n项fn1=; %装拟合数据的数组for i=1:n %fn1的第1项到第n项 fn1=fn1,0.4476*1.618i; %将第i项添加到数组fn1中end fn2=1,1; %装原始数据的数组,前两项放到数组fn2中for i=3:n %fn2的第3项到第n项 fn2=fn2,fn2(i-2)+fn2(i-1); %将第i项添加到数组fn2中end x=1:n;plot(x,fn1,x,fn2,r*) %显示, fn1兰线,fn2红星返回显示取对数后的拟合数据与原始数据function plotfibo3(n) %显示拟合数据与原始数据的前n项fn1=; %装拟合数据的数组for i=1:n %fn1的第1项到第n项 fn1=fn1,-0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论