数值分析第一次试验最佳平方逼近试验任兵(200820302025)一、问题叙述求函数f(x)=exp(x)在[-1,1]上的二、三次最佳平方逼近多项式。二、问题分析由教材定义6.5有:对于给定的函数],[)(baCxf,如果存在*01(){(),(),,()}nSxSpanxxx使得22*()()()min()()()bbaaaxbxfxSxdxxfxsxdx则称S*(x)是f(x)在集合01{(),(),,()}nSpanxxx中的最佳平方逼近函数。显然,求最佳平方逼近函数)()(0**xaxSjnjj的问题可归结为求它的系数**1*0,,,naaa,使多元函数dxxaxfxaaaIjnjjban2010)()()(),,,(取得极小值,也即点(**1*0,,,naaa)是I(a0,…,an)的极点。由于I(a0,a1,…,an)是关于a0,a1,…,an的二次函数,利用多元函数取得极值的必要条件,0kaI(k=0,1,2,…,n)即0)()()()(20dxxxaxfxaIkjnjjbak得方程组),,2,1,0(,)()()()()()(0nkdxxxfxdxxxxakbajkbanjj如采用函数内积记号,)()()(),(,)()()(),(dxxxfxfdxxxxkqakjkbajk那么,方程组可以简写为0(,)(,)(0,1,2,,)nkjjkjafkn……………...(1)这是一个包含n+1个未知元a0,a1,…,an的n+1阶线性代数方程组,写成矩阵形式为0001000101111101(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)nnnnnnnnafafaf…………(2)此方程组叫做求aj(j=0,1,2,…,n)的法方程组。显然,其系数行列式就是克莱姆行列式Gn=Gn(0,1,…,n)。由于0,1,…,n线性无关,故Gn0,于是上述方程组存在唯一解),,1,0(*nkaakk。从而肯定了函数f(x)在01{(),(),,()}nSpanxxx中如果存在最佳平方逼近函数,则必是**0()()njjjSxax……………………………...(3)三、实验程序1、最佳平方逼近算法(1)输入被逼近函数f(x)和对应的逼近区间[a,b]并选择逼近函数系{∮(x)}和权函数;(2)解方程组(1)或(2),其中方程组的系数矩阵和右端的项由式(3)得到;(3)由式(3)得到函数的最佳平方逼近。2、将上述算法编写成MATLAB程序共需三个程序:(1)第一个程序(函数名:squar_approx.m)计算最佳逼近函数的系数,源代码如下:functionS=squar_approx(a,b,n)%定义逼近函数globali;globalj;%全局变量ifnargin3n=1;end%判断Phi2=zeros(n+1);%生成一个n+1*n+1大小的全0矩阵数组fori=0:nforj=0:n;Phi2(i+1,j+1)=quad(@rho_phi,a,b);%求rho_phi积分endendPhiF=zeros(n+1,1);%生成一个n+1*n大小的全0矩阵数组fori=0:nPhiF(i+1)=quad(@fun_phi,a,b);%求fun_phi积分ends=Phi2\PhiF;(2)第二个程序(函数名:rho_phi.m)代码如下:functiony=rho_phi(x)globali;globalj;y=(rho(x).*phi_k(x,i)).*phi_k(x,j);(3)第三个程序(函数名:fun_phi.m)functiony=fun_phi(x)globali;y=(rho(x).*phi-k(x,i)).*obj(x);四、试验结果f(x)=exp(x)在[-1,1]上的二、三次最佳平方逼近多项式。(1)编写下面三个函数:外部函数;多项式函数;被逼近函数;functiony=rho(x)%外部函数y=1;functiony=phi_k(x,k)%多项式函数ifk==0y=ones(size(x));elsey=x.^k;endfunctiony=obj(x)%被逼近函数y=exp(x)(2)当求的是二次逼近时得到如下结果clearS=squar_approx(-1,1,2)S=0.99631.10360.5367绘制两者的图形:fun='exp(x)';fplot(fun,[-1,1])holdonxi=-1:0.1:1;yi=polyval(S,xi);plot(xi,yi,'r:')得到如下结果:原函数exp(x)二次逼近(3)当求的是三次逼近时得到如下结果S=squar_approx(-1,1,3)S=0.99630.99800.53670.1761绘制图形如下:fun='exp(x)';fplot(fun,[-1,1])holdonxi=-1:0.1:1;yi=polyval(S,xi);plot(xi,yi,'r:')得到如下所得图形:原函数exp(x)三次逼近五.试验结论在该次实验中较顺利的达到了预期的结果。从试验结果看出三次逼近没有二次逼近效果理想,验证了最佳平方逼近理论。