【Matlab代码】斐波拉契数列

实验1:显示数列的函数类型

function fib1(n)%显示数列前n项
fn=[1,1];%将前两项放到数组fn中
for i=3:n
    fn=[fn,fn(i-2)+fn(i-1)];%将第i项添加到数组fn中
end
plot(fn)%前n项显示成曲线

在这里插入图片描述
实验2:验证上步得到的结论。
显示取对数后的数列前n项:

function fib2(n)%显示取对数后数列前n项
fn=[1,1];%将前两项放到数组fn中
for i=3:n
    fn=[fn,fn(i-2)+fn(i-1)];%将第i项添加到数组fn中
end
fn=log(fn);%将原来的数据取对数
plot(fn)%前n项显示成曲线

在这里插入图片描述
实验3:获取数列的近似函数关系
用一阶多项式做拟合:

function y=fib3(n)%取对数后做线性拟合
fn=[1,1];%将前两项放到数组fn中
for i=3:n
    fn=[fn,fn(i-2)+fn(i-1)];%将第i项添加到数组fn中
end
xn=1:n;%横坐标
fn=log(fn)%将原来的数取对数
y=polyfit(xn,fn,1)%一阶多项式拟合

在这里插入图片描述
注意1:
在这里插入图片描述
修改为:fn=[fn,fn(i-2)+f(i-1)]
注意2:
在这里插入图片描述
修改为:y=polyfit(xn,fn,1)
实验4:观察拟合数据与原始数据的吻合。

function fib4(n)%显示拟合数据与原始数据
fn1=[];%装拟合数据的数组
for i=1:n
    fn1=[fn1,0.4476*1.618^i];%将第i项添加到数组fn1中
end
fn2=[1,1];%装原始数据的数组
for i=3:n
    fn2=[fn2,fn2(i-2)+fn2(i-1)];%将第i项添加到数组fn2中
end
x=1:n;
plot(x,fn1,x,fn2,'r*')%显示,fn1-兰线,fn-2红星

在这里插入图片描述
微信“图像处理与模式识别研究所”关注我呦

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值