MATLAB软件在测绘数据处理中的简单应用
来源:用户上传
作者:
摘要在初期解决平差问题时,常常采用人工手算或者编制特定的计算机程序处理矩阵运算。但对于简单的教学和学习来说,人工计算矩阵很复杂,难度大,尤其是矩阵的求逆问题。但是矩阵计算软件MATLAB与其他算法语言相比,应用简单,运算速度快,还可以提供与VC的编程接口。本文运用MATLAB软件对测量数据进行了简单的处理,并给出间接平差中水准网平差的算法,供教学和学习参考。
关键词 MATLAB软件间接平差水准网
一、MATLAB 软件简介
MATLAB既是一种语言,又是一种编程环境。MATLAB提供了很多方便用户的工具,用于管理变量、输入输出数据以及生成和管理M文件。MATLAB中的M文件的语法与其他的高级语言类似,是一种程序化的编程语言,同时也是一种解释性的编程语言,即逐行解释运行程序,程序更容易调试。它只是一个简单的ASCII码文本文件,语法比一般的高级语言都要简单,与数学语言比较接近,更容易掌握和理解。MATLAB进行数值计算的基本处理单位是复数数组(或称阵列)。它拥有一流水平的数值计算函数库,其所有数值计算算法都是国际公认的、先进的可靠算法;而执行算法的指令形式非常简单、易读易用,应用MATLAB进行函数图形绘制也非常方便。
二、间接平差的实例与相应的MATLAB程序
本例题中运用MATLAB编写相关的数据处理代码,可以评定相关中间量的精度。通过新建.m文件,在其中输入代码,或者在MATLAB的命令框中直接输入数据计算。
图1 水准网
表1 观测数据与已知数据
按条件平差的原理将测量值表达成参数的函数,省略之;以下只写代码部分,其中两个改正数h0、x的单位为mm。
MATLAB代码:
P=blkdiag(1,1,0.5,0.5,1,1,0.667);
B=[1,0,0;0,0,1;1,0,0;0,-1,0;-1,0,1;1,-1,0;0,-1,1];
X0=[6.359;5.360;7.009];
h0=[1.359;2.009;0.363;0.640;0.657;1.000;1.650];
Nbb=B'*P*B;
W=B'*P*l;
x=inv(Nbb)*W;
V=B*x-l;
h=h0+V*0.001;
X=X0+x*0.001;
σ= =sqrt((V'*P*V)/(n-t))
σ=3.0081
表二 平差结果
三、结论
MATLAB使用起来方便简单、功能很大,适合于解决涉及矩阵运算的相关问题,本文的论述仅是简单的应用。 MATLAB的很多功能都能适用于测绘领域,相信随着研究的深入及MATLAB的进一步应用,它一定会在测绘领域发挥更大的作用。本文仅仅是对它的功能的以下部分介绍,希望能有更多的人加入到MATLAB的研究中。
参考文献:
[1] 张书毕.测量平差.徐州:中国矿业大学出版社,2008
[2] 陶忠刚,王宝山,王勇,孙晓. MATLAB软件在测量平差中的应用.焦作工学院学报(自然科学版), 第21卷,第5期,2002年9月
[3] 张卡,盛业华,张书毕.MATLA B在测绘领域中的应用.矿山测量.第1期,2004年3月
[4] 周胜君,王坚.利用MATLAB进行测绘数据处理和分析.矿山测量.第1期,2004年3月
转载注明来源:https://www.xzbu.com/1/view-14618535.htm