资源描述:
《matlab画图(包括二维三维画图)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Matlab教程2_绘图_二维赞0Matlab 绘图Matlab 二维图形的绘制本章主要介绍2维图形对象的生成函数及图形控制函数的使用方 法,还将 简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的 方法. 第一节 图形窗口与坐标系 一.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的 句柄.MATLAB通过管理图形窗口的句柄来管理图 形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得
2、; 4.在任何时刻,只有唯一的一个窗口是当前的图形 窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用 绘图函数时自动打开; 2)用File---New---Figure新建; 343)figure命令打开,close命令关 闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已 打开的图形窗口;若运行程序前已存在多个图形窗 口,并且没有指定哪个窗 口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口
3、的File菜单中 的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜 单中选择Properties项,打开图 形对象的参数设置窗口,可以设置对象的属 性. 二.坐标系 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形 窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由 MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指 定坐标系句柄值. 6.一些有关坐
4、标轴的函数:341)定义坐标范围:一般MATLAB自动定义坐标范 围,如用户认为设定的不 合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定; 2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出 来,为隐去坐标系,可用axis off;axis on则显示坐标轴 (缺省值). 3)通常MATLAB的坐标系是长方形,长宽比例大约是 4:3,为了得到一个 正方形的坐标系可用:axis square 4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比 例 的坐标
5、系,可用: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].图形为: 34 2.plot(x,y)------ 绘制由x
6、,y所确定的曲线. 1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为 横坐标,y为纵坐标的 图形. 如画正弦曲线: t=0:0.1:2*pi; y=sin(t); plot(t,y) 342)当 plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于向量x的曲线.如果y阵中行的长度与x向量的 长度相同,则以y的行 数据作为一组绘图数据;如果y阵中列的长度与x向量的 长度相同,则 以y的列数据作为一组绘图数据;如果y阵中行, 列均与x向量的长度相 同,则以y的每列数据作为一组绘
7、图数据. 例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲 线时,会 按照一定的规律自动变化每条曲线的的颜色. x=0:pi/50:2*pi; 34y(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) 343) 如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的 图形. 例
8、: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,:))