3、=l,2,・・・,5)的值,以观察p(x,y)逼近f(x,y)的效果,其中x「=0.1i,y「=0.5+0.2j。二、算法设计方案1.将X;=0.08/(/=0,1,---,10)和y;=0.5+0.05八丿•=0,1,…,20)代入非线性方程组中,用牛顿法解出右和勺;2.以采取分片二次插值,选择(m,n)满足hhTThh丁t如果/<•G]+_或右>4一-,则m=l或4;如果u.w4一一,则n=l或n=4o遴^(tk,ur)(k=m-l,m,m+\r=n-X.n.n+X)为插值
4、节点,相应的Lagrange形式的插值多项式为中+[〜卩22(帥)=工工R=nt-1r=?)-l其中俨+[tlk⑴=YI(k=m-l,m,m+1)w^k%)=flV儿(r=n-l,n,n+1)ivtn-1儿一儿w^r并将厶和知代入P22(t,U),便得到了数表兀,儿•,/(*儿)O3.进行曲面拟和系数矩阵C=[<],C=(BfB)^B'UGCG^G)1其屮1X。…兀。1儿…尤B二[以兀)]二1£…卅••••••••••••,G—[y/s(yj)]—1x…>'i••••••••••••.1兀】()…
5、兀1().JHo…尤)■U=[/(%,,y7)Jk从0逐渐增大,直到<7510-7,便得到了要求精度的系数0。4.由前面得到的函数关系,根据重新取值的X,y可以分别得到新的数表,比较対纽•数据观察逼近效果三、全部源程#include"stdio.h"#include"stdafx.h”#include"math.h"〃高斯列主元法解线性方程组voidgauss(doublea[4][4],doubleb[4],doublex[4]){intk,ij4k;doublemik,temp,maxa,su
6、m,tempb;for(k=0;kv3;k++){temp=fabs(a[k][k]);for(i=k;i<4;i++)if(fabs(a[i][k])>temp){ik=i;maxa=fabs(a[i][k]);}if(ik!=k){for(j=k;j<4;j++){temp=a[k][j];a[k]UJ=a[ik]U];a[ik]
7、j]=temp;}lcmpb=b[k];b[k]=b[ik];b[ik]=tempb;}for(i=k+l;iv4;i++){mik=a[i][k]/a[k][k]
8、;for(j=k+l;j<4;j++)a[i][j]=a[i][j]-mik*a[k]
9、j];b[i]=b[i]-mik*b[k];x⑶=b[3]/a[3]⑶;for(k=2;k>=0;k—)sum=O;for(j=k+l;j<4;j++)sum+=a[k][jj*xlj];x[k]=(b[k]-sum)/a[k][k];}}}〃求无穷范数doubleFindMax(doubleArr[4]){inti;doubleMaxVai;MaxVal=fabs(Arr[O]);for(i=0;iv4;i+
10、+)if(fabs(Arr[i])>MaxVal)MaxVal=fabs(Arrfi]);return(MaxVal);}voidnewton(doublex,doubley,doubletuvw[4J)〃牛顿法解非线性方程组{doubleA[4][4],b[4],var[4]={1,2,1,2},D_var[4],MaxVar,MaxD_Var;inti;while(l){A[0][0]=-0.5*sin(var[0]);AlOJll]=l;A[0][2]=l;A[0]⑶=1;A