纵横断面测量及土石方计算实习报告

时间:2024.4.7

兰州交通大学

工程测量实习报告

班    级:                  

学    号:                  

姓    名:                  

指导老师:                  

一、测量实习内容、目的和要求

[实习内容]

1根据指定地形,通过实地测量,绘制断面图。

2根据指定地形(假设房屋地基),通过实地测量,计算该地形(挖方 填方)土石方量。

[目的和要求]

1根据测量成果绘制横,纵断面图。计算土石方量

2纵向150m范围内每10m一个测点(地形变化大的区域增设测点)

3横向以线路中线为基础左右各延伸20m一个测点(地形变化大的区域增设测点)

4房屋地基纵向轴线以测量断面纵向轴线为主(20X15)边坡设计为(1:0.3)

[仪器和工具]

      1全站仪

      2棱镜

      3钢卷尺

[主要步骤]

1假设已知点坐标A(50,50,1600)B(50,50.254,1600)

2设站A点后视B点定向(假设坐标系成立)

3根据题目要求将棱镜立在各测点上红外测量,记录测点坐标(对于地形变化交大通视条件不好的区域通过转点方式增设控制点)

      4导出数据,制成表格

5根据测量成果绘制图形

[教师评语、成绩]

二、纵断面测量记录表格

三、纵断面图

四、横断面测量记录表格

五、横断面图

 六、土石方测量记录表格

七、土石方计算

实习总结

20##年3月10日我们正式开始了为期三周的“横纵断面测量及土石方计算实习”,在此之前,我们在老师的带领下进行了一系列的准备工作。首先,说明了测量任务和测量的实际意义及重要性,我们跟随老师来到测区地点,看了测区的地形,虽然测区比较小,但是地形变化很明显,为了尽快完成任务,我们每一天都努力,尽管很累,很辛苦,可我们还是克服了种种困难,同时我们也在实习中感觉到了充实,
  在此之前,我们在老师的带领下到工地上进行实地勘察,但那毕竟是理论的,实际操作对我们来说还是模糊的,所以,这次实习就是对我们大学四年的一次大检验。我们把这次实习当做我们以后工作的一次磨练,把我们学到的知识与实际联系起来,从实践中发现自己的不足,弥补我们的缺陷。

 测量是一项务实求真的工作,半点马虎都不行,我们在测量实习中必须保持数据的原始性,这也是很重要的。为了确保计算的正确性和有效性,我们得反复校核对各个测点的数据是否正确。我们在测量中不可避免的犯下一些错误,比如读数不够准确,气泡没居中等等,都会引起一些误差。因此,我们在测量中内业计算和测量同时进行,这样就可以及时发现错误,及时纠正,同时也避免了很多不必要的麻烦,节省了时间,也提高了工作效率。

 测量也是一项精确的工作,通过测量学的学习和实习,在我的脑海中形成了一个基本的测量学的轮廓。测量学内容主要包括测定和测设两个部分,要完成的任务在宏观上是进行精密控制,从微观方面讲,测量学的任务为按照要求测绘各种比例尺地形图;为各个领域提供定位和定向服务,建立工程控制网,辅助设备安装,检测建筑物变形的任务以及工程竣工服务等。而这一任务是所有测量学的三个基本元素的测量实现的:角度测量、距离测量、高程测量。

在这次实习中,我们学到了测量的实际能力,更有面对困难的忍耐力,同时也认识到小组团结的重要性。最重要的是学会了怎样测量横纵断面图以及计算测区土石方量以及后期的成图制作方法。在今后的工作学习中肯定会受益匪浅。


第二篇:计算实习报告3


计算实习报告3

数 值 分 析(B) 大 作 业(三)

姓名: 学号: 电话:

1、算法设计:

①整体思路

这一次的作业和前面两次相比,感觉要难很多,最明显的就是书上没有完整的算法实现流程。再加上插值和逼近这一段在课上也没听太懂什么意思,所以刚开始思考这个程序时感觉很吃力。不过经过后来好好看书和向同学请教,渐渐对插值和分片元二次拟合有点懂了,也大概知道了解决本次问题分别要完成的子问题。

要完成本次任务,主体上有三部分问题要解决:

(1)解非线性方程组。将D内的(xi,yi))当作已知量代入题目给定的非线性方程组,得到与(xi,yi)相对应的t[i][j],u[i][j]。

(2)分片双二次插值。采用分片双二次插值,得到与t[11][21],u[11][21]]对应的z[11][21],也即建立(xi,yi)与f(xi,yi)的对应关系,得到二元函数z?f(xi,yi)。

(3)曲面拟合。利用x[i],y[j],z[11][21]建立二维函数表,再根据精度的要求选择适当k值,并得到曲面拟合的系数矩阵C[k][k]。

(4)观察逼近效果。观察逼近效果只需要重复上面(1)和(2)的过程,得到与新的插值节点(xi,yi)对应的f(xi,yi),再与对应的p(xi,yi)比较即可。

程序示意图如下所示:

②各部分问题的算法实现

(1)解非线性方程组

非线性方程组常用数值解法有简单迭代法和牛顿法。牛顿法收敛快,一般都能达到平方收敛,因此这里选择Newton法解非线性方程组。

牛顿法解方程组F(x)?0的解x*,可采用如下算法:

1)在x*附近选取x(0)?D,给定精度水平??0和最大迭代次数M。

2)对于k?0,1,?M执行

① 计算F(x(k))和F?(x(k))。

② 求解关于?x(k)的线性方程组

F?(x(k))?x(k)??F(xk( ))

③ 若?x(k)

?x(k)???,则取x?x*(k),并停止计算;否则转④。

④ 计算x(k?1)?x(k)??x(k)。

⑤ 若k?M,则继续,否则,输出M次迭代不成功的信息,并停止计算。 注:第③步中?x(k)的求取,用到了解线性方程组,使用的是列主元素Gauss消去法。 另外,本次作业中解非线性方程组实际求取的是解向量t和u,方程组中的x、y 是已知值,为当前节点(xi,yj)的值。

(2)分片双二次插值

给定已知数表以及需要插值的节点,进行分片二次插值的算法:

设已知数表中的点为: ???xi?x0?ih(i?0,1,?,n)

??yj?y0?j?(j?0,1,?,m) ,需要插值的节点为(x,y)。

1) 根据(x,y)选择插值节点(xi,yj): 若x?x1?若y?y1?h2或x?xn?1?h2,插值节点对应取i?1或i?n?1, ,插值节点对应取j?1或i?m?1。 ?2或y?yn?1??2

hh?x??x?x?,2?i?n?2ii??22 若? ???y??y?y?,2?j?m?2jj??22

则选择(xk,yr)(k?i?1,i,i?1;r?j?1,j,j?1)为插值节点。

2)计算

i?1

lk(x)?

?

t?i?1t?kj?1

x?xtxk?xty?ytyr?yt

k(?i?1i,i?,1)

l?r(y)?

r(?j?1j,j?,

1)

?

t?j?1

t?r

插值多项式的公式为:

i?1

j?1

p(x,y)?

??

k?i?1r?j?1

lk(x)l?r(y)f(xk,yr)

注:在(1)中通过解非线性方程组得到的解向量t和u与插值节点(xi,yj)有着一一对应关系,而本题题目给出的函数表为z关于(t,u)的函数关系。因此,为得到z关于(x,y)的函数关系,本题中应先根据给定数表对(t,u)进行插值,再利用(xi,yj)与

(t,u)的一一对应关系得到z与(xi,yj)的对应关系。

(3)曲面拟合

根据插值得到的数表xi,yj,f(xi,yj)进行曲面拟合的过程: 1) 根据拟合节点和基底函数写出矩阵B和G:

