资源描述:
《MATLAB试题讲解(神级版本).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章MATLAB绘图(一)二维绘图4.1二维绘图绘图的一般步骤1.曲线数据准备2.指定图形窗口和子图位置3.绘制图形4.设置坐标轴和图形注释5.仅对三维图形使用的着色和视点等设置6.图形的精细修饰7.按指定格式保存或导出图形4.1.1基本绘图函数1.plot函数的基本用法MATLAB7.3中最基本的绘图函数是绘制曲线函数plot。plot(x,y)%绘制以x为横坐标y为纵坐标的二维曲线说明:x和y可以是实数向量或矩阵,也可以是复数向量或矩阵。1)plot最简单的形式是只包含1个输入参数:plot(y)%
2、绘制以y为纵坐标的二维曲线在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是在绘制折线图。当x是实矩阵时,则按列绘制每列元素相对其下标的曲线,曲线条数等于x的列数。当x是复数矩阵的时候,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。例1绘制矩阵y为2×3的曲线图>>y=[123;456];>>plot(y)y=123456y是2×3的矩阵,每列画一条曲线共3条,第一条线纵坐标画的是[14]两点。2)x和y为向量或矩阵时的plot(x,y)plot(x,
3、y)%绘制以x为横坐标y为纵坐标的二维曲线当plot(x,y)命令中的参数x和y是向量或矩阵时,分别有以下几种情况:x是向量y是矩阵时:x的长度与矩阵y的行数或列数必须相等,如果x的长度与y的每列元素个数相等,向量x与y的每列向量画一条曲线;如果x的长度与y的每行元素个数相等,则向量x与矩阵y的每行向量对应画一条曲线;如果y是方阵,x和y的行数和列数都相等,则向量x与矩阵y的每列向量画一条曲线。x是矩阵y是向量时:y的长度必须等于x的行数或列数,绘制的方法与前一种相似。x和y都是矩阵时:x和y大小必须相同,
4、矩阵x的每列与y的每列画一条曲线。例2绘制方波信号,如图3-4所示。>>x=[011223344];>>y=[110011011];>>plot(x,y)练习例3x是矩阵,分别绘制x与y1和x与y2的曲线,已知y1是向量且长度与x的行数相等,y2是矩阵且与x尺寸相同,曲线分别如图3-6a和3-6b所示。>>x=[1:4;2:5;3:6]>>y1=[123]%y1长度与x的行数相等>>y2=[1111;2222;3333]%y2与x尺寸相同>>plot(x,y1)>>plot(x,y2)程序分析:左图中x的每
5、列为横坐标,y1的所有元素为纵坐标。右图是x和y2的每列对应的4条曲线。x=123423453456y1=123y2=1111222233332.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)其中X1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一个向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。例4x是行向量,使用plot函数在同一窗口绘制4条曲线。x=1:10;y1=sin(x);
6、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)颜色选项
7、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-.')>>holdon>>z=sin(x);>>plot(x,z,'m+:')4.多个图形的绘制1)同一个窗口多个子图使用subplot函数建立子图,su
8、bplot函数的命令格式如下:subplot(m,n,i)%将窗口分成(m×n)幅子图中,第i幅为当前图说明:subplot中的逗号(,)可以省略;子图的编排序号原则是:左上方为第1幅,先从左向右后从上向下依次排列,子图彼此之间独立。例4-8在同一个窗口中建立四个子图,在子图中分别绘制sin(x)、cos(x)、sin(2x)和cos(2x)曲线,如图3-8所示。>>x=0:0.1:10;>>subplot(2,