(1) 实验目的和内容 实验目的:
1、掌握条件平差原理和计算
条件方程的建立 误差方程的建立 误差方程的求解 精度计算
2、掌握MatLab平差计算 实验内容: 条件平差计算
不同条件方程计算 计算结果比较
条件方程一:
h1-h2+h5=0 v1-v2+v5+7=0 h3-h4+h5=0 v3-v4+v5+8=0 h3+h6+h7=0 v3+v6+v7+6=0 hA+h2-h4=hB v2-v4-3=0
将上述方程用矩阵表达为: A =
1 -1 0 0 1 0 0 0 1 -1 1 0 0 0 1 0 0 1 0 1 0 -1 0 0 W =
7 8 6 -3
权:P =
0 0 1 0 0.9091 0 0 0 0 0 0 0 0.5882 0 0 0 0 0 0 0 0.4348 0 0 0 0 0 0 0 0.3704 0 0 0 0 0 0 0 0.4167 0 0 0 0 0 0 0 0.7143 0 0 0 0 0 0 0 0.3846
权逆阵:Q=inv(P)
= 1.1000 0 0 0 0 0 1.7000 0 0 0 0 0 0 2.3000 0 0 0 0 0 0 2.7000 0 0 0 0 0 0 2.4000 0 0 0 0 0 0 1.4000 0 0 0 0 0 0
法方程系数阵:Naa=A*Q*A'
= 5.2000 2.4000 0 -1.7000 2.4000 7.4000 2.3000 2.7000 0 2.3000 6.3000 0
-1.7000 2.7000 0 4.4000
解联系数:K=-inv(Naa)*W = -0.2206 -1.4053 -0.4393 1.4589
求改正数:V=Q*A'*K =-0.2427 2.8552 -4.2427 -0.1448 -3.9021 -0.6151 -1.1423
求平差值:LL=L+V
=1.1163
4.8642 -3.8797 0.8672 -3.2451
0 0 0 0 0 0 0 2.6000 -0.3771 -1.7373
单位权中误差:sigma0=sqrt(V'*P*V/r) = 2.2248
求改正数协因数:QVV=Q*A'*inv(Naa)*A*Q
=0.5693 -0.1608 -0.5307 -0.1608 0.3699 0.1857 0.3450 -0.1608 0.9242 -0.1608 -0.7758 -0.6151 0.0563 0.1045 -0.5307 -0.1608 1.7693 -0.1608 0.3699 0.1857 -0.1608 -0.7758 -0.1608 1.9242 -0.6151 0.0563 0.3699 -0.6151 0.3699 -0.6151 1.4150 -0.1295 0.1857 0.0563 0.1857 0.0563 -0.1295 0.4250 0.3450 0.1045 0.3450 0.1045 -0.2404 0.7893
求高差平差值协因数:QLL=Q-QVV
=0.5307 0.1608 0.5307 0.1608 -0.3699 -0.1857 0.1608 0.7758 0.1608 0.7758 0.6151 -0.0563 0.5307 0.1608 0.5307 0.1608 -0.3699 -0.1857 0.1608 0.7758 0.1608 0.7758 0.6151 -0.0563 -0.3699 0.6151 -0.3699 0.6151 0.9850 0.1295 -0.1857 -0.0563 -0.1857 -0.0563 0.1295 0.9750 -0.3450 -0.1045 -0.3450 -0.1045 0.2404 -0.7893
条件方程二:
hA+h1-h3=hB v1-v3-4=0 hA+h1+h5-h4=hB v1+v5-v4-4=0 hA+h1+h6+h7=hB v1+v6+v7+2=0 h6+h7+h4-h5=0 v6+v7+v4-v5-2=0
将上述方程用矩阵表达为: A =
1 0 -1 0 0 0 0 1 0 0 -1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 -1 1 1 W =
-4 -4
0.3450 0.1045 -0.2404 0.7893
1.4658 -0.3450 -0.1045 -0.3450 -0.1045 0.2404 -0.7893 1.1342 2 -2
权:P =
0.9091 0 0 0 0 0 0 0 0.5882 0 0 0 0 0 0 0 0.4348 0 0 0 0 0 0 0 0.3704 0 0 0 0 0 0 0 0.4167 0 0 0 0 0 0 0.7143 0 0 0 0 0 0
权逆阵:Q=inv(P)
= 1.1000 0 0 0 0 0 1.7000 0 0 0 0 0 0 2.3000 0 0 0 0 0 0 2.7000 0 0 0 0 0 0 2.4000 0 0 0 0 0 0 1.4000 0 0 0 0 0 0
法方程系数阵:Naa=A*Q*A'
= 3.4000 1.1000 1.1000 0 1.1000 6.2000 1.1000 -5.1000 1.1000 1.1000 5.1000 4.0000 0 -5.1000 4.0000 9.1000
解联系数:K=-inv(Naa)*W = 0.0000 4.5036 -4.5036 4.5036
求改正数:V=Q*A'*K =- 1.0000 0 -2.9849 -2.0000 2.0000 -1.0000 -2.0000
0 0 0.3846 0 0 0 0 0 0 0 2.6000 求平差值:LL=L+V =
2.3590 2.0090 -2.6219 -0.9880 2.6570 -0.7620 -2.5950
单位权中误差:sigma0=sqrt(V'*P*V/r) = 1.5956
求改正数协因数:QVV=Q*A'*inv(Naa)*A*Q
= 0.5541 0 -0.5837 -0.3375 0.3000 0.1750 0.3250 0 0 0 0 0 0 0 -0.5837 0 1.7163 -0.1941 0.1725 0.2012 0.3737 -0.1822 0 -0.1941 1.3500 -1.2000 0.3500 0.6500 0.1925 0 0.1725 -1.3500 1.2000 -0.3500 -0.6500 0.1788 0 0.2012 0.3375 -0.3000 0.5250 0.9750 0.3713 0 0.3737 0.6750 -0.6000 1.0500 1.9500
求高差平差值协因数:QLL=Q-QVV
=0.5459 0 0.5837 0.3375 -0.3000 -0.1750 -0.3250 0 1.7000 0 0 0 0 0 0.5837 0 0.5837 0.1941 -0.1725 -0.2012 -0.3737 0.1822 0 0.1941 1.3500 1.2000 -0.3500 -0.6500 -0.1925 0 -0.1725 1.3500 1.2000 0.3500 0.6500 -0.1788 0 -0.2012 -0.3375 0.3000 0.8750 -0.9750 -0.3713 0 -0.3737 -0.6750 0.6000 -1.0500 0.6500
(2) 实习工具软件介绍
1、MATLAB语言的发展
matlab语言是由美国的Clever Moler博士于1980年开发的 设计者的初衷是为解决“线性代数”课程的矩阵运算问题 取名MATLAB即Matrix Laboratory 矩阵实验室的意思
➢ 它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合
➢ MATLAB是一种直译式的高级语言,比其它程序设计语言容易
2、MATLAB功能
• 强大的数值(矩阵)运算功能
• • • • • 广泛的符号运算功能
高级与低级兼备的图形功能(计算结果的可视化功能) 可靠的容错功能
应用灵活的兼容与接口功能 信息量丰富的联机检索功能
3、MATLAB界面
MATLAB操作 1. 创建矩阵的方法
• 直接输入法 规则:
矩阵元素必须用[ ]括住
矩阵元素必须用逗号或空格分隔 在[ ]内矩阵的行与行之间必须用分号分隔
2、数据的保存与获取
• 把matlab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。 3、矩阵运算
➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢
矩阵加、减(+,-)运算 矩阵乘()运算 矩阵乘()运算 数组乘除(,./,.\\) 矩阵的其它运算 inv —— 矩阵求逆 det —— 行列式的值 eig —— 矩阵的特征值 diag —— 对角矩阵 ’ —— 矩阵转置 sqrt —— 矩阵开方
4、符号运算
与数值运算的区别
※ 数值运算中必须先对变量赋值,然后才能参与运算。
※ 符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。
5、matlab 绘图
(一)plot —— 最基本的二维图形指令plot的功能:
• plot命令自动打开一个图形窗口Figure • 用直线连接相邻两数据点来绘制图形 • 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对数坐标表示
• plot(x) —— 缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图
• plot(x,y) —— 基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线 • plot(x1,y1,x2,y2) —— 多条曲线绘图格式
plot(x,y,’s’) —— 开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel表示等。
(二)三维网格图
• mesh —— 三维网线绘图函数
• 调用格式:
mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标 mesh(x,y,z) —— x,,y,z分别为三维空间的坐标位置
(3)原理
测量平差的解算,主要是基于矩阵的运算,所以在测量平差的计算中,采用MATLAB来进行计算式非常方便的。也可以编写相关的平差程序,不仅使计算更为简洁,而且对于平差原理理解和掌握变得更加容易。 用MATLAB进行条件平差计算,主要矩阵公式如下: 条件方程:AV+W=0 法方程式:NK+W=0 观测值改正数:V=QAK 观测值平差值:LL=L+V
(4)实验步骤
1、定义并输入初始值
Step 1: 在Workspace中定义初始值变量
Step 2: 给初始值变量赋值
(1)双击变量,得到如图变量赋值表
(2)分别给其赋值
2、定义给系数阵A,L0,W并赋值
3、计算W
W=A*L+L0
4、计算Naa
Q=inv(P); Naa=A*Q*A' K=-inv(Naa)*W
5、计算改正数
V=Q*A'*K
6、计算平差值及单位权方差 LL=L+V
sigma0=sqrt(V'*P*V/r) 7、计算QLˆLˆ
QVV=Q*A'*inv(Naa)*A*Q QLL=Q-QVV
(5)实验结果分析
方法一使用的是例题所给的条件方程,但计算结果与给出的结果稍有差异,检查输入数据与公式并无错误,可能由于计算的环境与计算精度都不相同,从而导致了差异的产生。
方法一与方法二计算的环境与计算精度都是相同的,但计算结果仍然不同,这是由于所列方程不同引起的。由此也可以看出,通过列不同的条件方程可得出不同的精度,我们可以择优而用。
(6)结论及建议
结论:通过对MATLAB的学习,了解到它是一个很不错的矩阵计算的数学计算软件,它能使得以前很复杂的矩阵运算变得很简单,让我们对误差传播定律有了更深的了解。但由于是第一次使用该软件,只是通过老师上课 讲解的那短短十几分钟,对MATLAB只是有了初步的认识,自己并不能独立将平时所列的式子转化为MATLAB的标准语言,将其执行出来,课后应加强对这个软件的学习。
建议:老师可将MATLAB这个软件讲解的时间加长,特别是语法部分,让我们对它有更深的认识,更快学会将它运用到实际中去。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务