《第2讲matlab绘图.ppt》由会员分享,可在线阅读,更多相关《第2讲matlab绘图.ppt(49页珍藏版)》请在三一文库上搜索。
1、第二讲 matlab 绘图,matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。,plot的调用格式,plot(x) 缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y) 基本格式,以y(x)的函数关系作出直角坐标图。P36,一、二维绘图,plot 最基本的二维图形指令,绘制线性图形(描点、连线),例:x=0, 0.48,0.84,1,0.91,0.6,0.14 x1, x2, x3, x4, x5, x6, x7 plot (x),例:x=0:pi/20:2*pi; y=sin(x.2)
2、; plot (x,y),plot(x1,y1,x2,y2,x3,y3) 功能:在同一图形窗口画出多条曲线 。 曲线的关系为: 例: 在同一图形窗口画出三个函数y = cos 2x ,y = x2 , y = x的图形,自变量范围为:-2 x 2 。 解 Matlab命令: x=-2:0.1:2; plot(x,cos(2*x),x,x.2,x,x) ,图形的重叠绘制hold hold 在hold on与 hold off之间进行切换 hold on 保留当前图形和它的轴,使此后图形叠放在当前图形上 hold off返回Matlab的缺省状态。此后图形指令运作将抹掉当前窗中的旧图形,然后画上新
3、图形。,北京科技大学数学实验,控制分隔线grid grid 在grid on与 grid off之间进行切换 grid on 在图中使用分隔线 grid off 在图中消隐分隔线,基本绘图控制参数,调用格式: axis(xmin xmax ymin ymax zmin zmax) 用行向量中给出的值设定坐标轴的范围。 axis equal 使坐标轴在3个方向上刻度增量相等 axis on(off) 显示和关闭坐标轴的标 记、标志,axis 坐标轴的控制,二维绘图指令还提供一组控制曲线线型、标记类型、颜色的开关。该开关总跟在一元或二元对的后面,具体如下: plot(x,String) plot(
4、x,y, String) plot(x1,y1, String1,x2,y2, String2,) 其中,string是字符串,该字符串由表4-1、表4-2 、表4-3(见课本P44)中的字符组成。,线型、标记类型、颜色,例: 利用hold指令在同一坐标系中画出如下两条参数曲线,参数曲线方程为:,t的范围0,2,解 Matlab 命令为 t=0:pi/50:2*pi; plot(cos(t),sin(t), b*) ,grid on, hold on,plot(sin(t),sin(2*t), r:),课堂练习:,P36例4-3,用参数方程画椭圆。 P38例4-5,要求各图形线条属性不同。,图
5、名标注title title(String) 在图形的顶端加注文字作为图名 坐标轴标注 xlabel(String) 在当前图形的x轴旁边加注文字内容 ylabel(String) 在当前图形的y轴旁边加注文字内容 zlabel(String) 在当前图形的z轴旁边加注文字内容,图形的标注,图形标注 text (x, y, String) 在(x,y)处加文字String(二维图形) text (x, y, z, String) 在(x,y,z)处(三维图形) gtext (String) 在鼠标指定位置上标注 说明:使用gtext指令后,会在当前图形上出现一个十字叉,等待用户选定位置进行标注
6、。移动鼠标到所需位置按下鼠标左键,Matlab就在选定位置标上文字。 图例标注legend 当在一幅图中出现多种曲线时,结合在绘制时的不同线性与颜色等特点,用户可以用legend命令进行说明。其使用格式为: legend(String1, String2, String3,),例:t=0:0.1:10; y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-); x=1.7*pi;1.6*pi; y=-0.3;0.8; s=sin(t);cos(t); text(x,y,s); title(正弦和余弦曲线); legend(正弦,余弦) xlabel(时间t),ylab
7、el(正弦、余弦) grid axis square,subplot指令它不仅适用于二维图形而且也适用于三维图形。其本质是将窗口分为几个区域,再在每个小区域中画图形。 subplot(m,n,i) 把图形窗口分为mn个子图,并在第i个子图中画图。子图按从左到右,从上到下排列。,一个图形窗口多个子图的绘制,例: t=-pi:pi/20:pi; subplot(2,2,1),plot(t,sin(t) subplot(2,2,2),plot(t,cos(t) subplot(2,2,4),plot(t,sin(t.2),例: 在同一坐标系中画出两个函数y = cos 2x ,y = x的图形,自变
8、量范围为:-2 x 2,函数y = cos 2x为红色实线, 函数y = x 为蓝色虚线。并加图名、坐标轴、图形、图例标注。 解: Matlab命令为 clf %(P/6) x=-2:0.1:2; y1=cos(2*x);y2=x; subplot(1,2,1) plot(x,y1,r-,x,y2,b-),grid on title(曲线y1=cos(2x)与y2=x) xlabel(x轴),ylabel(y轴) gtext(y1=cos(2x),gtext(y2=x) legend(y1=cos(2x),y2=x) subplot(1,2,2) plot (x,y1,x,y2), title
9、(默认),课堂练习:在M文件中编写,文件名如:li4_11.m等,P47例4-11。 P47例4-12,图形窗口的分割。,fplot 绘制数值函数的二维曲线,fplot的调用格式: fplot(fun,lims) 绘制函数fun在x区间 lims=xmin xmax的函数图。 fplot(fun,lims,corline) 以指定线形绘图。 x,y=fplot(fun,lims) 只返回绘图点的值,而不绘图。用plot(x,y)来绘图。,例:x=-1:0.1:1; y=cos(1./x); plot(x,y),fplot(cos(1./x),-1,1),P48,ezplot 绘制符号函数的二维
10、曲线,ezplot的调用格式: ezplot(f) 这里f为包含单个符号变量x的符号表达式,在x轴的默认范围 -2*pi 2*pi内绘制f(x)的函数图 ezplot(f,xmin,xmax) 给定区间,ezplot(exp(-t)*cos(t) ),二、三维线图,plot3 基本的三维图形指令 调用格式: plot3(x,y,z) x,y,z是长度相同的向量 plot3(X,Y,Z) X,Y,Z是维数相同的矩阵 plot3(x,y,z,s) s控制曲线的颜色、线型 plot3(x1,y1,z1,s1, x2,y2,z2,s2, ),二维图形的所有基本特性对三维图形全都适用: 定义三维坐标轴大
11、小 axis(xmin xmax ymin ymax zmin zmax ) grid on(off) 绘制三维网格 text(x,y,z,string) 三维图形标注 子图和多窗口也可以用到三维图形中,例:绘制三维线图 t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),r:),课堂练习:,P79习题1,plot命令。 P79习题2,fplot, ezplot, subplot。 P79习题5,plot3。,1. meshgrid生成格点矩阵(P59),调用格式: X,Y=meshgrid(x,y);绘制二维图形时生成矩形的格点。 X,Y=meshgrid(x);等价
12、于X,Y=meshgrid(x,x) X,Y,Z=meshgrid(x,y,z); 绘制三维图形时生成空间曲面的格点。 X,Y,Z=meshgrid(x) ;等价于X,Y,Z=meshgrid(x,x,x),三、空间曲面绘图,例: x=1,2,3;y=1,2,3,4; X,Y=meshgrid(x,y) X = 1 2 3 Y =1 1 1 1 2 3 2 2 2 1 2 3 3 3 3 1 2 3 4 4 4,例: x=1,2,3 X,Y=meshgrid(x) X = 1 2 3 Y =1 1 1 1 2 3 2 2 2 1 2 3 3 3 3,利用函数meshgrid生成格点矩阵后,再求
13、出各格 点对应的函数值,就可以利用三维网格命令mesh 画出空间网格曲面 调用格式: mesh(X,Y,Z) X,Y,Z为同维数的矩阵 mesh(x,y,Z) x,y是向量,Z是矩阵。等价于 X,Y=meshgrid(x,y) mesh(X,Y,Z) mesh(Z) Z为nm的矩阵, 默认x=1:n, y=1:m,2. 三维网格命令mesh,meshc 生成网格线,在xoy面上生成曲面的等高线图形 meshz 生成网格线,在曲面下面加上一个长方形的台柱 mesh,meshc,meshz的调用方式相同,例: x=1:0.1:3; y=1:0.1:4; X,Y=meshgrid(x,y); Z=o
14、nes(size(X); mesh(X,Y,Z),例:绘制z=x2+y2的三维网线图形 x=-5:5; y=x; X,Y=meshgrid(x,y) Z=X.2+Y.2 mesh(X,Y,Z),坐标矩阵,坐标向量,纵坐标矩阵,绘图函数,与三维网格图的区别: 网格图:线条有颜色,空挡无颜色 曲面图:线条是黑色的,空挡有颜色(把 线条之间的空挡填充颜色,沿z轴按每一网 格变化,3. 三维表面命令surf,调用格式: surf(x,y,z) 与mesh的调用方式相同 例: X,Y,Z=peaks(30) peaks为matlab 自动生成的三维测 试图形 surf(X,Y,Z), surfc(X,Y
15、,Z) 带等高线的曲面图 X,Y,Z=peaks(30);surfc(X,Y,Z),例: 用平行截面法讨论由方程构成的马鞍面形状。p64 解:Matlab命令为,t=-10:0.1:10; x,y=meshgrid(t); z1=(x.2-2*y.2)+eps; subplot(1,3,1),mesh(x,y,z1),title(马鞍面) a=input(a=(-50a50), z2=a*ones(size(x); subplot(1,3,2),mesh(x,y,z2),title(平面) r0=abs(z1-z2)=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x; subplo
16、t(1,3,3),plot3(xx(r0=0),yy(r0=0),zz(r0=0),x) title(交线),课堂练习:,P61例4-27,mesh, meshc, meshz。 P64例4-30,曲面交线。 P79习题9,曲面交线。,4. sphere(n) 球面绘图函数. n分格线条数 x,y,z=sphere(n) 例:绘制半径为2的三维球面 x,y,z=sphere(30); surf(2*x, 2*y, 2*z); axis equal,5. cylinde(r,n) 柱面绘图函数 x,y,z=cylinder(r,n) 轴线为z轴; r为一向量,其中的每个元素为半径; n为柱面上分
17、格线条数。 例:绘制三维陀螺锥面 t1=0:0.1:0.9; t2=1:-0.1:0; r=t1 t2; x,y,z=cylinder(r,30); surf(x,y,z);,6. 色彩控制,colormap 控制图形色彩 hidden 图形的透视 hidden on 消隐重叠线 hidden off 透视重叠线 shading 图形着色控制 shading flat 平滑方式着色 shading faceted 默认的着色方式, 网格线是黑色 shading interp 插值方式着色,shading flat 去掉黑色线条,根据小方块的值确定颜色,shading faceted 网格修饰,缺省方式,shading interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色,小结:,基本绘图函数 plot, plot3, meshgrid,mesh, surf 要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定,课堂练习:,P79习题7 ,mesh, surf, shading, light。 P79习题8,画椭球面。,
链接地址:https://www.31doc.com/p-2973485.html