?(x0)0?0(x1)? B?

????(x)0?n

(x0)(x1)?(xn)

T

1

???

1

1

?

?1

T

k

?(y0)0(x0)?

?k?0

(x1)?(y1)? G?

????

??k?(y)0

(xn)???m

T

?1

(y0)(y1)?

1

???

1

(ym)

1

?

k

(y0)?

k?(y1)?

??

?k

(ym)??

2) 计算 C?(BB)BUG(GG)。

在这里,为了简化计算和编程、避免矩阵求逆,记:

A?(BB)BU,DT?G(GTG)?1

对上面两式进行变形,得到如下两个线性方程组: (BB)A?BU,(GG)D?G

T

T

T

T

T?1T

通过解上述两个线性方程组,则有:C?AD

k

k

rs

T

3) 对于每一个(xi,yj), p(xi,yj)?4) 拟合需要达到的精度条件为:

n

m

*

*

??C

r?0s?0

(xi)(yj)。

rs

??

??[p

i?0j?0

(xi,yj)?uij]?10

2?7

其中uij对应着插值得到的数表xi,yj,f(xi,yj)中f(xi,yj)的值。

5) 让k逐步增加,每一次重复执行以上几步,直到

nm

*????[p

i?0j?0(xi,yj)?uij]?102?7 成立。此时的k值就是所需最小的k。

注:曲面拟合过程中用到的数表为前面插值得到的数表,即xi,yj,f(xi,yj)。

在2)中,求矩阵A和D的过程用的是列主元素Gauss消去法。

(4)观察逼近效果。

观察逼近效果主要要做的是,通过新的插值节点(xi,yi),i?1,2,?8,j?1,2,?5

建立新的插值数表xi,yj,f(xi,yj),同时求出对应的p(xi,yi),比较即可。

2、程序源代码:

#include "stdio.h"

#include "conio.h"

#include "math.h"

#define Epsilon1 1e-12 //解线性方程组时近似解向量的精度

#define MaxM 200 //解线性方程组时的最大迭代次数

#define K 10 //预估的能达到精度要求的k值,K>=k

#define givenX 11 //已知要求的插值节点xi个数

#define givenY 21 //已知要求的插值节点yi个数

#define testX 8 //观察逼近效果时,插值节点xi个数

#define testY 5 //观察逼近效果时,插值节点yi个数

/***************************************************************/ /* 函数功能描述: */ /***************************************************************/ /* norm():求向量x的无穷范数 */ /* Newton_Nonlinear():牛顿法解非线性方程组的主干部分 */ /* GaussElemitation_select():线性方程组的列主元素Gauss消去法 */ /* Interplate():分片二元二次插值 */ /* Surfacefit():曲面拟合,函数返回满足精度要求的最小k值 */ /* Calculate_A():根据拟合曲面的系数矩阵C=A(DT),求矩阵A */ /* Calculate_D():根据拟合曲面的系数矩阵C=A(DT),求矩阵D */ /* Test_observe():观察逼近效果子函数 */ /***************************************************************/ double norm(double x[4]);

int Newton_Nonlinear(double xstar[4],double xi,double yi);

void GaussElemitation_select(double dF[4][4],double F[4],double delta_x[4]);

void Interplate(double t[11][21],double u[11][21],double z[11][21],int numi,int numj); int Surfacefit(double z[11][21],double x[11],double y[21],double C[K][K]); void Calculate_A(double A[K][21],double z[11][21],double x[11],int k);

void Calculate_D(double D[K][21],double z[11][21],double y[11],int k);

void Test_observe(int k,double C[K][K],double z[11][21]);

void main()

{

/*********************************************************************/ /* 变量描述: */ /*********************************************************************/ /* x[11]、y[21]:插值节点(xi,yi) */ /* t[11][21]、u[11][21]:与节点(xi,yi)对应的二元组(t[i][j],u[i][j]) */ /* GaussElemitation_select():线性方程组的列主元素Gauss消去法 */ /* z[11][21]:存放插值得到的数表 */ /* C[K][K]:存放曲面拟合得到的系数矩阵,其中K是预估的最小k值 */ /*********************************************************************/ double t[11][21],u[11][21],x[11],y[21],z[11][21],C[K][K];

double xstar[4];

int i,j,k,flag;

/********************************************************/

/* 解非线性方程组 */

/********************************************************/

for(i=0;i<=givenX-1;i++) //通过解非线性方程组,建立(x,y)与(t,u)的对应关系 {

for(j=0;j<=givenY-1;j++)

{

x[i]=0.08*i;

y[j]=0.5+0.05*j;

xstar[0]=1;

xstar[1]=1;

xstar[2]=1;

xstar[3]=1; //选取迭代初始值x(0)

flag=Newton_Nonlinear(xstar,x[i],y[j]); //牛顿法解非线性方程组 if(flag==-1) goto END; //如果非线性方程组求解失败,中止程序 t[i][j]=xstar[0];

u[i][j]=xstar[1];

} }

/********************************************************/

/* 插值并输出插值得到的数表 */

/********************************************************/

Interplate(t,u,z,11,21); //分片二次插值

printf("1、插值得到的数表为:\n");

for(i=0;i<=10;i++) //输出插值得到的数表:xi,yi,f(xi,yi)

{

for(j=0;j<=20;j++)

{

printf("x[%d]= %.6f ",i,x[i]);

printf("y[%d]= %.6f ",j,y[j]);

printf("z[%d][%d]= %.12e\n",i,j,z[i][j]);

}

}

printf("\n");

/********************************************************/ /* 曲面拟合并输出拟合得到的矩阵C */ /********************************************************/ k=Surfacefit(z,x,y,C); //曲面拟合,返回满足精度要求的最小k值 printf("系数矩阵C为:\n");

for(i=0;i<=k;i++) //输出曲面拟合得到的系数矩阵C

{

for(j=0;j<=k;j++)

{

printf("C[%d][%d]=%.12e ",i,j,C[i][j]);

if(j!=0&&j%2==1) printf("\n"); //两个一行输出

}

/********************************************************/ /* 观察插值的逼近效果 */ /********************************************************/ printf("3、观察插值的逼近效果:\n");

Test_observe(k,C,z); //观察逼近效果

END:

; //作为求解非线性方程组迭代次超限的出口

getch();

}

/* 牛顿法解非线性方程组 */

int Newton_Nonlinear(double xstar[4],double xi,double yj)

{

int k,l;

double delta_x[4],F[4],dF[4][4];

k=0;

while(1)

{

/* 计算F(x(k))的值 */

F[0]=0.5*cos(xstar[0])+xstar[1]+xstar[2]+xstar[3]-xi-2.67; F[1]=xstar[0]+0.5*sin(xstar[1])+xstar[2]+xstar[3]-yj-1.07; } printf("\n");

F[2]=0.5*xstar[0]+xstar[1]+cos(xstar[2])+xstar[3]-xi-3.74;

F[3]=xstar[0]+0.5*xstar[1]+xstar[2]+sin(xstar[3])-yj-0.79;

/* 计算F'(x(k))的值,F'(x(k))为一个4x4矩阵*/

dF[0][0]=-0.5*sin(xstar[0]);

dF[0][1]=1;

dF[0][2]=1;

dF[0][3]=1;

dF[1][0]=1;

dF[1][1]=0.5*cos(xstar[1]);

dF[1][2]=1;

dF[1][3]=1;

dF[2][0]=0.5;

dF[2][1]=1;

dF[2][2]=-sin(xstar[2]);

dF[2][3]=1;

dF[3][0]=1;

dF[3][1]=0.5; dF[3][2]=1; dF[3][3]=cos(xstar[3]); GaussElemitation_select(dF,F,delta_x); //列主元素Gauss消去法解线性方程组 if((norm(delta_x)/norm(xstar))<=Epsilon1) //达到精度要求,跳出 break;

for(l=0;l<=3;l++)

xstar[l]=xstar[l]+delta_x[l]; //未达到精度要求,x(k?1)?x(k)??x(k) k++;

if(k>=MaxM) //迭代次数超限,返回-1作为后面程序是否执行的标志 {

printf("迭代次数k=%d超出限制!\n",k);

return(-1);

} }

}

