MatLab平差计算实习报告.docx
- 文档编号:11913589
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:15
- 大小:128.74KB
MatLab平差计算实习报告.docx
《MatLab平差计算实习报告.docx》由会员分享,可在线阅读,更多相关《MatLab平差计算实习报告.docx(15页珍藏版)》请在冰点文库上搜索。
MatLab平差计算实习报告
MatLab平差计算实习报告
(1)实验目的和内容
实验目的:
1、掌握条件平差原理和计算
条件方程的建立
误差方程的建立
误差方程的求解
精度计算
2、掌握MatLab平差计算
实验内容:
条件平差计算
不同条件方程计算
计算结果比较
条件方程一:
h1-h2+h5=0v1-v2+v5+7=0
h3-h4+h5=0v3-v4+v5+8=0
h3+h6+h7=0v3+v6+v7+6=0
hA+h2-h4=hBv2-v4-3=0
将上述方程用矩阵表达为:
A=
1-100100
001-1100
0010011
010-1000
W=
7
8
6
-3
权:
P=
0.9091000000
00.588200000
000.43480000
0000.3704000
00000.416700
000000.71430
0000000.3846
权逆阵:
Q=inv(P)
=1.1000000000
01.700000000
002.30000000
0002.7000000
00002.400000
000001.40000
0000002.6000
法方程系数阵:
Naa=A*Q*A'
=5.20002.40000-1.7000
2.40007.40002.30002.7000
02.30006.30000
-1.70002.700004.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.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.16080.36990.18570.3450
-0.16080.9242-0.1608-0.7758-0.61510.05630.1045
-0.5307-0.16081.7693-0.16080.36990.18570.3450
-0.1608-0.7758-0.16081.9242-0.61510.05630.1045
0.3699-0.61510.3699-0.61511.4150-0.1295-0.2404
0.18570.05630.18570.0563-0.12950.42500.7893
0.34500.10450.34500.1045-0.24040.78931.4658
求高差平差值协因数:
QLL=Q-QVV
=0.53070.16080.53070.1608-0.3699-0.1857-0.3450
0.16080.77580.16080.77580.6151-0.0563-0.1045
0.53070.16080.53070.1608-0.3699-0.1857-0.3450
0.16080.77580.16080.77580.6151-0.0563-0.1045
-0.36990.6151-0.36990.61510.98500.12950.2404
-0.1857-0.0563-0.1857-0.05630.12950.9750-0.7893
-0.3450-0.1045-0.3450-0.10450.2404-0.78931.1342
条件方程二:
hA+h1-h3=hBv1-v3-4=0
hA+h1+h5-h4=hBv1+v5-v4-4=0
hA+h1+h6+h7=hBv1+v6+v7+2=0
h6+h7+h4-h5=0v6+v7+v4-v5-2=0
将上述方程用矩阵表达为:
A=
10-10000
100-1100
1000011
0001-111
W=
-4
-4
2
-2
权:
P=
0.9091000000
00.588200000
000.43480000
0000.3704000
00000.416700
000000.71430
0000000.3846
权逆阵:
Q=inv(P)
=1.1000000000
01.700000000
002.30000000
0002.7000000
00002.400000
000001.40000
0000002.6000
法方程系数阵:
Naa=A*Q*A'
=3.40001.10001.10000
1.10006.20001.1000-5.1000
1.10001.10005.10004.0000
0-5.10004.00009.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
求平差值:
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.55410-0.5837-0.33750.30000.17500.3250
0000000
-0.583701.7163-0.19410.17250.20120.3737
-0.18220-0.19411.3500-1.20000.35000.6500
0.192500.1725-1.35001.2000-0.3500-0.6500
0.178800.20120.3375-0.30000.52500.9750
0.371300.37370.6750-0.60001.05001.9500
求高差平差值协因数:
QLL=Q-QVV
=0.545900.58370.3375-0.3000-0.1750-0.3250
01.700000000
0.583700.58370.1941-0.1725-0.2012-0.3737
0.182200.19411.35001.2000-0.3500-0.6500
-0.19250-0.17251.35001.20000.35000.6500
-0.17880-0.2012-0.33750.30000.8750-0.9750
-0.37130-0.3737-0.67500.6000-1.05000.6500
(2)实习工具软件介绍
1、MATLAB语言的发展
matlab语言是由美国的CleverMoler博士于1980年开发的
设计者的初衷是为解决“线性代数”课程的矩阵运算问题
取名MATLAB即MatrixLaboratory矩阵实验室的意思
Ø它将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的相结合
Ø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、定义并输入初始值
Step1:
在Workspace中定义初始值变量
Step2:
给初始值变量赋值
(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、计算
QVV=Q*A'*inv(Naa)*A*Q
QLL=Q-QVV
(5)实验结果分析
方法一使用的是例题所给的条件方程,但计算结果与给出的结果稍有差异,检查输入数据与公式并无错误,可能由于计算的环境与计算精度都不相同,从而导致了差异的产生。
方法一与方法二计算的环境与计算精度都是相同的,但计算结果仍然不同,这是由于所列方程不同引起的。
由此也可以看出,通过列不同的条件方程可得出不同的精度,我们可以择优而用。
(6)结论及建议
结论:
通过对MATLAB的学习,了解到它是一个很不错的矩阵计算的数学计算软件,它能使得以前很复杂的矩阵运算变得很简单,让我们对误差传播定律有了更深的了解。
但由于是第一次使用该软件,只是通过老师上课讲解的那短短十几分钟,对MATLAB只是有了初步的认识,自己并不能独立将平时所列的式子转化为MATLAB的标准语言,将其执行出来,课后应加强对这个软件的学习。
建议:
老师可将MATLAB这个软件讲解的时间加长,特别是语法部分,让我们对它有更深的认识,更快学会将它运用到实际中去。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MatLab 计算 实习 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)