《第二章之matlab绘图幻灯片》由会员分享,可在线阅读,更多相关《第二章之matlab绘图幻灯片(80页珍藏版)》请在金锄头文库上搜索。
1、fmj 6/18/2020 12.10.2020,1,2.5 MATLAB 绘图,问题:如何画出 ysin(x) 在 0, 2*pi 上的图像?,fmj 6/18/2020 12.10.2020,2,手工作图,找点: x=0, pi/4, pi/2, 2*pi/3, pi, ,计算函数值: y=sin(0), sin(pi/4), sin(pi/2), ,描点:在坐标系中画出这些离散点,用直线或曲线连接这些点,得到函数的大致图形,2.5 MATLAB 绘图,fmj 6/18/2020 12.10.2020,3,Matlab 作图,2.5 MATLAB 绘图,给出离散点列: x=0:pi/10:
2、2*pi,计算函数值: y=sin(x),画图:用 matlab 二维绘图命令 plot 作出函数图形 plot(x,y),fmj 6/18/2020 12.10.2020,4,2.5.1 Matlab 二维作图,plot(x,y),基本形式,x, y 都是向量,则以 x 中元素为横坐标, y 中元素为纵坐标作平面曲线。此时 x, y 必须具有相同长度。, x=0:0.1:4*pi; y=cos(x); plot(x,y);,例:y=cos(x) 在 0, 4*pi 上的图像,fmj 6/18/2020 12.10.2020,5,2.5.1 Matlab 二维作图,plot(y): 绘制向量
3、y 中元素的线性图,fmj 6/18/2020 12.10.2020,6,点和线的基本属性,图形的属性,plot(x,y,string),其中 string 是用 单引号 括起来的字符串,用来指定图形的属性(点、线的形状和颜色),属性可以全部指定,也可以只指定其中某几个 排列顺序任意,fmj 6/18/2020 12.10.2020,7,图形的基本属性,help plot,fmj 6/18/2020 12.10.2020,8,图形的其他属性,标题,title(text),例:,title(text, Property1, value1, Property2, value2, .),Proper
4、ty: linewidth, markersize, fontsize, fontweight, fontname, ,可以指定文本的属性,fmj 6/18/2020 12.10.2020,9,图形的其他属性,坐标轴标注,xlabel(text) 或 ylabel(text),例:,fmj 6/18/2020 12.10.2020,10,图形的其他属性,在指定地方添加文本,text(x,y,string1,string2, .), text(pi/2,cos(pi/2),leftarrowy=cos(x);,xlable, ylabel, text 命令也可以指定文本的属性,直观方法:可以直接
5、在图象上进行编辑,fmj 6/18/2020 12.10.2020,11,其他相关命令,显示网格,grid on 或 grid off,fmj 6/18/2020 12.10.2020,12,其他相关命令,清除当前图形窗的内容,clf 或 clg,fmj 6/18/2020 12.10.2020,13,其他相关命令,划分绘图区域,subplot(m,n,p),怎样在一个绘图区域内绘制多个函数的图像 ?,将一个绘图窗口分割成 m*n 个子区域,并 按行 从左至右 依次编号。p 表示第 p 个绘图子区域。,fmj 6/18/2020 12.10.2020,14,同时绘制多个函数图像,plot(x1
6、,y1,s1,x2,y2,s2, . ,xn,yn,sn),属性选项 可以省略,等价于:,hold on plot(x1,y1,s1) plot(x2,y2,s2) . plot(xn,yn,sn),fmj 6/18/2020 12.10.2020,15,图形的其他属性,线条的粗细,字体大小,坐标轴属性等,linewidth:指定线条的粗细,注:1) 属性与属性的值是成对出现的 2) 更多属性参见 plot 的联机帮助, title(y=sin(x),fontsize,18),fontsize:指定字体的大小,fmj 6/18/2020 12.10.2020,16,点 线,2.5.2 二维作图
7、机制,例:y = sin(x), 0 x 2, x=0:0.5:2*pi; y=sin(x); plot(x,y,.),先画点,后连线,一、画点,fmj 6/18/2020 12.10.2020,17,点 线,二维作图举例,x=0:0.5:2*pi; y=sin(x); plot(x,y,r.-),先画点,后连线,例:y = sin(x), 0 x 2,二、连线,fmj 6/18/2020 12.10.2020,18,二维作图举例,x=0:0.1:2*pi; y=sin(x); plot(x,y,.-),x=0:0.1:2*pi; y=sin(x); plot(x,y),fmj 6/18/20
8、20 12.10.2020,19,其它二维绘图命令,线性直角坐标系绘图命令 stem(绘脉冲图) strairs(绘阶梯图) bar(绘条形图) errorbar(绘误差条形图) hist(绘直方图) stem、strairs、bar、errorbar和hist的用法与plot相仿。 但没有多输入变量形式。 Fill(t,y,颜色标注符)在曲线和坐标轴之间的封闭区填充指定的颜色。,fmj 6/18/2020 12.10.2020,20,例:振荡衰减曲线 t=0:0.2:2*pi; y=exp(-0.1*t).*sin(t); subplot(2,2,1),stem(t,y) title(ste
9、m(t,y),pase title(stem(t,y),pause subplot(2,2,2),stairs(t,y) title(stair(t,y),pause, subplot(2,2,3),bar(t,y) title(bar(t,y),pause, subplot(2,2,4),fill(t,y,r) title(fill(t,y),pause,fmj 6/18/2020 12.10.2020,21,其它二维绘图命令,对数直角坐标系绘图命令 loglog 绘出以log10-log10为坐标刻度的对数图 semilogx 使用半对数刻度绘图,x轴为log10刻度,y轴为线性刻度 se
10、milogy 使用半对数刻度绘图,y轴为log10刻度,x轴为线性刻度 极坐标系绘图命令 polar(theta,rho)以角度theta为一个坐标,单位为弧度,另一个坐标是矢径rho。在其后使用grid命令,可以绘出网状极坐标线。polar没有多输入变量形式。 loglog 、 semilogx 、 semilogy 及polar的用法与plot相仿。,fmj 6/18/2020 12.10.2020,22,例:绘制z=exp(-1+i)*t)的复数图形,t=0:0.2:2*pi; z=exp(-0.1+i)*t); subplot(2,2,1) plot(z),pause title(复数
11、绘图plot(z) subplot(2,2,2) plot(t,z),pause title(复数绘图plot(t,z) subplot(2,2,3) polar(angle(z),abs(z) title(polar(angle(z),abs(z) subplot(2,2,4) semilogx(t,z) title(semilogx(t,z),plot(z)相当于plot(real(z), imag(z); plot(t,z)绘出实部随t的变化规律。,fmj 6/18/2020 12.10.2020,23,2.5.3 空间三维作图,三维曲线 : plot3,设三维曲线的参数方程为:x=x(
12、t),y=y(t),z=z(t), 则其图形可由下面的命令绘出:,plot3 的用法与 plot 类似, t=0:0.1:10*pi; x=2*t; y=sin(t); z=cos(t); plot3(x,y,z);,plot3(x,y,z,s),三维曲线只能用参数方程绘制,例:三维螺旋线,fmj 6/18/2020 12.10.2020,24,空间三维作图,空间曲面,fmj 6/18/2020 12.10.2020,25,空间三维作图,空间曲面,mesh(Z) :绘出矩阵 Z 的三维消隐图。,mesh(x,y,Z) x, y 是向量,length(x)=n,length(y)=m, m,n=
13、size(Z),mesh(X,Y,Z) 绘制由矩阵 X,Y,Z 所确定的曲面网格图,fmj 6/18/2020 12.10.2020,26,空间三维作图,带等高线的空间曲面,meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线,fmj 6/18/2020 12.10.2020,27,空间三维作图,网格生成函数:meshgrid,x, y 为给定的向量,X, Y 是网格划分后得到的网格矩阵,绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值。,若 x = y, 则可简写为 X,Y= meshgrid(x),X,Y= meshgrid
14、(x,y),fmj 6/18/2020 12.10.2020,28,空间三维作图, x=-8:0.5:8; y=-8:0.5:8; X,Y=meshgrid(x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; mesh(X,Y,Z),例:绘制由函数 确定的曲面,绘图区域取为 -8,8-8,8,fmj 6/18/2020 12.10.2020,29,例:三维螺线,Matlab 空间曲线绘图举例,x=t, y=sin(t), z=cos(t), 0t20,1) 给出空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可,先画点,后连线,fmj 6/18/2020
15、 12.10.2020,30,空间曲线作图举例, t=0:0.5:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z,.-), t=0:0.5:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z,.),fmj 6/18/2020 12.10.2020,31,空间曲线作图举例, t=0:0.1:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z), t=0:0.1:20; x=t; y=sin(t); z=cos(t); plot3(x,y,z,.-),fmj 6/18/2020 12.10.2020,32
16、,线: 分别沿 x 方向和 y 方向连接这些点即可得到,空间曲面作图,先画点 (x,y,z),后连线,构成曲面网格图,fmj 6/18/2020 12.10.2020,33,例:“墨西哥帽子”,空间曲面作图举例,( a x a, -a y a ),fmj 6/18/2020 12.10.2020,34,a=8 时的曲面图形,空间曲面作图举例, x=-8:0.5:8; y=-8:0.5:8; X,Y=meshgrid(x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; mesh(X,Y,Z),1) x 与 y 可以取不同的步长 2) 注意这里采用的数组运算,最后一个命令能否改为 mesh(Z)?,X,Y=meshgrid(-8:0.5:8);,fmj 6/18/2020 12.10.2020,35,例:绘制等高线 meshc,空间曲面作图举例, X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps;