《龙格现象matlab算法.doc》由会员分享,可在线阅读,更多相关《龙格现象matlab算法.doc(4页珍藏版)》请在第二文库上搜索。
1、专业:___机械工程____姓名:___林炜奕_______学号:_3130102509____日期:________________地点:_______桌号 实验报告课程名称:___计算方法____________指导老师:___程晓良________成绩:__________________实验名称:___观察龙格现象________________实验类型:________________同组学生姓名:__________一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、问题描述。
2、在计算方法中,有利用多项式对某一函数的近似逼近,这样,利用多项式就可以计算相应的函数值。例如,在事先不知道某一函数的具体形式的情况下,只能测量得知某一些分散的函数值。例如我们不知道气温随日期变化的具体函数关系,但是我们可以测量一些孤立的日期的气温值,并假定此气温随日期变化的函数满足某一多项式。这样,利用已经测的数据,应用待定系数法便可以求得一个多项式函数f(x)。应用此函数就可以计算或者说预测其他日期的气温值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确。例外发生了:龙格在研究多项式插值的时候,发现有的情况下,并非取节点(日期数)越多多项式就越精确。著名的例子是f(x)=1/(1+25x^2).它的插值函数在。
3、两个端点处发生剧烈的波动,造成较大的误差。二、相关公式三、MATLAB程序一、取等距节点,n=5,10,15,20for n = 5:5:20subplot(2,2,n/5)syms x;f = 1/(1+25*x^2);x1=sym(zeros(n+1));W=sym(ones(n+1));L=sym(0); for i=0:n x1(i+1)=-1+2*i/n; end for i=0:n for j=0:n if j~=i w=(x-x1(j+1))/(x1(i+1)-x1(j+1)); W(i+1)=W(i+。
4、1)*w; end end L=L+W(i+1)*(1/(1+25*x1(i+1)^2)); endLL(n)=simplify(L);x=-1:0.01:1;y1=subs(f,x);y2=subs(L,x);plot(x,y1,'b');hold on;plot(x,y2,'r');hold off;title(['Ôº¯Êýf(x)=1/(1+25*x^2)Óë',num2str(n),'´Î²åÖµº¯Êý']);xlabel('x');ylabel('y');legend('Ôº¯Êý','²åÖµº¯Êý');grid onend二、取节点装 。
5、 订 线Xj=cosjπ/n,j=0,1,…,n.n分别取5,10,15,20,…,50for n = 5:5:50subplot(2,5,n/5)syms x;f = 1/(1+25*x^2);x1=sym(zeros(n+1));W=sym(ones(n+1));L=sym(0); for i=0:n x1(i+1)=cos(i*pi/n); end for i=0:n for j=0:n if j~=i w=(x-x1(j+1))/(x1(i+1)-x1(j+1)); W(i+1)=W(i+1)*w; 。
6、 end end L=L+W(i+1)*(1/(1+25*x1(i+1)^2)); endLL(n)=simplify(L);x=-1:0.01:1;y1=subs(f,x);y2=subs(L,x);plot(x,y1,'b');hold on;plot(x,y2,'r');hold off;title(['Ôº¯Êýf(x)=1/(1+25*x^2)Óë',num2str(n),'´Î²åÖµº¯Êý']);xlabel('x');ylabel('y');legend('Ôº¯Êý','²åÖµº¯Êý');grid onend 四、实验分析当采用等距节点时,随着节点数量的增多,插值函数的误差越大。当以x=cosjπn为节点时,随着n的增大,插值函数的图像越来越靠近原函数图像。这是由于采用等距节点时,存在较大的舍入误差。后者由于此处的插值节点不是等距分布的(事实上,此处采用的插值节点正是Chebyshev多项式的零点),而是中间疏两边密,因此两侧较密的节点很好地抑制了Runge现象。五、心得与体会 通过这次实验,我更加熟悉了MATLAB的使用,同时对课本上关于多项式插值以及龙格现象的理论知识有了更深入的理解。有助于对后续课程的学习。收获很大。。