MATLAB软件在测量间接平差中的应用.doc
- 文档编号:30860837
- 上传时间:2024-05-02
- 格式:DOC
- 页数:6
- 大小:215KB
MATLAB软件在测量间接平差中的应用.doc
《MATLAB软件在测量间接平差中的应用.doc》由会员分享,可在线阅读,更多相关《MATLAB软件在测量间接平差中的应用.doc(6页珍藏版)》请在冰豆网上搜索。
MATLAB软件在测量间接平差中的应用
1 条件平差和间接平差的原理
条件平差、间接平差、附有参数的条件平差、附有参数的间接平差是4种最基本的经典测量平差方法。
它们都统一到附有参数的条件平差的概括平差函数模型中,但是在一般的编程中用的最多的是条件平差、间接平差函数模型以及其数学模型。
一条件平差的基本原理
测量中为了能及时发现错误和提高测量成果的精度,常常进行多余观测,通过在多余观测基础上建立列平差函数模型和随机模型来得到条件平差。
条件方程为:
在上式中,关键是对改正数V的求解,它实际上是一个线性方程组的求解问题,根据最小二乘法可得到观测值改正数:
其中-1,T,那么由就可以得到各个观测量的平差值。
但是测量平差还要通过建立观测量组成的函数,求其平差值函数的中误差,通过中误差来评估观测数据是否合格,这样才算完成了整个条件平差过程。
二间接平差的基本原理
当在一个平差问题中,选用独立的参数来代替观测量,当参数的个数和必要的观测量个数相等的时候,组成观测方程并建立相应的函数和随机模型,从而得到间接平差。
间接平差误差方程为:
实际上,这也是解决线性方程组的问题,同样运用最小二乘法原理得到独立参数的解为:
其中,这样就可以得到参数和观测值的平差值:
,从而计算得到各个观测量的平差值,进而进一步求其相应的平差值函数的中误差。
各种平差方法的详细求解过程可以参考相应的文献得到,这里不再赘述。
2 MATLAB在测量平差解算中的优势
MATLAB是一种集数值计算,符号运算,可视化建模,仿真和图形处理等多种功能于一体的高性能数值计算软件,具有优秀的数值计算能力和卓越的数据可视化能力。
它的应用范围很广,尤其在数值运算(包括矩阵求解,方程式求解,多项式运算,数学极值计算等)和绘图处理方面显示出非常重要的学术价值和工程价值。
平差过程及解算涉及较多的是矩阵和线性方程组的解算,而MATLAB在测量平差矩阵和线性方程组的解算方面体现独特的优势。
2.1 MATLAB的矩阵运算功能
MATLAB是以矩阵作为数据操作的基本单位,矩阵的生成、运算、转置、求逆等非常简单。
MAT2LAB有多种生成矩阵的方式,包括矩阵直接输入,从外部建立相应格式的数据文件调入,利用M文件中的函数生成,利用“[]”生成等。
在MATLAB环境中,不需要对创建变量对象的维数和类型给出说明,所有的变量都作为双精度数来分配内存空间,MATLAB将自动地为每一个变量分配内存。
MAT2LAB中对于矩阵运算,其程序的编写和实际的计算工程很类似,矩阵相加,程序编写形式为A+B;矩阵相乘为A3B;求解矩阵的转置形式为A′;求解矩阵的逆阵形式为inv(A),这些计算都非常简单,这些功能在其他语言中则需要一段复杂的程序语言才能实现。
而MATLAB则可以用一个函数或一个命令高效率、高精度地解决这些问题。
2.2 MATLAB对线性方程组的解算
测量平差中不管是哪种平差方法都是首先依据观测量或选用独立的参数列方程式,然后根据最小二乘法原理平差,由最小二乘法原理平差一般会得到法方程,法方程的求解即求解线性方程组。
如线性方程组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会得到最小二乘解。
当方程存在无穷多个解的时,如果采用求逆或除法只能得到其中的一个解。
3 MATLAB在测量平差解算中的应用
如图1所示的水准网中A和B是已知高程水准点,并设这些已知高程点无误差,图中C、D和E都是待定点,A和B点的高程,观测高差和相应的水准路线长度见表1。
图1 水准网观测路线
表1 水准网观测数据
结合测量平差的原理,并对观测数据做适当的加工,分别用条件平差和间接平差的原理在MAT2LAB中实现观测量的平差,其代码如下:
disp(′……Thebeginingofadjustment……′)
;
h5=L0(5)
h5=L0(5)
;
3.1 用条件平差的方法平差水准网
条件平差的函数模型为:
法方程为:
观测值改正数为:
观测值的平差值为:
计算待定点C,D,E点的平差高程:
计算平差后C到D间的平差高差h5及中误差d:
3.2 用间接平差的方法求解
间接平差误差方程为:
法方程为:
观测值改正数V为:
观测值平差值:
计算待定点C,D,E点的平差高程:
计算平差后C到D间的平差高差及中误差:
通过上述例子可以看出,在MATLAB下繁杂的测量平差解算问题显得非常容易,尤其是对于矩阵的运算更是显示出强大的优越性,程序简洁实用,很容易被理解。
同时应用MATLAB进行平差计算,可以非常清晰的体现平差计算的基本原理,计算思路清晰,非常适合对测量平差的学习和掌握,也为工程中解决复杂的平差计算问题提供了便捷的途径。
应用MATLAB也可以很容易的实现其他几种基本的平差方法的平差计算,很适合对所学知识的掌握和理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 软件 测量 间接 中的 应用