/* 列主元素Gauss消去法解线性方程组 */

void GaussElemitation_select(double dF[4][4],double F[4],double delta_x[4]) {

int i,j,k,line_flag;

double m_ik,temp;

for(k=0;k<=2;k++)

{

/*选行号*/

line_flag=k;

for(i=k;i<=2;i++)

{

if(fabs(dF[i][k])<fabs(dF[i+1][k])) line_flag=i+1; else ;

}

if(line_flag!=k) //第K个主元不在第K行时,交换两行元素 {

for(i=k;i<=3;i++)

{

temp=dF[k][i];

dF[k][i]=dF[line_flag][i];

dF[line_flag][i]=temp;

}

temp=F[k];

F[k]=F[line_flag];

F[line_flag]=temp;

}

/*消元*/

for(i=k+1;i<=3;i++)

{

m_ik=dF[i][k]/dF[k][k];

for(j=k;j<=3;j++) { dF[i][j]=dF[i][j]-m_ik*dF[k][j]; } }

}

/*回代过程*/

delta_x[3]=-F[3]/dF[3][3];

for(k=2;k>=0;k--)

{

temp=0;

for(j=k+1;j<=3;j++) {temp+=delta_x[j]*dF[k][j];}

delta_x[k]=(-F[k]-temp)/dF[k][k];

}

}

/* 求向量x的无穷范数 */

double norm(double x[4])

{

int i;

double temp=0;

for(i=0;i<=3;i++)

{

if(temp<fabs(x[i]))

temp=fabs(x[i]);

}

return(temp);

}

/* 分片二元二次插值 */

void Interplate(double t[11][21],double u[11][21],double z[11][21],int numi,int numj) {

int k[11][21],r[11][21];

int i,j,i1,j1,m;

double z0[6][6]={{-0.5,-0.34,0.14,0.94,2.06,3.5},

{-0.42,-0.5,-0.26,0.3,1.18,2.38},

{-0.18,-0.5,-0.5,-0.18,0.46,1.42},

{0.22,-0.34,-0.58,-0.5,-0.1,0.62},

{0.78,-0.02,-0.5,-0.66,-0.5,-0.02},

{1.5,0.46,-0.26,-0.66,-0.74,-0.5}}; //已知数表 double t0[6]={0,0.2,0.4,0.6,0.8,1.0};

double u0[6]={0,0.4,0.8,1.2,1.6,2.0}; //原始已知节点

double temp1,temp2;

/* 选择插值节点,xi、yi分开选择 */

for(i=0;i<=numi-1;i++) //选择插值节点xi

{

for(j=0;j<=numj-1;j++)

{

if(t[i][j]<=0.3) k[i][j]=1;

else if(t[i][j]>0.7) k[i][j]=4;

else

{

for(m=2;m<=3;m++)

{

if((t[i][j]>0.2*m-0.1)&&(t[i][j]<=0.2*m+0.1))

{

k[i][j]=m;

}

}

}//end if

}//end for

}//end xi

for(i=0;i<=numi-1;i++) //选择插值节点yi

{

for(j=0;j<=numj-1;j++)

{

if(u[i][j]<=0.6) r[i][j]=1;

else if(u[i][j]>1.4) r[i][j]=4;

else

{

for(m=2;m<=3;m++)

{

if((u[i][j]>0.4*m-0.2)&&(u[i][j]<=0.4*m+0.2))

{

r[i][j]=m;

}

}//end if

}//end for

}//end yi

/* 插值 */

for(i=0;i<=numi-1;i++)

{

for(j=0;j<=numj-1;j++)

{

z[i][j]=0; //初始化节点z[i][j]

for(i1=k[i][j]-1;i1<=k[i][j]+1;i1++)

{

for(j1=r[i][j]-1;j1<=r[i][j]+1;j1++)

{

temp1=1.0;

for(m=k[i][j]-1;m<=k[i][j]+1;m++) //计算lk(x)

{ if(m!=i1) temp1*=(t[i][j]-t0[m])/(t0[i1]-t0[m]); } temp2=1.0;

for(m=r[i][j]-1;m<=r[i][j]+1;m++) //l?r(y)

{ if(m!=j1) temp2*=(u[i][j]-u0[m])/(u0[j1]-u0[m]); } z[i][j]+=temp1*temp2*z0[i1][j1];

}

}//end 求插值节点z[i][j]

}

}//end 插值

}

/* 分片二次插值 */

int Surfacefit(double z[11][21],double x[11],double y[21],double C[K][K]) {

int i,j,k,m,i1,j1;

double A[K][21],D[K][21]; //A、D的阶数为kx21

double sigma=1,temp,p[11][21];

printf("2、选择过程中的k和σ值:\n");

k=0; }

while(sigma>1e-7)

{

Calculate_A(A,z,x,k); //求矩阵A

Calculate_D(D,z,y,k); //求矩阵D

/*计算矩阵C,C=A(DT)*/

for(i=0;i<=k;i++)

{

for(j=0;j<=k;j++)

{

temp=0;

for(m=0;m<=20;m++)

{ temp+=A[i][m]*D[j][m]; }

C[i][j]=temp;

}

}

/*计算sigma,选择满足精度要求的最小k*/

sigma=0;

for(i=0;i<=10;i++)

{

for(j=0;j<=20;j++)

{

p[i][j]=0;

for(i1=0;i1<=k;i1++)

{

for(j1=0;j1<=k;j1++)

{ p[i][j]+=C[i1][j1]*pow(x[i],i1)*pow(y[j],j1); }

}//end p(xi,yj)

sigma+=pow(p[i][j]-z[i][j],2);

}

}//end sigma

printf("k=%d σ=%.12e\n",k,sigma); //输出当前k值和σ

k++;

}

k--;

printf("曲面拟合达到精度要求,此时:\n");

printf("k=%d σ=%.12e\n",k,sigma);

return k;

}

/*********************************************************************/ /* 函数名:Calculate_A */ /*********************************************************************/ /* 功 能:根据公式 ((BT)B)A=(BT)U,通过解线性方程组得到矩阵A */ /*********************************************************************/

void Calculate_A(double A[K][21],double z[11][21],double x[11],int k)

