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

  • 格式:doc
  • 大小:89.50 KB
  • 文档页数:9

-------------精选文档-----------------

可编辑 数学软件实验任务书

课程名称 数学软件实验 班级

实验课题 Chebyshev多项式最佳一致逼近,最佳平方逼近

实验目的 熟悉Chebyshev多项式最佳一致逼近,最佳平方逼近

实验要求 运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成

实验内容 Chebyshev多项式最佳一致逼近,最佳平方逼近

成绩 教师 -------------精选文档-----------------

可编辑

实验1 Chebyshev多项式最佳一致逼近

1 实验原理

设()fx是定义在区间[,]ab上的函数,寻求另一个构造简单,计算量小的函数()x来近似的代替()fx的问题就是函数逼近问题。通常我们会取一些线性无关的函数系来达到函数逼近的目的:

对于给定的函数{()}jx,寻求函数

0()()njjjxcx

使()()0maxlimnaxbfxx的函数称为一致逼近。使

()()()0limbpanfxxWxdx

的函数称为关于权()Wx的pL 逼近。比较常用的p=2,称为平方逼近。

设()fx是定义在区间[,]ab上的函数,则任给定,存在一多项式P使不等式

()fxP

对所有[,]xab一致成立

()()maxnaxbfxPx

则()nPx称为()fx的n次最佳一致逼近多项式。

求最佳一次逼近多项式的一种方法是可以采用Chebyshev节点插-------------精选文档-----------------

可编辑 值,Chebyshev节点为

1(21)[()cos_],0,1,2,,22(1)jjxbabajnnL

2 实验数据

求函数()xfxxe在区间[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 实验数据

求函数()arccos,(11)fxxx关于权函数211x的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',pi)

ezplot(f5),title('5 次最佳平方逼近'),grid

subplot(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-640*x^3+1152*x^5)/pi

f7 =

-1/22050*(-11025*pi^2+63840*x+69440*x^3-145152*x^5+115200*x^7)/pi