ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:1.78MB ,
资源ID:13087255      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13087255.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(卫星大地测量高程异常编程xWord文档下载推荐.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

卫星大地测量高程异常编程xWord文档下载推荐.docx

1、只找到了 EGM96 数据,下面以 EGM96 数据为例,说明编程的思路和步骤。二、利用 Matlab 对 EGM96 数据文件进行读取,为了方便编程,对 EGM 数据进行了预处理。首先利用结构体存储每一列,然后再分别利用数组,对文件中的 l,m,c,s进行存储。其具体的代码如下:%c31相当于c20位系数endl=;m=;c=;s=;for i=1:yinzil(i)=zb(i).xl;%将l下标变成矩阵m(i)=zb(i).xm;%将m下标变成矩阵c(l(i)+1,m(i)+1)=zb(i).xc;%矩阵下标不能为0,所以+1 s(l(i)+1,m(i)+1)=zb(i).xs;c(3,1

2、)=c(3,1)+0.484166774985E-03; %减去正常重力位系数c(5,1)=c(5,1)-0.790303733511E-06; c(7,1)=c(7,1)+0.168724961151E-08;c(9,1)=c(9,1)-0.34605248394E-11;c(11,1)=c(11,1)+0.265002225747E-14;值得注意的地方是:Matlab 中数组的下标不能为 0,故在上述第 5 行代码中加了 1。另外,还要对 C2 0 至 C10 0 减去正常重力位系数。这一步,使 C,S 系数对应了 l,m,方便后来的调用。从下图中可以看到,C 和 S 位系数在数组中表示

3、为了 361*361 的下三角矩阵。三、将大地坐标(B,L,H)转化为地心坐标(𝜑,𝜆,𝑟)。根据上述转换模型,设计 Matlab 代码如下:for L=-180:10:180H=0;PP=fix(B);AA=(B-PP)*100; QQQ=fix(AA);degs=AA-QQQ; %化弧度A=(PP+QQQ/60.00+degs/36.0)*pi/180.0;N=R/(sqrt(1-e2*sin(A)*sin(A);X=(N+H)*cos(A)*cos(L);Y=(N+H)*cos(A)*sin(L);Z=(N*(1-e2)+H)*sin(A)

4、;fai=atan(Z/(sqrt(X*X+Y*Y);%地心坐标lanmat=L;% 超大循环体 %for B=-90:90%-坐标转换-R=6378136.460;GM=3.986004415E+14;PI=3.1415926535897932384626433;e2=0.00669437999013;ge=9.7803253359;aerfa=1/298.257223563;%扁率k1=0.00193185265246;B=-90;L=-180;World=;mmm=1;%mmm是world结构体循环变量注意的地方是,B 在后面应转化为弧度制再带入计算。四、计算给定点处的平均正常重力 g

5、(1+ ksin2 B)2 (1+a+ 0.00344978650684 - 2asin2 B)HH 2 1- e2 sin2 Bg =e11-+ 3RR2 k1 = 0.00193185265246根据上述公式编制对应的 Matlab 代码。五、Legendre 递推公式的计算根据前面推算的 C 和 S 系数阵以及 l,m 参数,利用上述公式可以计算 P 值并综合到矩阵中。P 矩阵也是 361*361 的下三角矩阵。其具体的代码已经运行结果如下:%-Legendre 递推公式的计算-p=;jieshu=360;%EGM96为360阶,若是EGM2008,则修改成2190. p(1,1)=1;

6、p(2,1)=sqrt(3)*sin(fai);p(2,2)=sqrt(3*(1-sin(fai)*sin(fai); for i=3:(jieshu+1)p(i,i-1)=sqrt(2*(i-1)+1)*sin(fai)*p(i-1,i-1); %此处i-1对应公式中的Lp(i,i)=sqrt(2*(i-1)+1)/(2*(i-1)*cos(fai)*p(i-1,i-1);for i=3:(jieshu+1) for j=1:i-2%式子太长,避免括号错位,分开计算ddd=sqrt(2*(i-1)*(i-1)/(i-1)*(i-1)-(j-1)*(j-1)*sin(fai)*p(i-1,j)

7、;dddd=sqrt(2*(i-1)+1)/(2*(i-1)-3)*(i-1-1)*(i-1-1)-j*j)/(i-1)*(i-1)- j*j)*p(i-2,j);p(i,j)=ddd-dddd; endP 矩阵的运行结果如下:六、计算N值由上述模型计算 N 值。并写入到文本中,利用 Matlab 的绘图函数进行绘制。最终结果为:3. 总结和体会通过此次作业,我有以下收获:通过编程计算某点的高程异常值,使得对高程异常有了更深的理解。学会了使用 Matlab 进行高程异常的计算。扩充了自己利用 Matlab 对数据进行读取的知识,同时也更加熟悉了 Matlab 中的矩阵运算和也存在这一些不足之处

8、,比如限于对编程语言的熟悉程度,没有开发一套界面出来,另外只用了 EGM96 的数据,相关的代码还有一些不足,计算的结果精度还不够等问题。这也是我以后改进的动力。另外,在日后的学习中,也希望自己能够加强编程语言的学习,复习回顾基础知识,多看一些专业相关的论文,弥补自身的不足。4. 附录:高程异常计算的 Matlab 代码function readEGM%读取 EGM96 文件clear all;clc;format long g;fname,fpath=uigetfile(*.txt,选择 EGM96 文件); fp=fopen(strcat(fpath,fname),ri=1;zb=;% 坐

9、标矩阵为空while feof(fp)% 文件结尾时 feof(文件句柄)=0,其它为 1,% 此时也可以用 feof(fp)=0 代替zb(i).xl=fscanf(fp,%d,1);zb(i).xm=fscanf(fp,zb(i).xc=fscanf(fp,%fzb(i).xs=fscanf(fp,zb(i).sc=fscanf(fp,zb(i).ss=fscanf(fp, i=i+1;fclose(fp);% 关闭句柄为 fp 的文件%-yinzi=i-1;%总行数因子l=;%将 l 下标变成矩阵%将 m 下标变成矩阵%矩阵下标不能为 0,所以+1 s(l(i)+1,m(i)+1)=zb

10、(i).xs; %减去正常重力位系数 c31 相当于 c20 位系数c(5,1)=c(5,1)-0.790303733511E-06; c(9,1)=c(9,1)-0.34605248394E-11; c(11,1)=c(11,1)+0.265002225747E-14;%-弄好 C 和 S 系数- GM=3.986004415E+14; PI=3.1415926535897932384626433; e2=0.00669437999013; ge=9.7803253359;%mmm 是 world 结构体循环变量for B=0:5:90% 超大循环体 % for L=0:%取出度AA=(B-PP)*100;%取出分QQQ=fix(AA);%取出秒A=(PP+QQQ/60.00+degs/36.0)*pi/180.0; X=(N+H)*cos(A)*cos(L);fai=atan(Z/(sqrt(X*X+Y*Y)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1