按间接平差原理写的代码,.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按间接平差原理写的代码,

按间接平差原理写的代码, 按间接平差原理写的代码,绝对有用,真实可靠 Dim strFileName As String Dim nn%, un%, tn%, hn% 已知点个数,未知点个数,总点数,观测值个数 Dim Pname() As String 点名数组 Dim Hknown() As Double 已知高程数组,存放已知点高程和高程近似值 Dim be%(), en%() 观测值的起点和终点编号数组,存储的是点序号 Dim h#(), s#() 高差观测值数组和距离观测值数组 Dim A#(), X#(), P#(), L#() 间接平差的系数阵、解向量、权阵和常数向量 平差计算 Private Sub mnuAdj_Click() Dim i%, j% ReDim X(1 To un) InAdjust A, P, L, X 调用间接平差的通用过程求解 计算并显示高程平差结果 txtShow.Text = txtShow.Text 平差计算结果: vbCrLf txtShow.Text = txtShow.Text 点号 初始高程(m) 高程改正数(m) 平差后高程(m) vbCrLf For i = 1 To un txtShow.Text = txtShow.Text Pname(nn + i) Format(Hknown(nn + i), 0.0000) Hknown(nn + i) = Hknown(nn + i) + X(i) txtShow.Text = txtShow.Text Format(X(i), 0.0000) Format(Hknown(nn + i), 0.0000) vbCrLf Next i txtShow.Text = txtShow.Text vbCrLf 计算并显示单位权中误差---------精度评定部分应该也包含在间接平差模块里,一起来调用 Dim dblT As Double dblT = 0 For i = 1 To un Next i End Sub 列立误差方程:给A、P、L赋值 Private Sub mnuEqu_Click() Dim i%, j% ReDim A(1 To hn, 1 To un), L(1 To hn), P(1 To hn, 1 To hn) 对每个观测值列误差方程 For i = 1 To hn If en(i) nn Then A(i, en(i) - nn) = 1 若终点未知,则给终点对应的系数矩阵元素赋值 If be(i) nn Then A(i, be(i) - nn) = -1 若起点未知,则给起点对应的系数矩阵元素赋值 L(i) = -(Hknown(en(i)) - Hknown(be(i)) - h(i)) 根据起终点计算常数项 P(i, i) = 1 / s(i) 以距离的倒数为权 Next i 显示误差方程 txtShow.Text = txtShow.Text 列立的误差方程: vbCrLf For i = 1 To hn For j = 1 To un txtShow.Text = txtShow.Text A(i, j) Next j txtShow.Text = txtShow.Text Format(L(i), 0.0000) vbCrLf Next i txtShow.Text = txtShow.Text 权矩阵: vbCrLf For i = 1 To hn For j = 1 To hn txtShow.Text = txtShow.Text P(i, j) Next j txtShow.Text = txtShow.Text vbCrLf Next i End Sub 计算近似高程 Private Sub mnuHeight_Click() Dim i%, j% For i = 1 To un For j = 1 To hn If be(j) = nn + i And en(j) nn + i Then 找到一个起点相同且终点已知的观测值 Hknown(nn + i) = Hknown(en(j)) - h(j) Exit For End If If en(j) = nn + i And be(j) nn + i Then 找到一个终点相同且起点已知的观测值 Hknown(nn + i) = Hknown(be(j)) + h(j) Exit For End If Next j Next i 显示近似高程计算结果 txtShow.Text = txtShow.Text 近似高程计算结果: vbC

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档