数学实验Fibonacci数列.docx
《数学实验Fibonacci数列.docx》由会员分享,可在线阅读,更多相关《数学实验Fibonacci数列.docx(11页珍藏版)》请在冰豆网上搜索。
数学实验Fibonacci数列
Fibonacci数列
实验内容
1.
(1)首先建立一个名叫shulie.m的m文件,依据条件建立an的数组。
然后显示出an的图形。
functionshulie(n)
an=[1];
fori=2:
n
an=[an,an(i-1)+1./an(i-1)];
end
plot(x,an)
1.
(2)所得图形如上,初步观察,应该是一个幂函数,幂为1/2.而且通过观察图形,an的极限不存在。
1.(3)因为推测an是n的1/2次幂,所以运用matlab的plot函数以n为横坐标,an^2为纵坐标画图,结果如下:
functionshulie(n)
an=[1];
fori=2:
n
an=[an,an(i-1)+1./an(i-1)];
end
xn=1:
n;
an=an.^2;
plot(an);
由上图可知,图像接近于直线,猜想的到认证。
为了得到直线的斜率和截距,可以运用matlab中的polyfit函数进行求解,语句如下
polyfit(xn,an,1)%将an^2与n进行线性拟合
结果如下:
ans=
2.01480.7931
所以线性拟合的结果为:
an^2=2.0148x+0.7931
为了的到线性拟合与实际情况的近似情况,将线性拟合的直线与实际的线画于同一坐标系下,
functionshulie(n)
fn1=[];
fori=1:
n
fn1=[fn1,0.7931+2.0148*i];
end
an=[1];
fori=2:
n
fn2=[an,an(i-1)+1./an(i-1)];
end
an=an.^2;
x=1:
n;
plot(x,fn1,x,an)
结果如下:
观察上图,可知,线性拟合程度很好。
第二题
2.
(1).首先建立Sn的数组,并运用plot函数将以n为横轴,Sn为纵轴画图,
functiontiaohe(n)
Sn=[];
s=0;
fori=1:
n
s=s+1/i;
Sn=[Sn,s];
end
plot(Sn);
结果如下图:
观察上图,结果近似于对数函数。
2.
(2).
S2n-Sn的图像如下:
functiontiaohe(n)
Sn=[];
s=0;
fori=1:
2n
s=s+1/i;
Sn=[Sn,s];
end
Hn=[];
fori=1:
n
Hn=[Hn,Sn(2*i)-Sn(i)];
end
plot(Hn)
观察图形,与对数增长的方式相似,为了观察其是否存在极限,将横轴的值再取大一点观察,取0~10000,图形如下:
观察可知,极限存在为0.7.
2.(3)S2^n的图像如下:
functiontiaohe(n)
Sn=[];
s=0;
fori=1:
2^n
s=s+1/i;
Sn=[Sn,s];
end
Gn=[];
fori=1:
n
Gn=[Gn,Sn(2^n)];
end
plot(Gn)
观察图形,图形为一直线,可以运用polyfit函数拟合出此直线,求出其斜率与截距,结果如下:
ans=
0.67330.7338
故该直线为y=0.6733x+0.7338;
为了观察实际曲线与拟合直线的拟合程度,将两者绘于同一坐标系,代码就不再赘述。
结果如下图:
观察上图(虚线为Gn,实线为拟合直线),拟合程度较好。
2.(4)由第一题观察可知,部分和数列近似于对数函数,故exp(Sn)与n成一次关系,故以exp(Sn)为纵轴,n为横轴进行绘图,结果如下:
functiontiaohe(n)
Sn=[];
s=0;
fori=1:
n
s=s+1/i;
Sn=[Sn,s];
end
Sn=exp(Sn);
plot(Sn);
观察上图,为一直线,故猜想成立,Sn是n的对数关系。