预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数学软件实验任务书课程名称数学软件实验班级实验课题Chebyshev多项式最佳一致逼近,最佳平方逼近实验目的熟悉Chebyshev多项式最佳一致逼近,最佳平方逼近实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容Chebyshev多项式最佳一致逼近,最佳平方逼近成绩教师实验1Chebyshev多项式最佳一致逼近1实验原理设是定义在区间上的函数,寻求另一个构造简单,计算量小的函数来近似的代替的问题就是函数逼近问题。通常我们会取一些线性无关的函数系来达到函数逼近的目的:对于给定的函数,寻求函数使的函数称为一致逼近。使的函数称为关于权的逼近。比较常用的p=2,称为平方逼近。设是定义在区间上的函数,则任给定,存在一多项式使不等式对所有一致成立则称为的n次最佳一致逼近多项式。求最佳一次逼近多项式的一种方法是可以采用Chebyshev节点插值,Chebyshev节点为2实验数据求函数在区间[6,6]上的3,5和12次近似最佳逼近多项式(Chebyshev插值多项式)3实验程序functiong=cheby(f,n,a,b)forj=0:ntemp1=(j*2+1)*pi/2/(n+1);temp2=(b-a)*cos(temp1)+b+a;temp3(j+1)=temp2/2;endx=temp3;y=f(x);g=lag(x,y);functions=lag(x,y,t)symsp;n=length(x);s=0;for(k=1:n)la=y(k);%构造基函数for(j=1:k-1)la=la*(p-x(j))/(x(k)-x(j));end;for(j=k+1:n)la=la*(p-x(j))/(x(k)-x(j));end;s=s+la;simplify(s);endif(nargin==2)s=subs(s,'p','x');s=collect(s);s=vpa(s,4);elsem=length(t);fori=1:mtemp(i)=subs(s,'p',t(i));ends=temp;endf=inline('x.*exp(x)','x');z1=cheby(f,3,-6,6)z2=cheby(f,5,-6,6)z3=cheby(f,12,-6,6)%作出逼近函数图形subplot(2,2,1),ezplot('x*exp(x)'),gridsubplot(2,2,2),ezplot(z1),gridsubplot(2,2,3),ezplot(z2),gridsubplot(2,2,4),ezplot(z3),grid%改变背景为白色set(gcf,'color','white')4实验结果z1=-133.0+4.822*x^3+27.38*x^2-20.40*xz2=.2001*x^5+1.359*x^4-2.020*x^3-18.56*x^2+6.126*x+40.25z3=-.2405e-16+.5187e-7*x^12+.6439e-6*x^11+.1420e-5*x^10+.6201e-5*x^9+.2287e-3*x^8+.1813e-2*x^7+.8007e-2*x^6+.3709e-1*x^5+.1682*x^4+.5209*x^3+.9981*x^2+.9729*x实验2Chebyshev最佳平方逼近1实验数据求函数关于权函数的5次最佳平方逼近。2实验程序程序1functionf=ping_che(n)symsxpip%计算系数fori=2:n+1a(i)=((-1)^i-1)*2/pip/i^2;enda=[pip,-4/pip,a(2:n)]%调用chebyshev多项式che=cheby_p(x,n);f=a(1)/2;fori=2:n+1f=f+a(i)*che(i);end%化简f=simplify(f);程序2functiont=cheby_p(x,n)t(1:n+1)=x;t(1)=1;t(2)=x;%计算一般项fori=3:n+1t(i)=2*x*t(i-1)-t(i-2);end;t=simplify(t);程序3f=@(x)acos(x);t=-1:0.01:1;f1=f(t);subplot(1,2,1)plot(t,f1,'*')holdon%5次最佳平方逼近%画出逼近图象f5=ping_che(5);f5=subs(f5,'pip',pi)ezplot(f5),title('5次最佳平方逼近'),gridsubplot(1,2,2),f7=ping_che(7);f7=subs(f7,'pip',pi)ezplot(f7),grid,title('7次逼近')3实验结果f5=-1/450*(-225*pi^2+1560*x