《我国矿业大学实验六MATLAB数据可视化》由会员分享,可在线阅读,更多相关《我国矿业大学实验六MATLAB数据可视化(14页珍藏版)》请在金锄头文库上搜索。
1、实验六 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 的参数也可以是矩阵。
2、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=linsp
3、ace(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
4、) 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 函数。绘制一条空间螺旋线:
5、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(椭圆抛物面网线图) fi
6、gure(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(阔边帽面网面图) 练习:考虑以下问题:设 求定义域 x=-2,2,y=-2,2内的z值(网格取 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绘制各种图形。能更直观的、确切的了解函数的含义,为以后学习打下了良好的基础。