您好, 访客   登录/注册

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