- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测量平差程序设计第四讲组法方程 一、平差程序组法方程方法 设有n个观测值,组成误差方程组为: 一、平差程序组法方程方法 其中法方程系数、常数阵中的数值分别为: 由此可见自乘系数[paa]是由n个值的和组成,这n个值分别是各观测值误差方程中第一个未知数系数平方乘以观测值的权;互乘系数[pab]也是由n个值的和组成,这n个值分别是各观测值误差方程中第一和第二个未知数系数之积乘以观测值的权;…。 根据这一特点,平差程序组法方程采用的算法是: 误差方程与法方程系数对应关系 一.误差方程系数、常数储存 误差方程系数临时保存在一维数组nb()中,以未知数编号为nb()中系数的下标,误差方程常数临时保存在一个单变量l中。 二.法方程系数、常数储存 法方程系数、常数项分别保存在不同数组中。常数项保存在一个一维数组中,下标是法方程组中方程的序号,即下标为1则表明是法方程组中第一个方程的常数。法方程系数阵本是一个对称方阵,由于采用高斯约化解算法方程,实际上只用到对称系数矩阵主对角线以上的部分。所以为了节省内存,平差示例程序中采用一维数组保存法方程系数,并且只保存主对角线以上的数值,因而法方程系数阵称为上三角阵。 三.误差方程和法方程系数对应关系 法方程系数阵二维数组和常数阵一维数组下标编排为: 三.误差方程和法方程系数对应关系 分析误差方程和法方程系数、常数在数组变量中的下标编号,可以得出如下结论: ①.误差方程系数两两相乘时,误差方程两系数在数组nb()的下标,就是乘积值所充填到法方程系数阵二维数组变量的下标。例如 中、 在误差方程系数数组中的下标分别是2,4,充填到法方程系数阵二维数组变量中的下标就是(2,4)。 三.误差方程和法方程系数对应关系 ②.误差方程系数和常数项的乘积值,充填到法方程常数项数组变量中时,常数项数组中的下标取决于误差方程系数在数组nb()中的下标。例如 中的 在误差方程系数数组nb()中的下标是4,所以充填到法方程常数一维数组变量中的下标就是4。 四.法方程系数二维与一维存储的关系 采用高斯约化法解算法方程,主对角线以下元素没有用到。因此为了节省内存,示例平差程序法方程系数阵采用上三角储存。系数阵元素储存在一维数组中,其一维下标和二维数组元素下标对应关系如下: 四.法方程系数二维与一维存储的关系 设i和j是法方程系数阵二维储存时的行号和列号,根据一维数组变量下标的递增方式和图3.17中一维和二维数组变量下标的对应关系,可以归纳出如下规律: 1.主对角线上元素行列号相同,下标计算公式为i*(i+1)/2。 2.计算j列中数组变量下标应以前一列主对角线元素下标为基础,即以j*(j-1)/2为起算值。 3.若对主对角线元素下标加常数k,则按j*(j-1)/2+k计算,所得数组变量下标表示的位置均在k行上。 四.法方程系数二维与一维存储的关系 由上述规律可得出根据二维数组变量下标(i,j)计算一维数组变量下标h的公式为: h= (j - 1) * j / 2 + i (3-11) 由此可见,用两两互乘误差方程系数在数组变量中的下标,直接确定互乘值在法方程系数阵二维数组变量中的下标后,就可用公式(3-11)确定其在上三角阵一维数组中的下标。 五、平面网组法方程程序代码 ...... q = 206265: pll = 0 ws = 2 * (zds - yds) 求未知数数目。 n1 = ws * (ws + 1) / 2 一维存储法方程系数数组上限。 ReDim Nx(n1), UX(ws) 确定法方程系数、常数数组容量。 For i = 1 To cds 按测站循环。 zo = 0 将按测站各方向计算值累加的定向角之和变量,在新测站前清零。下面开始处理一个测站的方向观测值。 k1 = nl(i - 1) + 1: k2 = nl(i) k1和k2分别是测站i上最小和最大方向号。 五、平面网组法方程程序代码 If k2k1 then For j = k1 To k2 在i测站上按方向循环,按平均值公式 求定向角未知数。 k = seqn(lb(j)) dx = x(k) - x(i):dy = y(k) - y(i) t = azimuth(dx, dy)’调自定义函数azimuth(),反算坐标方位角。 五、平面网组法方程程序代码 f1 = t - l(j)‘ 以测站上方向值计算零方角方位角f1。 If f1 0 Then f1 = f1 + 2 * pi 当零方向方位角大于其它方向方位角时,t-l(j)会小于0。 zo = zo + f1 Next j zo = zo / (k2 -
文档评论(0)