{

int i,j,m,l,line_flag;

double B[11][K],BT[K][11],BTB[K][K],BTU[K][21]; //B和BT的阶数分别为11xk和kx11 double BTB_1[K][K],temp; //A的阶数为kx21

double m_ik;

/* 计算矩阵B */

for(i=0;i<=10;i++)

{

for(j=0;j<=k;j++)

{

B[i][j]=pow(x[i],j);

BT[j][i]=B[i][j];

}

}//end B

/* 计算矩阵BT和B相乘,并将结果存在矩阵BTB中 */

for(i=0;i<=k;i++)

{

for(j=0;j<=k;j++)

{

temp=0;

for(m=0;m<=10;m++)

{ temp+=BT[i][m]*B[m][j]; }

BTB[i][j]=temp;

}

}//end BTB

/* 计算矩阵BT和U相乘,并将结果存在矩阵BTU中 */

for(i=0;i<=k;i++)

{

for(j=0;j<=20;j++)

{

temp=0;

for(m=0;m<=10;m++)

{ temp+=BT[i][m]*z[m][j]; }

BTU[i][j]=temp;

}

}//end BTU

/* 列主元素Gauss消元法解矩阵A */

for(l=0;l<=20;l++)

{

/*复制矩阵BTB*/

for(i=0;i<=k;i++)

{

for(j=0;j<=k;j++)

{ BTB_1[i][j]=BTB[i][j]; }

}

/*Gauss消元法*/

for(m=0;m<=k-1;m++)

{

/*选行号*/

line_flag=m;

for(i=m;i<=k-1;i++)

{

if(fabs(BTB_1[i][m]<BTB_1[i+1][m])) line_flag=i+1;

else ;

}

if(line_flag!=m) //第K个主元不在第K行时,交换两行元素 {

for(i=m;i<=k;i++)

{

temp=BTB_1[m][i];

BTB_1[m][i]=BTB_1[line_flag][i];

BTB_1[line_flag][i]=temp;

}

temp=BTU[m][l];

BTU[m][l]=BTU[line_flag][l];

BTU[line_flag][l]=temp;

}

/*消元*/

for(i=m+1;i<=k;i++)

{

m_ik=BTB_1[i][m]/BTB_1[m][m];

for(j=m;j<=k;j++) { BTB_1[i][j]=BTB_1[i][j]-m_ik*BTB_1[m][j]; } BTU[i][l]=BTU[i][l]-m_ik*BTU[m][l];

}

}//end 消元

/*回代过程*/

A[k][l]=BTU[k][l]/BTB_1[k][k];

for(m=k-1;m>=0;m--)

{

temp=0;

for(i=m+1;i<=k;i++) { temp+=A[i][l]*BTB_1[m][i]; }

A[m][l]=(BTU[m][l]-temp)/BTB_1[m][m];

}//end 回代

}//end 求矩阵A

}

/*********************************************************************/

/* 函数名:Calculate_D */ /*********************************************************************/ /* 功 能:根据公式 ((GT)G)D=GT,通过解线性方程组得到矩阵D */ /*********************************************************************/ void Calculate_D(double D[K][21],double z[11][21],double y[11],int k)

{

int i,j,m,l,line_flag;

double G[21][K],GT[K][21],GTG[K][K]; //G和GT的阶数分别为11xk和kx11 double GTG_1[K][K],temp; //G的阶数为kx21

double m_ik;

/* 计算矩阵G */

for(i=0;i<=20;i++)

{

for(j=0;j<=k;j++)

{

G[i][j]=pow(y[i],j);

GT[j][i]=G[i][j];

}

}//end G

/* 计算矩阵GT和G相乘,并将结果存在矩阵GTG中 */

for(i=0;i<=k;i++)

{

for(j=0;j<=k;j++)

{

temp=0;

for(m=0;m<=20;m++)

{ temp+=GT[i][m]*G[m][j]; }

GTG[i][j]=temp;

}

}//end GTG

/* 列主元素Gauss消元法解矩阵D */

for(l=0;l<=20;l++)

{

/*复制矩阵GTG*/

for(i=0;i<=k;i++)

{

for(j=0;j<=k;j++)

{ GTG_1[i][j]=GTG[i][j]; }

}

/*Gauss消元法*/

for(m=0;m<=k-1;m++)

{

/*选行号*/

line_flag=m;

for(i=m;i<=k-1;i++)

{

if(fabs(GTG_1[i][m]<GTG_1[i+1][m])) line_flag=i+1;

else ;

}

if(line_flag!=m) //第K个主元不在第K行时,交换两行元素

{

for(i=m;i<=k;i++)

{

temp=GTG_1[m][i];

GTG_1[m][i]=GTG_1[line_flag][i];

GTG_1[line_flag][i]=temp;

}

temp=GT[m][l];

GT[m][l]=GT[line_flag][l];

GT[line_flag][l]=temp;

}

/*消元*/

for(i=m+1;i<=k;i++)

{

m_ik=GTG_1[i][m]/GTG_1[m][m];

for(j=m;j<=k;j++) { GTG_1[i][j]=GTG_1[i][j]-m_ik*GTG_1[m][j]; } GT[i][l]=GT[i][l]-m_ik*GT[m][l];

}

}//end 消元

/*回代过程*/

D[k][l]=GT[k][l]/GTG_1[k][k];

for(m=k-1;m>=0;m--)

{

temp=0;

for(i=m+1;i<=k;i++) { temp+=D[i][l]*GTG_1[m][i]; }

D[m][l]=(GT[m][l]-temp)/GTG_1[m][m];

}//end 回代

}//end 求矩阵D

}

/* 观察p(x,y)逼近f(x,y)效果 */

void Test_observe(int k,double C[K][K])

{

double testx[11],testy[21],t[11][21],u[11][21];

double xstar[4],p[11][21],z[11][21];

int i,j,i1,j1;

for(i=0;i<=testX-1;i++) //通过解非线性方程组,建立(x,y)与(t,u)的对应关系 {

for(j=0;j<=testY-1;j++)

{

testx[i]=0.1*(i+1);

testy[j]=0.5+0.2*(j+1);

xstar[0]=1;

xstar[1]=1;

xstar[2]=1;

xstar[3]=1; //选取迭代初始值x(0)

Newton_Nonlinear(xstar,testx[i],testy[j]);

t[i][j]=xstar[0];

u[i][j]=xstar[1];

}

}

Interplate(t,u,z,8,5); //分片二次插值,求与(xi,yi)对应的f(xi,yi)的值

for(i=0;i<=testX-1;i++) //求与(xi,yi)对应的p(xi,yi)的值,并与f(xi,yi)比较输出 {

for(j=0;j<=testY-1;j++)

{

p[i][j]=0;

for(i1=0;i1<=k;i1++) //求 p(xi,yj) 的值

{

for(j1=0;j1<=k;j1++)

{ p[i][j]+=C[i1][j1]*pow(testx[i],i1)*pow(testy[j],j1); } }

printf("x[%d]=%.6f y[%d]=%.6f\n",i+1,testx[i],j+1,testy[j]); printf("\t\tf(x[%d],y[%d])=%.12e\n",i+1,j+1,z[i][j]);

printf("\t\ttp(x[%d],y[%d])=%.12e\n",i+1,j+1,p[i][j]);

printf("\t\tσ=%.12e\n",z[i][j]-p[i][j]);

}

}

}

3、程序运行结果:

1、插值得到的数表为:

x[0]=0.000000 y[0]=0.500000 z[0][0]=4.465040184796e-001

x[0]=0.000000 y[1]=0.550000 z[0][1]=3.246832629271e-001

x[0]=0.000000 y[2]=0.600000 z[0][2]=2.101596866821e-001

x[0]=0.000000 y[3]=0.650000 z[0][3]=1.030436083154e-001

x[0]=0.000000 y[4]=0.700000 z[0][4]=3.401895561932e-003

x[0]=0.000000 y[5]=0.750000 z[0][5]=-8.873581363889e-002

x[0]=0.000000 y[6]=0.800000 z[0][6]=-1.733716327506e-001

x[0]=0.000000 y[7]=0.850000 z[0][7]=-2.505346114672e-001

x[0]=0.000000 y[8]=0.900000 z[0][8]=-3.202765063879e-001

x[0]=0.000000 y[9]=0.950000 z[0][9]=-3.826680661098e-001 x[0]=0.000000

x[0]=0.000000

x[0]=0.000000

