学习matlab(⼋)——绘图(⼆维)⽬录
1.⼆维数据可视化
MATLAB受到控制界⼴泛接受的⼀个重要原因是因为它提供了⽅便的绘图功能。Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。⼆维图形的绘制是其它绘图操作的基础,本章主要介绍⼆维图形的绘制,主要包括⼆维绘图、图形的标注、特殊图形的绘制,以及交互式绘图等。
(1)plot函数
在MATLAB中,绘制⼆维图形最常⽤的函数是plot( ),该函数的功能⾮常强⼤,通过不同的输⼊,能够绘制不同的图形。该函数的调⽤格式为:1.函数plot(y) 2.函数plot(x, y) 3.函数plot(x, y, s) 4、函数plot(x1, y1,s1, x2, y2, s2,.….),例如:
<1>plot(x,y):
>> t=0.01:0.01:2*pi;
>> y=sin(t);
>> plot(y)
>> x=1:7;
>> y=magic(7);
>> plot(x,y)
<2>plot(x,y,s):
s表⽰绘制图线的格式,输⼊doc plot,可以在doc⽂档中查看绘图对应的修改模式。
<3>plot(y):
这⾥y可以是矩阵和向量,横坐标为索引数,纵坐标为索引值 ;
>> y=[3+2i,4+5i,5+7i,6+8i,7+9i,10+6i];
>> plot(y);
>> y=magic(16);
>> plot(y)
(2)Subplot函数
在MATLAB中,采⽤函数subplot( )进⾏⼦图绘制。该函数能够将⼏个图形在同⼀个图形窗⼝中绘制出来,且采⽤不同的坐标系。subplot(m, n, p):该函数将当前图形窗⼝分成m*n个绘图区,即共m⾏,每⾏n个,⼦绘图区的编号按⾏优先从左到右编号。该函数选定第p个⼦图为当前活动区。在每⼀个⼦绘图区允许以不同的坐标系单独绘制图形。
x=-pi:pi/10:pi;
subplot(2,2,1);
plot(x,sin(x),'r--');
subplot(223);
plot(x,cos(x),'b:*');
subplot(2,2,[2 4]);
plot(x,sin(x)+cos(x),'g-.^');
(3)叠加图绘制
在实际应⽤中,有时需要在已经绘制好的图形上叠加绘制新的图形。在MATLAB中,采⽤函数hold启动或关闭图形保持功能,该函数的调⽤格式为:hold on:启动图形保持功能,允许在同⼀坐标轴上绘制多个图。hold off:关闭图形保持功能,不能在当前坐标轴上再绘制图形。hold:在两种状态hold on和hold off之间进⾏切换。hold all:实现hold on功能,并且使新的绘图函数依然按顺序循环使⽤当前坐标系中ColorOrder和LineStyleOrder两个属性。
x=-pi:pi/10:pi;
plot(x,sin(x),'r:>');
hold on;
plot(x,cos(x),'b-<');
在MATLAB中,可以设置函数axis的参数实现对坐标轴进⾏控制,该函数的调⽤格式为:axis([xmin xmax ymin ymax]):该函数⽤于定义x轴和y轴的范围。axis([xmin xmax ymin ymax zmin zmax]):该函数⽤于定义坐标轴的范围,包含x轴、y轴和z轴的三维图形。
axis([xmin xmax ymin ymax zmin zmax cmin cmax]):该函数⽤于定义三维坐标轴的范围,以及图形的颜⾊信息。
t = 0.01:0.01:pi;
plot(sin(t),cos(t));
axis([-1 1 -2 2]);
(4)其它功能
函数axis功能丰富,常⽤的格式还有:axis equal:横轴和纵轴采⽤等长刻度。axis square:产⽣正⽅形坐标系(系统的缺省设置)。axis auto:使坐标轴范围能够容纳下所有的图形。axis normal:解除对坐标轴的任何限制。axis off:取消坐标轴的⼀切设置。axis on:恢复坐标辐的⼀切设置。
在MATLAB中,通过函数grid()给坐标轴加⽹格线,该函数的调⽤格式为:grid on:给当前坐标轴添加⽹格线。grid off:取消当前坐标轴的⽹格线。grid minor:设置⽹榕线间的间距。grid:不带参数时,在grid on和grid off之间进⾏切换。在MATLAB中,通过函数box()给坐标轴加边框,该函数的调⽤格式为:box on:该函数给当前坐标轴添加边框线。box off:该函数取消当前坐标轴的边框线。box:不带参数时,在box on和box off之间进⾏切换。
在MATLAB中,通过函数zoom实现图形的缩放,该函数的调⽤格式为:zoom (factor):该函数以作为缩放因⼦进⾏坐标轴的缩放。zoom on:允许对坐标轴进⾏缩放。zoom off:禁⽌对坐标轴进⾏缩放。zoom out:恢复到最初的坐标轴设置。zoom reset:对当前的坐标轴进⾏复位,恢复到初始值。zoom xon:允许对轴进⾏缩,放zoom yon:允许对轴进⾏缩放。zoom:在zoom on和zoom off之间进⾏切换。
在MATLAB中,采⽤函数pan()进⾏图形的拖拽。在进⾏图形的拖拽时,⿏标变为⼿的形状。该函数的调
⽤格式为:pan on:该函数打开图形的拖拽功能。pan xon:该函数打开图形在轴⽅向的拖拽功能。pan yon:该函数打开图形在轴⽅向的拖拽功能。pan off:该函数关闭图形的拖拽功能。pan:该函数在pan on和pan off之间进⾏切换。
在MATLAB中,通过函数datacursormode显⽰⿏标所选的图形上某点的坐标值,该函数的调⽤格式为:datacursormode on:该函数打开图形的数据光标功能。datacursormode off:该函数关闭图形的数据光标功能。datacursormode:该函数在datacursormode on和datacursormode off之间进⾏切换。
(5)绘制直线
在MATLAB中,通过函数line()绘制简单的线,该函数的调⽤格式为:line(x, y):该函数利⽤参数x和y绘制直线。如果x和y都为向量,必须具有相同的长度,将对应瑾元素作为横、纵坐标进⾏画线。如果x和y为矩阵,则以对矩阵的每⼀列作为坐标绘制多条线。line(x,y,z):该函数在三维坐标中进⾏画线,参数x、y和z为三维坐标系中的坐标值。
(6)极坐标绘图
在MATLAB中,采⽤函数polar()进⾏极坐标系的绘图,该函数的调⽤格式为:polar(theta,rho):该函数以弧度为theta和半径为rho在极坐标系中进⾏绘图,极坐标系下的函数为rho=f(theta).polar(theta, rtho,
s):该函数通过参数对曲线的线型、标记和颜⾊等信息进⾏设置,具体设置信息如下表所⽰,在MATLAB中,可以通过函数pol2cart()将极坐标系中的坐标值转换为直⾓坐标系下的坐标值,函数cart2pol()将直⾓坐标系下的坐标值转换为极坐标系下的坐标值。
theta=0:pi/40:4*pi;
rho=sin(theta);
用subplot函数
subplot(211)
polar(theta,rho);
[x,y]=pol2cart(theta,rho);
subplot(212);
plot(x,y);
(7)对数和半对数坐标系绘图
在MATLAB中,除了采⽤等⽐例刻度坐标系绘图,还可以采⽤对数和半对数坐标系进⾏绘图。下⾯对这些函数进⾏介绍:1.函数semilogx()2、函数semilogy()3、函数loglog( );
x=0.1:0.1:8;
y=log10(x);
subplot(121);
plot(x,y);
title('采⽤函数plot()绘图');
subplot(122);
semilogx(x,y);
title('采⽤函数semilogx()绘图')
(8)双纵轴坐标
在MATLAB中,采⽤函数plotyy()进⾏双y轴坐标系绘图,横坐标的标度相同。对于两组数据分别采⽤
左侧y轴和右侧y轴,它们的坐标轴范围各⾃独⽴,这样就能在⼀幅图中很好的观察两组数据的变化趋势。
x=0.1:0.1:2*pi;
y=sin(x);
z=10.^x;
plotyy(x,y,x,z,'plot','semilogy');

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。