实验六测量数据可视化.docx
- 文档编号:7319813
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:17
- 大小:405.38KB
实验六测量数据可视化.docx
《实验六测量数据可视化.docx》由会员分享,可在线阅读,更多相关《实验六测量数据可视化.docx(17页珍藏版)》请在冰豆网上搜索。
实验六测量数据可视化
实验六测量数据可视化
一、实验目的
1、掌握用plot函数和fplot函数绘制曲线的方法
2、通过练习熟悉三维曲线和曲面图的绘制方法
3、掌握测量误差曲线和二维地形图等绘制方法
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验内容
1.测量平差中偶然误差分布图形绘制
根据偶然误差Δ服从Δ~N(0,σ2),可以应用MATLAB绘制出均方差为σ=1,σ=2的正态分布概率密度函数的误差分布曲线,具体为
x=-4∶0.1∶4;
y1=normpdf(x,0,1);
plot(x,y1,′r′)
holdon
y2=normpdf(x,0,2);
plot(x,y2,′b′)
holdoff
2.测量平差中误差椭圆的绘制
平差后任一待定点坐标平差值可以计算出,而且还可计算出误差椭圆的三要素:
长半轴E,短半轴F,极大值方向。
functionellipse(x,y,A,B,angle)
%参数说明:
x,y-椭圆中点的横纵坐标;A,B-椭圆长短轴;angle-椭圆旋转角度
%该函数可以通过无数个点的绘制,实现任意方向误差椭圆的绘制。
plot(y+A*sin(angle)*cos(0:
pi/360:
2*pi)+B*cos(angle)*sin(0:
pi/360:
2*pi),…x+A*cos(angle)*cos(0:
pi/360:
2*pi)-B*sin(angle)*sin(0:
pi/360:
2*pi));
axis('equal');
xlabel('x');
ylabel('y');
title('eclipse');
%以上为函数式M文件
运行ellipse(400,400,100,50,pi/4)
3、图形加注功能
例:
t=0:
0.1:
10;
y1=sin(t);y2=cos(t);
plot(t,y1,'r',t,y2,'b--');
x=[1.7*pi;1.6*pi];
y=[-0.3;0.8];
s=[‘sin(t)’;‘cos(t)’];
text(x,y,s);%指定位置加标注
title('正弦和余弦曲线');
legend('正弦','余弦')
label('时间t');ylabel('正弦、余弦');%自动打开
grid
axissquare
gridoff
4.再看:
下面表格是某城市的采样点的具体位置及海拔,取前50个样本点(共319个取样点)。
附件1.取样点位置及其所属功能区
编号
x(m)
y(m)
海拔(m)
功能区
编号
x(m)
y(m)
海拔(m)
功能区
1
74
781
5
4
26
5635
7965
29
4
2
1373
731
11
4
27
5394
8631
12
4
3
1321
1791
28
4
28
5291
7349
10
4
4
0
1787
4
2
29
4742
7293
9
2
5
1049
2127
12
4
30
4948
7293
6
2
6
1647
2728
6
2
31
5567
6782
7
2
7
2883
3617
15
4
32
7004
6226
11
4
8
2383
3692
7
2
33
7304
5230
10
1
9
2708
2295
22
4
34
7048
4600
24
4
10
2933
1767
7
4
35
8180
4496
15
4
11
4233
895
6
5
36
9328
4311
24
1
12
4043
1895
14
1
37
9090
5365
20
4
13
2427
3971
2
1
38
8049
5439
18
4
14
3526
4357
7
4
39
8077
6401
29
1
15
5062
4339
5
4
40
8017
7210
39
4
16
4777
4897
8
1
41
6869
7286
18
4
17
5868
4904
16
4
42
7056
8348
37
1
18
6534
5641
6
1
43
7747
8260
49
4
19
5481
6004
0
4
44
8457
8991
21
4
20
4592
4603
6
1
45
9460
8311
45
4
21
2486
5999
2
1
46
9062
7639
45
4
22
3299
6018
4
4
47
9319
6799
49
4
23
3573
6213
5
1
48
10631
6472
57
4
24
4741
6434
5
5
49
10685
5528
34
4
25
5375
8643
15
1
50
10643
4472
45
4
功能区
1
生活区
2
工业区
3
山区
4
交通区
5
公园绿地区
下表是测量所得50个样本点的Cd浓度
表二为前50个样本点的Cd的浓度:
附件2.8种主要重金属元素的浓度
编号
Cd(ng/g)
编号
Cd(ng/g)
1
153.80
26
583.40
2
146.20
27
366.40
3
439.20
28
323.90
4
223.90
29
424.50
5
525.20
30
630.00
6
1092.90
31
635.30
7
269.80
32
463.40
8
1066.20
33
532.00
9
1123.90
34
778.70
10
267.10
35
754.80
11
201.40
36
396.30
12
287.00
37
687.80
13
193.70
38
526.00
14
359.50
39
449.10
15
516.40
40
852.70
16
1044.50
41
459.00
17
445.40
42
337.30
18
347.90
43
568.10
19
345.70
44
599.00
20
614.00
45
635.50
21
257.20
46
600.70
22
1213.50
47
567.60
23
325.80
48
228.50
24
212.10
49
568.60
25
90.50
50
214.70
根据数据可知,取样点之间的地理距离是无关的,在考虑重金属污染元素的分布式,只需把海拔换成浓度。
在编写程序中发现这不是一般的函数曲面,而是不规则采样点的集合。
调用linespace函数在采样点范围内生成非均匀分布的数
。
联合调用griddata函数将数据内插到图中。
程序清单
我们给出地形图和Cd元素的分析程序代码:
程序1:
A=xlsread('附件_数据.xls',1,'B4:
E53');
%先将数据放在电子表格中,再读取把第1页中数据读取,必须会!
!
!
x1=A(:
1);y1=A(:
2);
z1=A(:
3);
[X1,Y1,Z1]=griddata(x1,y1,z1,linspace(min(x1),max(x1),200)',linspace(min(y1),max(y1),200),'v4');%插值,v4是一种插值算法
surf(X1,Y1,Z1);
shadinginterp;%在flat的基础上进行色彩的插值处理,使色彩平滑过渡
title('含量分布三维曲面');
程序2:
A=xlsread('附件_数据.xls',1,'B4:
E53');
B=xlsread('附件_数据.xls',2,'H4:
I53');
D=[AB];
x1=D(:
1);y1=D(:
2);
z1=D(:
6);
[X1,Y1,Z1]=griddata(x1,y1,z1,linspace(min(x1),max(x1),200)',linspace(min(y1),max(y1),200),'v4');
surf(X1,Y1,Z1);shadinginterp;
title('Cd含量分布三维曲面');
实现图形分析
第一个图是城市地形图即地形地貌,海拔越高越趋向于红。
在分析重金属污染源时,研究人员可以根据流体相关知识结合本图及当地降水量等信息,进行数据分析,以促进研究的准确性。
第二个图是Cd元素在这个城市分布的三位立体图,视觉越高颜色越深则此重金属元素含量越高。
第三个图是和第二个图相对性的二维,颜色越趋近于红色则所含浓度越高。
6.要在某山区方圆大约27平方公里范围内修建一条公路,从山脚出发经过一个居民区,再到达一个矿区。
横向纵向分别每隔400米测量一次,得到一些点的高程,下表为数据表,请利用matlab绘制该山区地貌图、等高线图和立体等高线图。
提示:
meshz(x,y,z)绘制地貌图
contour(x,y,z)绘制等高线图
contour3(x,y,z)绘制立体等高线图
y
x
12001600200024002800320036004000
1200
11301250128012301040900500700
13201490142014001300700900850
139015001500140090011001060950
15001200110013501450120011501010
15001200110015501600155013801070
15001550160015501600160016001550
1480150015501540145013001200980
1600
2000
2400
2800
3200
3600
x=1200:
400:
4000;
y=1200:
400:
3600;
[xx,yy]=meshgrid(x,y);
zz=[
1130,1250,1280,1230,1040,900,500,700;
1320,1450,1420,1400,1300,700,900,850;
1390,1500,1500,1400,900,1100,1060,950;
1500,1200,1100,1350,1450,1200,1150,1010;
1500,1200,1100,1550,1600,1550,1380,1070;
1500,1550,1600,1550,1600,1600,1600,1550;
1480,1500,1550,1510,1430,1300,1200,980;];
surf(xx,yy,zz);
holdon;
7.已知测量碎部点三维坐标如下表所示,根据下述程序经过内插绘制等高线图
表观测数据表
序号
X(10M)
Y(10M)
H(M)
1
1
1
5.14
2
1
2
9.56
3
1
3
8.66
4
2
1
12.55
5
2
2
10.51
6
2
3
2.70
7
3
1
22.03
8
3
2
22.97
9
3
3
32.94
10
4
2
55.58
11
4
3
24.55
参考程序:
fid=fopen('D:
\MyDocuments\MATLAB\等值线.txt','r');
data=fscanf(fid,'%f%f%f',[3,inf]);
data=data';
fclose(fid);
scale=1e+8;
x=data(:
1);y=data(:
2);z=data(:
3);
scale;
xb=min(x);xe=max(x);%得到最小值
yb=min(y);ye=max(y);%得到最小值
Xl=linspace(xb,xe,200);%沿x
Yl=linspace(yb,ye,200);%得到y点
[X,Y]=meshgrid(Xl,Yl);%得到值的点坐标矩阵
method='cubic';%插值方法
Z=griddata(x,y,z,X,Y,method);%曲面
figure;holdon;%准备图形窗口
[C,h]=contour(X,Y,Z);%画等高
clabel(C,h);colormapcool;%标示等
boxon;xlabel('x');ylabel('y');
axisequal;title('等值线图:
(单位:
scale)');
%设置坐标轴和标题
holdoff;%停止在当前图形窗口将网格
请绘制等高线图形:
(此题目写到报告中)
四、实验注意事项
(1)对没有程序的题目,分析实验内容,写出程序大致框架或完整的程序代码。
并写到实验报告中。
(2)进入MATLAB7.0集成环境。
(3)编辑或验证程序,并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验心得
本次上机实验是测量数据可视化,这很复杂其中包含了许多其他方面的东西。
自己在课前做了预习,课堂上听取了老师所讲的知识。
然后做实验报告时,一些简单的基础操作没有什么问题。
但是其中有一部分拟合与差值的部分不是很懂,加上实验中这块的内容很少,将数据放在电子表格中,再数据读取这一块也不是很懂,需要多加的练习,很快就做出来了。
实验成绩__________________________
实验时间和地点____________________
实验指导老师______________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验六 测量数据可视化 实验 测量 数据 可视化