云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > dem 数字高程内插程序

dem 数字高程内插程序

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 13:51:52

#include #include #include typedef struct { double X; double Y; double Z; }Point;

///////////////////////////////////////////////////////////////////读 void Read(FILE *fp,Point points[10]) { int i,j; double Double[10][3]; if((fp=fopen(\ printf(\路径错误,请重新输入!\ for(i=0;i<10;i++) for(j=0;j<3;j++) fscanf(fp,\ for(i=0;i<10;i++) { points[i].X=Double[i][0]; points[i].Y=Double[i][1]; points[i].Z=Double[i][2]; } fclose(fp); }

//////////////////////////////////////////////////////////////////////逆阵 void MTPMRR(double MTPM[][6],double MTPMR[][6]) { int i,j,h,k,n=6; double P,Q[6][12]; for(i=0;i

for(h=k=0;k0;k--,h--) // 消去对角线以上的数据 for(i=k-1;i>=0;i--) { if(Q[i][h]==0) continue; P=Q[k][h]/Q[i][h]; for(j=0;j<12;j++) { Q[i][j]*=P; Q[i][j]-=Q[k][j]; } } for(i=0;i

//////////////////////////////////////////////////////////////////////////////////////写

void Write(FILE *fp,Point points[10],double W[10][10],double Xp,double Yp,double Zp) { int i,j; if((fp=fopen(\ fprintf(fp,\输出文件不存在!\ fprintf(fp,\参考点坐标是:\\n\ for(i=0;i<10;i++) fprintf(fp,\,points[i].Z); fprintf(fp,\

fprintf(fp,\权矩阵是:\\n\ for(i=0;i<10;i++) { for(j=0;j<10;j++) fprintf(fp,\ fprintf(fp,\ } fprintf(fp,\待定点坐标是:\\n\ fprintf(fp,\ fclose(fp); }

void M_M(double A[6][10],double B[10][10],double C[6][10]) { int i,j,k; for(i=0;i<6;i++) { for(j=0;j<10;j++) { C[i][j]=0; for(k=0;k<10;k++) C[i][j]+=(A[i][k]*B[k][j]); } } }

void M_M(double A[6][10],double B[10][6],double C[6][6]) { int i,j,k; for(i=0;i<6;i++) { for(j=0;j<6;j++) { C[i][j]=0; for(k=0;k<10;k++) C[i][j]+=(A[i][k]*B[k][j]); } } }

void M_M(double A[6][10],double B[10][1],double C[6][1]) { int i,j,k; for(i=0;i<6;i++) { for(j=0;j<1;j++) {

C[i][j]=0; for(k=0;k<10;k++) C[i][j]+=(A[i][k]*B[k][j]); } } }

////////////////////////////////////////////////////////main() void main() { FILE *fp; int i,j,k; int Select; Point points[10]; double M[10][6],MT[6][10],W[10][10],Z[10][1],MTP[6][10]; double MTPM[6][6],MTPMR[6][6],MTPZ[6][1],XX[6][1],X[10],Y[10]; double Xp,Yp,Zp; printf(\请选择操作(1--4):\\n\ printf(\==========\\n\\n\ printf(\使用移动拟合法求解待定点(110,110)的高程值\\n\

printf(\使用移动拟合法求解由您输入的任何待定点(X,Y)的高程值\\n\ printf(\使用移动拟合法求解Pending_Data.txt文件中多个待定点的高程值\\n\ printf(\退出:只有选择4时才退出程序!\\n\ printf(\==========\\n\loop: scanf(\ switch(Select) { case 1: { printf(\你选择的是: 1 使用移动拟合法求解待定点(110,110)的高程值!\\n\ Xp=110.0; Yp=110.0; Read(fp,points); for(i=0;i<10;i++) { X[i]=points[i].X-Xp;///////////////////////////////////X,Y 存放的是差值 Y[i]=points[i].Y-Xp; Z[i][0]=points[i].Z; } for (i = 0; i < 10; i++) { M[i][0] = X[i] * X[i];

搜索更多关于: dem 数字高程内插程序 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include #include #include typedef struct { double X; double Y; double Z; }Point; ///////////////////////////////////////////////////////////////////读 void Read(FILE *fp,Point points[10]) { int i,j; double Double[10][3]; if((fp=fopen(\ printf(\路径错误,请重新输入!\ for(i=0;i<10;i++) for(j=0;j<3;j++) fscanf(fp,\ for(i=0;i<10;i++) { points[i].X=Doubl

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com