x[0]=0.000000 y[10]=1.000000 z[0][10]=-4.377957667384e-001 y[11]=1.050000 z[0][11]=-4.857589414438e-001 y[12]=1.100000 z[0][12]=-5.266672548843e-001 y[13]=1.150000 z[0][13]=-5.606384797965e-001 x[0]=0.000000 y[14]=1.200000 z[0][14]=-5.877965387680e-001 x[0]=0.000000 y[15]=1.250000 z[0][15]=-6.082697790900e-001 x[0]=0.000000 y[16]=1.300000 z[0][16]=-6.221894528764e-001 x[0]=0.000000 y[17]=1.350000 z[0][17]=-6.296883781856e-001 x[0]=0.000000

x[0]=0.000000

x[0]=0.000000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[1]=0.080000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000 y[18]=1.400000 z[0][18]=-6.308997600028e-001 y[19]=1.450000 z[0][19]=-6.259561525454e-001 y[20]=1.500000 z[0][20]=-6.149885466094e-001 y[0]=0.500000 z[1][0]=6.380152265096e-001 y[1]=0.550000 z[1][1]=5.066117551454e-001 y[2]=0.600000 z[1][2]=3.821763692761e-001 y[3]=0.650000 z[1][3]=2.648634911520e-001 y[4]=0.700000 z[1][4]=1.547802002825e-001 y[5]=0.750000 z[1][5]=5.199268348826e-002 y[6]=0.800000 z[1][6]=-4.346804020719e-002 y[7]=0.850000 z[1][7]=-1.316010567898e-001 y[8]=0.900000 z[1][8]=-2.124310883092e-001 y[9]=0.950000 z[1][9]=-2.860045510581e-001 y[10]=1.000000 z[1][10]=-3.523860789794e-001 y[11]=1.050000 z[1][11]=-4.116554565222e-001 y[12]=1.100000 z[1][12]=-4.639049115193e-001 y[13]=1.150000 z[1][13]=-5.092367247006e-001 y[14]=1.200000 z[1][14]=-5.477611179629e-001 y[15]=1.250000 z[1][15]=-5.795943883393e-001 y[16]=1.300000 z[1][16]=-6.048572588895e-001 y[17]=1.350000 z[1][17]=-6.236734213318e-001 y[18]=1.400000 z[1][18]=-6.361682484133e-001 y[19]=1.450000 z[1][19]=-6.424676566901e-001 y[20]=1.500000 z[1][20]=-6.426971026996e-001 y[0]=0.500000 z[2][0]=8.400813957643e-001 y[1]=0.550000 z[2][1]=6.997641656711e-001 y[2]=0.600000 z[2][2]=5.660614423488e-001 y[3]=0.650000 z[2][3]=4.391716081175e-001 y[4]=0.700000 z[2][4]=3.192421380407e-001 y[5]=0.750000 z[2][5]=2.063761923873e-001 y[6]=0.800000 z[2][6]=1.006385238914e-001 y[7]=0.850000 z[2][7]=2.060740065455e-003 y[8]=0.900000 z[2][8]=-8.935402476753e-002 y[9]=0.950000 z[2][9]=-1.736269688649e-001 y[10]=1.000000 z[2][10]=-2.507999561599e-001

x[2]=0.160000 y[11]=1.050000 z[2][11]=-3.209322694454e-001 x[2]=0.160000

x[2]=0.160000

x[2]=0.160000

x[2]=0.160000 y[12]=1.100000 y[13]=1.150000 y[14]=1.200000 y[15]=1.250000 z[2][12]=-3.840977350050e-001 z[2][13]=-4.403821754175e-001 z[2][14]=-4.898811523127e-001 z[2][15]=-5.326979655344e-001 x[2]=0.160000 y[16]=1.300000 z[2][16]=-5.689418792922e-001 x[2]=0.160000 y[17]=1.350000 z[2][17]=-5.987265495151e-001 x[2]=0.160000 y[18]=1.400000 z[2][18]=-6.221686297503e-001 x[2]=0.160000 y[19]=1.450000 z[2][19]=-6.393865356972e-001 x[2]=0.160000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[3]=0.240000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000 y[20]=1.500000 z[2][20]=-6.504993507879e-001 y[0]=0.500000 z[3][0]=1.051515091798e+000 y[1]=0.550000 z[3][1]=9.029274308302e-001 y[2]=0.600000 z[3][2]=7.605802668593e-001 y[3]=0.650000 z[3][3]=6.247151981455e-001 y[4]=0.700000 z[3][4]=4.955197560008e-001 y[5]=0.750000 z[3][5]=3.731340427745e-001 y[6]=0.800000 z[3][6]=2.576567488723e-001 y[7]=0.850000 z[3][7]=1.491505594102e-001 y[8]=0.900000 z[3][8]=4.764698677273e-002 y[9]=0.950000 z[3][9]=-4.684932320151e-002 y[10]=1.000000 z[3][10]=-1.343567603849e-001 y[11]=1.050000 z[3][11]=-2.149133449278e-001 y[12]=1.100000 z[3][12]=-2.885737006351e-001 y[13]=1.150000 z[3][13]=-3.554063647875e-001 y[14]=1.200000 z[3][14]=-4.154913964886e-001 y[15]=1.250000 z[3][15]=-4.689182499695e-001 y[16]=1.300000 z[3][16]=-5.157838831254e-001 y[17]=1.350000 z[3][17]=-5.561910752001e-001 y[18]=1.400000 z[3][18]=-5.902469305629e-001 y[19]=1.450000 z[3][19]=-6.180615482413e-001 y[20]=1.500000 z[3][20]=-6.397468392579e-001 y[0]=0.500000 z[4][0]=1.271246751481e+000 y[1]=0.550000 z[4][1]=1.115002018146e+000 y[2]=0.600000 z[4][2]=9.646077272153e-001 y[3]=0.650000 z[4][3]=8.203473694749e-001 y[4]=0.700000 z[4][4]=6.824476781794e-001 y[5]=0.750000 z[4][5]=5.510852085972e-001 y[6]=0.800000 z[4][6]=4.263923859016e-001 y[7]=0.850000 z[4][7]=3.084629956332e-001 y[8]=0.900000 z[4][8]=1.973571296913e-001 y[9]=0.950000 z[4][9]=9.310562085938e-002 y[10]=1.000000 z[4][10]=-4.285992236877e-003 y[11]=1.050000 z[4][11]=-9.483392529703e-002 y[12]=1.100000 z[4][12]=-1.785729903641e-001

x[4]=0.320000 y[13]=1.150000 z[4][13]=-2.555537790549e-001 x[4]=0.320000

x[4]=0.320000

x[4]=0.320000

