- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DEM内插法编程实验报告,socket编程实验报告,网络编程实验报告,shell编程实验报告,java网络编程实验报告,iphone编程实验报告,可编程控制器实验报告,编程实验报告,数据结构编程实验pdf,数据结构编程实验
DEM内插法编程实验报告
测绘08-1班 3080208102 李XX
一、实习目的
掌握移动曲面法数字高程模型内插原理及其内插子程序的设计方法,了解其它逐点高程内插方法的基本原理。
二、实习内容
根据提供的 10 个数据点的坐标(Xn,Yn,Zn)和待求点的平面坐标(Xp,Yp),要求利用移动二次曲面拟合法,由格网点P(Xp,Yp)周围的 10 个已知点内插出待求格网点P的高程,编制相应的程序并进行调试,最后解算出格网点P的高程并提交源程序代码。
三、实习准备资料
已知数据点坐标
点号 X Y Z 1 102 110 15 2 109 113 18 3 105 115 19 4 103 103 17 5 108 105 21 6 105 108 15 7 115 104 20 8 118 108 15 9 116 113 17 10 113 118 22 编程计算点(110,110)上的高程。
四、程序的代码
#include stdafx.h
#include SMatrix.h
#include SingleImageResection.h
int main(int argc, char* argv[])
{
SMatrix X(10,1); 系数矩阵
SMatrix Y(10,1); 系数矩阵
SMatrix Z(10,1); 系数矩阵
X[0][0] = 102; 输入已知数据点坐标
X[1][0] = 109; 输入已知数据点坐标
X[2][0] = 105; 输入已知数据点坐标
X[3][0] = 103; 输入已知数据点坐标
X[4][0] = 108; 输入已知数据点坐标
X[5][0] = 105; 输入已知数据点坐标
X[6][0] = 115; 输入已知数据点坐标
X[7][0] = 118; 输入已知数据点坐标
X[8][0] = 116; 输入已知数据点坐标
X[9][0] = 113; 输入已知数据点坐标
Y[0][0] = 110; 输入已知数据点坐标
Y[1][0] = 113; 输入已知数据点坐标
Y[2][0] = 115; 输入已知数据点坐标
Y[3][0] = 103; 输入已知数据点坐标
Y[4][0] = 105; 输入已知数据点坐标
Y[5][0] = 108; 输入已知数据点坐标
Y[6][0] = 104; 输入已知数据点坐标
Y[7][0] = 108; 输入已知数据点坐标
Y[8][0] = 113; 输入已知数据点坐标
Y[9][0] = 118; 输入已知数据点坐标
Z[0][0] = 15; 输入已知数据点坐标
Z[1][0] = 18; 输入已知数据点坐标
Z[2][0] = 19; 输入已知数据点坐标
Z[3][0] = 17; 输入已知数据点坐标
Z[4][0] = 21; 输入已知数据点坐标
Z[5][0] = 15; 输入已知数据点坐标
Z[6][0] = 20; 输入已知数据点坐标
Z[7][0] = 15; 输入已知数据点坐标
Z[8][0] = 17; 输入已知数据点坐标
Z[9][0] = 22; 输入已知数据点坐标
for(int i = 0 ;i 10;i++)
{
X[i][0] = X[i][0] -110;
Y[i][0] = Y[i][0] -110;
}
SMatrix M(10,6);
for(i = 0 ;i 10;i++)
{
M[i][0] =X[i][0] *X[i][0] ;
M[i][1] =X[i][0] *Y[i][0] ;
M[i][2] =Y[i][0] *Y[i][0] ;
M[i][3] =X[i][0];
M[i][4] =Y[i][0] ;
M[i][5] = 1 ;
}
SMatrix P(10,10);
for(i = 0 ;i 10;i++)
{
P[i][i] = 1/(X[i][0] *X[i][0]+Y[i][0] *Y[i][0]);
}
SMatrix x(6,1);
x = (M.T() * P * M).Invert() * M.T() * P * Z;
printf(待定点的高程是:%f\n,x[5][0]);
文档评论(0)