资源描述:
《数值分析实验—MATLAB实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数值分析实验MATLAB实现姓名sumnat学号2013326600000班级13级应用数学2班指导老师2016年1月一、插值:拉格朗H插值11、代码:12、示例:1二、函数逼近:最佳平方逼近21、代码:22^示例:2三、数值积分:非反常积分的Romberg算法31、代码:32、示例:4四、数值微分:5点法51、代码:52、示例:6五、常微分方程:四阶龙格库塔及Adams加速法61、代码:四阶龙格库塔62^示例:73、代码:Adams力II速法74、示例:8六、方程求根:Aitken迭代81、代码:82n示例:9七、线性方程组直接法:三角分解91、代码:92、示
2、例:1()八、线性方程组迭代法:Jacobi法及G-S法111、代码:Jacobi法112、示例:123、代码:G-S法124、示例:12九、矩阵的特征值及特征向虽:幕法131、代码:132、示例:13一.插值:拉格朗日插值1、代码:functionz=LGIP(xzy)%拉格朗口插值n=size(x);n=n(2);%计算点的个数symsa;u=0;%拉格朗U多项式f=l;%插值基函数fori=l:nforj=l:nifj==if=f;elsef=f*(a-x(j))/(x(i)-x(j));endendu=u+y(i)*f;f=1;endz=expand(u
3、);%展开2、示例:»x=l:6;yl=x.A5+3*x.A2-6;y2=sin(x)+sqrt(x);»fl=LGIP(x,yl)fl=・6+3*aA2+aA5%可知多项式吻合得很好»f2=vpa(LGIP(x,y2),3)f2=.962e-1*aA4+1.38*a+.300*aA2+.504-.436*aA3-.616e-2*aA5二、函数逼近:最佳平方逼近1、代码:functionz=BestF(u,a,bzn)%最住平方逼近,用"i逼近,n为逼近的次数n=n+l;symsxreal;old=findsym(u);u=subs(uzold,x);塚将u中变
4、量替换为xf=sym(ff);H=sym(99);d=sym(ff);fori=l:n咎生成函数系f(l,i)=x-(i-1);endfori=l:n%生成内积Hforj=l:nH(i,j)=int(f(lri)*f(lfj)rarb);endendfori=l:n%生成内积dd(ir1)=intenda=Hd;%解法方程Ha=dz=a**f*;2、示例:»symsx»fl=sqrt(x);»f2=xA5+xA2;»f3=cxp(x);»a=0;b=l;»BestF(fl,a,b,5)ans=12/143+420/143*x-1120/143*xA2+2016
5、/143*xA3-l800/143*xA4+56/13*xA5»BestF(f2,a,b,5)ans=xA5+xA2»BestF(f3,a,b,5)ans=-566826+208524*exp(1)+(16733010-6155730*exp(l))*x+(-l15830120+42611520*exp(l))*x人2+(306348840J12699440*exp(l))*xA3+(-342469260+125987400*exp(l))*xA4+(l36302012-50142708*exp(l))*xA5»vpa(ans,3)ans=•1c4-.lc6*x
6、-.1e7*xA3+.1c7*xA4三、数值积分:非反常积分的Romberg算法1、代码:functionz=IntRom(f,a,b)%Romberg算法e=le-l0;I{1}=linspace(azb,2);%1等分I{2}=linspace(a,bz3);%2等分L=setdiff(I{2}zI{1});%新得插值点h=b-a;T(1,1)=h/2*sum(subs(fzI{1}));T(2Z1)=1/2*T(1Z1)+h/2*sum(subs(f,L));T(2Z2)=4/3*T(2Z1)-1/3*T(lz1);k=2;whileabs(T(k,k)-
7、T(k-1,k-1))>e带度要求k=k+l;I{k}=linspace(a,b,2入(k-1)+1);L=setdiff(I{k},I{k-l});%集合差运算,新得插值点h=h/2;T(k,1)=l/2*T(k-l,1)+h/2*sum(subs(ffL));咎梯形fori=2:kT(kzi)=(4A(i-l)/(4A(i-l)-l))*T(kzi-l)-(l/(4A(i-l)-l))*T(k-l,i-l);%加速endEndTz=T(k,k);2、示例:»symsx»f=xA4;»a=-4;b=4;»IntRom(f,a,b)T=1.Oc+003*02.0
8、480000000000