实验六测量数据可视化.docx
《实验六测量数据可视化.docx》由会员分享,可在线阅读,更多相关《实验六测量数据可视化.docx(11页珍藏版)》请在冰豆网上搜索。
实验六测量数据可视化
实验六测量数据可视化
一、实验目的
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)
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');
运行ellipse(400,400,100,50,pi/4)
3.对某点进行位移观测,得到8个不同时间的位移值,见下表,试进行傅立叶变换,并作出频谱图。
时间k01234567
位移f(k)2.33.03.84.25.14.53.21.8
f=[2.333.84.25.14.53.21.8]'
F=fft(f)
FM=abs(f)
t1=(0:
1:
7)
fori=1:
8
t=0:
0.001:
FM(i)
plot(t1(i),t,'b-')
holdon
end
title('频域分析')
xlabel('频率值')
ylabel('能量')
5.要在某山区方圆大约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;
6.已知测量碎部点三维坐标如下表所示,根据下述程序经过内插绘制等高线图
表观测数据表
序号
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('F:
\work\等值线.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);
Yl=linspace(yb,ye,200);
[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;
四、实验心得
通过本次实验,我对Matlab作图有了更深刻的认识,感受到了它强大的作图功能。
本次实验我学会了二维作图和三维作图,前面几章中我学习到了matlab在函数中的应用,但是一般的学习我们都要求数形结合,而这章中恰恰是图形的绘制。
在数学或者工程中有很多函数的图形是很难画出的,甚至难以想象出它的样子,但是通过这章的学习就很容易解决这个问题,matlab可以绘制二维、三维的图形,这在很大程度上说明matlab是一款很功能强大的软件。
本次实验获益匪浅,但这只是Matlab一些浅显的功能,我将继续更进一步的探索学习。
实验成绩:
________________
实验日期和地点:
东港学院_
实验指导教师:
宁伟