Chebyshev多项式最佳一致逼近,最佳平方逼近.docVIP

  • 129
  • 0
  • 约2.27千字
  • 约 6页
  • 2017-08-29 发布于重庆
  • 举报

Chebyshev多项式最佳一致逼近,最佳平方逼近.doc

Chebyshev多项式最佳一致逼近,最佳平方逼近

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

文档评论(0)

1亿VIP精品文档

相关文档