matlab平差程序设计,基于MATLAB的水准网平差程序设计与实现

科技信息 1.引言 目前,测量平差程序设计大多采用Fortran语言、C语言、Visual C++ 语言及Visual Basic语言进行程序的编制,这些语言在生成软件、进行封装等方面比较有优势。然而仅仅就根据实际情况的数据处理而言,近年来逐步发展起来的高性能科学计算分析编程软件MATLAB却具有巨大优势。在MATLAB中的M文件的语法与其他的高级语言类似,是一种程序化的编程语言,同时也是一种解释性的编程语言,即逐行解释运行程序,使程序容易调试,计算更为简捷,而且对于平差原理理解和掌握变得更容易,因此,本文采用MATLAB为编程语言实现水准网平差 程序的设计与实现。 2.水准网的平差模型 2.1 误差方程式 设水准网的总点数为m,各点高程的平差值以 x0 ,x1 ,…,xm-1 表示,网中共有n段观测高差 h0 ,h1 ,…,hn-1 ,以高程平差值为未知数,高差误差方程的一般形式为:υk =xi -xj -hk ( k =0,1,2,…,n-1)。其中,k 为观测值编号;hk 是观测高差;υk 是观测值的平差改正数,也叫残差;i,j表示高差两端点的编号(即点号);xi 、xj 分别表示观测高差起点和终点的高程平差值,即平差中的未知数。实际平差时还 要引入参数近似值,设 x0 i 、x0 j 为 xi 、xj 的近似值,δxi 、δxj 为平差值 与近似值的差,也叫改正数,即 xi =x0 i +δxi ,xj =x0 j +δxj ,代入误差 方程,设 X=[x0x1…xm-1]T 为高程平差值向量,将υk =xi -xj -hk 写成 矩阵形式为: υk =[0,⋅⋅⋅,0,-1,0,⋅⋅⋅,0,1,0,⋅⋅⋅,0] é ë ê ê ê ù û ú ú ú x0 x1 ⋮ xm-1 -hk 式中,系数向量各元素除了第i个元素为-1,第j个元素为1外,其余 的 值 均 为 0。 令 :Ak =[0,⋅⋅⋅,0,-1,0,⋅⋅⋅,0,1,0,⋅⋅⋅0], 式υk =xi -xj -hk 又可表示为 υk =AkX-hk ,于是,全网的误差方程为 V=AX-h 式中 V= é ë ê ê ê ù û ú ú ú υ0 υ1 ⋮ υn-1 A= é ë ê ê ê ù û ú ú ú A0 A1 ⋮ An-1 h= é ë ê ê ê ù û ú ú ú h0 h1 ⋮ hn-1 设高程平差值 X 的近似值向量为 Xo =[x0 0,x0 1,…,x0 m-1]T ,改正数 向量为δX=[δx0,δx1⋯δxm-1]T ,X=X0 +δX ,代入式V=AX-h ,得{V=AδX+l l=AX0 -h 其中,l 称为误差方程的自由项向量。评查过程中,l 是已知向量,δX 和V 是平差的待求量。引入参数近似值之后,平差的未知数由高 程转化为高程的改正数。 2.2 观测权 水准观测高差的精度与观测等级和高差的路线长度有关。假设网中有r 个观测等级,K1 ,K2 …,Kr 分别为各等级的每千米观测高差的中误差,观测值 hk 的中误差为 mhk =Kj⋅ sk ,其中,Kj 为 hk 所属等级的每千米观测高差的中误差。根据权的定义,设 μ为单位权中误差,观 测值的权为 pk = μ2 K2 j sk 上式为水准网平差定权的一般公式。在通常进行的水准网平差中 ,大 多 仅 有 一 种 等 级 的 观 测 值 ,即 K1=K2 =⋯=Kr =K, 取s0 = μ2 K2 ,则 pk = s0 sk ( k =0,1,2,…,n-1) 其中,sk 是观测值hk 的路

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值