斐波那契数列资料

上传人:f****u 文档编号:115008924 上传时间:2019-11-12 格式:PPT 页数:42 大小:1.23MB
返回 下载 相关 举报
斐波那契数列资料_第1页
第1页 / 共42页
斐波那契数列资料_第2页
第2页 / 共42页
斐波那契数列资料_第3页
第3页 / 共42页
斐波那契数列资料_第4页
第4页 / 共42页
斐波那契数列资料_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《斐波那契数列资料》由会员分享,可在线阅读,更多相关《斐波那契数列资料(42页珍藏版)》请在金锄头文库上搜索。

1、斐波那契数列 实验二 斐波那契,意大利数学家列昂纳多斐波那契 (Leonardo Fibonacci,1170-1240,籍贯大概是 比萨)。他被人称作“比萨的列昂纳多”。 1202年,他撰写了珠算原理(Liber Abacci )一书。他是第一个研究了印度和阿拉伯数学 理论的欧洲人。他的父亲被比萨的一家商业团 体聘任为外交领事,派驻地点相当于今日的阿 尔及利亚地区,列昂纳多因此得以在一个阿拉 伯老师的指导下研究数学。他还曾在埃及、叙 利亚、希腊、西西里和普罗旺斯研究数学。 一、实验目的 认识Fibonacci数列, 体验发现其通项公式的过程。 了解matlab软件中, 进行数据显示与数据拟合

2、的方式。 提高对数据进行分析与处理的能力。 二、问题描述 意大利斐波那契意大利斐波那契(Fibonacci)(Fibonacci),12021202年年 一般而言,兔子在出生两个月后,就 有繁殖能力,一对兔子每个月能生出 一对小兔子来。如果所有兔都不死, 那么一年以后可以繁殖多少对兔子? 三、问题分析 称为Fibonacci数列。 递推公式: 1,1,2,3,5,8,13,21,34,55, 兔子对的数目依次如下: 所求答案:Fibonacci数列的第12项。 Fibonacci数列的一般规律是什么? 四、背景知识 1、最小二乘和数据拟合 * 多项式拟合 当数据点 互异时 plot(x,y,s

3、) :将所给的点列连接成一条折线 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、画图和多项式拟合命令 * p=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

4、.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次多项式为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(数据点,拟拟合曲线线) ; * 五、实验过程 1. 1. 观察数据间的大

5、概函数关系观察数据间的大概函数关系 2. 2. 进一步验证上一步得到的结论进一步验证上一步得到的结论 3. 3. 获得数据的近似函数关系式获得数据的近似函数关系式 4. 4. 观察拟合数据与原始数据的吻合程度观察拟合数据与原始数据的吻合程度 5. 5. 猜测猜测FibonacciFibonacci数列的通项公式数列的通项公式 6. 6. 证明证明FibonacciFibonacci数列的通项公式数列的通项公式 1. 1. 观察数据间的大概函数关系观察数据间的大概函数关系 将以下点列显示在平面坐标系中:将以下点列显示在平面坐标系中: 观察其中蕴涵的函数关系观察其中蕴涵的函数关系 结论结论:曲线的

6、形状象指数函数的曲线:曲线的形状象指数函数的曲线 查看代码 2. 2. 进一步验证上一步得到的结论进一步验证上一步得到的结论 再将以下点列显示在平面坐标系中:再将以下点列显示在平面坐标系中: 观察其中蕴涵的函数关系观察其中蕴涵的函数关系 结论结论:曲线的形状确实象一条直线:曲线的形状确实象一条直线 查看代码 3. 3. 获得数据的近似函数关系式获得数据的近似函数关系式 FibonacciFibonacci数列的数据关系是指数函数,数列的数据关系是指数函数, 取对数后是线性函数,即一阶多项式,取对数后是线性函数,即一阶多项式, 用一阶多项式拟合出取对数后的函数关系式用一阶多项式拟合出取对数后的函

7、数关系式 得到得到FibonacciFibonacci数列通项公式的近似表达式:数列通项公式的近似表达式: 查看代码 4. 4. 观察拟合数据与原始数据的吻合程度观察拟合数据与原始数据的吻合程度 紅点:紅点: 蓝线:蓝线: 查看代码查看代码 5. 5. 猜测猜测FibonacciFibonacci数列的通项公式数列的通项公式 将上式代入递推公式中得: 考虑到该数列趋向无穷,故通项公式取为: 然而,上式并不满足: 进一步修正 这样,得到Fibonacci数列通项的新猜测: 这样,得到Fibonacci数列通项: 称为比内公式。(Binet,法国,1843年发现) 6. 6. 推导推导Fibona

8、cciFibonacci数列的通项公式数列的通项公式 FibonacciFibonacci数列具有如下递推关系数列具有如下递推关系 这是一个二阶常系数线性齐次差分方程这是一个二阶常系数线性齐次差分方程 仿照二阶常系数线性齐次微分方程来求解仿照二阶常系数线性齐次微分方程来求解 特征方程特征方程 两个特征根两个特征根 差分方程的通解差分方程的通解 取取n=1n=1和和n=2n=2代入上面的公式中,解得代入上面的公式中,解得 从而得到从而得到 六、化学反应中生成物的浓度问题 1、描绘生成物浓度的散点图 代码: t=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; y=4

9、.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、采用2,4和6阶多项式进行拟合 代码: p2= polyfit(t,y,2); p4= polyfit(t,y,4); p6= polyfit(t,y,

10、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= polyfit(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(测量数据,

11、 双曲型拟合) 七、结论与应用 1. Fibonacci1. Fibonacci数列的阶数列的阶 2. Fibonacci2. Fibonacci数列与黄金分割数的关系数列与黄金分割数的关系 可以验证可以验证 %将数列的前两项放到数组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中 for i=3:n %

12、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(xn

13、,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兰线,f

14、n2红星 返回 显示取对数后的拟合数据与原始数据 function plotfibo3(n) %显示拟合数据与原始数据的前n项 fn1=; %装拟合数据的数组 for i=1:n %fn1的第1项到第n项 fn1=fn1,-0.8039+0.4812*i; %将第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,log(fn2),r*) %显示, fn1兰线,fn2红星 返回 * 第二次上课作业 教材P18-19:第2和6题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号