实验六 MATLAB数据可视化
一、实验目的
掌握 MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。
二、实验内容
(1) 二维图形绘制。
(2) 三维曲线和三维曲面绘制。
三、实验步骤
1.二维图形绘制
(1) 二维图形绘制主要使用函数 plot。
>> clear all;
>> x=linspace(0,2*pi,100);
>> y1=sin(x);
>> plot(x,y1)
>> hold on
>> y2=cos(x)
>> plot(x,y2)
>> 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])
(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('阔边帽面网面图')
练习:考虑以下问题:设 求定义域 x=[-2,2],y=[-2,2]内的z值(网格取 0.1)。请把 z 的值用网线图形象地表示出来。
三、实