资源描述
最佳平方逼近多项式的收敛性
实验报告
数值实验7.2 最佳平方逼近多项式的收敛性
学号:P200909071 姓名:孙闯
一、实验目的
若已知给定区间[a,b]上的连续函数f(x),寻找一个简单、易于计算的函数P(x)来代替f(x)使用,即用P(x)去近似f(x),这就是函数逼近要研究的问题。而逼近的方法有很多,本实验中主要讨论最佳平方逼近。
二、实验题
用matlab求解f(x)=| x |在区间[-1,1]上关于Legendre 多项式和Chebychev多项式的展开式。
分别取展开式的4 次、8 次…截断多项式,画出f(x)及各次截断多项式的图像,观察收敛性。
三、实验结果
Ⅰ、①f(x)=| x |在区间[-1,1]上关于Legendre 多项式的4次截断多项式f(x)=5/128+105/64*x^2-105/128*x^4
收敛性:收敛。
拟合图像如图1。
图1 Legendre正交多项式四次截断多项式拟合
②f(x)=| x |在区间[-1,1]上关于Legendre 多项式的8次截断多项式
f(x)=2205/32768+24255/8192*x^2-105105/16384*x^4+63063/8192*x^6-109395/32768*x^8
收敛性:收敛。
拟合图像如图2。
图2 Legendre正交多项式八次截断多项式拟合
③f(x)=| x |在区间[-1,1]上关于Legendre 多项式的16次截断多项式
f(x)=78217425/2147483648+1486131075/268435456*x^2-24273474225/536870912*x^4+66994788861/268435456*x^6-854525368125/1073741824*x^8+398778505125/268435456*x^10-860175122625/536870912*x^12+247945660875/268435456*x^14-472749726735/2147483648*x^16
收敛性:收敛。
拟合图像如图3。
图3 Legendre正交多项式十六次截断多项式拟合
Ⅱ、①f(x)=| x |在区间[-1,1]上关于Chebychev多项式的4次截断多项式。
f(x)=5734161139222659/45035996273704960+17202483417667977/11258999068426240*x^2-1911387046407553/2814749767106560*x^4
收敛性:收敛。
拟合图像如图4。
图4 Chebyshev四次截断多项式拟合
②f(x)=| x |在区间[-1,1]上关于Chebyshev多项式的8次截断多项式。
f(x)=1911387046407553/27021597764222976+9556935232037765/3377699720527872*x^2-9556935232037765/1688849860263936*x^4+13379709324852871/2111062325329920*x^6-1911387046407553/738871813865472*x^8
收敛性:收敛。
拟合图像如图5。
图5 Chebyshev八次截断多项式拟合
③f(x)=| x |在区间[-1,1]上关于Chebyshev多项式的16次截断多项式。
f(x)=5734161139222659/153122387330596864+51607450253003931/9570149208162304*x^2-200695639872793065/4785074604081152*x^4+1324591223160434229/5981343255101440*x^6-2838409763915216205/4186940278571008*x^8+273328347636280079/224300372066304*x^10-47437151242660179/37383395344384*x^12+6616339776026145/9345848836096*x^14-1911387046407553/11682311045120*x^16
收敛性:收敛。
拟合图像如图6。
图6 Chebyshev十六次截断多项式拟合
四、实验分析
1、由实验可知,用Legendre正交多项式在区间[-1,1]上逼近函数f(x)=| x |,不管是4次、8次或者是16次的截断多项式,其结果都是收敛的。当节点取的越多,则函数的逼近效果则越好。
2、同样由实验可知,用Chebyshev正交多项式在区间[-1.,1]上逼近函数
f(x)=| x |,不管是4次、8次或者是16次的截断多项式,其结果也都是收敛的。当节点取的越多,则函数的逼近效果则越好。
3、对于用Legendre正交多项式逼近和用Chebyshev正交多项式进行逼近,值得注意的是,对于Legendre正交多项式,其权函数为1,所以在进行内积计算的时候,不要考虑权函数的问题。但是对于Chebyshev正交多项式,计算内积时需加入函数进行运算。否则实验图像将不会与原函数逼近。
4、通过利用Legendre正交多项式逼近和用Chebyshev正交多项式对函数进行逼近,观察图像可以看出,在函数的间断点0处的误差是最大的点。同样的,当截断多项式次数越高时,则0点出的误差也越来越小。
- 6 -
附录:MATLAB程序
主程序1:
clear
clc
syms x r;
y=abs(x);
n=4;
a0=1/2*int(y,-1,1);
s=a0;
for i=1:n
p=Legendre(i);
a=(2*i+1)/2*int(p*y,-1,1);
s=s+a*p;
end
k=-1:0.1:1;
m=subs(s,k);
n=subs(y,k);
plot(k,m,'.-')
hold;
plot(k,n)
legend(‘四次多项式拟合’,'|x|')
z=y-s
主程序2:
clear;clc;
syms x;
y=abs(x);
n=16;
a0=1/pi*int(y/sqrt(1-x^2),-1,1);
s=a0;
for i=1:n
T=Chebyshev(i);
a=2/pi*int(T*y/sqrt(1-x^2),-1,1);
s=s+a*T;
end
s
k=-1:0.1:1;
m=subs(s,k);
n=subs(y,k);
plot(k,m,'-*')
hold;
plot(k,n)
legend('16次多项式拟合','|x|')
Chebyshev程序:
function T=Chebyshev(n)
syms x;
if (n==0)
T=1;
elseif (n==1)
T=x;
else
T=collect(2*x*Chebyshev(n-1)-Chebyshev(n-2),x);
end
Legendre程序:
function P=Legendre(n)
syms x real;
if (n==0)
P=1;
elseif (n==1)
P=x;
else
P=collect(((2*n-1)*x*Legendre(n-1)-(n-1)*Legendre(n-2))/(n),x);
end
展开阅读全文