资源描述:
《计算方法实验+编程代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算方法实验报告1在区间[・1,1]上分别取n=10,20,用两组等距节点对龙格函数/(%)=—「作1+25厂多项式插值,对每个n值,分别画出插值函数及/(劝的图形。解:n二10时:n二20时:-1-0.500.52在区间[・1,1]上分别取n=10,20,用两组等距节点对龙格函数/(%)=—作分1+25对段线性插值,对每个n值,分别画出插值函数及/(切的图形。解:n=10:n二20时:I23对龙格函数/(x)=—在区间[・1,1]上取耳=-1+—k=0,l,2/7,〃分别1+25Qn取10,20,试分别求3次、5次最小二乘拟合多项式,打卬出此曲线拟合函数,分别画出此拟合函数及/(x)的图形
2、。3次最小二乘拟合n二10时:n二20时:-1-0.500.515次最小二乘拟合nhO时:n二20时:4取点母.二cos"+'兀,k=0,1,2〃,川分别取10,20,对龙格函数/(%)=——-~T2(/?+1)1+25x~作多项式插值,对每个〃值,分别画岀插值函数及/(切的图形。解:n-10时:n二20时:-1-0.500.55比较上面三组近似函数,说说你的体会。你能在此基础上做进一步的探索吗,比如"如果继续增加下去,结果会如何?附注:编程语言不限,但用matlab等语言编程时,不得直接调用现成的插值与逼近函数,需要你在我们课堂教学的基础上,编程实现上述算法。解:用不同方法进行插值,得出的
3、插值函数差异较大。其中,最小二乘拟合的曲线精度较低,多项式插值拟合的曲线精度较高。曲线拟合的精度不仅和拟合方法有关,还和采样点位置的选取、个数有关。如1,4题都是多项式插值,但是第4题的拟合度最高。n值越大,拟合的函数会更加接近原函数。程序:1.等距节点多项式插值cIear;cIc;symsxn=input('inputrF‘);x1=linspace(-1,1,n+1);y1=1./(1.+25*x1<2);yy二zeros(1,n+1);fx=0;fori=1:n+1;Iga二1;forj=1:n+1ifJ二Ilga=lga*(x-x1(1,j))/(x1(1,i)-x1(1,j));e
4、Iseendendfx=fx+y1(1,i)*lga;enddisp(fx);x二T:0.01:1;pIot(x,evaI(fx),1rh')hoIdona-1inspace(-1,1,100);y2=1./(1.+25*a.八2);plot(a,y2,'b')legendC插值函数;龙格函数')2.分段线性插值functiony二div(xO,yO,x,n)forj=1:nif(x>=xO(j))&&(x<=x0(j+1))y二(x~xO(j+1))/(xO(j)~x0(j+1))*y0(j)+(x-xO(j))/(xO(j+1)~x0(j))*yO(j+1);continueendend
5、endcIear;cIc;n=input('inputn二’);xO二Iinspace(-1,1,n+1);yy二zeros(2001,1);fori=1:1:2001xx(i,1)=0.001*(i-1)-1;y=div(x0r1./(1+25*x0.八2),xx(i,1),n);disp(y);yy(i,1)=y;endpIot(xx,yy,'r','LineWidth*,1.5)a-1inspace(-1,1,100);hoIdonplot(a,1./(1+25*a.八2),'b‘,'LineWidth',1・5)legendC插值函数’,’龙格函数')3.①三次最小二乘拟合cIear
6、;n=input('input门二');x0=ones(n+1,1);x1二zeros(n+1,1);x2二zeros(n+1,1);x3=zeros(n+1,1);y1二zeros(n+1,1):fork二0:1:nx1(1+k,1)=-1+2*k/n;y1(1+k,1)=1./(1+25*x1(1+k,1)「2);x2(k+1,1)=x1(k+1,1)*x1(k+1,1);x3(k+1,1)二x1(k+1,1)*x1(k+1,1)*x1(k+1,1);endA二[xOx1x2x3]:B二A1*A;CS*(y":D二BC;x二Iinspace(-1,1,51);y二D(4,1)*x.八3
7、+D(3,1)*x.八2+D(2,1)*x+D(1,1);a-1inspace(-1,1,101);yO二1・/(1+25*a.八2);plot(x,y,'rh')hoIdonpIot(a,yO,'b1,'LineWidth',2)legendC插值函数,,1龙格函数1)②五次最小二乘拟合cIear;n=input('inputn二’);xO二ones(n+1,1);x1二zeros(n+1,1);x2二ze