Matlab绘图方法总结优质PPT.ppt
《Matlab绘图方法总结优质PPT.ppt》由会员分享,可在线阅读,更多相关《Matlab绘图方法总结优质PPT.ppt(28页珍藏版)》请在冰点文库上搜索。
m)plot(X,Y):
混合式plot(Z):
复向量式plot(x1,y1,x2,y2,):
综合调用方式,第4章Matlab的图形功能,用命令plot(y)绘曲线,其中y=5349023。
y=5349023;
plot(y)用命令plot(x,y)绘制函数y=cos(x)在两个周期内的图形。
x=0:
0.01:
2*pi;
y=cos(x);
plot(x,y)在同一图形窗口中用命令plot(x,y)绘出正弦余弦函数的图形。
cos(x);
plot(x,y)用命令plot(Y)绘制矩阵Y=5438910;
344582;
81213211825;
988967的图形。
Y=5438910;
344582;
81213211825;
988967;
plot(Y),第4章Matlab的图形功能,在混合式的命令格式plot(X,Y)中,对X和Y而言,可分下列几种情况:
如果X和Y都是向量,则长度必须相等;
如果X是向量,而Y是一个矩阵,X的长度与矩阵Y的行数或列数相等,则它的作用是将向量X与矩阵Y的每列或每行的向量相对应作折(曲)线,当Y是方阵时,则将向量X与矩阵Y的列向量对应作图;
如果X是矩阵,Y是向量,Y的长度等于矩阵X的行数或列数,则将X的每列或每行的向量与Y相对应作图。
当X是方阵时,则将X的各列与Y对应作图;
如果X和Y都是矩阵,且维数相同,则按列与列的对应方式来作图。
第4章Matlab的图形功能,用命令plot(X,Y)绘制图形。
x=1:
length(peaks);
plot(x,peaks)注意:
peaksz=3*(1-x).2.*exp(-(x.2)-(y+1).2).-10*(x/5-x.3-y.5).*exp(-x.2-y.2).-1/3*exp(-(x+1).2-y.2),第4章Matlab的图形功能,用plot(Z)绘制图形。
pi/20:
Z=sin(x)+cos(x)*iplot(Z)等价于plot(real(Z),imag(Z)用plot(x1,y1,x2,y2,)在同一窗口中绘制多条曲线,且坐标和长度都不同。
t1=0:
3*pi;
t2=0:
6;
plot(t1,sin(t1),t2,sqrt(t2),第4章Matlab的图形功能,b.二维函数曲线专用命令fplot用plot绘图在确定自变量的取值间隔时,一般采用平均间隔,有时会因某处间距太大,而不能反映出函数的变化情况。
fplot是绘制函数y=f(x)图形的专用命令,它的数据点是自适应产生的,对那些导数变化较大的函数,用fplot函数绘出的曲线比等分取点所画出的曲线更加接近真实。
fplot函数命令的调用格式为:
X,Y=fplot(fun,lims,tol,n,linespec,p1,p2)fun:
函数名字符串;
lims:
定义x的取值区间,lims=xmin,xmax;
tol:
相对误差(默认值为2e-3);
n:
绘图的最少点数(n+1);
linespec:
线性设置;
p1,p2,:
函数传递参数;
X,Y:
数组数据点坐标。
第4章Matlab的图形功能,fplot和plot命令的比较。
(1)创建函数M文件funfplot。
functiony=funfplot(x)y=sin(1./tan(pi.*x);
(2)将用fplot命令求得的坐标点按照对应大小创建一个等间距坐标点赋值给矩阵X,Y。
X,Y=fplot(funfplot,-0.1,0.1,2e-4);
%只把数据点坐标输入X、Y,而不显示图形。
%要使用tol、n或是linespec的默认参数,可以给函数传递一个作为参数。
x=-0.1:
1/1000*pi:
0.1;
y=funfplot(x);
(3)用plot和fplot命令作图,比较二者的不同:
plot(x,y)figure
(2)%打开一个新的图形窗口plot(X,Y)%该命令等价于fplot(funfplot,-0.1,0.1,2e-4);
第4章Matlab的图形功能,c.对数坐标曲线命令绘制二维对数坐标曲线的命令semilogx、semilogy和loglog,其用法和函数plot相同。
函数semilogx横坐标为对数坐标;
函数semilogy纵坐标为对数坐标;
函数loglog横、纵坐标均为对数坐标。
绘制正弦函数的对数坐标曲线。
t=0.1:
y=sin(t);
figure
(1)semilogx(t,y)gridon%为图形窗口添加网格figure
(2)semilogy(t,y)figure(3)loglog(t,y),第4章Matlab的图形功能,d.双y轴图形绘制左右均有y轴的图形plotyy(x1,y1,x2,y2)在窗口中同时绘制两条曲线:
(x1,y1)和(x2,y2),曲线(x1,y1)用左侧的y轴,曲线(x2,y2)用右侧的y轴。
plotyy(x1,y1,x2,y2,fun)fun是字符串,用来指定绘图的函数名,如plot、semilogx、semilogy等。
plotyy(z1,y1,x2,y2,fun1,fun2)用fun1和fun2指定不同的绘图函数分别绘制。
用plotyy函数绘制双y轴图形。
y1=sin(t1);
y2=sqrt(t2);
plotyy(t1,y1,t2,y2,semilogx)gridon,第4章Matlab的图形功能,在同一图形窗口中用不同的绘图函数绘制同一函数曲线的双y轴图形。
y=sqrt(x);
plotyy(x,y,x,y,semilogy,plot)plotyy函数不能加入设置曲线线型、颜色及标出数据点的参数。
第4章Matlab的图形功能,2.线型和颜色plot函数可以设置曲线的线段类型、定点标记和线段颜色。
常用的线段、颜色与定点标记参数,调用格式:
plot(x,y,s),s为类型说明参数,是字符串。
s字符串可以是三种类型的符号之一,也可以是线型与颜色和定点标记与颜色的组合;
如果没有s参数,plot将使用缺省设置(实线,前七种颜色顺序着色)绘制曲线;
在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标系中已有的图形对象。
可以用holdon命令在一个坐标系中增加新的图形对象。
注意MATLAB会根据新图形的大小,重新改变坐标系的比例。
用不同的线型和标注来绘制两条曲线。
plot(t1,y1,:
hb,t2,y2,-g),第4章Matlab的图形功能,第4章Matlab的图形功能,3.图形窗口的分割有时需要在一个图形窗口中显示几幅图,以便对几个函数进行直观、便捷的比较。
由于每个绘图命令在绘制数据图像时都会将已有图形覆盖掉,而用hold命令不能实现同时显示几个不同坐标尺寸下的图形,用figure命令再创窗口又很难同时比较由不同的数据绘得的图像。
实现在同一个窗口中同时显示多个图像的命令subplot。
使用格式为:
subplot(m,n,i)其含义为:
把图形窗口分割为m行n列子窗口,然后选定第i个窗口为当前窗口。
subplot命令不仅用于二维图形,对三维图形一样适用。
其本质是将figure窗口分为几个区域,再在每个区域内分别绘图。
第4章Matlab的图形功能,用subplot函数把两种不同的图形综合在一个图形窗口中。
subplot(2,2,1)t=0.1:
semilogx(t,y)gridonsubplot(2,2,2)t=0:
4*pi;
plot(t,y)subplot(2,2,3)x=1:
5;
y=exp(x);
plotyy(x,y,x,y,semilogx,plot)subplot(2,2,4)x=1:
10;
plot(x,y,:
rd),第4章Matlab的图形功能,4.坐标系的调整实现坐标系的调整的命令是axis函数。
调用格式为:
axis(xmin,xmax,ymin,ymax,zmin,zmax)坐标的最小值(xmin,ymin,zmin)必须小于相应的最大值(xmax,ymax,zmax),否则会出错。
自动坐标系与用axis函数调整后的坐标系的比较。
subplot(2,1,1)t=0:
plot(t,y)subplot(2,1,2)t=0:
plot(t,y)axis(0,max(t),min(y),max(y),第4章Matlab的图形功能,三、三维绘图1.三维曲线绘图命令三维函数plot3主要用来表现单参数的三维曲线,与二维绘图函数plot相比,只多了第三维数据。
其调用格式为:
plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)或plot3(X,Y,Z,s)参数的含义如下:
Xn、Yn、Zn:
第一到三维数据,是尺寸相等的向量/矩阵;
s、s1、s2:
是字符串,用来设置线型、颜色、数据点标记。
X、Y、Z是向量时,绘制以向量X、Y、Z的元素为x、y、z坐标的三维曲线。
X、Y、Z是矩阵时,以X、Y、Z对应列元素为x、y、z坐标分别绘制曲线。
第4章Matlab的图形功能,x、y、z是向量时,plot3命令的使用t=0:
8*pi;
plot3(sin(t),cos(t),t)title(绘制螺旋线)%用命令title对图形主题进行标注xlabel(sin(t),FontWeight,bold,FontAngle,italic)ylabel(cos(t),FontWeight,bold,FontAngle,italic)zlabel(t,FontWeight,bold,FontAngle,italic)%命令zlabel用来指定z轴的数据名称gridonx、y、z都是矩阵时,plot3命令的使用X,Y=meshgrid(-pi:
pi);
Z=sin(X)+cos(Y);
plot3(X,Y,Z),第4章Matlab的图形功能,2.三维曲面绘图命令为了绘制定义在平面区域D=x0,xmy0,yn上的三维曲面z=f(x,y),首先将x0,xm在x方向分成m份,将y0,yn在y方向分成n份,由各划点分别作平行于坐标轴的直线,将区域D分成mn个小矩形;
对于每个小矩形,计算出网格点的函数值,决定出空间中四个顶点(xi,yi,f(xi,yi)),连接四个顶点得到一个空间的四边形片;
所有四边形片连在一起构成函数z=f(x,y)定义在区域D上的空间网格曲面。
因此,三维曲面绘图命令可分为平面网格点的生成、在平面网格基础上绘制三维网格及对三维表面进行处理三个步骤。
a.平面网格点的生成函数命令meshgrid用来生成x-y平面上的网格点矩阵。
调用形式为:
X,Y=meshgrid(x,y)X,Y=meshgrid(x)等价于X,Y=meshgrid(x,x)参数含义如下:
x:
是区间x0,xm上分划的向量;
y:
是区间y0,yn上分划的向量;
输出变量矩阵,矩阵X的行向量都是向量x,矩阵Y的列向量都是向量y。
函数meshgrid将由两个向量决定的区域转换为对应的网格点矩阵。
第4章Matlab的图形功能,第4章Matlab的图形功能,函数,定义区域为-2,2-2,2。
生成网格并计算其网格点上的函数值。
X,Y=meshgrid(-2:
2:
2,-2:
2);
X,Y%将划分结果输出至矩阵ans=-202-2-2-2-202000-202222Z=X.*exp(-X.2-Y.2);
%计算网格点上的函数值赋予变量ZZ=-0.000700.0007-0.036600.0366-0.000700.0007,第4章Matlab的图形功能,b.三维网格命令mesh利用函数mesh生成网格曲面。
mesh(X,Y,Z,C):
X、Y、Z、C是同维数的矩阵,X、Y、Z对应空间上的网格点,网格线颜色由C决定;
mesh(X,Y,Z):
相当于上面的C=Z的情况;
mesh(x,y,Z,C):
x和y是向量,Z和C是同维数的矩阵,网格曲面的网格顶点是(x(j),y(i),Z(i,j)),网格线的颜色由矩阵C决定;
mesh(x,y,Z):
mesh(Z,C):
等价于mesh(x,y,Z,C),此时向量x=1:
n,向量y=1:
m;
mesh(Z):
相当于上面的C=Z的情况mesh(.,PropertyName,PropertyValue,.):
给函mesh设置曲面属性。
第4章Matlab的图形功能,用mesh命令绘制上例中的网格曲面。
.2:
Z=X.*exp(-X.2-Y.2);
mesh(Z),与mesh相关的另外两个函数是meshc和meshz,它们的调用形式与mesh相同。
meshc除生成网格曲面外,还在x-y平面上生成曲面的等高线图形;
meshz除生成与mesh相同的网格曲面外,还在曲面下面加上一个长方体的台柱。
比较函数meshc和meshz。
Subplot(2,1,1)meshc(Z)subplot(2,1,2)meshz(Z),第4章Matlab的图形功能,第4章Matlab的图形功能,c.三维表面命令surf函数surf可实现对网格曲面片进行着色,将网格曲面转化为实曲面。
surf命令的调用格式与mesh相同。
利用三维网格表面命令surf绘制图形。
z=peaks;
%绘制山峰的图像,将函数值赋予变量zsurf(z)%对山峰的图像进行着色处理shadinginterp%函数shading改变着色方式,上机练习(7),
(1)按照的步长间隔绘制函数在0x1时的曲线。
(2)用图形表示离散函数,其中n为0,12的自然数。
(3)分别采用、的步长,绘制连续调制波形的图像。
(4)给出一系列的a值,采用函数画一组椭圆。
(5)用曲面图命令surf表现函数的图像。
(6)绘制颜色为蓝色,数据点用五角星标识的下述函数在(0,5)上的虚线图。
上机习题(7),