《Matlab第三讲:Matlab绘图课件.ppt》由会员分享,可在线阅读,更多相关《Matlab第三讲:Matlab绘图课件.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1数学软件数学软件 Matlab 二维平面作图二维平面作图 三维空间作图三维空间作图2本讲主要内容本讲主要内容n 二维平面作图二维平面作图n 三维空间作图三维空间作图n 符号作图符号作图n Matlab 绘图过程绘图过程/原理原理 3手工作图手工作图如何画出如何画出 ysin(x)在在 0,2 上的图像?上的图像?4手工作图手工作图l 找点找点:x=0,pi/4,pi/3,pi/2,pi,l 计算函数值计算函数值:y=sin(0),sin(pi/4),sin(pi/3),l 描点:在坐标系中画出这些离散点描点:在坐标系中画出这些离散点l 用直线或曲线连接这些点,得到函数的大致图形用直线或曲线连
2、接这些点,得到函数的大致图形q 手工作图手工作图5Matlab 绘图绘图l 给出离散点列给出离散点列:x=0:pi/10:2*pi;l 计算函数值计算函数值:y=sin(x);l 画图:用画图:用 matlab 二维绘图命令二维绘图命令 plot 作出函数图形作出函数图形 plot(x,y)x=0:pi/10:2*pi;y=sin(x);plot(x,y);例例:q Matlab 作图作图6二维作图命令二维作图命令q 平面绘图命令:平面绘图命令:plotl 这里这里 x,y 都是向量,以都是向量,以 x 中的元素为横坐标,中的元素为横坐标,y 中的中的元素为纵坐标,作平面曲线。元素为纵坐标,作
3、平面曲线。l向量向量 x,y 的长度必须的长度必须相同。相同。x=0:pi/10:4*pi;y=cos(x);plot(x,y);例例:y=cos(x)在在 0,4 上的图像上的图像plot(x,y)7二维作图命令二维作图命令l 绘制绘制向量向量 y 的线性图的线性图例例:y=0,0.4,0.8,1.0,0.9,6.1;plot(y);x=1:length(y);plot(x,y);即以下标为横坐标,即以下标为横坐标,y 中的元素为纵坐标,等价于:中的元素为纵坐标,等价于:q 平面绘图命令:平面绘图命令:plotplot(y)思考:思考:plot(y)与与 plot(x,y)有什么区别?有什么
4、区别?8二维作图命令二维作图命令q 平面绘图命令:平面绘图命令:plotl 这里这里 x 是向量,是向量,A是矩阵。若是矩阵。若 x 的长度与的长度与 A 的行数相的行数相等,则将等,则将 x与与 A中的各列相对应,绘制多条平面曲线;否中的各列相对应,绘制多条平面曲线;否则,若则,若 x 的长度与的长度与 A的列数相等,则将的列数相等,则将 x 与与 A 中的各行中的各行相对应,绘制多条平面曲线。相对应,绘制多条平面曲线。l x的长度必须等于的长度必须等于 A 的行数或列数的行数或列数。x=linspace(0,10,4);A=magic(4);plot(x,A);例例:plot(x,A)9A
5、lternating sets of ordered pairsMatrix of Y values10The peaks(100)function creates a 100 x100 array of values.Since this is a plot of a single variable,we get 100 different line plots11二维作图命令二维作图命令q 平面绘图命令:平面绘图命令:plotplot(x)plot(x,y)l 这里这里 x,y都是复数数组都是复数数组。121314图形的属性图形的属性plot(x,y,string)其中其中 string
6、是用是用 单引号单引号 括起来的字符串,用来指定图括起来的字符串,用来指定图形的属性形的属性(点、线的形状和颜色点、线的形状和颜色)属性可以全部指定,也属性可以全部指定,也可以只指定其中某几个可以只指定其中某几个排列顺序任意排列顺序任意红色、虚线、红色、虚线、离散点用加号离散点用加号蓝色、点划线蓝色、点划线离散点为菱形离散点为菱形黑色、实线黑色、实线离散点用星号离散点用星号 x=0:0.2:2*pi;plot(x,cos(x);plot(x,cos(x),r+:);plot(x,cos(x),bd-.);plot(x,cos(x),k*-);q 指定点和线的属性指定点和线的属性15点和线的基本
7、属性点和线的基本属性线型线型点标记点标记颜色颜色-实线实线:虚线虚线-.点划线点划线-间断线间断线 空白空白.点点o 小圆圈小圆圈x 叉子符叉子符+加号加号*星号星号s 方格方格d 菱形菱形 朝上三角朝上三角v 朝下三角朝下三角 朝右三角朝右三角 x=0:pi/10:4*pi;y=cos(x);plot(x,y);title(y=cos(x)的图像的图像);q 添加标题添加标题搜索Text Properties17添加坐标轴标注添加坐标轴标注xlabel(text)ylabel(text)例例:x=0:pi/10:4*pi;y=cos(x);plot(x,y);title(y=cos(x)的图
8、像的图像);xlabel(x 轴轴);ylabel(y 轴轴);q 添加坐标轴标注添加坐标轴标注18l 其它调用方式:axis auto 自动模式,使得图形的坐标满足图中的一切元素自动模式,使得图形的坐标满足图中的一切元素axis equal 各坐标轴采用等长刻度各坐标轴采用等长刻度axis square 使绘图区域为正方形使绘图区域为正方形axis on/off恢复恢复/取消对坐标轴的一切设置取消对坐标轴的一切设置axis manual以当前的坐标限制图形的绘制(多图时)以当前的坐标限制图形的绘制(多图时)更多参见更多参见 axis 的联机帮助的联机帮助坐标轴控制坐标轴控制axis(xmin
9、,xmax,ymin,ymax,zmin,zmax)作用:指定坐标轴的显示范围作用:指定坐标轴的显示范围q 坐标轴控制命令坐标轴控制命令:axisaxis(-2 2-1 1)19绘制多个函数图像绘制多个函数图像plot(x1,y1,s1,x2,y2,s2,.,xn,yn,sn)属性选项属性选项可以省略可以省略l 另一中实现方法:另一中实现方法:hold onhold onplot(x1,y1,s1)plot(x2,y2,s2).plot(xn,yn,sn)q 在同一个绘图窗口绘制多个图像在同一个绘图窗口绘制多个图像20添加图例添加图例例例:legend(string1,string2,.)x=
10、0:pi/10:4*pi;y1=cos(x);y2=sin(x);plot(x,y1,x,y2);legend(cos(x),sin(x);q 添加图例添加图例21添加文本添加文本text(x,y,string)gtext(string)xlable,ylabel,text 也可以指定文本的属性也可以指定文本的属性直观方法:可以直接在图象上进行编辑 x=0:pi/10:4*pi;y=cos(x);plot(x,y);text(pi/2,cos(pi/2),.leftarrow y=cos(x);例例:q 在任何指定的地方添加文本在任何指定的地方添加文本22Improving your labe
11、lsYou can use Greek letters in your labels by putting a backslash()before the name of the letter.For example:title(alpha beta gamma)creates the plot title To create a superscript use curly brackets title(x2)gives x2To create a subscript use an underscore title(x_2)gives x2Superscripts and Subscripts
12、搜索Text Properties23划分绘图划分绘图窗口窗口subplot(m,n,p)将一个绘图窗口分割成将一个绘图窗口分割成 m n 个子区域,并个子区域,并 按行按行 从左至右从左至右 依次编号依次编号,p 表示第表示第 p 个绘图子区域。个绘图子区域。x=-pi:pi/10:pi;subplot(2,2,1);plot(x,sin(x);subplot(2,2,2);plot(x,cos(x);subplot(2,2,3);plot(x,x.2);subplot(2,2,4);plot(x,exp(x);subplot(2,1,2);plot(x,cos(2x);例例:q 划分绘图窗
13、口划分绘图窗口24图形的其他属性图形的其他属性 x=-pi:pi/10:pi;y=sin(x);plot(x,y,rh:,linewidth,2,.markeredgecolor,b,.markerfacecolor,g)例例:q 线条的粗细,字体大小,坐标轴属性等线条的粗细,字体大小,坐标轴属性等linewidth:指定线条的粗细指定线条的粗细markeredgecolor:指定标记的边缘色指定标记的边缘色markerfacecolor:指定标记表面的颜色指定标记表面的颜色注:注:1)属性与属性的值是成对出现的属性与属性的值是成对出现的 2)更多属性参见更多属性参见 plot 的联机帮助的联
14、机帮助25其他相关命令其他相关命令l 保留当前绘图窗口中的图像保留当前绘图窗口中的图像hold on/hold offl 新建绘图窗口新建绘图窗口/选取绘图窗口选取绘图窗口figure(n)l 显示网格显示网格grid on/grid offl 关闭绘图窗口关闭绘图窗口close/close all26二维作图命令二维作图命令q 极坐标绘图命令:极坐标绘图命令:polarl以以 theta 为极角,为极角,r 是极径作图。是极径作图。theta=0:pi/100:2*pi;r1=5*cos(4*theta);polar(theta,r1);hold on;r2=4*cos(6*theta);p
15、olar(theta,r2);例例:polar(theta,r)2728Practice Exercise 5.3nTry these exercises to create some interesting shapes29对数图对数图q 按指数规律变化的数据可用对数坐标表示按指数规律变化的数据可用对数坐标表示semilogx(x,y)创建单对数坐标图,创建单对数坐标图,x 轴为对数坐标,轴为对数坐标,y轴为线性坐标轴为线性坐标semilogy(x,y)创建单对数坐标图,创建单对数坐标图,x 轴为线性坐标,轴为线性坐标,y轴为对数坐标轴为对数坐标loglog(x,y)创建双对数坐标图,创建双
16、对数坐标图,x 轴、轴、y轴均为对数坐标轴均为对数坐标30 x-y plot linear on both axessemilogx log scale on the x axissemilogy log scale on the y axisloglog log scale on both axes3132Bar Graphs and Pie ChartsnMATLAB includes a whole family of bar graphs and pie chartsnbar(x)vertical bar graphnbarh(x)horizontal bar graphnbar3(x
17、)3-D vertical bar graphnbar3h(x)3-D horizontal bar graphnpie(x)pie chartnpie3(x)3-D pie chart333435HistogramsnA histogram is a plot showing the distribution of a set of values 36Defaults to 10 bins37双双y y轴图轴图plotyy(x1,y1,x2,y2)plotyy(x1,y1,x2,y2,function)l function是指定的绘图函数,可取是指定的绘图函数,可取 plot,stem,se
18、milogx,semilogy,loglog等等q 将两个二维曲线输出到同一坐标图中将两个二维曲线输出到同一坐标图中 x=0:pi/20:2*pi;y1=sin(x);y2=exp(x);plot(x,y1,x,y2);plotyy(x,y1,x,y2);plotyy(x,y1,x,y2,semilogx);例例:38The plotyy function allows you to use two scales on a single graph39二维函数绘图二维函数绘图 fplotq 二维曲线绘图函数:二维曲线绘图函数:fplotfplot(f(x),a,b)绘制绘制 y=f(x)在区域
19、在区域 a x b 上的图形上的图形fplot(f(x),a,b,c,d)绘制绘制 f(x)在区域在区域 a x b,c y fplot(sin(x),-2*pi,2*pi)fplot(sin(x),-2*pi,2*pi)fplot(5*t2,-5,5,-5,100)40本讲主要内容本讲主要内容n 二维平面作图二维平面作图n 三维空间作图三维空间作图n 符号作图符号作图n Matlab 绘图过程绘图过程/原理原理l 三维曲线三维曲线l 空间曲面空间曲面41三维曲线三维曲线q 三维曲线绘图命令三维曲线绘图命令:plot3设三维曲线的设三维曲线的参数方程参数方程为:为:x=x(t),y=y(t),
20、z=z(t),则其图形可由下面的命令绘出则其图形可由下面的命令绘出:例:三维螺旋线例:三维螺旋线l plot3 只能绘制参数方程表示的三维曲线只能绘制参数方程表示的三维曲线 l plot3 的用法与的用法与 plot 类似类似 t=0:pi/100:10*pi;x=sin(t);y=cos(t);z=2*t;plot3(x,y,z);plot3(x,y,z)42三维曲面示例三维曲面示例43三维曲面三维曲面q 空间网格曲面作图命令:空间网格曲面作图命令:绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面所确定的曲面网格图网格图mesh(X,Y,Z)X,Y=meshgrid(-3:1/8:3);Z=p
21、eaks(X,Y);mesh(X,Y,Z);例:例:44三维曲面绘制过程三维曲面绘制过程q 绘制空间曲面绘制空间曲面 z=z(x,y)的过程的过程(1)对对 x 的取值区域和的取值区域和 y 的取值区域进行分割,的取值区域进行分割,得到离散的点得到离散的点(xij,yij),这些离散的点称为,这些离散的点称为网格点。网格点。(2)这些这些网格点网格点构成了网格矩阵,即矩阵构成了网格矩阵,即矩阵 X 和和 Y。(3)计算计算 z 在这些网格点上的函数值,即可的矩阵在这些网格点上的函数值,即可的矩阵 Z。(4)调用调用 Matlab 的绘图命令的绘图命令 mesh 绘出曲面图形。绘出曲面图形。怎样
22、得到网格矩阵怎样得到网格矩阵 X 和和 Y?利用利用 Matlab 的网格生成函数:的网格生成函数:meshgrid45网格生成函数网格生成函数若若 x=y,则可简写为:则可简写为:X,Y =meshgrid(x)X,Y =meshgrid(x,y)l x,y 是分别对是分别对 x 取值区域取值区域和和 y 取值区域取值区域进行分割后进行分割后 得到的向量得到的向量l X,Y 即为我们所需要的网格矩阵即为我们所需要的网格矩阵q 网格生成函数网格生成函数 46例:例:墨西哥帽子:墨西哥帽子:墨西哥帽子墨西哥帽子(a x a,-a y x=-8:0.5:8;y=-8:0.5:8;X,Y=meshg
23、rid(x,y);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;mesh(X,Y,Z)1)x 方向与方向与 y 方向可以取不同的步长方向可以取不同的步长2)注意这里采用的注意这里采用的数组运算数组运算eps?最后一个命令能否改为最后一个命令能否改为 mesh(Z)?X,Y=meshgrid(-8:0.5:8);48meshc 和和 meshzl 绘制带绘制带等高线等高线的空间曲面:的空间曲面:meshc-使用方式与使用方式与 mesh 相同,在相同,在 mesh 基础上增加等高线基础上增加等高线q 其它网格曲面绘制其它网格曲面绘制函数函数:meshc、meshz l 绘制带绘
24、制带屏蔽面屏蔽面的空间曲面:的空间曲面:meshz-使用方式与使用方式与 mesh 相同,在相同,在 mesh 基础上屏蔽边界面基础上屏蔽边界面49Mesh 绘图小结绘图小结l 显式方程显式方程:z=z(x,y),a x b,c y d x=a:hx:b;y=c:hy:d;X,Y=meshgrid(x,y);Z=z(X,Y);mesh(X,Y,Z)l 参数方程参数方程:x=x(u,v),y=y(u,v),x=z(u,v)u=a:hu:b;y=c:hv:d;U,V=meshgrid(u,v);X=x(U,V);Y=y(U,V);Z=z(U,V);mesh(X,Y,Z)a u b,c v d50曲
25、面作图其它命令曲面作图其它命令q 空间曲面其它作图命令空间曲面其它作图命令 l sphere(n)专用于绘制单位球面专用于绘制单位球面mesh 绘制绘制网格图网格图,surf 绘制绘制表面表面着色的着色的曲面图曲面图l surf(X,Y,Z)绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面图,参数所确定的曲面图,参数含义同含义同 meshsphere 只能画单位球面!只能画单位球面!51surf 作图举例作图举例 X,Y=meshgrid(-8:0.5:8);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;surf(X,Y,Z)surf(X,Y,Z)mesh(X,Y,Z)52如果
26、没有给出如果没有给出 n 的值,的值,则系统默认为则系统默认为 n=20sphere 作图作图 sphere;sphere(60);axis equal;53图形的阴影效果图形的阴影效果shading flat/interp/faceted(default)q shading:设置设置图形的阴影效果图形的阴影效果shading flatshading interp54l r,g,b 都是都是 0 1 之间的一个数之间的一个数l s 为字符串,表示所采用的色系,常用的值有为字符串,表示所采用的色系,常用的值有颜色映象颜色映象相应的颜色系相应的颜色系颜色映象颜色映象相应的颜色系相应的颜色系autu
27、mn红黄色系红黄色系hsv色调饱和色系色调饱和色系gray线性灰色系线性灰色系hot黑红黄白色系黑红黄白色系cool青和洋红色系青和洋红色系pink柔和色系柔和色系图像的着色方案图像的着色方案colormap(r g b)或或 colormap(s)q colormap:设置绘图的着色方案设置绘图的着色方案55曲面作图其它命令曲面作图其它命令q 空间曲面其它作图命令空间曲面其它作图命令 lpcolor(X,Y,Z)绘制由矩阵绘制由矩阵 X,Y,Z 所确定的伪色图(带栅格的二维所确定的伪色图(带栅格的二维阴影图)阴影图)l contour(X,Y,Z)绘制由矩阵绘制由矩阵 X,Y,Z 所确定的等
28、高线所确定的等高线565758本讲主要内容本讲主要内容n 二维平面作图二维平面作图n 三维空间作图三维空间作图n 符号作图符号作图n Matlab 绘图过程绘图过程/原理原理59二维曲线二维曲线 ezplotq 二维曲线符号绘图函数:二维曲线符号绘图函数:ezplotezplot(f(x),a,b)绘制绘制 y=f(x)在区域在区域 a x b 上的图形上的图形ezplot(f(x,y),a,b,c,d)绘制绘制 f(x,y)=0 在区域在区域 a x b,c y d 上的图形上的图形ezplot(x(t),y(t),a,b)绘制绘制 x=x(t),y=y(t)在区域在区域 a t b 上的图
29、形上的图形60二维曲线二维曲线 ezplotezplot(f(x)绘制绘制 y=f(x)在区域在区域-2 x 2 上的图形上的图形ezplot(f(x,y)绘制绘制 f(x,y)=0 在区域在区域-2 x,y 2 上的图形上的图形ezplot(x(t),y(t)绘制绘制 x=x(t),y=y(t)在区域在区域 0 t ezplot(sin(x);ezplot(sin(x),.-pi,pi);符号作图时要注意符号作图时要注意 使用使用 单引号单引号!62Matlab 符号作图符号作图q 空间曲线符号绘图函数:空间曲线符号绘图函数:ezplot3ezplot3(x(t),y(t),z(t),a,b
30、)绘制空间曲线:绘制空间曲线:x=x(t),y=y(t),z=z(t),a t bezplot3(x(t),y(t),z(t)绘制空间曲线:绘制空间曲线:x=x(t),y=y(t),z=z(t),0 t 2 缺省的绘图区间为缺省的绘图区间为 0,2 ezplot3(2*t,sin(t),cos(t),0,20)例:例:63Matlab 符号作图符号作图q 空间曲面符号绘图函数:空间曲面符号绘图函数:ezmesh、ezsurfu ezmesh(z(x,y),a,b,c,d)u ezmesh(z(x,y),a,b)u ezmesh(z(x,y)u ezmesh(x(s,t),y(s,t),z(s,t),a,b,c,d)u ezmesh(x(s,t),y(s,t),z(s,t),a,b)u ezmesh(x(s,t),y(s,t),z(s,t)ezsurf 的用法的用法与与 ezmesh 相同相同人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。