资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Matlab 绘图强大的绘图功能是 Matlab 的特点之一,Matlab 提供了一系列的绘图函数,用 户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到 所需图形, 这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作 的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲 线、文字等) 看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形 元素进行操作,而不影响其他部分。本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方 法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。一二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标 系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基 础。一绘制二维曲线的基本函数在 Matlab 中,最基本而且应用最为广泛的绘图函数为 plot,利用它可以在二 维平面上绘制出不同的曲线。1 plot 函数的基本用法plot 函数用于绘制二维平面上的线性坐标曲线图,要提供一组 x 坐标和对应的 y 坐标,可以绘制分别以 x 和 y 为横、纵坐标的二维曲线。plot 函数的应用格 式plot(x,y) 其中 x,y 为长度相同的向量,存储 x 坐标和 y 坐标。例 51 在0 , 2pi区间,绘制曲线程序如下:在命令窗口中输入以下命令 x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。例 52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出 x,y 向量即 可输出曲线: t=-pi:pi/100:pi; x=t.*cos(3*t); y=t.*sin(t).*sin(t); plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到 plot 函数的自变量 x,y 为长度相同的向量,这是最常见、最基本的用 法。实际应用中还有一些变化。分别说明:2 含多个输入参数的 plot 函数plot 函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参 数的 plot 函数调用格式为:plot(x1,y1,x2,y2,xn,yn)如下列命令可以在同一坐标中画出 3 条曲线。 x=linspace(0,2*pi,100); plot(x,sin(x),x,2*sin(x),x,3*sin(x)当输入参数有矩阵形式时,配对的 x,y 按对应的列元素为横坐标和纵坐标绘制 曲线,曲线条数等于矩阵的列数。 x=linspace(0,2*pi,100); y1=sin(x); y2=2*sin(x); y3=3*sin(x); x=x;x;x; y=y1;y2;y3; plot(x,y,x,cos(x)x,y 都是含有三列的矩阵,它们组成输入参数对,绘制三条曲线;x 和 cos(x) 又组成一对,绘制一条余弦曲线。利用 plot 函数可以直接将矩阵的数据绘制在图形窗体中,此时 plot 函数将矩 阵的每一列数据作为一条曲线绘制在窗体中。如 A=pascal(5)A =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70 plot(A)3 含选项的 plot 函数Matlab 提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符 号。这些选项如表所示:线型颜色标记符号 - 实线b 蓝色 . 点s 方块 : 虚线g 绿色 o 圆圈d 菱形 -. 点划线r 红色 叉号 朝下三角符号 - 双划线c 青色 + 加号 朝上三角符号m 品红 * 星号朝右三角符号k 黑色p 五角星w 白色h 六角星例 用不同的线型和颜色在同一坐标内绘制曲线 及其包络线。 x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,k:,x,y2,b-,x1,y3,rp);在该 plot 函数中包含了 3 组绘图参数,第一组用黑色虚线画出两条包络线,第 二组用蓝色双划线画出曲线 y,第三组用红色五角星离散标出数据点。LegendLegend 标注标注xlabel(时间(年份),Fontsize,15);ylabel(老龄人口比重(%) ,Fontsize,15);legend(fontsize 15中国人口比重,fontsize 15世界人口比重 ,Location,NorthWest);另外,如果要点和线一块儿画出来,可以用b*-这样的标识。MatlabMatlab 设置设置 gcagca 修改坐标显示修改坐标显示1 1、坐标轴删除、坐标轴删除set(gca,xtick,)%去掉 x 轴的刻度set(gca,ytick,) %去掉 xy 轴的刻度set(gca,xtick,ytick,) %同时去掉 x 轴和 y 轴的刻度2 2、MatlabMatlab 中中“坐标轴刻度坐标轴刻度”的不同风格的不同风格 x=1:8;subplot(2,2,1)plot(x)%tick style 0(auto)subplot(2,2,2)plot(x)set(gca,xtick,1 3 6 8);%style 1set(gca,ytick,);%style 2subplot(2,2,3)plot(x)set(gca,xtick,1 3 6 8);set(gca,xticklabel,sprintf(.4f|,get(gca,xtick);%style 3set(gca,ytick,2 4 5 7);set(gca,yticklabel,Two,Four,Five,Seven);%style 4subplot(2,2,4)plot(x)set(gca,xminortick,on);%style 5set(gca,ticklength,0.05 0.025);%style 6set(gca,tickdir,out);%style 7 另附 Maltab 坐标调整程序一段:x=20:10:20000;y=rand(size(x);semilogx(x,y);set(gca,XLim,20 20000);set(gca,XMinorTick,off);set(gca,XTick,20 31.5 63 125 250 500 1000 2000 4000 8000 16000);set(gca,XGrid,on);set(gca,XMinorGrid,off);3、matlab 坐标刻度调整subplot(3,2,1)plot(x)title(默认格式)subplot(3,2,2)plot(x)set(gca,xtick,1 3 6 8);set(gca,ytick,);title(X 自定义间隔,Y 关闭)subplot(3,2,3)plot(x)set(gca,xtick,1 3 6 8);set(gca,xticklabel,sprintf(.4f|,get(gca,xtick)set(gca,ytick,2 4 5 7);set(gca,yticklabel,Two,Four,Five,Seven);title(XY 自定义间隔、精度及显示方式)subplot(3,2,4)plot(x)set(gca,xminortick,on);%style 5set(gca,ticklength,0.05 0.025);set(gca,tickdir,out);title(XY 坐标刻度显示方式)subplot(3,2,5)plot(x)set(gca,xtick,min(x) (max(x)+min(x)/2 max(x);set(gca,ytick,min(x) (max(x)+min(x)/2 max(x);title(论文中常用的标准 3 点式显示)x=20:10:20000;y=rand(size(x);subplot(3,2,6)semilogx(x,y);set(gca,XLim,20 20000);set(gca,XMinorTick,off);set(gca,XTick,20 31.5 63 125 250 500 1000 2000 4000 8000 16000);set(gca,XGrid,on);set(gca,XMinorGrid,off);title(自定义网格显示)%顺便附上可以格式化坐标刻度的程序段x=get(gca,xlim);y=get(gca,ylim);set(gca,xtick,x(1) (x(1)+x(2)/2 x(2);set(gca,ytick,y(1) (y(1)+y(2)/2 y(2);get(gca,xlim);是获取最大最小刻度的如果需要获取所有在坐标轴上显示的刻度,需要使用 get(gca,ytick)4 双纵坐标函数 plotyy在 Matlab 中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用 plotyy 函数,它能把具有不同量纲,不同数量级的两个函数绘制在同一个坐标 中,有利于图形数据的对比分析。使用格式为:plotyy(x1,y1,x2,y2)x1,y1 对应一条曲线,x2,y2 对应另一条曲线。横坐标的标度相同,纵坐标有两 个,左边的对应 x1,y1 数据对,右边的对应 x2,y2。例:(略)5如何标出某个点的坐标。matlabmatlab 怎么在图上标出具体点坐标怎么在图上标出具体点坐标? ?对巳知坐标的点,可以这样标出:对巳知坐标的点,可以这样标出:plot(5,38.45,rs,MarkerEdgeColor,k,MarkerFaceColor,g,Marker Size,5) text(5,38.45,(5,38.45),EdgeColor,red,VerticalAlignment,botto m);plot(38,126.36,rs,MarkerEdgeColor,k,MarkerFaceColor,g,Mark erSize,5) text(38,126.36,(38,126.36),EdgeColor,red,VerticalAlignment,bottom);对未知坐标的点,可以先插值,再标出:对未知坐标的点,可以先插值,再标出:以下代码在以下代码在 7.17.1 版以上均可运行。版以上均可运行。close all clear,clcx=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号