《矩阵理论作业6:两种算法求三次最佳平方逼近多项式.docx》由会员分享,可在线阅读,更多相关《矩阵理论作业6:两种算法求三次最佳平方逼近多项式.docx(3页珍藏版)》请在三一办公上搜索。
1、两种算法求/(X)的三次最正确平方逼近多项式摘要对于一个较复杂的函数,往往需要求一个简单多项式来逼近。本文选取两种基函数,用两种算法计算一个函数/()=exp(x)sin(x)在0刍上的三次最正确平方逼近多项式及其逼近误差,然后应用2matlab进行计算作图并比照两种方法的逼近结果。关键字:三次最正确平方逼近两种算法引言多项式的一个重要应用就是可以用来逼近一个区间上的连续函数,往往许多复杂的函数需要用各种方法来进行多项式逼近。本文参考矩阵理论讲义.对函数/(x)=exp(x)sin(x)在xO,d上进行三次最正确平方逼近,求其逼近误差,并在matlab中编程计算和绘图以验证和比拟逼近结果的准确
2、性。求最正确平方逼近的多项式TCf(x)=ex(x)sin(x),0,求三次的最正确平方逼近多项式(内积中的权函数根据C,句上内积定义(/(x),g*)=(x)f(x)g(x)dx(2)其中权函数P(X)=1,在x0,上计算得112储/824644)2.9()521128324/645I604一3.2781/2464160/384Cl24.0294641606384/896A.5.2035解得待定系数%=00201,4=0.7658,=1.5765,a2=-0.0708即(x)=0.0201+0.7658x+1.5765x2-0.0708/(4)误差M(M2=J(5(),b(%)=Je-0.0
3、100第二种算法:P()=l用两种算法实现,一是设=z(x),z1(x)(A,其中3=span1,x,x2,x3二是设为4*),i=0,1,2,3是勒让德多项式,其表达式为:(外,外)何)QpeI)一他J)(弘,/)依J)1.j(X)=d,.而耳,T),W2,=Zt,(x),Z1(x),1.2(AZ3(%),其中Zx),i=0,l,2,3是勒让德多项式。第一种算法:S=SPcml,x,x2,x3,由矩阵形式(%)(外用)(/,%)(弘用),)勒让德正交多项式有如下递推关系4(幻=1,1.l(X)=%,4(X)=X1.i(X)-1.iT3,,=1,2,,一1+l13153可得右。)=/,Z,()
4、=-求得结果,误差为0.3020。算例分析在matlab中编程计算(程序见附录),第一种方法的结果为f=(x)exp(x).*sin(x);P,eorl=polyappro(f,0,pi2)得到结果:P=-0.07081.57650.76580.0201error=0.0100可以看到A=pi7896,pi6384,pi5160,pi464pi6384,pi5160,pi464,pi324pi5160,pi464,pi324,pi28pi464,pi324,pi28,PiB=(exp(pi2)*(pi3-12*pi24)/16(exp(pi2)*(pi2-l)*(pi2+1)/2+1/2(pi
5、*exp(pi2)4-1/2exp(pi2)2+1/2第二种方法,勒让德多项式逼近f=inline(exp(x).*sin(x);Y,error=1.egendreApproximation(f,4)得到结果:error=0.3020结论两种方法逼近的效果比拟,第种基函数逼近的整体效果好,误差小,但是从图上可以看出局部细节不是很准确;而第二种勒让德多项式逼近的结果在前半局部非常好,但后边误差较大,总体误差大。参考文献1矩阵理论讲义1矩阵论第二章),19-20.附录方法:求内积f=inline(*sin(x).*exp(x),x);fy三quad(f,0,pi2)fy=2.9052f=inlin
6、e(,sin(x).*exp(x).*x,x,);fyl=quad(f,0,pi2)fyl=3.2781f=inline(,x.2.*sin(x).*exp(x),x,);fy2=quad(f,0,pi2)fy2=4.0294f=inline(x.3.*sin(x).*exp(x),x,);fy3=quad(f,0,pi2)fy3=5.2035最正确平方逼近函数:functionpoly,error=polyappro(f,a,b)symsxP=1,x,x.2,x.3;%P=1,x,1.5*x.2-0.5,2.5*x.a3-1.5;m=length(P);fori=l:mforj=l:mA(i
7、,j)=int(P(m-i+l).*P(m-j+l),a,b);endB(i)=int(f*P(m-i+l)fafb);endpoly=AB,;poly=sym2poly(poly,);xx=a:0.01:b;yy=feval(fzxx);ypoly=polyval(polyzxx);polysym=poly2sym(poly);delta=f-polysym;error=sqrt(int(delta.*delta,a,b);error=sy112poly(error);plot(xx,yy,xx,ypoly,r-)end方法二:勒让德多项式FunctionY,error=1.egendreApproximation(f,n)xx=0:0.01:0.5*pi;fval=feval(f,xx);fori=l:n+lw(i)=(2*(i-l)+l)2*quad(x)f(x).*mfun(,p,i-l,x),-1,1);YY(iz:)=w(i).*mfun(,pzi-l,xx);Y=Sum(YY);error=norm(fval-Y,inf,);plot(xx,fval,xx,Y,r);endend
链接地址:https://www.31ppt.com/p-7092428.html