您好,欢迎来到花图问答。
搜索
您的当前位置:首页MatLab平差计算实习报告

MatLab平差计算实习报告

来源:花图问答
MatLab平差计算实习报告

(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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务