MATLAB程序设计与教程课件.ppt
MATLAB程序设计与教程课件5.1.1 基本绘图函数基本绘图函数1.plot函数的基本用法函数的基本用法 MATLAB 7.3中最基本的绘图函数是绘制中最基本的绘图函数是绘制曲线函数曲线函数plot。plot(x,y)%绘制以绘制以x为横坐标为横坐标y为纵坐标的二维为纵坐标的二维曲线曲线说明:说明:x和和y可以是实数向量或矩阵,也可以是可以是实数向量或矩阵,也可以是复数向量或矩阵。复数向量或矩阵。【例【例5-2】绘制双矢量曲线图绘制双矢量曲线图x=0:0.05:4*pi;%生成生成0至至4,间隔为,间隔为0.05的自变量的自变量y=sin(x);plot(x,y)绘制方波信号绘制方波信号 x=0 1 1 2 2 3 3 4 4;y=1 1 0 0 1 1 0 1 1;plot(x,y)2含多个输入参数的含多个输入参数的plot函数函数含多个输入参数的含多个输入参数的plot函数调用格式为:函数调用格式为:plot(x1,y1,x2,y2,xn,yn)其中其中X1和和y1,x2和和y2,xn和和yn分别组成一组向量对,每一组分别组成一组向量对,每一组向量对的长度可以不同。每一个向量对可以绘制出一条曲线,这向量对的长度可以不同。每一个向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。样可以在同一坐标内绘制出多条曲线。例例 x是行向量,使用是行向量,使用plot函数在同一窗口绘制函数在同一窗口绘制4条曲线。条曲线。x=1:10;y1=sin(x);y2=10*sin(x);y3=20*sin(x);30*sin(x);plot(x,y1,x,y2,x,y3)3.含选项的含选项的plot函数函数曲线的曲线的线型线型、颜色颜色和和数据点形数据点形在在plot函数中还可以通过字符串参数来设置曲函数中还可以通过字符串参数来设置曲线的线型、颜色和数据点形等,命令格式如下:线的线型、颜色和数据点形等,命令格式如下:plot(x,y,选项选项)或或plot(x1,y1,选项选项1,x2,y2,选项选项2,xn,yn,选项选项n)说明:选项为说明:选项为字符串字符串,设置曲线的线型、颜色,设置曲线的线型、颜色与数据点形等参数。与数据点形等参数。plot(x,y,ro-)1)线型选项(数据点间连线)线型选项(数据点间连线)-实线实线 :虚线虚线 -.点划线点划线 -双划线双划线 2)颜色选项)颜色选项b蓝色蓝色,g绿色绿色,r红色红色,c青色青色,m品红色品红色,y黄色黄色,k黑色黑色,w白色白色3)标记符号选项(数据点型)标记符号选项(数据点型).点点 o圆圈圆圈 x 叉号叉号 +加号加号 *星号星号 s方块符方块符 d菱形符菱形符 v朝下三角符号朝下三角符号 朝上三角符号朝上三角符号 朝右三角符号朝右三角符号 p五角星符五角星符 h六角星符六角星符5 在图形中设置曲线的不同线型和颜色在图形中设置曲线的不同线型和颜色并绘制图形,如图并绘制图形,如图3-11所示。所示。x=0:0.2:10;y=exp(-x);plot(x,y,ro-.)hold on z=sin(x);plot(x,z,m+:)4.多个图形的绘制多个图形的绘制 1)同一个窗口多个子图同一个窗口多个子图使用使用subplot函数建立子图,函数建立子图,subplot函数的命令格函数的命令格式如下:式如下:subplot(m,n,i)%将窗口分成将窗口分成(mn)幅子图中,第幅子图中,第i幅为当前图幅为当前图说明:说明:subplot中的逗号(中的逗号(,)可以省略;子图的)可以省略;子图的编排序号原则是:左上方为第编排序号原则是:左上方为第1幅,先从左向右后幅,先从左向右后从上向下依次排列,子图彼此之间独立。从上向下依次排列,子图彼此之间独立。例例 在同一个窗口中建立四个子图,在子图中分别在同一个窗口中建立四个子图,在子图中分别绘制绘制sin(x)、cos(x)、sin(2x)和和cos(2x)曲线,如图曲线,如图3-8所示。所示。x=0:0.1:10;subplot(2,2,1)%第一行左图第一行左图 plot(x,sin(x)subplot(2,2,2)%第一行右图第一行右图 plot(x,cos(x)subplot(2,2,3)%第二行左图第二行左图 plot(x,sin(2*x)subplot(2,2,4)%第二行右图第二行右图 plot(x,cos(2*x)5.1.2 绘制图形的辅助操作 1.图形标注图形标注 有关图形标注函数的调用格式为:有关图形标注函数的调用格式为:title(图形名称图形名称)例例 title(示意图示意图)xlabel(x轴说明轴说明)例例 xlabel(时间时间)ylabel(y轴说明轴说明)例例 ylabel(里程里程)text(x,y,图形说明图形说明)例例 text(2,3,t3)legend(图例图例1,图例图例2,,pos)例例 legend(时间时间,里程里程,0)pos:0为取最佳位置,为取最佳位置,1为右上角(默认),为右上角(默认),2为为左上角,左上角,3为左下角,为左下角,4为右下角,为右下角,-1为图外右侧。为图外右侧。例例 给以下程序产生的图形加标注给以下程序产生的图形加标注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,g:,x,y2,b-,x1,y3,rp);所添加的程序:所添加的程序:1.加图形标题加图形标题title(曲线及其包络线曲线及其包络线);2.加加X和和Y轴说明轴说明 xlabel(independent variable X);ylabel(independent variable Y);3.在指定位置添加图形说明在指定位置添加图形说明 text(2.8,0.5,包络线包络线);text(0.5,0.5,曲线曲线y);text(1.4,0.1,离散数据点离散数据点);4.加图例加图例 legend(包络线包络线,包络线包络线,曲线曲线y,离散离散数据点数据点)2.设置坐标轴设置坐标轴绘制图形时,绘制图形时,MATLAB可以自动根据绘制曲线数据的范围选择合可以自动根据绘制曲线数据的范围选择合适当坐标刻度,使得曲线能够尽可能清晰地显示出来。一般情况下,适当坐标刻度,使得曲线能够尽可能清晰地显示出来。一般情况下,用户不必选择坐标轴的刻度范围。用户不必选择坐标轴的刻度范围。函数的调用格式为:函数的调用格式为:axis(xmin,xmax,ymin,ymax,zmin,zmax)axis函数功能丰富,常用的用法还有:函数功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度纵、横坐标轴采用等长刻度axis square 产生正方形坐标系产生正方形坐标系(缺省为矩形缺省为矩形)axis auto 使用缺省设置使用缺省设置axis off 取消坐标轴取消坐标轴axis on 显示坐标轴显示坐标轴3.分隔线和坐标框分隔线和坐标框grid on/off命令控制是画还是不画网格线,不带参数的命令控制是画还是不画网格线,不带参数的grid命令在两命令在两种状态之间进行切换。种状态之间进行切换。box on/off命令控制是加还是不加边框线,不带参数的命令控制是加还是不加边框线,不带参数的box命令在两命令在两种状态之间进行切换。种状态之间进行切换。hold on/off命令控制保持原有图形还是刷新原有图形,不带参数的命令控制保持原有图形还是刷新原有图形,不带参数的hold 命令在两种状态之间进行切换。命令在两种状态之间进行切换。5.1.3 绘制二维图形的其他函数绘制二维图形的其他函数在在MATLAB 7.3的的Workspace窗口中,如果选窗口中,如果选择了择了Workspace窗口中的某窗口中的某个内存变量,单击工具栏中个内存变量,单击工具栏中的绘制列数据曲线按钮的绘制列数据曲线按钮(Plot),出现下拉的菜单),出现下拉的菜单可以绘制各种不同的特殊图可以绘制各种不同的特殊图形。形。1.柱状图柱状图柱状图常用于对统计的数据进行显示,便于观察在一定时柱状图常用于对统计的数据进行显示,便于观察在一定时间段中数据的变化趋势,比较不同组数据集以及单个数据在间段中数据的变化趋势,比较不同组数据集以及单个数据在所有数据中的分布情况,特别适用于少量且离散的数据。所有数据中的分布情况,特别适用于少量且离散的数据。bar(x,y,width,参数参数)%画柱状图画柱状图2.杆图杆图stem函数函数将数据用一个垂直于横轴的火柴棒表示,火柴头的小圆表将数据用一个垂直于横轴的火柴棒表示,火柴头的小圆表示数据点。示数据点。stem(x,y,参数参数)%绘制火柴杆图绘制火柴杆图3.阶梯图阶梯图stairs函数函数stairs函数用于绘制阶梯图,命令格式如下:函数用于绘制阶梯图,命令格式如下:stairs(x,y,线型线型)%绘制阶梯图绘制阶梯图4.填充图填充图 fill(x1,y1,选项选项1,x2,y2,选项选项2,)例例 分别以条形图、填充图、阶梯图和杆图形分别以条形图、填充图、阶梯图和杆图形式绘制曲线式绘制曲线Y=2e-0.5x。程序如下:程序如下:x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,g);title(bar(x,y,g);axis(0,7,0,2);subplot(2,2,2);fill(x,y,r);title(fill(x,y,r);axis(0,7,0,2);subplot(2,2,3);stairs(x,y,b);title(stairs(x,y,b);axis(0,7,0,2);subplot(2,2,4);stem(x,y,k);title(stem(x,y,k);axis(0,7,0,2);此此课件下件下载可自行可自行编辑修改,修改,仅供参考!供参考!感感谢您的支持,我您的支持,我们努力做得更好!努力做得更好!谢谢!