当前位置:文档之家› 中国矿业大学 实验六 MATLAB数据可视化

中国矿业大学 实验六 MATLAB数据可视化

实验六MATLAB数据可视化
一、实验目的
掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。

二、实验内容
(1) 二维图形绘制。

(2) 三维曲线和三维曲面绘制。

三、实验步骤
1.二维图形绘制
(1) 二维图形绘制主要使用函数plot。

>> clear all;
>> x=linspace(0,2*pi,100);
>> y1=sin(x);
>> plot(x,y)
>> hold on
>> y2=cos(x)
>> plot(x,y)
>> hold off
注:hold on 用于保持图形窗口中原有的图形,hold off解除保持。

(2) 函数plot 的参数也可以是矩阵。

>> close all
>> x=linspace(0,2*pi,100);
>> y1=sin(x);
>> y2=cos(x);
>> A=[y1 ; y2]';
>> B=[x ; x]'
>> plot(B,A)
(3) 选用绘图线形和颜色。

>> close all
>> plot(x,y1,'g+',x,y2, 'r:') >> grid on
(4) 添加文字标注。

>> title('正弦曲线和余弦曲线') >> ylabel('幅度')
>> xlabel('时间')
>> legend('sin(x)', 'cos(x)')
>> gtext('\leftarrowsinx')
(5) 修改坐标轴范围。

>> axis equal
>> axis normal
>> axis([0 pi 0 1.5])
程序如下:
x=linspace(0,2*pi,100);
y1=sin(x);
y2=cos(x);
A=[y1 ; y2]';
B=[x ; x]'
plot(B,A)
plot(x,y1,'g+',x,y2, 'r:') axis equal
axis normal
axis([0 pi 0 1.5])
grid on
title('正弦曲线和余弦曲线') ylabel('幅度')
xlabel('时间')
legend('sin(x)', 'cos(x)') gtext('\leftarrowsinx')
(6) 子图和特殊图形绘制。

>>subplot(2,2,1) >>t1=0:0.1:3; >>y1=exp(-t1); >>bar(t1,y1);
>>subplot(2,2,2) >>t2=0:0.2:2*pi; >>y2=sin(t2); >>stem(t2,y2); >>subplot(2,2,3) >>t3=0:0.1:3;
>>y3=t3.^2+1;
>>stairs(t3,y3);
>>subplot(2,2,4) >>t4=0:.01:2*pi; >>y4= abs(cos(2*t4)); >>polar(t4,y4);
提示:二维图形绘制按照以下的步骤进行
(1)产生曲线的数据;
(2)选择合适的线形、标记、颜色(正弦曲线为红色,余弦曲线为紫色);
(3)添加图例及文字说明信息;
(4)添加坐标轴说明与图标题。

2. 三维曲线和三维曲面绘制
(1) 三维曲线绘制使用plot3 函数。

绘制一条空间螺旋线:
>>z=0:0.1:6*pi;
>>x=cos(z);
>>y=sin(z);
>>plot3(x,y,z);
(2) 三维曲面图的绘制:MATLAB 绘制网线图和网面图的函数分别是mesh( )和surf( ),
其具体操作步骤是:
①用函数meshgrid( )生成平面网格点矩阵[X,Y];
②由[X,Y]计算函数数值矩阵Z;
③用mesh( )绘制网线图,用surf( )绘制网面图。

绘制椭圆抛物面:
>>clear all,close all;
>>x=-4:0.2:4;
>>y=x;
>> [X,Y]=meshgrid(x,y);
>>Z=X.^2/9+Y.^2/9;
>>mesh(X,Y,Z);
>>title('椭圆抛物面网线图')
>>figure(2)
>>surf(X,Y,Z);
>>title('椭圆抛物面网面图')
绘制阔边帽面:
>>clear all,close all;
>>x=-7.5:0.5:7.5;
>>y=x;
>> [X,Y]=meshgrid(x,y);
>>R=sqrt(X.^2+Y.^2)+eps; %避开零点,以免零做除数>>Z=sin(R)./R;
>>mesh(X,Y,Z);
>> title('阔边帽面网线图')
>>figure(2)
>>surf(X,Y,Z);
>>title('阔边帽面网面图')
0.1)。

请把z 的值用网线图形象地表示出来。

三、实验体会
plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

subplot(m,n,p)函数为分割图形窗口的函数,可以在一个窗口中绘制多幅图形,已达到对比、节省空间的目的。

可以用mesh(x,y,z)、surf(x,y,z)函数绘制三维曲面。

MATLAB定义的NaN常数可以用于表示那些不可使用的数据,利用这种特性,可以将图形中需要裁剪部分对应的函数值设置成NaN。

总之,通过这次实验,我学会了运用matlab绘制各种图形。

能更直观的、确切的了解函数的含义,为以后学习打下了良好的基础。

相关主题