x[4]=0.320000 y[14]=1.200000 y[15]=1.250000 y[16]=1.300000 y[17]=1.350000 z[4][14]=-3.258401501576e-001 z[4][15]=-3.895069883635e-001 z[4][16]=-4.466382045995e-001 z[4][17]=-4.973249517677e-001 x[4]=0.320000 y[18]=1.400000 z[4][18]=-5.416640326994e-001 x[4]=0.320000 y[19]=1.450000 z[4][19]=-5.797564797952e-001 x[4]=0.320000 y[20]=1.500000 z[4][20]=-6.117062881477e-001 x[5]=0.400000 y[0]=0.500000 z[5][0]=1.498321052481e+000 x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[5]=0.400000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000 y[1]=0.550000 z[5][1]=1.334998632066e+000 y[2]=0.600000 z[5][2]=1.177125123739e+000 y[3]=0.650000 z[5][3]=1.025024055020e+000 y[4]=0.700000 z[5][4]=8.789600231743e-001 y[5]=0.750000 z[5][5]=7.391451087035e-001 y[6]=0.800000 z[5][6]=6.057448714869e-001 y[7]=0.850000 z[5][7]=4.788838610665e-001 y[8]=0.900000 z[5][8]=3.586506258813e-001 y[9]=0.950000 z[5][9]=2.451022361964e-001 y[10]=1.000000 z[5][10]=1.382683509273e-001 y[11]=1.050000 z[5][11]=3.815486540440e-002 y[12]=1.100000 z[5][12]=-5.525282116820e-002 y[13]=1.150000 z[5][13]=-1.419868808140e-001 y[14]=1.200000 z[5][14]=-2.220944390964e-001 y[15]=1.250000 z[5][15]=-2.956352324604e-001 y[16]=1.300000 z[5][16]=-3.626795115028e-001 y[17]=1.350000 z[5][17]=-4.233061642240e-001 y[18]=1.400000 z[5][18]=-4.776010361325e-001 y[19]=1.450000 z[5][19]=-5.256554266673e-001 y[20]=1.500000 z[5][20]=-5.675647436554e-001 y[0]=0.500000 z[6][0]=1.731892740382e+000 y[1]=0.550000 z[6][1]=1.562034577208e+000 y[2]=0.600000 z[6][2]=1.397216918208e+000 y[3]=0.650000 z[6][3]=1.237801006733e+000 y[4]=0.700000 z[6][4]=1.084087532674e+000 y[5]=0.750000 z[6][5]=9.363227723149e-001 y[6]=0.800000 z[6][6]=7.947044490537e-001 y[7]=0.850000 z[6][7]=6.593871980282e-001 y[8]=0.900000 z[6][8]=5.304875868396e-001 y[9]=0.950000 z[6][9]=4.080886854542e-001 y[10]=1.000000 z[6][10]=2.922442012291e-001 y[11]=1.050000 z[6][11]=1.829822068523e-001 y[12]=1.100000 z[6][12]=8.030849403456e-002 y[13]=1.150000 z[6][13]=-1.579041305165e-002 y[14]=1.200000 z[6][14]=-1.053445516210e-001

x[6]=0.480000 y[15]=1.250000 z[6][15]=-1.883980906096e-001 x[6]=0.480000

x[6]=0.480000

x[6]=0.480000

x[6]=0.480000 y[16]=1.300000 y[17]=1.350000 y[18]=1.400000 y[19]=1.450000 z[6][16]=-2.650071493189e-001 z[6][17]=-3.352378389041e-001 z[6][18]=-3.991645038869e-001 z[6][19]=-4.568681433020e-001 x[6]=0.480000 y[20]=1.500000 z[6][20]=-5.084349932790e-001 x[7]=0.560000 y[0]=0.500000 z[7][0]=1.971221786400e+000 x[7]=0.560000 y[1]=0.550000 z[7][1]=1.795329599501e+000 x[7]=0.560000 y[2]=0.600000 z[7][2]=1.624067113227e+000 x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[7]=0.560000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[8]=0.640000 y[3]=0.650000 z[7][3]=1.457830582702e+000 y[4]=0.700000 z[7][4]=1.296954649752e+000 y[5]=0.750000 z[7][5]=1.141718105447e+000 y[6]=0.800000 z[7][6]=9.923495333243e-001 y[7]=0.850000 z[7][7]=8.490326633294e-001 y[8]=0.900000 z[7][8]=7.119113522639e-001 y[9]=0.950000 z[7][9]=5.810941589193e-001 y[10]=1.000000 z[7][10]=4.566585132333e-001 y[11]=1.050000 z[7][11]=3.386544961389e-001 y[12]=1.100000 z[7][12]=2.271082557663e-001 y[13]=1.150000 z[7][13]=1.220250891929e-001 y[14]=1.200000 z[7][14]=2.339221963670e-002 y[15]=1.250000 z[7][15]=-6.881870197104e-002 y[16]=1.300000 z[7][16]=-1.546493442129e-001 y[17]=1.350000 z[7][17]=-2.341526664589e-001 y[18]=1.400000 z[7][18]=-3.073910919139e-001 y[19]=1.450000 z[7][19]=-3.744348623493e-001 y[20]=1.500000 z[7][20]=-4.353605565380e-001 y[0]=0.500000 z[8][0]=2.215667863688e+000 y[1]=0.550000 z[8][1]=2.034201133607e+000 y[2]=0.600000 z[8][2]=1.856955143619e+000 y[3]=0.650000 z[8][3]=1.684358164159e+000 y[4]=0.700000 z[8][4]=1.516776352397e+000 y[5]=0.750000 z[8][5]=1.354519041151e+000 y[6]=0.800000 z[8][6]=1.197844086673e+000 y[7]=0.850000 z[8][7]=1.046963049414e+000 y[8]=0.900000 z[8][8]=9.020460838022e-001 y[9]=0.950000 z[8][9]=7.632264776621e-001 y[10]=1.000000 z[8][10]=6.306048219543e-001 y[11]=1.050000 z[8][11]=5.042528145942e-001 y[12]=1.100000 z[8][12]=3.842167155456e-001 y[13]=1.150000 z[8][13]=2.705204766409e-001 y[14]=1.200000 z[8][14]=1.631685723996e-001 y[15]=1.250000 z[8][15]=6.214855811672e-002 y[16]=1.300000 z[8][16]=-3.256661939710e-002

x[8]=0.640000 y[17]=1.350000 z[8][17]=-1.210165348453e-001 x[8]=0.640000

x[8]=0.640000

x[8]=0.640000

x[9]=0.720000 y[18]=1.400000 z[8][18]=-2.032513996249e-001 y[19]=1.450000 z[8][19]=-2.793303595593e-001 y[20]=1.500000 z[8][20]=-3.493199575417e-001 y[0]=0.500000 z[9][0]=2.464684222660e+000 x[9]=0.720000 y[1]=0.550000 z[9][1]=2.278058979399e+000 x[9]=0.720000 y[2]=0.600000 z[9][2]=2.095251250840e+000 x[9]=0.720000 y[3]=0.650000 z[9][3]=1.916718127997e+000 x[9]=0.720000 y[4]=0.700000 z[9][4]=1.742854628775e+000 x[9]=0.720000 y[5]=0.750000 z[9][5]=1.573998427334e+000 x[9]=0.720000 y[6]=0.800000 z[9][6]=1.410434835231e+000 x[9]=0.720000 y[7]=0.850000 z[9][7]=1.252401750607e+000 x[9]=0.720000 y[8]=0.900000 z[9][8]=1.100094409623e+000 x[9]=0.720000 y[9]=0.950000 z[9][9]=9.536698512611e-001 x[9]=0.720000 y[10]=1.000000 z[9][10]=8.132510552468e-001 x[9]=0.720000 y[11]=1.050000 z[9][11]=6.789307429657e-001 x[9]=0.720000 y[12]=1.100000 z[9][12]=5.507748485027e-001 x[9]=0.720000 y[13]=1.150000 z[9][13]=4.288256769704e-001 x[9]=0.720000 y[14]=1.200000 z[9][14]=3.131047717398e-001 x[9]=0.720000 y[15]=1.250000 z[9][15]=2.036155140324e-001 x[9]=0.720000 y[16]=1.300000 z[9][16]=1.003454782395e-001 x[9]=0.720000

x[9]=0.720000

x[9]=0.720000

