资源描述
函数 f(x)曲线 fplot函数则可自适应地对函数进行采样,能更 好地反应函数的变化规律。 fplot函数格式: fplot(fname, lims, tol) 其中 fname为函数名,以字符串形式出现, lims为变量取值范围, tol为相对允许误差,其 其系统默认值为 2e-3。 例: fplot(sin( x) ,0 2*pi,-+) fplot(sin(x),cos(x),0 2*pi,1e-3,) 同时绘 制正弦 、 余弦曲线 为绘制 f(x)=cos(tan( x)曲线 , 可先建立函数 文件 fct.m, 其内容为: function y=fct(x) y=cos(tan(pi*x); 用 fplot函数调用 fct.m函数 , 其命令为: fplot(fct,0 1,1e-4) 函数 f(x)曲线 特殊坐标图形 一 、 对数坐标图形 ( 一 ) loglog(x,y) 双对数坐标 【 例 】 绘制 y=|1000sin(4x)|+1的双对数坐标图 。 程序为: x=0:0.1:2*pi; y=abs(1000*sin(4*x)+1; loglog(x,y); %双对数坐标绘图命令 以 X轴为对数重新绘制上述曲线 , 程序为: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1 semilogx(x,y); %单对数 X轴绘图命令 同样 , 可以以 Y轴为对数重新绘制上述曲线 , 程序为: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1 semilogy(x,y); %单对数 Y轴绘图命令 (二)单对数坐标 二 、 极坐标图 函数 polar(theta,rho)用来绘制极坐标图 , theta 为极坐标角度 , rho为极坐标半径 【 例 】 绘制 sin(2*)*cos(2*)的极坐标图 , 程序 为: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho); %绘制极坐标图命令 title(polar plot); 其它图形函数 除 plot等基本绘图命令外 , Matlab系统提供了许 多其它特殊绘图函数 , 这里举一些代表性例子 , 更详细的信息用户可随时查阅在线帮助 , 其对 应的 M-file 文件存放在系统 matlabtoolboxmatlab目录下 。 其它图形函数 一 、 阶梯图形 函数 stairs(x,y)可以绘制阶梯图形 , 如下列程序 段: x=-2.5:0.25:2.5; y=exp(-x.*x); stairs(x,y); %绘制阶梯图形命令 title(stairs plot); 二、条形图形 函数 bar(x,y)可以绘制条形图形 , 如下列程序段 将绘制条形图形 x=-2.5:0.25:2.5; y=exp(-x.*x); bar(x,y); %绘制条形图命令 三、填充图形 fill(x,y,c)函数用来绘制并填充二维多边图形, x 和 y为二维多边形顶点坐标向量。字符 c 规定 填充颜色,其取值前已叙述。 下述程序段绘制一正方形并以黄色填充: 其它图形函数 x=0 1 1 0 0; %正方形顶点坐标向量 y=0 0 1 1 0; fill(x,y,y);%绘制并以黄色填充正方形图 再如: x=0:0.025:2*pi; y=sin(3*x); fill(x,y,0.5 0.3 0.4); %颜色向量 Matlab系统可用向量表示颜色,通常称其为颜色向量。基本 颜色向量用 r g b表示,即 RGB颜色组合;以 RGB为基本色, 通过 r,g,b在 01范围内的不同取值可以组合出各种颜色。 二维绘图函数小结 plot 二维图形基本函数 fplot f(x)函数曲线绘制 fill 填充二维多边图形 polar 极坐标图 bar 条形图 loglog 双对数坐标图 semilogx X轴为对数的坐标图 semilogy Y轴为对数的坐标图 stairs 阶梯形图 axis 设置坐标轴 clf 清除图形窗口内容 close 关闭图形窗口 figure 创建图形窗口 grid 放置坐标网格线 gtext 用鼠标放置文本 hold 保持当前图形窗口内容 subplot 创建子图 text 放置文本 title 放置图形标题 xlabel 放置 X轴坐标标记 ylabel 放置 Y轴坐标标记 三维图形 一、 plot3函数 最基本的三维图形函数为 plot3,它是将二维函数 plot的有关功能扩展到三维空间,用来绘制三维图 形。 函数格式: plot3(x1,y1,z1,c1,x2,y2,z2,c2,) 其中 x1,y1,z1 表示三维坐标向量 , c1, c2 表 示线形或颜色 。 函数功能:以向量 x, y, z为坐标 , 绘制三维曲 线 。 【 例 】 绘制三维螺旋曲线,其程序为: t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title(helix),text(0,0,0,origin); xlabel(sin(t),ylabel(cos(t),zlabel(t); grid; 二、 mesh函数 mesh函数用于绘制三维网格图。在不需要绘 制特别精细的三维曲面结构图时,可以通过绘 制三维网格图来表示三维曲面。三维曲面的网 格图最突出的优点是:它较好地解决了实验数 据在三维空间的可视化问题。 函数格式: mesh(x,y,z,c) 其中 x, y控制 X和 Y轴坐标 , 矩阵 z是由 (x, y) 求得 Z轴坐标 , (x,y,z)组成了三维空间的网 格点; c用于控制网格点颜色 。 【 例 】 下列程序绘制三维网格曲面图 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x); %矩阵相乘 mesh(x,y,z); 三、 surf函数 surf用于绘制三维曲面图 , 各线条之间的补面 用颜色填充 。 surf函数和 mesh函数的调用格式 一致 。 函数格式 : surf (x,y,z) 其中 x, y控制 X和 Y轴坐标 , 矩阵 z是由 x, y求 得的曲面上 Z轴坐标 。 【 例 】 下列程序绘制三维曲面图形 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x); %矩阵相乘 surf(x,y,z); xlabel(x-axis),ylabel(y-axis),zlabel(z-label); title(3-D surf); 四、视点 视点位置可由方位角和仰角表示。方位角又称 旋转角为视点位置在 XY平面上的投影与 X轴形 成的角度,正值表示逆时针,负值表示顺时针。 仰角又称视角为 XY平面的上仰或下俯角,正值 表示视点在 XY平面上方,负值表示视点在 XY 平面下方。从不同视点绘制三维图形的函数为 view。 view(az,el)中的 az为方位角, el为仰角。通过 系统提供的多峰函数 peaks的绘制例子,可进 一步说明视点对图形的影响,以及 view(az,el) 函数的使用。 【 例 】 不同视角图形 p=peaks; %系统提供的多 峰函数 subplot(2,2,1); mesh(peaks,p); view(-37.5,30); %指定子图 1的视点 title(azimuth=- 37.5,elevation=30) subplot(2,2,2); mesh(peaks,p); view(-17,60); %指定子图 2的视点 title(azimuth=-17,elevation=60); subplot(2,2,3); mesh(peaks,p); view(-90,0); %指定子图 3的视点 title(azimuth=- 90,elevation=0) subplot(2,2,4); mesh(peaks,p); view(-7,-10);%指定子 图 4的视点 title(azimuth=- 7,elevation=-10) 五、等高线图 等高线图可通过函数 contour3绘制。 【 例 】 多 峰函数 peaks的 等高线图 x,y,z=peaks(30); contour3(x,y,z,16); xlabel(x-axis),ylabel(y- axis),zlabel(z-axis); title(contour3 of peaks) 图形句柄 一、句柄 在 Matlab系统中,绘图命令产生的每一个部分 称为图形对象,系统在创建每一个对象时,都 为该对象分配唯一的一个值,称其为句柄,因 此句柄就是图形对象标识符。对象、句柄以及 图形对象等概念其实质是统一的,系统将每一 个对象按树型层次结构组织起来,这些对象包 括根对象,通常为计算机屏幕、图形窗口、坐 标系统、线条、曲面、文本串、用户界面控制 等。 根对象可包含一个或多个图形窗口对象 , 而一个图形 窗口对象又可包含一组或多组坐标系子对象 , 线条 、 文本等其它对象都是坐标系的子对象 。 所有创建对象 的函数当父对象不存在时 , 都会自动创建它 。 计算机屏幕作为根对象自动建立 , 其句柄值为 0。 而 Hf_f=figure命令则建立图形窗口对象 , 并返回它的句 柄值给变量 Hf_f。 图形窗口的句柄为一整数 , 并显示 在该窗口的标题栏 , 其它图形对象的句柄为浮点数 , Matlab提供了一系列与句柄操作有关的函数 , 如 gcf 、 gca等 。 为便于识别 , 用大写字母开头的变量表示句柄 , 如 Hf_f等 。 二、对象属性 所有图形对象都具有控制对象显示的属性。这些属性 既包括对象的一般信息,如对象类型、对象的父对象 及子对象等,也包括对象的一些特定信息,如坐标系 对象的刻度等。用户可以获取、设置对象属性,以达 到控制对象的目的。当创建一个对象时,系统用一组 默认属性值定制对象,用户获取这些属性值,同时也 可通过 set命令重新设置对象属性。 set命令格式为: set(H,name,value, ) 将图形对象 H的 name属性 设置为 value 其中 H为句柄 , name为属性名 , value为 name的属性 值 。 图形句柄 用 set命令可以方便地设置图形对象属性 , 如下列 程序段就是通过属性来定制图形 。 x=0:0.1:4*pi; H=plot(x,sin(x); %返回正弦曲线句柄 H set(H,LineStyle,*,LineWidth,0 .1);%设置正弦曲线线型与线宽 其中 LineStyle为线型属性 , LineWidth 为线宽属性 。 利用 get(H)命令可以返回当前句柄 H对象的 属性 。 键入命令: get(H) 系统返回当前图形 对象的有关属性: 如 H=get(0,CurrentFigure)则返回根对 象的 CurrentFigure的属性值 , 即当前图 形窗口的句柄 , 相当于函数 gcf。 get(gcf,Children)则返回当前坐标系对 象的句柄;类似的操作用户可在使用 Matlab的 过程中不断积累 。 三、句柄应用 利用句柄操作的有关函数,用户可以查找、访 问图形对象,以达到定制对象属性,改变对象显 示效果的目的。 x=-pi:pi/20:pi; y=sin(x);z=cos(x); plot(x,y,r,x,z,g); Hl_lines=get(gca,Children); %获取正、余曲线句柄向量 Hl_lines for k=1:size(Hl_lines) if get(Hl_lines(k),Color)=0 1 0%0 1 0为绿颜色向量 Hl_green=Hl_lines(k) %返回绿色线条句柄 end end
展开阅读全文