请各位关心此源码朋友帮助将其完善.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
请各位关心此源码朋友帮助将其完善

请各位关心此源码的朋友帮助将其完善,谢谢,希望大家共同进步。 等值线源码如下: #define MAXX 50 #define MAXY 50 #include stdio.h #include stdlib.h #include alloc.h #include conio.h #include graphics.h #include??string.h /*==================用趋势面加权最小二乘法计算网点高程制===================================*/ #include conio.h #include stdio.h #include??math.h int CN1,CN2,NP1; /*-----CN1,CN2为网点间距,NP1为测量点个数------*/ int X0,Y0; /*-----X0,Y0为网格起点坐标------*/ void wzjs(int n,int m,float??*x,float *y,float *z,float **bb) { int i,j,k,k0,k1,n0,hh=0; double cnum,x1,x2,y1,y2,xt,yt,xxt,yyt,xyt,zt,A,B,c; double e[10][10]={0},u[10]={0}; for(i=0;i=n;i++) /*-----列网(X向)------*/ { A=X0+i*CN1; for(j=0;j=m;j++) /*------横网(y向)------*/ { B=Y0+j*CN2; for(k=0;k10;k++) { u[k]=0; for(k0=0;k010;k0++) e[k][k0]=0; } for(k=0;kNP1;k++) /*-----高斯法计算曲面方程值并计算网格点值-------*/ { hh=0; if(A==*(x+k)B==*(y+k)) { *(*(bb+i)+j)=*(z+k); hh=1; break; } x1=*(x+k); y1=*(y+k); x2=x1*x1; y2=y1*y1; cnum=(x1-A)*(x1-A)+(y1-B)*(y1-B); cnum=1/cnum; xt=cnum*x1; yt=cnum*y1; xxt=x2*cnum; yyt=y2*cnum; xyt=x1*yt; e[1][1]=e[1][1]+cnum; e[1][2]=e[1][2]+xt; e[1][3]=e[1][3]+yt; e[1][4]=e[1][4]+xyt; e[1][5]=e[1][5]+xxt; e[1][6]=e[1][6]+yyt; e[2][4]=e[2][4]+x2*yt; e[2][5]=e[2][5]+x2*xt; e[2][6]=e[2][6]+y2*xt; e[3][6]=e[3][6]+y2*yt; e[4][4]=e[4][4]+x2*yyt; e[4][5]=e[4][5]+x2*xyt; e[4][6]=e[4][6]+y2*xyt; e[5][5]=e[5][5]+x2*xxt; e[6][6]=e[6][6]+y2*yyt; zt=*(z+k)*cnum; u[1]=u[1]+zt; u[2]=u[2]+x1*zt; u[3]=u[3]+y1*zt; u[4]=u[4]+x1*y1*zt; u[5]=u[5]+x2*zt; u[6]=u[6]+y2*zt; } if(hh==1) continue; e[2][2]=e[1][5]; e[2][3]=e[1][4]; e[3][3]=e[1][6]; e[3][4]=e[2][6]; e[3][5]=e[2][4]; e[5][6]=e[4][4]; for(k=1;k6;k++) for(k0=k+1;k07;k0++) e[k0][k]=e[k][k0]; for(k=1;k7;k++) e[k][7]=u[k]; n0=6; for(k=1;kn0;k++) for(k0=k+1;k0n0+1;k0++) for(k1=k+1;k1n0+2;k1++) e[k0][k1]=e[k0][k1]-e[k0][k]*e[k][k1]/e[k][k]; u[n0]=e[n0][n0+1]/e[n0][n0]; for(k=n0-1;k0;k--) { c=0; for(k0=k+1;k0n0+1;k0++) c=c+e[k][k0]*u[k0]; u[k]=(e[k][n0+1]

文档评论(0)

vtangojia + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档