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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学软件实验任务书

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

1 实验原理

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

对于给定的函数{()}j x ϕ,寻求函数

0()()n

j j j x c x ϕϕ==∑ 使()()0max lim n a x b

f x x ϕ→∞<<-=的函数称为一致逼近。使

()()()0lim b p

a n f x x W x dx ϕ→∞-=⎰ 的函数称为关于权()W x 的p L 逼近。比较常用的p=2,称为平方逼近。

设()f x 是定义在区间[,]a b 上的函数,则任给定ε,存在一多项式P ε使不等式

()f x P εε-<

对所有[,]x a b ∈一致成立

()()max n a x b f x P x ≤≤-

则()n P x 称为()f x 的n 次最佳一致逼近多项式。

求最佳一次逼近多项式的一种方法是可以采用Chebyshev 节点插值,Chebyshev 节点为

1(21)[()cos _],0,1,2,,22(1)j j x b a b a j n n +=-++=+

2 实验数据

求函数()x

在区间[6,6]上的3,5和12次近似最佳逼近多

f x xe

项式(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)f x x x =-≤≤关于权函数

的 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 =

相关文档
最新文档