第五讲 MATLAB作图
- 格式:ppt
- 大小:1.31 MB
- 文档页数:49
详尽全⾯的matlab绘图教程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为长度相同的向量,这是最常见、最基本的⽤法。
通常工程中用到的符号函数都是以表达是形式体现的,这样有利于计算。
但是,如果有时需要直观地表示符号函数的物理意义,就需要用图形来实现。
1、ezplot函数:画符号函数图形ezplot(f):对于显式函数f=f(x),在默认的范围[-pi<x<pi]上画函数f(x);对于隐函数f=f(x,y),在默认的平面区域[-pi<x<pi,-pi<y<pi]上画函数f(x,y)的图像。
ezplot(f,[min,max]):在指定的范围[min<x<max]内画函数表达式f=f(x)。
若没有图形窗口存在,则该函数先生成标题为Figure N o.1的新窗口,再在该窗口中操作;若已经有图形窗口存在,这在标号最该的图形窗口中进行操作。
ezplot(f,[xmin xmax],fing):在指定标号为fign的窗口中、指定范围[xmin xmax]内画函数f=f(x)的图形。
ezplot(f,[xmin,xmax,ymin,ymax]):在平面矩形区域[xmin<x<xmax, ymin<y<ymax]上画出f(x,y)=0的图像。
ezplot(x,y):在默认范围0<t<2pi内画出参数形式函数x=x(t)与y =y(t)的图形。
ezplot(x,y,[tmin,tmax)]:在指定范围[tmin<t<tmax]内画参数形式函数x=x(t)与y=y(t)的图形。
ezplot(…,figure):在由参量文件figure句柄指定的图形窗口中画函数图形。
例如:画下面的隐函数>> syms x y>> ezplot(2*x^4-y^9)2、ezplot3:三维曲线图ezplot3(x,y,z):在默认的范围0<t<2pi内画参数形式的曲线x=x(t), y=y(t),z=z(t)图像。
ezplot3(x,y,z,[tmin,tmax]):在默认的范围tmin<t<tmax内画参数形式的曲线x=x(t),y=y(t),z=z(t)图像。
钟培华数学建模基础第 5 讲 MATLAB 图形功能第五讲1.平面图形描绘相关命令 (1) plot 利用点 ( xi特殊函数图形与描绘y i ) i = 1,2,, n 作平面图形调用格式 plot ( x, y, s ) ,其中 x, y 是同维的向量,是设置图形属性的选项。
例 1: x=-pi:pi/10:pi; y=sin(x); plot(x,y,'--r*','linewidth',2,'markeredgecolor','b''markerfacecolor','g') 调用格式:plot(x1,y1,x2,y2,x3,y3)或 plot(x1,y1,s,x2,y2,s…)线型 — : —. —— 实线 虚线 点划线 间断线 . O数据点形状 点 小圆圈 叉号 加号 星号 方格 菱形 朝上三角 朝下三角 朝右三角 朝左三角 五角星 六角星 y m c r g b w k颜色控制 黄色 棕色 青色 红色 绿色 蓝色 白色 黑色×+ * s d∧ ∨> < p h (2)fplot 格式函数利用函数表达式画函数图形 fplot( ‘函数表达式’ x min , x max ]) ,[>> fplot('sin(x)./x',[-0.1,0.1]) % limsin x 存在吗? x →0 x 1 >> fplot('sin(1./x)',[-0.1,0.1]) % lim sin 存在吗? x →0 x>> fplot('sin(1/x)',[-0.1,0.1])3 2思考:化出 f ( x) = ( 2 x − 5) x 的图形,能指出极值点吗?与华师大数学分析(上) P 例 1 图比 143 较,你画对没有? >> fplot('(2*x-5)*(x^2)^(1/3)',[-2,3])补充:ezplot(f,[ x min , x max , y min , y max ] ]1钟培华数学建模基础第 5 讲 MATLAB 图形功能%画出 f(x,y)=0 在 [ x min , x max ] × [Ymin , Ymax ] 上的图形 例如:>>ezplot(‘u^2+v^2=1’,[-2,3,2,3]) %画 u + v = 1 的图2 2如:ezplot(‘x(t)’,’y(t)’,[tmin,tmax]%画 ⎨⎧ x = x(t ) ⎩ y = y (t )t min ≤ t ≤ t max 上的图>> ezplot('2*sin(t)','5*cos9t)',[0,2*pi])%x2 y2 + =1 2 2 52(3)对数图形log log( x, y )%x, y 同时取以 10 为对数再画图semi log x( x, y ) %x 取以 10 为底的对数,y 不变再画图 semi log y ( x, y )%x 不变,y 取以 10 为底对数,再画图x=1:0.1:9;y=x;plot(x,y),pause loglog(x,y,’r*--‘),pause,semilog(x,y,’b+-‘), pause,semilog y(x,y,’k*--‘) (4) >> >> >> >> 极坐标图形 polar( θ , ρ )t=0:0.1:pi;tt=2*sin(t); polar(t,tt); t=0:0.01:2*pi; polar(t,sin(6*t)) % ρ = f (θ )补充:ezpolar(f)θ ∈ [0,2π ]ezpolar(‘f(sita)’,[a,b]) % ρ = f (θ ), a ≤ θ ≤ b >> ezpolar('2*sin(t)',[0,pi]) % ρ = 2 sin(t )t ∈ [0, π ](5) 产生随机数画频数直方图 normrnd 生产符合正态分布的随机数 normrnd(u,v,m,n) %u 表示期望 ,v 表示方差,m 行,n 列 randn %生成标准正态分布数据 rand %生成平均分布数据 >> >> >> >> yn=randn(30000,1);x=min(yn):0.2:max(yn); subplot(121),hist(yn,x); yu=rand(30000,1);subplot(122); hist(yu,25)2钟培华数学建模基础第 5 讲 MATLAB 图形功能(6)画子图 subplot(m,n,p), 221 222 212m,n,p 是三个自然数 121 222 224(7) 用函数 patch 绘填充图 fplot(‘hunps’,[0,2],’b’), hold on patch( [0.5,0.5:0.02:1] [0,humps(0.5:0.02:1),0],’r’] hold off grid on (8)用 fill 来绘制类似的填充图 x=0:pi:2*pi;y=sin(x);plot(x,y,’r’) hold on, x1=0:pi/20:1;y1=sin(x1); fill( [x1,1],[y1,0],’g’) 2、三维图形⎛ 1 2 3⎞ ⎜ ⎟ (1) 绘制 A= ⎜ 4 5 6 ⎟ 的三维饼状图。
help plothelp axisa1=plot();hlod ona2=plot();legend([a1 a2],'图1 名',‘图2 名')hold offx1=-pi:pi/12:pi;x2=-pi:pi/12:pi;y1=sin(x1);y2=cos(x2);plot(x1,y1,x2,y2);axis([-2*pi 2*pi -2 2]);xlabel('x');ylabel('y');title('sin(x) & cos(x)');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(2,:)=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';figureplot(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,'属性选项')该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.3)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)MATLAB 还提供了一个实用的函数: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.如:text(1,2, '正弦曲线')B.gtext 函数:按照鼠标点按位置写出说明文字.格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上.4)给图形加网格: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',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书' ,'FontSize',20) text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707','FontSize',16)text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707rightarrow',... 'FontSize',16,'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'------ 轴颜色, 值为颜色向量如何在画好曲线后再在图上标刻度就是想在一些特定的点边上标上一串30.60.90~7200递增的数据,共有96个点要标!!im = imread(url);imshow(im)然后输入:text(100,100,'\o ','Color','red');matlab,用imread 读入一个图片,我想在图上的一些坐标点上做标记。
Matlab画直角坐标图直角坐标图(又称笛卡尔坐标图)是用来表示平面上点的坐标的一种图形表示方法。
Matlab是一个强大的数值计算和数据可视化工具,它提供了丰富的绘图函数和工具箱,使得绘制直角坐标图变得非常简便。
下面将介绍如何使用Matlab画出直角坐标图的步骤。
步骤一:准备数据在绘制直角坐标图之前,我们首先需要准备要绘制的数据。
假设我们要绘制以下函数的图像:y = sin(x)这里可以选择任意的x值范围,以及步长。
为了简化,我们选择绘制x从0到2π的函数曲线。
步骤二:创建坐标系在Matlab中,我们可以使用figure函数创建一个新的绘图窗口。
然后使用plot函数绘制函数曲线,同时可以使用xlabel和ylabel函数为坐标轴添加标签,使用title函数为图像添加标题。
figure; % 创建新的绘图窗口x = 0:0.01:2*pi; % 定义x的取值范围,步长为0.01y = sin(x); % 计算对应的y值plot(x, y); % 绘制函数曲线xlabel('x'); % 添加x轴标签ylabel('y'); % 添加y轴标签title('y = sin(x)'); % 添加标题步骤三:设置坐标轴范围通过axis函数可以设置坐标轴的范围。
对于直角坐标图,一般设置x轴和y轴的范围相同,以保证图像是按比例绘制的。
axis([02*pi -11]); % 设置x轴范围为0到2π,y轴范围为-1到1步骤四:添加图例如果在同一张图上绘制了多个函数曲线,可以使用legend函数添加图例,以区分不同的曲线。
legend('y = sin(x)'); % 添加图例,标注函数曲线的名称步骤五:美化图像Matlab提供了丰富的绘图样式设置,可以通过修改绘图参数来美化图像。
例如,可以使用grid函数添加背景网格线,使用linewidth设置曲线的线宽等。
第5章MATLAB绘图5.1 二维图形图形可视化是MATLAB的一大特色MATLAB的基本绘图函数是plotplot(x,y)形式已知自变量x取一组数值x1、x2、…xn,相应的函数y(x)也取一组数值y(x1)、y(x2)、…y(xn),那么,plot(x,y)就用二维图形表示它们之间的函数关系例1:取步长为0.1,在[0,2π]区间画出正弦曲线x=0:0.1:2*pi; %在[0,2π]区间生成一个1维数组y=sin(x); %建立正弦函数plot (x, y) %画出y-x曲线注意1.绘图是在一定的取值范围内进行2.当自变量和函数都是向量时,它们的维数必须相同,而且必须同为行向量或同为列向量3.plot生成的图形可以保存为.fig文件例2:取步长为0.5,在[0,2π]区间画出正弦曲线x1=0:0.5:2*pi; %在[0,2π]区间生成一个1维数组y1=sin(x1); %建立正弦函数plot (x1, y1) %画出y1-x1曲线注意对区间分割的越细,计算的点就越多,就能真实逼近函数的连续变化,但是计算时间就越长如果自变量的采样点不够多,就可能没有真实反映原函数例3:关闭图形窗口,分别将例1和例2中最后的语句改为figure, plot (x, y) %画出y-x曲线figure, plot (x1, y1) %画出y1-x1曲线注意figure可以.生成独立的图形窗口例4:绘制y=sin(tgx)- tg (sinx)在x∈[-π,π]区间内的曲线先以0.05为步长构造x向量x=[-pi:0.05:pi];y=sin(tan(x))- tan(sin(x));figure ,plot(x,y)在x∈[-1.8, -1.2]和x∈[1.2,1.8]两个子区间内的曲线比较粗糙在这两个子区间增加取样点x=[-pi:0.05:-1.8,-1.801:0.001:-1.2,-1.195:0.05:1.2, 1.201:0.001:1.8,1.81:0.05:pi];y=sin(tan(x))- tan(sin(x));figure ,plot(x,y)例5:绘制饱和非线性特性曲线()⎩⎨⎧≤>=1.1,1.1,1.1x x x x sign y ,取x ∈[-2,2]区间,步长为0.02。
第五讲 MATLAB绘图y 内容 y 画图入门 y 打印图象 y 联合作图 y 图像设置 循 结构( 固) y 循环结构(巩固) y 目的 y 能够进行MATLAB绘图1画图入门y MATLAB的扩展性和机制独立的画图功能是一个极其重要的功能.这个功能使数据画图变得十分简单.画一个数据图, 首先要创建两个向量,由x, y构成,然后使用plot函数。
x=0:1:10; 0 1 10 y=x.^2-10*x+15; plot(x y); plot(x,y);2y 正如我们所看到的,在MATLAB中画图是十分容易的.只要任何 对向量的长度相同,那么它就可以就能可视化地画出 任何一对向量的长度相同 来。
但是这还不是最后的结果,因为它还没有标题,坐标轴 标签,网格线。
y 给图增加标题和坐标轴标签将会用到title, xlabel, ylable函数。
调用每个函数时将会有一个字符串,这个字符串包含了图 象标题和坐标轴标签的信息 用grid 象标题和坐标轴标签的信息。
用 id命令可使网格线出现 或消失在图象中,grid on代表在图象中出现网格线,grid off代表去除网格线。
3给图增加标题和坐标轴标签将会用到title, xlabel, ylable函数。
调用每个函数时将会有一个字符串,这个字 符串包含了图象标题和坐标轴标签的信息。
用grid命令可 使网格线出现或消失在图象中,grid on代表在图象中出现 网格线 grid 网格线, id off ff代表去除网格线。
代表去除网格线 x 0:1:10; x=0:1:10; y=x.^2-10*x+15; plot(x,y); title ('Plot of y=x.^2-10*x+15'); xlabel ('x'); ylabel l b l ('y'); (' ') grid on;4打印图象y 一个图象一旦建立,我们就可以用print命令在打印机上打印出这幅图,也可以单击图象窗口的打印图标或者在文件 印出这幅图 也可以单击图象窗口的打印图标或者在文件 菜单中选择打印项打印。
第五讲计算结果的可视化本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。
5.1 二维平面图形5.1.1 基本图形函数plot是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。
也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线。
当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m× n 矩阵时,就由n 条曲线。
(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
(3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线。
例5.1.1 画出一条正弦曲线和一条余弦曲线。
>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)图5.1.1 函数plot 绘制的正弦曲线在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实现它们的功能。
表5.1.1 绘图参数表色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式y 黄- 实线. 点<小于号m 紫:点线o 圆s 正方形c 青-. 点划线x 叉号d 菱形r 红- - 虚线+ 加号h 六角星g 绿* 星号p 五角星b 蓝v 向下三角形w 白^ 向上三角形k 黑>大于号例如,在上例中输入>> plot(x,y1,'r+-',x,y2,'k*:')则得图5.1.2图5.1.2 使用不同标记的plot 函数绘制的正弦曲线5.1.2 图形修饰MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。
MATLAB绘图教程1.基本xy平面绘图命令MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。
本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y座标。
下例可画出一条正弦曲线:close all;x=linspace(0, 2*pi, 100); % 100个点的x座标y=sin(x); % 对应的y座标plot(x,y);小整理:MATLAB基本绘图函数plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度若要画出多条曲线,只需将座标对依次放入plot函数即可:plot(x, sin(x), x, cos(x));plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态(Line style),也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数字元颜色字元图线型态y 黄色. 点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线图形完成後,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:axis([0, 6, , ]);此外,MATLAB也可对图形加上各种注解与处理:xlabel('Input Value'); % x轴注解ylabel('Function Value'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显示格线我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。