MATLAB实习报告(2)
实验二 MATLAB矩阵分析与处理
王夏
一、 实验目的
1、 掌握生成特殊矩阵的方法。
2、 掌握矩阵分析的方法。
3、 用矩阵求逆发解线性方程组。
二、 实验内容
1、 设有分块矩阵A=[E3×3 R3×2 ;O2×3 S2×2],其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证A?=[E R+RS;O S?]。 程序清单:E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag([4,5]);
A=[E R ;O S] ; A2=A^2; C=[E R+R*S;O S^2]; length(find(A2==C))==25 运行结果:ans =1
2、 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及他们的条件数Th和Tp,判断哪个矩阵的性能更好,为什么? 程序清单:format rat
H=hilb(5) ;format short
P=pascal(5); Hh=det(H); Hp=det(P);
Th=cond(A) ;Tp=cond(P); 运行结果:Hh =3.7493e-012
Hp =1
Th =5.5228
Tp =8.5175e+003 实验收获:会建立希尔伯特矩阵和帕斯卡矩阵,知道怎么求矩阵行列式的值以及条件数。希尔伯特矩阵的性能更好,条件数越接近1的矩阵性能越好。
3、 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。 程序清单:A=[1:5;1:0.1:1.5;2 5 7 3 9;2:6;3:0.4:4.6] Ha=det(A);Ra=rank(A) ;Ta=trace(A); Na=norm(A); 运行结果:Ha =1.4421e-031
Ra = 3
Ta =18.7000
Na =19.4966
4、 已知向量A,求A的特征值及特征向量,并分析其数学意义。 程序清单:A=[-29 6 18 ;20 5 12;-8 8 5]
[V,D]=eig(A) 运行结果:V =
0.7130 0.2803 0.2733
-0.6084 -0.7867 0.8725
0.3487 0.5501 0.4050
D =
-25.3169 0 0
0 -10.5182 0
0 0 16.8351
5、 求解下列的线性方程组:
[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]*[x1;x2;x3]=
[0.95;0.67;0.52]
(1)求方程的解 程序清单:format rat
A=[1/2 1/3 1/4; 1/3 1/4 1/5;1/4 1/5 1/6]
format short
B=[0.95;0.67;0.52];
x=inv(A)*B 运行结果:x =1.2000
0.6000
0.6000
(2)将方程右边向量元素b3改为0.53,在求解,并比较b3的变化和解的相对变化。 程序清单:B=[0.95;0.67;0.53];
x=inv(A)*B 运行结果:x = 3.0000
-6.6000
6.6000
(3)计算系数矩阵的条件数并分析结论。 程序清单:cond(A) 运行结果:ans = 1.3533e+003
6、 建立A矩阵,试比较sqrtm(A)和sqrt(A),并分析他们的区别。 程序清单:a=rand(5) ;a1=sqrtm(a); a2=sqrt(a); 运行结果:a =
0.4565 0.7919 0.9355 0.3529 0.1987
0.0185 0.9218 0.9169 0.8132 0.6038 0.8214 0.7382 0.4103 0.0099 0.2722 0.4447 0.1763 0.8936 0.1389 0.1988 0.6154 0.4057 0.0579 0.2028 0.0153 a1 =
0.5983 0.4165 0.5202 0.1609 -0.0723
-0.3534 0.9522 0.4754 0.6539 0.3489 0.6282 0.3061 0.4941 -0.2370 0.2398 -0.0864 -0.0324 0.8597 0.6144 -0.0023 0.9294 0.1090 -0.4271 -0.1196 0.3829 a2 =
0.6756 0.8899 0.9672 0.5940 0.4458
0.1360 0.9601 0.9576 0.9018 0.7770 0.9063 0.8592 0.6405 0.0993 0.5217
0.6669 0.4198 0.9453 0.3727 0.4459
0.7845 0.6370 0.2406 0.4503 0.1236 实验收获:sqrt是对矩阵中的元素求平方根,sqrtm是求矩阵的平方根。即若b=sqrtm(a),则b^2=a。
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 0 1 -1 1 0 0
0 0 1 0 0 1 1
0 1 0 -1 0 0 0
W =
7
8
6
-3
权: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 0.7143 0
0 0 0 0 0 0 0.3846
权逆阵:Q=inv(P)
= 1.1000 0 0 0 0 0 0
0 1.7000 0 0 0 0 0
0 0 2.3000 0 0 0 0
0 0 0 2.7000 0 0 0
0 0 0 0 2.4000 0 0
0 0 0 0 0 1.4000 0
0 0 0 0 0 0 2.6000
法方程系数阵: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.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.3450
-0.1608 -0.7758 -0.1608 1.9242 -0.6151 0.0563 0.1045
0.3699 -0.6151 0.3699 -0.6151 1.4150 -0.1295 -0.2404
0.1857 0.0563 0.1857 0.0563 -0.1295 0.4250 0.7893
0.3450 0.1045 0.3450 0.1045 -0.2404 0.7893 1.4658
求高差平差值协因数:QLL=Q-QVV
=0.5307 0.1608 0.5307 0.1608 -0.3699 -0.1857 -0.3450
0.1608 0.7758 0.1608 0.7758 0.6151 -0.0563 -0.1045
0.5307 0.1608 0.5307 0.1608 -0.3699 -0.1857 -0.3450
0.1608 0.7758 0.1608 0.7758 0.6151 -0.0563 -0.1045
-0.3699 0.6151 -0.3699 0.6151 0.9850 0.1295 0.2404
-0.1857 -0.0563 -0.1857 -0.0563 0.1295 0.9750 -0.7893
-0.3450 -0.1045 -0.3450 -0.1045 0.2404 -0.7893 1.1342
条件方程二:
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
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 0.7143 0
0 0 0 0 0 0 0.3846
权逆阵:Q=inv(P)
= 1.1000 0 0 0 0 0 0
0 1.7000 0 0 0 0 0
0 0 2.3000 0 0 0 0
0 0 0 2.7000 0 0 0
0 0 0 0 2.4000 0 0
0 0 0 0 0 1.4000 0
0 0 0 0 0 0 2.6000
法方程系数阵: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
求平差值: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、计算
QVV=Q*A'*inv(Naa)*A*Q
QLL=Q-QVV
(5)实验结果分析
方法一使用的是例题所给的条件方程,但计算结果与给出的结果稍有差异,检查输入数据与公式并无错误,可能由于计算的环境与计算精度都不相同,从而导致了差异的产生。
方法一与方法二计算的环境与计算精度都是相同的,但计算结果仍然不同,这是由于所列方程不同引起的。由此也可以看出,通过列不同的条件方程可得出不同的精度,我们可以择优而用。
(6)结论及建议
结论:通过对MATLAB的学习,了解到它是一个很不错的矩阵计算的数学计算软件,它能使得以前很复杂的矩阵运算变得很简单,让我们对误差传播定律有了更深的了解。但由于是第一次使用该软件,只是通过老师上课 讲解的那短短十几分钟,对MATLAB只是有了初步的认识,自己并不能独立将平时所列的式子转化为MATLAB的标准语言,将其执行出来,课后应加强对这个软件的学习。
建议:老师可将MATLAB这个软件讲解的时间加长,特别是语法部分,让我们对它有更深的认识,更快学会将它运用到实际中去。
MATLAB实习报告姓名:学院:电气信息工程学院专业:电子信息工程班级学号:信息(2)班指导教师:实习时间:20xx,5,13至2…
MATLAB实习报告1实验一MATLAB运算基础王夏20xx301610405一实验目的1熟悉启动和退出MATLAB的方法2熟悉M…
1求fx4x6xx395在0100上最大值最小值根使用函数fminbndrootsgtgtxyfminbnd394x6xx3953…
湖南大学MATLAB工程实训报告题目学院名称专业班级学生姓名学号指导老师目录第一节MATLAB工程实训意义111MATLAB工程训…
仿真平台与工具应用实践报告院系专业班级姓名学号指导老师一设计目的Matlab现在的发展已经使其成为一种集数值运算符号运算数据可视化…
通过《matlab仿真》实验使我学习掌握了许多知识。首先是对matlab有了一个全新的认识,其次是对matlab的更多操作和命令的…
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可…
MatLab实习心得体会我从中国石油大学(北京)来到大庆油田勘探开发研究院实习,刚刚来到这里时我内心充满了激动和喜悦,对这个有着辉…
海洋数据处理及可视化课程实习报告气压层的气温降水量气压海表温度相关性的初步探讨以北纬30为例专业海洋科学物理海洋学号姓名指导老师时…
Matlab学习心得数学实验周我们学习了Matlab软件这是一个十分实用和重要的软件初次结识MATLAB感觉这是一个很好的软件语言…
MATLAB实习报告姓名:学院:电气信息工程学院专业:电子信息工程班级学号:信息(2)班指导教师:实习时间:20xx,5,13至2…