x[9]=0.720000 y[17]=1.350000 y[18]=1.400000 y[19]=1.450000 y[20]=1.500000 z[9][17]=3.268565183309e-003 z[9][18]=-8.765306591441e-002 z[9][19]=-1.724672478215e-001 z[9][20]=-2.512302207523e-001 x[10]=0.800000 y[0]=0.500000 z[10][0]=2.717811109469e+000 x[10]=0.800000 y[1]=0.550000 z[10][1]=2.526399501256e+000 x[10]=0.800000 y[2]=0.600000 z[10][2]=2.338411386860e+000 x[10]=0.800000 y[3]=0.650000 z[10][3]=2.154329377286e+000 x[10]=0.800000 y[4]=0.700000 z[10][4]=1.974574556652e+000 x[10]=0.800000 y[5]=0.750000 z[10][5]=1.799510579092e+000 x[10]=0.800000 y[6]=0.800000 z[10][6]=1.629448220553e+000 x[10]=0.800000 y[7]=0.850000 z[10][7]=1.464650043750e+000 x[10]=0.800000 y[8]=0.900000 z[10][8]=1.305334967649e+000 x[10]=0.800000 y[9]=0.950000 z[10][9]=1.151682621307e+000 x[10]=0.800000 y[10]=1.000000 z[10][10]=1.003837419905e+000 x[10]=0.800000 y[11]=1.050000 z[10][11]=8.619123372267e-001 x[10]=0.800000 y[12]=1.100000 z[10][12]=7.259923711106e-001 x[10]=0.800000 y[13]=1.150000 z[10][13]=5.961377115201e-001 x[10]=0.800000 y[14]=1.200000 z[10][14]=4.723866279132e-001 x[10]=0.800000 y[15]=1.250000 z[10][15]=3.547580958959e-001 x[10]=0.800000 y[16]=1.300000 z[10][16]=2.432541841760e-001 x[10]=0.800000 y[17]=1.350000 z[10][17]=1.378622225234e-001 x[10]=0.800000 y[18]=1.400000 z[10][18]=3.855677032275e-002

x[10]=0.800000 y[19]=1.450000 z[10][19]=-5.469859593446e-002 x[10]=0.800000 y[20]=1.500000 z[10][20]=-1.419496597088e-001

2、选择过程中的k和σ值:

k=0 σ=1.442880771836e+002

k=1 σ=3.220908973635e+000

k=2 σ=4.659960033092e-003

k=3 σ=1.721175379303e-004

k=4 σ=3.309534303718e-006

k=5 σ=2.541377733529e-008

曲面拟合达到精度要求,此时:

k=5 σ=2.541377733529e-008

系数矩阵C为:

C[0][0]=2.021230520739e+000 C[0][1]=-3.668426807913e+000 C[0][2]=7.092486450232e-001 C[0][3]=8.486053760593e-001 C[0][4]=-4.158974224093e-001 C[0][5]=6.743199236703e-002

C[1][0]=3.191909009197e+000 C[1][1]=-7.411103769997e-001 C[1][2]=-2.697124604390e+000 C[1][3]=1.631183409018e+000 C[1][4]=-4.847199783140e-001 C[1][5]=6.061428268036e-002

C[2][0]=2.568897470840e-001 C[2][1]=1.579919023246e+000 C[2][2]=-4.634088700351e-001 C[2][3]=-8.134366640968e-002 C[2][4]=1.020938929745e-001 C[2][5]=-2.101516622625e-002

C[3][0]=-2.692600955912e-001 C[3][1]=-7.302489487364e-001 C[3][2]=1.076147724979e+000 C[3][3]=-8.070154379184e-001 C[3][4]=3.028740659549e-001 C[3][5]=-4.597287314470e-002 C[4][0]=2.174593993333e-001 C[4][1]=-1.783704803948e-001 C[4][2]=-7.240970888861e-002 C[4][3]=2.433343508148e-001 C[4][4]=-1.413366117765e-001 C[4][5]=2.651059435651e-002

C[5][0]=-5.590308802179e-002 C[5][1]=1.431982915469e-001 C[5][2]=-1.362684114760e-001 C[5][3]=4.071767356087e-002 C[5][4]=3.775973422049e-003 C[5][5]=-2.667878654490e-003

3、观察插值的逼近效果:

x[1]= 0.100000 y[1]= 0.700000

f(x[1],y[1])= 1.947204079146e-001

p(x[1],y[1])= 1.947303575299e-001

σ= -9.949615280003e-006

x[1]= 0.100000 y[2]= 0.900000

f(x[1],y[2])= -1.830370791892e-001

p(x[1],y[2])= -1.830418387517e-001

σ= 4.759562534401e-006 x[1]= 0.100000 y[3]= 1.100000

f(x[1],y[3])= -4.454976469153e-001 p(x[1],y[3])= -4.455000418097e-001 σ= 2.394894326463e-006 x[1]= 0.100000 y[4]= 1.300000

f(x[1],y[4])= -5.975667076413e-001 p(x[1],y[4])= -5.975588569367e-001 σ= -7.850704676904e-006 x[1]= 0.100000

x[2]= 0.200000

x[2]= 0.200000

x[2]= 0.200000

x[2]= 0.200000

x[2]= 0.200000

x[3]= 0.300000

x[3]= 0.300000

x[3]= 0.300000

y[5]= 1.500000 f(x[1],y[5])= -6.464595939011e-001 p(x[1],y[5])= -6.464461108207e-001 σ= -1.348308033633e-005 y[1]= 0.700000 f(x[2],y[1])= 4.059791892881e-001 p(x[2],y[1])= 4.059895398119e-001 σ= -1.035052378684e-005 y[2]= 0.900000 f(x[2],y[2])= -2.251595837522e-002 p(x[2],y[2])= -2.252111611538e-002 σ= 5.157740163155e-006 y[3]= 1.100000 f(x[2],y[3])= -3.382208160399e-001 p(x[2],y[3])= -3.382240225553e-001 σ= 3.206515407861e-006 y[4]= 1.300000 f(x[2],y[4])= -5.444378315222e-001 p(x[2],y[4])= -5.444304509070e-001 σ= -7.380615210328e-006 y[5]= 1.500000 f(x[2],y[5])= -6.473613385680e-001 p(x[2],y[5])= -6.473480108613e-001 σ= -1.332770667384e-005 y[1]= 0.700000 f(x[3],y[1])= 6.347771951508e-001 p(x[3],y[1])= 6.347874529256e-001 σ= -1.025777475094e-005 y[2]= 0.900000 f(x[3],y[2])= 1.588011688388e-001 p(x[3],y[2])= 1.587962960019e-001 σ= 4.872836844139e-006 y[3]= 1.100000 f(x[3],y[3])= -2.073656941711e-001 p(x[3],y[3])= -2.073685803725e-001

σ= 2.886201454028e-006 x[3]= 0.300000 y[4]= 1.300000

f(x[3],y[4])= -4.653579068978e-001 p(x[3],y[4])= -4.653499232936e-001 σ= -7.983604177864e-006 x[3]= 0.300000 y[5]= 1.500000

f(x[3],y[5])= -6.202709530750e-001 p(x[3],y[5])= -6.202571389449e-001 σ= -1.381413002710e-005 x[4]= 0.400000

x[4]= 0.400000

x[4]= 0.400000

x[4]= 0.400000

x[4]= 0.400000

x[5]= 0.500000

x[5]= 0.500000

x[5]= 0.500000

x[5]= 0.500000

