MATLAB软件在测量间接平差中的应用.doc

MATLAB软件在测量间接平差中的应用.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB软件在测量间接平差中的应用,利用条件平差、间接平差、随机平差和线性方程组来估计测量误差,以及将这些误差转化为控制参数的数值表达式,最终用于优化测量流程。MATLAB提供了多种方法来求解线性方程组,其中包括矩阵、线性方程组的线性化求解(LQR)以及多项式方程求解(PQ)。通过矩阵和线性方程组的线性化求解,可以快速求得线性方程组的解。此外,还可以利用矩阵的特性(例如,可以求解非零特征值),来进行非线性变换,或者使用多项式方程求解特定形式的二次方程。在测量过程中,利用MATLAB求

MATLAB软件在测量间接平差中的应用

1条件平差和间接平差的原理

条件平差、间接平差、附有参数的条件平差、附有参数的间接平差是4种最基本的经典测量平差方法。它们都统一到附有参数的条件平差的概括平差函数模型中,但是在一般的编程中用的最多的是条件平差、间接平差函数模型以及其数学模型。

一条件平差的基本原理

测量中为了能及时发现错误和提高测量成果的精度,常常进行多余观测,通过在多余观测基础上建立列平差函数模型和随机模型来得到条件平差。条件方程为:

在上式中,关键是对改正数V的求解,它实际上是一个线性方程组的求解问题,根据最小二乘法可得到观测值改正数:,其中-1,T,那么由就可以得到各个观测量的平差值。但是测量平差还要通过建立观测量组成的函数,求其平差值函数的中误差,通过中误差来评估观测数据是否合格,这样才算完成了整个条件平差过程。

二间接平差的基本原理

当在一个平差问题中,选用独立的参数来代替观测量,当参数的个数和必要的观测量个数相等的时候,组成观测方程并建立相应的函数和随机模型,从而得到间接平差。间接平差误差方程为:

实际上,这也是解决线性方程组的问题,同样运用最小二乘法原理得到独立参数的解为:,其中,这样就可以得到参数和观测值的平差值:,,从而计算得到各个观测量的平差值,进而进一步求其相应的平差值函数的中误差。各种平差方法的详细求解过程可以参考相应的文献得到,这里不再赘述。

2MATLAB在测量平差解算中的优势

MATLAB是一种集数值计算,符号运算,可视化建模,仿真和图形处理等多种功能于一体的高性能数值计算软件,具有优秀的数值计算能力和卓越的数据可视化能力。它的应用范围很广,尤其在数值运算(包括矩阵求解,方程式求解,多项式运算,数学极值计算等)和绘图处理方面显示出非常重要的学术价值和工程价值。平差过程及解算涉及较多的是矩阵和线性方程组的解算,而MATLAB在测量平差矩阵和线性方程组的解算方面体现独特的优势。

2.1MATLAB的矩阵运算功能

MATLAB是以矩阵作为数据操作的基本单位,矩阵的生成、运算、转置、求逆等非常简单。MAT2LAB有多种生成矩阵的方式,包括矩阵直接输入,从外部建立相应格式的数据文件调入,利用M文件中的函数生成,利用“[]”生成等。在MATLAB环境中,不需要对创建变量对象的维数和类型给出说明,所有的变量都作为双精度数来分配内存空间,MATLAB将自动地为每一个变量分配内存。MAT2LAB中对于矩阵运算,其程序的编写和实际的计算工程很类似,矩阵相加,程序编写形式为A+B;矩阵相乘为A3B;求解矩阵的转置形式为A′;求解矩阵的逆阵形式为inv(A),这些计算都非常简单,这些功能在其他语言中则需要一段复杂的程序语言才能实现。而MATLAB则可以用一个函数或一个命令高效率、高精度地解决这些问题。

2.2MATLAB对线性方程组的解算

测量平差中不管是哪种平差方法都是首先依据观测量或选用独立的参数列方程式,然后根据最小二乘法原理平差,由最小二乘法原理平差一般会得到法方程,法方程的求解即求解线性方程组。如线性方程组AX=b,A为系数矩阵,b为常数项矩阵,X为未知量,当方程存在唯一解时,直接使用矩阵求逆X=inv(A)3b,或采用左除运算X=A\b,其实这两种方法都是高斯消去法求解,只是采用左除运算不是求逆,而是直接进行高斯消去法计算。当然也可以采用LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等来求解线性方程组。另外当方程数与未知量数目不等时,通常不存在唯一解,在约束条件下可以得到唯一解。此时在MATLAB中X=Pinv(A)3b,或采用左除运算X=A\b会得到最小二乘解。当方程存在无穷多个解的时,如果采用求逆或除法只能得到其中的一个解。

3MATLAB在测量平差解算中的应用

如图1所示的水准网中A和B是已知高程水准点,并设这些已知高程点无误差,图中C、D和E都是待定点,A和B点的高程,观测高差和相应的水准路线长度见表1。

图1水准网观测路线

表1水准网观测数据

结合测量平差的原理,并对观测数据做适当的加工,分别用条件平差和间接平差的原理在MAT2LAB中实现观测量的平差,其代码如下:

disp(′……Thebeginingofadjustment……′)

;

h5=L0(5)

h5=L0(5)

;

3.1用条件平差的

文档评论(0)

159****1944 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档