改善最小二乘多项式的数值不稳定性.docVIP

  • 37
  • 0
  • 约1.99千字
  • 约 3页
  • 2016-09-15 发布于重庆
  • 举报

改善最小二乘多项式的数值不稳定性.doc

改善最小二乘多项式的数值不稳定性

实验目的:探索改善最小二乘多项式的数值不稳定性的可能 实验内容:在区间取个等距节点,以相应节点上的值作为数据样本,以Legendre多项式为基函数,作出次的最小二乘多项式,画出之间的曲线。其中,A是确定最小二乘多项式系数的矩阵。计算出不同多项式的最小偏差,并与实验二作比较。 实验结果: 设拟合多项式为 其中, 利用MATLAB中的函数legendre(n,X)可以计算出的具体数值。 对于不同的值,求得对应的多项式系数及偏差列入表中 表1 次最小二乘多项式系数及偏差 实验二中 3 1.17567 1.10378 0.360234 0.0707995 3.1369e-04 3.1369e-04 5 1.1752 1.10364 0.357833 0.0704575 0.0100009 02.2457e-08 2.2457e-08 7 1.1752 1.10364 0.357814 0.0704556 009.96373e-005 7.62962e-006 4.0116e-13 4.0116e-13 9 1.1752 1.10364 0.357814 0.0704556 009.94548e-005 7.62056e-006 5.06791e-007 2.9722e-008 2.2582e-18 2.2582e-18 11 1.1752 1.10364 0.357814 0.0704556 009.94543e-005 7.62054e-006 5.06472e-007 2.97181e-008 1.56039e-009 7.41442e-011 4.4173e-24 7.5119e-24 13 1.1752 1.10364 0.357814 0.0704556 009.94543e-005 7.62054e-006 5.06472e-007 2.97181e-008 1.56089e-009 7.41995e-011 3.21999e-012 1.30109e-013 1.0606e-29 9.0515e-23 15 1.1752 1.10364 0.357814 0.0704556 009.94543e-005 7.62054e-006 5.06472e-007 2.97181e-008 1.56089e-009 7.42165e-011 3.22934e-012 1.54797e-013 1.20189e-014 2.1157e-014 4.1766e-29 3.4205e-21 图1 关系曲线 从图中可以看出,随着拟合多项式的次数增大,A的条件数迅速增大,但要远小于实验二中以为基函数时的条件数。从偏差中反映,次数时两种方法的偏差基本相同,而随着次数继续增加,以Legendre多项式为基的偏差要小于相同次数下实验二中的偏差。而且用这种方法直到次数达到15偏差才转而变大,说明最小二乘多项式的数值不稳定性得到了改善。 [Matlab程序] x=-1:2/19:1; y=exp(x); acond=zeros(1,7); delta=zeros(1,7); P=zeros(16,20); for n=0:15 Pt=legendre(n,x); P(n+1,:)=Pt(1,:); end fp=fopen(c.txt,w); for l=3:2:15 A=zeros(l+1); B=zeros(l+1,1); for i=1:l+1 for j=i:l+1 A(i,j)=P(i,:)*P(j,:); A(j,i)=A(i,j); end B(i,1)=P(i,:)*y; end c=(A\B); yf=c*P(1:l+1,:); delta((l-1)/2)=sum((yf-y).^2); fprintf(fp,%d:\n,l); fprintf(fp,%g ,c); fprintf(fp,\n); acond((l-1)/2)=cond(A); end l=3:2:15; plot(l,log(acond)); xlabel(l); ylabel(ln(Cond(A)_2)); fclose(fp);

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档