y[1]= 0.700000 f(x[4],y[1])= 8.789600231743e-001 p(x[4],y[1])= 8.789698653379e-001 σ= -9.842163594675e-006 y[2]= 0.900000 f(x[4],y[2])= 3.586506258813e-001 p(x[4],y[2])= 3.586460433466e-001 σ= 4.582534711972e-006 y[3]= 1.100000 f(x[4],y[3])= -5.525282116820e-002 p(x[4],y[3])= -5.525543686432e-002 σ= 2.615696122192e-006 y[4]= 1.300000 f(x[4],y[4])= -3.626795115028e-001 p(x[4],y[4])= -3.626710629737e-001 σ= -8.448529084160e-006 y[5]= 1.500000 f(x[4],y[5])= -5.675647436554e-001 p(x[4],y[5])= -5.675505828034e-001 σ= -1.416085202266e-005 y[1]= 0.700000 f(x[5],y[1])= 1.136610910156e+000 p(x[5],y[1])= 1.136620353282e+000 σ= -9.443126190112e-006 y[2]= 0.900000 f(x[5],y[2])= 5.749803409472e-001 p(x[5],y[2])= 5.749758427275e-001 σ= 4.498219742688e-006 y[3]= 1.100000 f(x[5],y[3])= 1.159923767916e-001 p(x[5],y[3])= 1.159893215066e-001 σ= 3.055285016512e-006 y[4]= 1.300000 f(x[5],y[4])= -2.385683040123e-001 p(x[5],y[4])= -2.385604192417e-001

σ= -7.884770622274e-006 x[5]= 0.500000 y[5]= 1.500000

f(x[5],y[5])= -4.914343936567e-001 p(x[5],y[5])= -4.914209005355e-001 σ= -1.349312123233e-005 x[6]= 0.600000 y[1]= 0.700000

f(x[6],y[1])= 1.406041798901e+000 p(x[6],y[1])= 1.406050687049e+000 σ= -8.888147533748e-006 x[6]= 0.600000

x[6]= 0.600000

x[6]= 0.600000

x[6]= 0.600000

x[7]= 0.700000

x[7]= 0.700000

x[7]= 0.700000

x[7]= 0.700000

x[7]= 0.700000

y[2]= 0.900000 f(x[6],y[2])= 8.059414940630e-001 p(x[6],y[2])= 8.059373018631e-001 σ= 4.192199902442e-006 y[3]= 1.100000 f(x[6],y[3])= 3.044292210447e-001 p(x[6],y[3])= 3.044258321002e-001 σ= 3.388944505966e-006 y[4]= 1.300000 f(x[6],y[4])= -9.501613009975e-002 p(x[6],y[4])= -9.500894575031e-002 σ= -7.184349440192e-006 y[5]= 1.500000 f(x[6],y[5])= -3.939023077466e-001 p(x[6],y[5])= -3.938898375269e-001 σ= -1.247021974804e-005 y[1]= 0.700000 f(x[7],y[1])= 1.685783515308e+000 p(x[7],y[1])= 1.685791217282e+000 σ= -7.701974503505e-006 y[2]= 0.900000 f(x[7],y[2])= 1.049881153064e+000 p(x[7],y[2])= 1.049877739228e+000 σ= 3.413835998556e-006 y[3]= 1.100000 f(x[7],y[3])= 5.082937839393e-001 p(x[7],y[3])= 5.082910447826e-001 σ= 2.739156630405e-006 y[4]= 1.300000 f(x[7],y[4])= 6.614879670555e-002 p(x[7],y[4])= 6.615635554722e-002 σ= -7.558841663716e-006 y[5]= 1.500000 f(x[7],y[5])= -2.768343417776e-001 p(x[7],y[5])= -2.768220433696e-001

σ= -1.229840796335e-005 x[8]= 0.800000 y[1]= 0.700000

f(x[8],y[1])= 1.974574556652e+000 p(x[8],y[1])= 1.974581261269e+000 σ= -6.704617012909e-006 x[8]= 0.800000 y[2]= 0.900000

f(x[8],y[2])= 1.305334967649e+000 p(x[8],y[2])= 1.305332003899e+000 σ= 2.963750110441e-006 x[8]= 0.800000

x[8]= 0.800000

x[8]= 0.800000

y[3]= 1.100000 f(x[8],y[3])= 7.259923711106e-001 p(x[8],y[3])= 7.259893106086e-001 σ= 3.060501982732e-006 y[4]= 1.300000 f(x[8],y[4])= 2.432541841760e-001 p(x[8],y[4])= 2.432607904561e-001 σ= -6.606280120669e-006 y[5]= 1.500000 f(x[8],y[5])= -1.419496597088e-001 p(x[8],y[5])= -1.419387887818e-001 σ= -1.087092704488e-005

更多相关推荐:
测量实习报告心得体会

一、实习目的:测量学是一门很需要实践经验的课,在平时上理论课的时候,学生缺乏对实际仪器的操作。短学期的实习,通过控制网的建立、地形点的测绘、手绘成图,提高学生对于实际问题的解决能力,为以后工程实际测量打下坚实的…

土木工程测量实习报告

工程测量实习实习地点:。指导老师:实习小组成员:一、实习目的:(1)巩固课堂教学知识,加深对控制测量学的基本理论的理解,能够用有关理论指导作业实践,做到理论与实践相统一,提高分析问题、解决问题的能力,从而对控制…

测量实习报告内容各项步骤与心得体会(完整版)-超精品

工程测量实习报告一、前言1、测量实习时间:8月x日~9月x日2、测量地点:长江大学东校区第十区3、测量实习目的:利用《土木工程测量》的基本理论、基本知识和基本方法,完成实际中的测设和测定工作。通过测量实习,除…

测量学实习报告及心得体会

前言本次测量实习是在课堂教学期间在实习场地集中进行的测绘实践性教学是各项课间实验的综合应用也是巩固和深化课堂所学知识的必要环节所以由学校统一部署安排我们园林111班所有学生进行为期一周的测量实习通过实习不仅了解...

工程测量实习报告

南昌工程学院工程测量实习实训报告题目工程测量实习课程名称工程测量学系院水利与生态学院专业水文与水资源工程班级11水文与水资源工程学生姓名罗晓军学号20xx102385实习地点校园学生宿舍指导教师汤斌纺实习起止时...

工程测量实习报告 成品

河北工程大学专业班级姓名学号实习时间实习地点第一餐厅外环指导教师工程测量实习报告书1目录1前言32实习目的33实习要求34实习仪器与工具45具体任务及过程46实习内容47实习步骤4DS3水准仪和DJ6经纬仪的使...

工程测量实训报告

课程名称院系班级辅导教师使用教材学生姓名学号实习地点小组成员工程测量广州大学市政技术学院工程造价2班陈凯王晶建筑工程测量余果学校足球场外围校道学校前门麦祥彪辛妹徐娇珠余果广州大学市政技术学院二一一年十一月二十日...

测量学实习报告

土地资源管理测量教学实习报告专业土地资源管理姓名张春蕾学号2709100120指导老师李芹芳王龙超时间20xx年07月第一部分前言测量工作的目的一般来说就是测定地球表面局部地区的形状和大小并按照一定的比例尺绘制...

北京科技大学工程测量实习报告

土木工程专业工程测量实习专业土木工程班级土木1103姓名唐小组3班第5组指导老师同组成员奥特曼莫伊塞斯蒋小石魏了胃目录一任务概述1实习目的2实习内容3实验仪器二测区情况三水准测量1场地选择与定点布置2仪器的检验...

工程测量实习报告

大连海洋大学工程测量实习报告年级土木095学号0904110531姓名张小辉专业土木实习老师巩晓东20xx年7月1日目录1序言12实习目的13小组成员14实习过程大概141实习任务142实习前准备243实习内容...

测量学实习报告

测量学实习报告报告题目控制测量及地形图测绘课程名称测量学学院林学院专业水土保持与荒漠化防治年级水保111班学号1109030144学生姓名黄松指导教师王晓红20xx年12月10日12目录一前言41实验目的42实...

工程测量测量实习报告

长江工程职业技术学院测量实习报告姓名朱孟帅学号1011762班级1001同组成员童俊松朱孟帅张祥霖景平金仕平刘顺熊博文完成时间20xx年7月指导老师刘飞目录第一章第二章第三章第四章第五章第五章第六章第七章实习的...

测量实习报告(49篇)