1条件平差和间接平差的原理条件平差、间接平差、附有参数的条件平差、附有参数的间接平差是4种最基本的经典测量平差方法。它们都统一到附有参数的条件平差的概括平差函数模型中,但是在一般的编程中用的最多的是条件平差、间接平差函数模型以及其数学模型。1.1条件平差的基本原理测量中为了能及时发现错误和提高测量成果的精度,常常进行多余观测,通过在多余观测基础上建立列平差函数模型和随机模型来得到条件平差。条件方程为:AV-W=0在上式中,关键是对改正数V的求解,它实际上是一个线性方程组的求解问题,根据最小二乘法可得到观测值改正数:V=P-1ATK,其中K=Na-a1W,Naa=AP-1AT,那么由L^=L+V就可以得到各个观测量的平差值。但是测量平差还要通过建立观测量组成的函数,求其平差值函数的中误差,通过中误差来评估观测数据是否合格,这样才算完成了整个条件平差过程。1.2间接平差的基本原理当在一个平差问题中,选用独立的参数来代替观测量,当参数的个数和必要的观测量个数相等的时候,组成观测方程并建立相应的函数和随机模型,从而得到间接平差。间接平差误差方程为:V=Bx^-l实际上,这也是解决线性方程组的问题,同样运用最小二乘法原理得到独立参数的解为:x^=NB-B1W,其中Vbb=BTPB,这样就可以得到参数和观测值的平差值:X^=X0+x,^L^=L+V,从而计算得到各个观测量的平差值,进而进一步求其相应的平差值函数的中误差。各种平差方法的详细求解过程可以参考相应的文献得到,这里不再赘述。2MATLAB在测量平差解算中的优势MATLAB是一种集数值计算,符号运算,可视化建模,仿真和图形处理等多种功能于一体的高性能数值计算软件,具有优秀的数值计算能力和卓越的数据可视化能力。它的应用范围很广,尤其在数值运算(包括矩阵求解,方程式求解,多项式运算,数学极值计算等)和绘图处理方面显示出非常重要的学术价值和工程价值。平差过程及解算涉及较多的是矩阵和线性方程组的解算,而MATLAB在测量平差矩阵和线性方程组的解算方面体现独特的优势。2.1MATLAB的矩阵运算功能MATLAB是以矩阵作为数据操作的基本单位,矩阵的生成、运算、转置、求逆等非常简单。MAT-LAB有多种生成矩阵的方式,包括矩阵直接输入,从外部建立相应格式的数据文件调入,利用M文件中的函数生成,利用“[]”生成等。在MATLAB环境中,不需要对创建变量对象的维数和类型给出说明,所有的变量都作为双精度数来分配内存空间,MATLAB将自动地为每一个变量分配内存。MAT-LAB中对于矩阵运算,其程序的编写和实际的计算工程很类似,矩阵相加,程序编写形式为A+B;矩阵相乘为A*B;求解矩阵的转置形式为A;求解矩阵的逆阵形式为inv(A),这些计算都非常简单,这些功能在其他语言中则需要一段复杂的程序语言才能实现。而MATLAB则可以用一个函数或一个命令高效率、高精度地解决这些问题。2.2MATLAB对线性方程组的解算测量平差中不管是哪种平差方法都是首先依据观测量或选用独立的参数列方程式,然后根据最小二乘法原理平差,由最小二乘法原理平差一般会得到法方程,法方程的求解即求解线性方程组。如线性方程组AX=b,A为系数矩阵,b为常数项矩阵,X为未知量,当方程存在唯一解时,直接使用矩阵求逆X=inv(A)*b,或采用左除运算X=Ab,其实这两种方法都是高斯消去法求解,只是采用左除运算不是求逆,而是直接进行高斯消去法计算。当然也可以采用LU分解、QR分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等来求解
matlab解算平差实例,MATLAB软件在测量平差解算中的应用
最新推荐文章于 2021-10-12 21:59:59 发布