第4章 MATLAB图形绘制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%第2个子窗口
%第3个子窗口
%第4个子窗口,并且省略了逗号
4.4.2 坐标轴控制命令 1.坐标轴比例控制 坐标轴比例控制命令的调用方式为: axis([xmin xmax ymin ymax]) 它将图形的x轴范围限定在[xmin,xmax]之间,y轴范围限定在 [ymin, ymax] 之间。 【例4-13】 使用axis命令绘制正弦图形。 在MATLAB命令窗口中键入如下命令: >> x=0:pi/12:10*pi; >> y=sin(x); >> plot(x,y); >> axis([-inf inf -1 1]);
第4章 MATLAB图形绘制基础
• 4.1 二维图形
MATLAB最常用的二维绘图命令是plot,该命令将各个数据点用直线 连接起来实现图形绘制。plot的调用格式为: 格式1:plot(x,y) 格式2:plot(x1,y1,x2,y2,……) 格式3:plot(x1,y1,参数1,x2,y2,参数2,……) plot可以在同一命令在同一坐标系中画出多幅图形,x1,y1 为第一条曲 线x,y轴的坐标值,参数1为第一条曲线的参数选项值;x2,y2为第二条 曲线x,y轴的坐标值,参数2为第二条曲线的参数选项值……。参数选 项值决定着二维曲线图形的颜色、线型和数据点标记,具体参数值见 下列各表说明。如果省略参数选项值,MATLAB将自动为每条曲线选 取不同颜色加以区别。
4.3.2 网格图 MATLAB提供了用于产生三维绘图数据的命令,主要包括: (1) peaks命令主要用于产生双峰函数和用双峰函数绘图。 它的调用格式为: 格式1:[x,y,z]=peaks(n) 分别产生x、y、z三个均为n╳n阶的方阵。 格式2:peaks(n) 直接使用peaks命令所产生的x、y、z三个矩阵绘制表面图。 (2) meshgrid命令主要按指定方式生成网格矩阵,它的调 用格式为: 格式:[X,Y,Z]=meshgrid (x,y,z) 分别产生X、Y、Z三个m╳n╳k阶的矩阵,矩阵的阶数由 x、y、z三个向量的长度m、n、k确定,X、Y、Z三个矩 阵表示三维空间的网络。
>> x=0:0.01:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2); >> title('曲线y1=sin(x)和y2=cos(x)'); %给图形加题标 >> xlabel('X-轴'); %给X轴加标注 >> ylabel('Y-轴'); %给Y轴加标注
• 4.4 图形的控制与修饰
1.图形窗口的创建 MATLAB的所有图形都显示在特定的窗口中,称之为图形窗口 (Figure)。Figure命令用于为当前绘制的图形创建图形窗口。 每运行一次Figure命令,就会创建一个新的图形窗口,根据绘图需 要,可以创建多个图形窗口。每个图形窗口有一个标题编号,显示在
• 4.3 三维图形
4.3.1 基本三维曲线图 MATLAB提供了绘制三维曲线图最基本命令plot3。该命令将绘制二维 曲线图的命令plot的特性扩展到三维空间。其功能与使用方法类似于 绘制二维曲线图形的plot命令。它的调用格式为: 格式:plot3(x1,y1,z1,参数1,x2,y2,z2,参数2,……) 其中,x1,y1,z1,x2,y2,z2,……是矢量或矩阵,参数2,参数1,……是可 选的字符串,用来指定颜色、标记点或线形。 【例4-8】 绘制x,y,z均为矢量时的三维曲线。 在MATLAB命令窗口中键入如下命令: >> t=0:pi/50:10*pi; >> plot3(sin(t),cos(t),t); >> grid
>> subplot(2,2,2) >> plot(x,y2); >> title('1.5*sin(x)'); >> subplot(2,2,3) >> plot(x,y3); >> title('cos(x)'); >> subplot(224) >> plot(x,y4); >> title('3*cos(2*x)');
4.3.3 特殊三维图形 MATLAB还提供了 stem3绘制三维火柴杆型图形 fill3绘制三维填充图形 bar3绘制三维直方图形 surf绘制三维曲面 surfc绘制带等高线的三维曲面 surf1绘制带有光照的三维图面 waterfall绘制瀑布形三维网格图形 contour绘制等高线图形 contour3绘制等高线图形 meshc绘制带等高线的三维网格图形 meshz绘制带底座的三维网格图形
【例4-1】绘制二维正弦曲线。 在MATLAB命令窗口中键入如下命令 >百度文库 x=0:pi/10:4*pi; >> y=2*sin(x); >> plot(x,y)
【例4-2】 绘制多组二维曲线图。 在MATLAB命令窗口中键入如下命令 >> x1=0:pi/20:4*pi; >> x2=0:pi/30:4*pi; >> x3=0:pi/40:4*pi; >> y1=sin(x1); >> y2=0.6*sin(x2); >> y3=0.3*sin(x3); >> plot(x1,y1,x2,y2,x3,y3)
【例4-10】 用MATLAB的peaks函数绘制一个简单的网格图。 在MATLAB命令窗口中键入如下命令: >> [x,y,z]=peaks(30); >> mesh(x,y,z) >> grid >> xlabel('x轴'); >> ylabel('y轴'); >> zlabel('z轴'); >> title('函数peaks的网格图')
在指定线型、颜色和标记点三种属性时应注意: (1)3种属性的符号必须放在同一个字符串中; (2)可以只指定其中的一个属性,也可以同时指定2个或3个属 性; (3)属性的先后顺序无关; (4)指定的属性中同种属性不能有两个以上。例如plot(x,y,'r:o') 命令,字符串‘r:o’中,第一个字符‘r’表示曲线颜色为红色; 第二个字符‘:’表示曲线线型采用冒号型;第三个字符‘o’ 表示 曲线上每一数据点处用圆圈标出。 绘制完二维图形后,还可以做进一步的修饰,如可以用grid on命令在 图形上添加网格线,用grid off命令取消网格线;另外还可以用hold on命令保护当前的坐标系,使得以后再使用plot命令时将新的曲线叠 印在原来的图上,用hold off命令可以取消保护状态;用户还可以使用 title、xlabel、ylabel命令在绘制的图形上添加标题、给x坐标轴、y坐 标轴添加标注。
• 4.2 特殊图形
4.2.1条形图 条形图用来表示一些数据的对比情况。MATLAB提供了两类条形图的 命令,一类是垂直方向的条形图,另一类是水平方向的条形图。调用 格式为: 格式1:bar(x,width)或bar(x,‘参数’) 根据矩阵或向量x绘制条形图。Width为给定条形的宽度,缺省值为 0.8,若width大于1,则条形图重叠。 当x为向量时,则以其各元素的序号为各个数据点的横坐标,以x向量 的各个元素为纵坐标,绘制一个垂直方向的条形图; 当x为矩阵时,对于参数的选择有两种情况:(1)若参数为group或 缺省,则以其各列序号为横坐标,每一列在其列序号坐标上分别以列 的各元素为纵坐标,绘制一个垂直方向的条形图;(2)若参数为 stack,则以其各列序号为横坐标,每一列在其列序号坐标上以列向 量的累加值为纵坐标,绘制一个垂直方向的分组式条形图。 格式2:barh(x,width)或barh(x,‘参数’) 它与bar命令的使用方法相同,只不过绘制的是水平方向的条形图。
4.4.3 图形的标注 一个好的图形必须有适当的图形标注,MATLAB提供了一系列方便的 图形标注命令,这些命令有: title(‘字符串’):给当前图形窗口加图形标题,位置在图形的上方。 xlabel(‘字符串’): 给当前坐标轴的x轴加标注。 ylabel(‘字符串’): 给当前坐标轴的y轴加标注。 zlabel(‘字符串’): 给当前坐标轴的z轴加标注。 text(x,y,‘字符串’):在x,y指定位置处加注文本。 gtext(‘字符串’):使用鼠标在指定的位置上加注文本。 legend(‘字符串’): 标注图例。 图形标注使用的文字可以是字母和数字,如输入特定的文字需要用反 斜杠(\)开头。 【例4-14】 设计一段程序,在同一坐标下绘制y=sin(x)和y=cos(x)两个 函数曲线,并给出坐标轴标注和图形标题。 在MATLAB命令窗口中键入如下命令:
【例4-4】 绘制不同情况的条形图。 在MATLAB命令窗口中键入如下命令 >> x=[10,20,30:15,25,10:5,20,35]; >> subplot(121) >> bar(x) >> subplot(122) >> barh(x)
4.2.2饼图 饼图在统计中常用来表示各因素所占百分比,MATLAB提供了二维饼 图命令pie(X)、三维饼图命令pie3(X)来表示向量或矩阵X中各元素所 占的比例。它们的调用格式为: 格式1.pie(X):根据X中的数据绘制二维饼图。 格式2.pie(X,explode):根据X中的数据绘制二维饼图,参数 explode表示某元素对应的扇形图是否从整个饼图中分离出来,若非 零,则表示非零元素所对应的扇形图是从整个饼图中分离出来,它的 维数与X相同。 格式3.pie3(X):根据X中的数据绘制三维饼图,它是具有一 定厚度的饼图,调用方法与二维饼图相同。 【例4-5】 在命令窗口创建向量X,绘制二维饼图(图4-5所示) 在MATLAB命令窗口中键入如下命令: >> x=[10 15 20 25 30]; >> pie(x,[0 1 0 1 0])
图形窗口的左上角。
2.图形窗口的分割 MATLAB的绘图命令subplot可以将图形窗口分割成几个区域,在多个 区域中分别绘图。 命令:subplot(m,n,p)将当前图形窗口分割成m╳n个子窗口,并把 第p个子窗口作为当前图形窗口,子窗口的排列顺序按照“先上后下, 先左后右”的原则,从图形窗口的左上角开始。另外,m、n和p前面 的逗号可以省略。 【例4-12】 在同一图形窗口中绘制4个子窗口。 在MATLAB命令窗口中键入如下命令: >> x=0:0.05:10; >> y1=sin(x); >> y2=1.5*sin(x); >> y3=cos(x); >> y4=3*cos(2*x); >> subplot(2,2,1) %第1个子窗口 >> plot(x,y1); >> title('sin(x)');