【matlab-4】函数、二维平面绘图
- 格式:docx
- 大小:76.74 KB
- 文档页数:5
实验四 MATLAB 二维绘图的基本操作一、实验目的通过图形可以从一堆杂乱的数据中观察数据间的内在关系,感受由图形所传递的内在本质。
本实验主要练习并掌握二维曲线绘图的基本操作。
Time(seconds)M a k e s p a n二、实验内容在了解了 MATLAB 的矩阵和向量概念与输入方法之后,MA TLAB 的二维绘图就再简单不过了。
假设有两个同长度的向量 x 和 y, 则用 plot(x,y) 就可以自动绘制画出二维图来。
如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。
〖例〗正弦曲线绘制,在命令窗口依次输入如下指令:>> t=0:.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,...,6.2>> y=sin(t); % 计算正弦向量>> plot(t,y) %绘制图形这样立即可以得出如下图所示的二维图:10.80.60.40.2-0.2-0.4-0.6-0.8-1plot 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。
在命令窗口接着输入:>> y1=cos(t);>>plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。
所得图形如下:10.80.60.40.2-0.2-0.4-0.6-0.8-1★plot 的基本调用格式:plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...),其中所有的选项如表4.1 所示。
一些选项可以连用,如'-r' 表示红色实线。
练习:>> plot(x,y,'--')>> plot(x,y,'b')>> plot(x,y,'r')>> plot(x,y,'o')由MA TLAB 绘制的二维图形可以由下面的一些命令简单地修饰。
matlab二维图形的绘制(2006-11-20 20:38:35)转载▼分类:matlab基础(电子方向)常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
《MATLAB语言》课程论文利用MATLAB绘制二维函数图形姓名:海燕学号:***********专业:通信工程班级:通信一班指导老师:***学院:物理电气信息学院成日期:2011年12月5利用MATLAB绘制二维函数图形(海燕12010245375 2010级通信1班)[摘要]大学高等数学中涉及许多复杂的函数求导绘图极值及其应用的问题,例如二维绘图,对其手工绘图因为根据函数的表达式的难易程度而不易绘制,而MATLAB语言正是处理这类的很好工具,既能简易的写出表达式,又能绘制有关曲线,非常方便实用。
另外,利用其可减少工作量,节约时间,加深理解,同样可以培养应用能力。
本文将探讨利用matlab来解决高等数学中的二维图形问题,并对其中的初等函数、极坐标、进行实例分析,对于这些很难用手工绘制的图形,利用matlab则很轻易地解决。
[关键词]高等数学一元函数二元函数MATLAB语言图形绘制一、问题的提出MATLAB 语言是当今国际上科学界(尤其是自动控制领域) 最具影响力、也是最有活力的软件。
它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。
中学数学中常见到的是二维平面图形,由于概念抽象,学生不好理解,致使学生对学习失去信心,导致学习兴趣转移。
在传统的教学中,教师在黑板上应用教具做图,不能保证所做图形的准确性,曲线的光滑度不理想,教学过程显得枯燥无味,教学质量难以保证。
Matlab是集数值计算、符号计算和图形可视化三大基本功能于一体的大型软件,广泛应用于科学研究、工程计算、动态仿真等领域。
Matlab是一种集成了计算功能、符号运算、数据可视化等强大功能的数学工具软件。
其代码的编写过程与数学推导过程的格式很接近,所以使编程更为直观和方便,应用于教学就更加容实现Matlab软件尤其在简单的绘图中有较强的编辑图形界面功能,在中学的数学教学中的抽象函数变得直观形象、容易实现,同时也激发学生的学习兴趣,学生通过数形结合,更好地理解题意高等数学是一门十分抽象的学科,对于一些抽象的函数,我们可以借助于几何图形来理解,但这类图形的绘制往往很复杂,仅凭手工绘制也难以达到精确的效果,这时如果使用Matlab 来解决所遇到的图形问题,则能达到事半功倍的效果。
命令1 grid功能给二维或三维图形的坐标面增加分隔线。
该命令会对当前坐标轴的Xgrid,Ygrid,Zgrid的属性有影响。
用法grid on 给当前的坐标轴增加分隔线。
grid off 从当前的坐标轴中去掉分隔线。
grid 转换分隔线的显示与否的状态。
grid(axes_handle,on|off) 对指定的坐标轴axes_handle是否显示分隔线。
命令2 gtext功能在当前二维图形中用鼠标放置文字。
当光标进入图形窗口时,会变成一个大十字,表明系统正等待用户的动作。
用法gtext('string') 当光标位于一个图形窗口内时,等待用户单击鼠标或键盘。
若按下鼠标或键盘,则在光标的位置放置给定的文字“string”h = gtext('string') 当用户在鼠标指定的位置放置文字“string”后,返回一个text图形对象句柄给h。
命令3 legend功能在图形上添加图例。
该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。
对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。
当所画的是区域(patch或surface对象)时,图例会在文字旁显示表面颜色。
Matlab在一个坐标轴中仅仅显示一个图例。
图例的位置有几个因素决定,像遮挡的对象等,用户可以用鼠标拖动图例到恰当的位置,双击标签可以进入标签编辑状态。
用法legend('string1','string2',…) 用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。
legend(h,'string1','string2',…) 用指定的文字string在一个包含于句柄向量h中的图形显示图例。
用给定的数据对相应的图形对象加上图例。
legend(string_matrix) 用字符矩阵参量string-_matrix的每一行字符串作为标签。
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为长度相同的向量,这是最常见、最基本的用法。
第四讲M A T L A B可视化(一)绘二维图【目录】一、数据与图形 (2)1、离散数据可视化 (2)2、连续函数可视化 (3)3、图形窗组成 (4)二、二维图形绘制步骤 (5)三、绘图命令调用格式 (5)1、p l o t(X,'s') (5)2、p l o t(X,Y,'s') (6)3、p l o t(X1,Y1,'s1',X2,Y2,'s2',...).. (6)四、曲线的色彩、线型和数据点形 (9)1、色彩和线型 (9)2、数据点形 (11)五、坐标、刻度和分格线控制 (11)1、坐标控制 (11)2、刻度设置 (13)3、分格线 (13)4、坐标框 (13)六、图形标识和控制 (14)1、图形标识 (14)2、绘图控制 (15)04-104-2【正文】数据可视化的目的在于:通过图形,从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。
M A T L A B 一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能。
一、数据与图形1、离散数据可视化任何二元实数标量对()a a y x ,可以在平面上表示一个点;任何二元实数向量对()Y X ,可以在平面上表示一组点。
对于离散实函数()n n x f y =,当[]n x x x X ,...,,21=以递增或递减的次序取值时,有[]n y y y Y ,...,,21=,这样,该向量对用直角坐标序列点图示时,实现了离散数据的可视化。
【例】 用图形表示离散函数n =0:12; % 产生一组13个自变量函数X ny =1./a b s (n -6); % 计算相应点的函数值Y n p l o t (n ,y ,'r *','M a r k e r S i z e ',20)% 用尺寸20的红星号标出函数点 g r i d o n % 画出坐标方格04-3对于连续函数可以取一组离散自变量,然后计算函数值,与离散数据的显示方式一样显示。
Matlab教程2_ 绘图_ 二维0Matlab绘图Matlab 二维图形的绘制本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法.第一节图形窗口与坐标系一.图形窗口1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口;3.当前窗口句柄可以由MATLAB函数gcf获得;4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口);figure(h)----将句柄为h的窗口设置为当前窗口;5.打开图形窗口的方法有三种:1)调用绘图函数时自动打开;2)用File---New---Figure新建;3)figure命令打开,close命令关闭.在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.6.窗口中的图形打印:用图形窗口的File菜单中的Print项.7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性.二.坐标系1.一个图形必须有其定位系统,即坐标系;2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;3.每个坐标系都有唯一的标识符,即句柄值;4.当前坐标系句柄可以由 MATLAB函数gca获得;5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.6.一些有关坐标轴的函数:1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定;2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis on则显示坐标轴 (缺省值).3)通常MATLAB的坐标系是长方形,长宽比例大约是 4:3,为了得到一个正方形的坐标系可用:axis square4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal第二节二维图形的绘制一. plot函数plot 函数是最基本的绘图函数,其基本的调用格式为:1.plot(y)------绘制向量y对应于其元素序数的二维曲线图, 如果y为复数向量, 则绘制虚部对于实部的二维曲线图.例:绘制单矢量曲线图.y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];plot(y)由于y矢量有10个元素,x坐标自动定义为[1 2 3 4 5 6 7 8 9 10].图形为:2.plot(x,y)------ 绘制由x,y所确定的曲线.1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为横坐标,y为纵坐标的图形.如画正弦曲线:t=0:0.1:2*pi; y=sin(t);plot(t,y)2)当 plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于向量x的曲线.如果y阵中行的长度与x向量的长度相同,则以y的行数据作为一组绘图数据;如果y阵中列的长度与x向量的长度相同,则以y的列数据作为一组绘图数据;如果y阵中行, 列均与x向量的长度相同,则以y的每列数据作为一组绘图数据.例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y)或者还可以这样用:x=0:pi/50:2*pi;y=[ sin(x); 0.6*sin(x); 0.3*sin(x)]; plot(x,y)3) 如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的图形.例:x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2;y(1,:)=sin(x(1,:));y(2,:)=0.6*sin(x(2,:));y(3,:)=0.3*sin(x(3,:));plot(x,y)x=x'; y=y';plot(x,y)在这个例子中,x------ 3x101,y------3x101,所以第一个plot 按列画出 101条曲线,每条3个点;而x'------101x3,y'------ 101x3,所以第二个plot 按列画出3条曲线,每条101个点.3. 多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……) 上面的plot格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项'r' 红色'm' 粉红'g' 绿色'c' 青色'b' 兰色'w' 白色'y' 黄色'k' 黑色各种线型属性选项'-' 实线'--' 虚线':' 点线'-.' 点划线'.' 用点号绘制各数据点'^' 用上三角绘制各数据点'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点'd'或diamond用菱形绘制各数据点'h' 用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线.注意:1)表示属性的符号必须放在同一个字符串中;2)可同时指定2~3个属性;3)与先后顺序无关;4)指定的属性中,同一种属性不能有两个以上.例:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')该程序还可以按下面的方式写: t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r')hold onplot(t,y2, ':g')plot(t,y3, '*b')hold off注:在MATLAB中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on后,可以保持坐标系中已绘出的图形.还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),填充颜色 (MarkerFaceColor)及标记点的大小(MarkerSize) 等其它绘图属性.例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色'MarkerFaceColor','y',... %设置标记点填充颜色为黄色'MarkerSize',10) %设置标记点的尺寸为104. 双Y轴绘图:plotyy()函数.其调用格式为:plotyy(x1,y1,x2,y2)绘制由x1,y1和x2,y2确定的两组曲线,其中x1, y1的坐标轴在图形窗口的左侧,x2,y2的坐标轴在图形窗口的右侧.Plotyy(x1,y1,x2,y2, 'function1','function2')功能同上,function是指那些绘图函数,如plot,semilogx, loglog 等.例如:在一个图形窗口中绘制双Y轴曲线.x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem')stem: 绘制stem形式的曲线(上端带圈的竖线).绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y轴坐标对应的是plot形式的曲线,右边的Y坐标对应的是stem形式的曲线.二.对数坐标图绘制函数:在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy和loglog函数.1) semilogx( )绘制以X轴为对数坐标轴的图. 调用格式为:semilogx(x,y,'属性选项') 其中属性选项同plot函数.该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.2) semilogy( )绘制以Y轴为对数坐标轴的图. 调用格式为:semilogy(x,y,'属性选项')该函数只对纵坐标进行对数变换,横坐标仍为线性坐标. 353) loglog( )绘制X,Y轴均为对数坐标轴的图形. 其调用格式为:loglog(x,y,'属性选项') 该函数分别对横,纵坐标都进行对数变换.例:x=0:0.1:6*pi;y=cos(x/3)+1/9;subplot(221), semilogx(x,y);subplot(222), semilogy(x,y);subplot(223), loglog(x,y);4) logspace( )函数可按对数等间距地分布来产生一个向量,其调用格式为:x=logspace(x1,x2,n)这里,x1 表示向量的起点;x2表示向量的终点;n表示需要产生向量点的个数(一般可以不给出,采用默认值50).在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.三.极坐标图的绘制函数:绘极坐标图可用polar( )函数.其调用格式如下:polar(theta, rho,'属性选项')theta:角度向量,rho:幅值向量,属性内容与plot函数基本一致.例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0:0.1:8*pi;p=cos((5*theta)/4)+1/3;polar(theta,p)四. 绘制多个子图:subplot( )函数MATLAB允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm个部分.分割图形窗口用subplot函数来实现,其调用格式为:subplot(n,m,k) 或subplot(nmk)n,m分别表示将窗口分割的行数和列数,k表示要画图部分的代号,表示第几个图形,nmk三个数可以连写,中间不用符号分开.例如:将窗口划分成2x2=4个部分,可以这样写:subplot(2,2,1),plot(……)subplot(2,2,2),……subplot(2,2,3),……subplot(2,2,4),……注:subplot函数没有画图功能,只是将窗口分割.第三节图形的修饰与标注MATLAB提供了一些特殊的函数修饰画出的图形,这些函数如下: 1)坐标轴的标题:title函数其调用格式为:title('字符串')字符串可以写中文如:title('My own plot')2)坐标轴的说明:xlabel和ylabel函数格式:xlabel('字符串') ylabel(' 字符串')如:xlabel('This is my X axis') ylabel('My Y axis')3)图形说明文字:text和gtext函数A.text函数:按指定位置在坐标系中写出说明文字.格式为:text(x1, y1, '字符串', '选项')x1,y1为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1 的坐标单位,如没有选项,则x1,y1的坐标单位和图中一致;如选项为'sc', 则x1,y1表示规范化窗口的相对坐标,其范围为0到1. (1,1)规范化窗口 (0,0)如:text(1,2, '正弦曲线')B.gtext函数:按照鼠标点按位置写出说明文字.格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线, 移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext参数中的字符串就标注在该位置上.5) 给图形加网格:grid函数在调用时直接写grid即可.上面的函数的应用实例:例: 在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.t=0:pi/100:2*pi;y=sin(t);plot(t,y),grid, axis([0 2*pi -1 1]);xlabel('0 leq itt rm leq pi','FontSize',12);ylabel('sin(t)','FontSize',12);title('正弦函数图形','FontName',' 隶书' ,'FontSize',16); text(pi,sin(pi),'←sin(t)=0','FontSize',12);text(3*pi/4,sin(3*pi/4),'←sin(t)=0.707', 'FontSize',12); text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707→','FontSize',12,'HorizontalAlignment','right')5) 在图形中添加图例框:legend函数其调用格式为:A.legend('字符串1', '字符串2', ……)以字符串1,字符串2…… 作为图形标注的图例.B.legend('字符串1', '字符串2', ……, pos)pos指定图例框显示的位置.图例框被预定了6个显示位置:0------ 取最佳位置;1------右上角(缺省值);2------左上角;3------左下角;4------右下角;-1------图的右侧.例:在图形中添加图例.x=0:pi/10:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,'-o',x,y3,'-*') legend('曲线1','曲线2','曲线3')6) 用鼠标点选屏幕上的点:ginput函数格式为: [x, y, button]=ginput(n)n为所选择点的个数;x,y均为向量,x为所选n个点的横坐标; y为所选n个点的纵坐标.button为n维向量,是所选n个点所对应的鼠标键的标号: 1----左键; 2----中键; 3----右键. 可用不同的鼠标键来选点,以区别所选的点.此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.第四节 MATLAB下图形对象的修改MATLAB图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root),图形窗口(Figures),坐标轴(Axes),控件(Uicontrol),菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像 (Images),文本(Text)等等.根据各对象的相互关系,可以构成如下所示的树状层次:RootFiguresAxes Uicontrol Uimenu Uicontextmenu (对象菜单) Images Line Patch Surface Text对各种图形对象进行修改和控制,要使用MATLAB的图形对象句柄 (Handle).在MATLAB中, 每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄. 句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.一.对图形对象的修改可以用下面函数:1)set函数:用于设置句柄所指的图形对象的属性.Set函数的格式为:set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……)例:h=plot(x,y)set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.2)get函数:获取指定句柄的图形对象指定属性的当前值.格式为:get(句柄, '属性名')如: get(gca, 'Xcolor')------获得X轴的当前颜色属性值.执行后可返回X轴的当前颜色属性值[0,0,0](黑色).3)如果没有设置句柄,则可以使用下列函数获得:gcf:获得当前图形窗口的句柄;gca:获得当前坐标轴对象的句柄;gco:获得当前对象的句柄.如:A. 要对图形窗口的底色进行修改,可用set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色B. 要把当前X轴的颜色改为绿色,可用set(gca, 'Xcolor', [0,1,0])C. 还可对坐标轴的显示刻度进行定义:t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/2','0','pi/2','pi'])本例中用'xtick'属性设置x轴刻度的位置(从-pi~pi,间隔pi/2,共设置 5个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数, 因此重新设置['-pi','-pi/2','0','pi/2','pi']5个刻度值.二.一些常用的属性如下:1)Box属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框), 'off'(无方框);2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]黄色粉色天蓝红色绿色兰色颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:'normal'------正常'reverse'------反向4) 坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色, 值为颜色向量'LineWidth'------ 轴的线宽,值为数字'Xgrid','Ygrid','Zgrid'------坐标轴上是否加网格,值为'on'和'off'.5)坐标轴的标尺属性:'Xtick','Ytick','Ztick'------ 标度的位置,值为向量'Xticklabel','Yticklabel','Zticklabel'------ 轴上标度的符号,它的值为与标度位置向量同样大小(向量个数相同)的向量.6)字体设置属性:'FontAngle'------ 设置字体角度,选项为:'normal'------ 正常;'italic'------ 斜体;'oblique'------ 倾斜;'FontName'------ 字体名称;'FontSize'------ 字号大小'FontWeight'------ 字体的轻重,选项为:'light', 'normal','bold'Matlab绘制三维图形三维曲线plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在0≤x≤2?区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1) 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。
1、基本图形函数函数polt是针对向量或矩阵的列来绘制曲线的,其命令格式:(1)plot(x)当x是一向量时,以其元素为纵坐标,其序号为横坐标。
(2)plot(x,y)(3)plot(x,y1,x,y2,...)绘制多条曲线例>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)参数选项y黄 m紫 c青 r红 g绿 b蓝 w白 k黑-实线 :点线 -.点划线 --虚线.点 o圆 x叉号 +加号 *星号 v下三角 ^上三角>大于号 <小于号 s正方形 d菱形 h六角形 p五角星例>> plot(x,y1,'r+-',x,y2,'k*:')2、图形修饰图形修饰函数:grid on(/off) 添加或取消网格xlabel('string')标记横坐标ylabel('string')标记横坐标title('string')添加标题text(x,y,'string')在图形的任意位置增加文本信息gtext('string')利用鼠标添加文本信息axis([xmin xmax ymin ymax])设置坐标轴的最小最大值例>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)>> grid on>> xlabel('Independent Variable X') >> ylabel('Dedependent Variable Y1&Y2') >> title('sine and cosine curve')>> text(1.5,0.3,'cos(x)')>> gtext('sin(x)')>> axis([0 2*pi -0.9 0.9])除此之外,在图形窗口中也提供了图形编辑功能,放大、旋转等等3、图形的比较显示两种方法:(1)hold on(/off)将新产生的图形曲线叠加到已有图形上去(2)subplot(n,m,k)将图形窗口进行分割例>> x=-pi:pi/10:pi;>> y1=sin(x);>> y2=cos(x);>> y3=x;>> y4=x.^2;>> plot(x,y1,x,y2) >> hold on>> plot(x,y3)>> plot(x,y4)>> hold off>> plot(x,x)例>> x=-pi:pi/10:pi; y1=sin(x);y2=cos(x);y3=x;y4=x.^2;>> subplot(2,2,1); >> plot(x,y1); >> subplot(2,2,2);>> plot(x,y2);>> subplot(2,2,3); >> plot(x,y3); >> subplot(2,2,4); >>plot(x,y4);。
第6讲绘制二维图(第5章 MATLAB绘图)目的:1. 掌握绘制二维图形的方法。
2. 掌握绘制图形的辅助操作。
—————————————————————————————————————— 一、最常用的绘制二维图形的函数:plot函数(一)plot函数是最常用的绘制图形的函数,其调用格式为:plot(x,y,name1,value1,name2,value2…)plot函数采用的是描点法做函数的图形。
格式中的x,y是点的x坐标与y坐标,x与y必须是同维向量,这样才能一一对应匹配后产生点。
例如,如果x=[1,2,3],y=[0, 3,1]则plot将描绘(1,0),(2,3),(3,1)这三个点。
格式中的name和value需成对设置,name是描绘时的属性名称,value是对应的属性的值。
例如plot(x,y,’color’,’r’)意思是将描绘的颜色设置成红色。
详见书上P107页。
注:属性名称需用单引号括起来,属性值如果是数字,就不需要用单引号,如果不是数字,需要用单引号括起来。
例如plot(x, y, ’linestyle’, ’--‘ , ’color’ , ’b’ , ’linewidth’ , 1.2)表示点与点之间的连接线(属性名为linestyle)设置为虚线(即属性值为--),颜色属性的值设置成蓝色,连接线的宽度设置成1.2宽。
在这里1.2是数字,所以没有用单引号括起来。
如果不设置属性名称和属性值,只输入plot(x,y)则matlab将默认使用蓝色、连接线默认使用实线、线宽默认使用0.5。
例如plot(1:5,2:6)。
(二)、关于描点时x与y对应生成点的说明1、plot(x,y):当x与y是向量时,以x与y匹配产生的点描点作图,不需要同为行或者同为列,但维度需要一致。
(最基本也是最重要的)例x=[1,2,3]; y=[3,5,7]’ ; plot(x,y); 这里x是行,y是列,但维度一致,所以仍可以匹配产生点。
常用数学函数:
>> y = abs(x) % 取x 的绝对值
>> y = sin(x) % 取x 的正弦值
>> y = exp(x) % 自然指数exp(x)
>> y = log(x) % 自然对数ln(x)
向量矩阵的运算:
>> y = min(x) % 向量x 的极小值
>> y = max(x) % 向量x 的极大值
>> y = mean(x) % 向量x 的平均值
>> y = sum(x) % 向量x 的总和
>> y = sort(x) % 向量x 的排序
二维平面绘图:
x = linspace(0, 2*pi); % 在0 到2π 间,等分取100 个点y = sin(x); %计算x 的正弦函数值
plot(x, y); % 进行二维平面描点作图
x = linspace(0, 2*pi); % 在0 到2 间,等分取100 个点
plot(x, sin(x), x, cos(x), x, sin(x)+cos(x)); % 进行多条曲线描点作图
x = linspace(0, 2*pi); % 在0 到2 间,等分取100 个点
plot(x, sin(x), 'o', x, cos(x), 'x', x, sin(x)+cos(x), '*');
只给定一个矩阵y
y = peaks; % 产生一个49×49 的矩阵
plot(y); % 对矩阵y 的每一个行向量作图
x 和y 都是矩阵
x = peaks;
y = x'; % 求矩阵x 的转置矩阵x'
plot(x, y); % 取用矩阵y 的每一行向量,与对应矩阵x 的每一个行向量作图
提示:
一般情况下,MATLAB 将矩阵视为行向量的集合
对只能处理向量的函数(Ex : max、min、mean) 给定一个矩阵,函数会对矩阵的行向量一一进行处理或运算
Z是一个复数向量或矩阵。
x = linspace(0, 8*pi);
semilogx(x, sin(x)); % 使x 轴为对数刻度,并对其正弦函数作图
x = linspace(0, 2*pi);
y1 = sin(x);
y2 = exp(-x);
plotyy(x, y1, x, y2); % 画出两个刻度不同的y 轴,分別是y1, y2 分类: MATLAB。