欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    MATLAB数学手册教程_第7章__绘图与图形处理(同名10258).doc

    • 资源ID:2047707       资源大小:3.72MB        全文页数:167页
    • 资源格式: DOC        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB数学手册教程_第7章__绘图与图形处理(同名10258).doc

    第7章 绘图与图形处理登录窗体顶端搜索: 窗体底端czk's wiki图像的空间变换 · 首页· 论坛· Blog· 贡献· 最新改动· 查找网页· 帮助目录· 图像的空间变换 · 编辑· 备注 · 信息 · 附件 ·窗体顶端窗体底端空间几何变换将(w,z)坐标系上的图像变换为(x,y)坐标系上的图像,可以表示为: · (x,y) = T(w,z) 比如: · (x,y) = T(w,z) = (w/2, z/2) 仿射变换仿射变换是一种常用矩阵变换,它可以表示成矩阵的形式: 在matlab里面实现 wz = 3 4 1;T = 2 0 0; 0 3 0; 0 0 1;xy = wz * T;wz = xy * inv(T);为了避免归一化参数,我们可以借助maketform函数: T = 2 0 0; 0 3 0; 0 0 1;tform = maketform('affine', T);wz = 1 2; 3 4;xy = tformfwd(wz, tform);wz = tforminv(xy, tform);我们可以用一个栅格图像来形象的表示这些变换的效果: 这些变换使用的变换矩阵分别是: 对图像应用空间变换有两种方法:正向映射和反向映射 反向映射的过程是:对每一个输出像素,计算它在输入图像上的位置,根据输入图像上该位置附近的像素值决定输出像素的值。 在matlab中,简单的变换可以直接用单个函数实现。图像缩放使用: g = imresize(f, scale);g = imresize(f, ROW COL);图像旋转使用: g = imrotate(f, angle);图像剪切使用: g = imcrop(f, X, Y, WIDTH, HEIGHT);在matlab中使用imtransform实现图像的空间变换。语法是g = imtransform(f, tform, interp);其中,interp可以是'nearest','bilinear'或者'bicubic'。 比如: f = chekerboard(50);s = 0.8;theta = pi/6;T = s*cos(theta) s*sin(theta) 0;-s*sin(theta) s*cos(theta) 0;0 0 1;tform = maketform('affine', T);g = imtransform(f, tform);双线性滤波: 图像配准根据两幅图像,算出一个变换参数,使得一幅图像经过这样的变换后和另一图像接近 图像的空间变换 (2008-04-20 22:42:58由czk编辑)· 编辑· 备注 · 信息 · 附件 ·窗体顶端窗体底端· MoinMoin Powered · Python Powered · GPL licensed · Valid HTML 4.01 czk.8866.org | czk.3322.org | Copyright (c) 2006 czk. 浙ICP备06000584号X Warning! You're using Internet Explorer 6, that's a big security risk! Upgrade or download a better, faster & safer browser: Firefox, Chrome or Safari.第7章 绘图与图形处理人们很难从一大堆原始的数据中发现它们的含义,而数据图形恰能使视觉感官直接感受到数据的许多内在本质,发现数据的内在联系。MATLAB可以表达出数据的二维,三维,甚至四维的图形。通过图形的线型,立面,色彩,光线,视角等属性的控制,可把数据的内在特征表现得淋漓尽致。下面我们分别介绍图形的命令。7.1 二维图形7.1.1 基本平面图形命令命令1 plot功能 线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。用法 plot(X,Y) 当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=x(i),Y=y(i),则plot(X,Y)先描出点(x(i),y(i),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。若X,Y均为同维同型实数矩阵,X = X(i),Y = Y(i),其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。plot(Y) 若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中x=1:m;若y为实数矩阵,则把y按列的方向分解成几个列向量,而y 的行数为n,则plot(Y)等价于plot(X,Y)其中x=1;2;n;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。plot(X1,Y1,X2,Y2,),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,)将分别按顺序取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2) 将按顺序分别画出由三参数定义Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的形式:plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)plot(,'PropertyName',PropertyValue,) 对所有的用plot生成的line图形对象中指定的属性进行恰当的设置。h = plot() 返回line图形对象句柄的一列向量,一线条对应一句柄值。说明 参数LineSpec功能 定义线的属性。Maltab允许用户对线条定义如下的特性:1线型表7-1定义符-:-.线型实线(缺省值)划线点线点划线2线条宽度指定线条的宽度,取值为整数(单位为像素点)3颜色表7-2定义符R(red)G(green)b(blue)c(cyan)颜色红色绿色兰色青色定义符M(magenta)y(yellow)k(black)w(white)颜色品红黄色黑色白色4标记类型表7-3定义符+o(字母)*.x标记类型加号小圆圈星号实点交叉号定义符dv><标记类型棱形向上三角形向下三角形向右三角形向左三角形定义符shP标记类型正方形正六角星正五角星5标记大小指定标记符号的大小尺寸,取值为整数(单位为像素)6标记面填充颜色指定用于填充标记符面的颜色。取值在上表。7标记周边颜色指定标记符颜色或者是标记符(小圆圈、正方形、棱形、正五角星、正六角星和四个方向的三角形)周边线条的颜色。取值在上表。在所有的能产生线条的命令中,参数LineSepc可以定义线条的下面三个属性:线型、标记符号、颜色进行设置。对线条的上述属性的定义可用字符串来定义,如:plot(x,y,'-.or')结合x和y,画出点划线(-.),在数据点(x,y)处画出小圆圈(o),线和标记都用红色画出。其中定义符(即字符串)中的字母、符号可任意组合。若没有定义符,则画图命令plot自动用缺省值进行画图。若仅仅指定了标记符,而非线型,则plot只在数据点画出标记符。如:plot(x,y,d)例7-1 >>t = 0:pi/20:2*pi; >>plot(t,t.*cos(t),'-.r*') >>hold on >>plot(exp(t/100).*sin(t-pi/2),'-mo') >>plot(sin(t-pi),':bs') >>hold off图形结果为图7-1。例7-2 >>plot(t,sin(2*t),'-mo', 'LineWidth',2,'MarkerEdgeColor','k', 'MarkerFaceColor',.49 1 .63,'MarkerSize',12)图形结果为图7-2。图7-1 二维曲线图 图7-2 二维图形的绘制命令2 fplot 功能 在指定的范围limits内画出一元函数y=f(x)的图形。其中向量x的分量分布在指定的范围内,y是与x同型的向量,对应的分量有函数关系:y(i)=f(x(i)。若对应于x的值,y返回多个值,则y是一个矩阵,其中每列对应一个f(x)。例如,f(x)返回向量f1(x),f2(x),f3(x),输入参量x=x1;x2;x3,则函数f(x)返回矩阵 f1(x1) f2(x1) f3(x1) f1(x2) f2(x2) f3(x2) f1(x3) f2(x3) f3(x3)注意一点的是,函数function必须是一个m-文件函数或者是一个包含变量x,且能用函数eval计算的字符串。例如:sin(x)*exp(2*x),sin(x),cos(x),hump(x)。用法 fplot('function',limits) 在指定的范围limits内画出函数名为function的一元函数图形。其中limits是一个指定x-轴范围的向量xmin xmax或者是x轴和y轴的范围的向量xmin xmax ymin ymax。 fplot('function',limits,LineSpec) 用指定的线型LineSpec画出函数function。 fplot('function',limits,tol) 用相对误差值为tol画出函数function。相对误差的缺省值为2e-3。 fplot('function',limits,tol,LineSpec) 用指定的相对误差值tol和指定的线型LineSpec画出函数function的图形。 fplot('function',limits,n) 当n>=1,则至少画出n+1个点(即至少把范围limits分成n个小区间),最大步长不超过(xmax-xmin)/n。 fplot(function,lims,) 允许可选参数tol,n和LineSpec以任意组合方式输入。 X,Y = fplot('function',limits,) 返回横坐标与纵坐标的值给变量X和Y,此时fplot不画出图形。若想画出,可用命令plot(X,Y)。 = plot('function',limits,tol,n,LineSpec,P1,P2,) 允许用户直接给函数function输入参数P1,P2等,其中函数functiond的定义形式为 y = function(x,P1,P2,) 若想用缺省的tol,n或LineSpec值,只需将空矩阵( )传递给函数即可。注意:fplot采用自适应步长控制来画出函数function的示意图,在函数的变化激烈的区间,采用小的步长,否则采用大的步长。总之,使计算量与时间最小,图形尽可能精确。例7-3>>fplot('tanh',-2 2)图形结果为图7-3。>>subplot(2,2,1);fplot('humps',0 1)>>subplot(2,2,2);fplot('abs(exp(-j*x*(0:9)*ones(10,1)',0 2*pi)>>subplot(2,1,2);fplot('tan(x),sin(x),cos(x)',2*pi*-1 1 -1 1)图7-3 函数画图 图7-4命令3 loglog功能 双对数图形。用法 loglog(Y) 若y为实数向量或矩阵,则结合y列向量的下标与y的列向量画出。若y为复数向量或矩阵,则loglog(Y)等价于loglog(real(Y),imag(Y),在loglog的其他使用形式中将忽略Y的虚数部分。 loglog(X1,Y1,X2,Y2) 结合Xn与Yn画出图形。若只有Xn或Yn为矩阵,另一个为向量,行向量维数等于矩阵的列数,列向量的维数等于矩阵的行数,则loglog把矩阵按向量的方向分解成向量,再与向量结合分别画出图形。 loglog(X1,Y1,LineSpec1,X2,Y2,LineSpeec2) 按顺序取三个参数Xn,Yn, LineSpecn画出线条,其中LineSpecn指定线条的线型,标记符号和颜色。用户可以混合使用二参数和三参数形式,如: loglog(X1,Y1,X2,Y2,LineSpec2,X3,Y3) loglog(,'PropertyName',PropertyValue,) 对所有由loglog命令生成的图形对象句柄的属性进行设置。 h = loglog() 返回line图形句柄向量,每条线对应一个句柄。例7-4>>x = logspace(-1,2);>>loglog(x,10*exp(x),'-s')>>grid on图7-5命令4 semilogx功能 x轴对数图形。若没有指定使用的颜色,当所画线条较多时,semilogx将自动使用由当前轴的ColorOrder和LineStyleOrder属性指定的颜色顺序和线型顺序来画线。用法 semilogx(Y) %对x轴的刻度求常用对数(以10为底),而y轴为线性刻度。若y为实数向量或矩阵,则结合y列向量的下标与y的列向量画出线条;若y为复数向量或矩阵,则semilogx(Y)等价于semilogx(real(Y),imag(Y)。在semilogx的其他使用形式中,Y的虚数部分将被忽略。 semilogx(X1,Y1,X2,Y2) %结合Xn和Yn画出线条,若其中只有xn或yn为矩阵,另外一个为向量,行向量的维数等于矩阵的列数,列向量的维数等于矩阵的行数,则按向量的方向分解矩阵,再与向量结合,分别画出线条。 semilogx(X1,Y1,LineSpec1X2,Y2,LineSpec2,) %按顺序取三参数Xn,Yn,LineSpecn画线,参数LineSpecn指定使用的线型,标记符号和颜色。用户可以混合使用二参数和三参数形式,如: semilogx(X1,Y1,X2,Y2,LineSpec2,X3,Y3) semilogx(,'PropertyName',PropertyValue,) %对所有由semilogx命令生成的图形对象句柄的属性进行设置 h = semilogx() %返回line图形句柄向量,每条线对应一个句柄。图7-6例7-5>>x = 0:.1:10;>>semilogx(x,cos(10.x)图形结果为图7-6。命令5 semilogy用法:参见semilogx命令。命令6 fill功能 用颜色填充二维多边形。用法 fill(X,Y,C) 用x和y中的数据生成多边形,用c指定的颜色填充它。其中c为色图向量或矩阵。若c是行向量,则要求c的维数等于x和y 的列数,若c为列向量,则要求c的维数等于x和y的行数。 fill(X,Y,ColorSpec) 用ColorSpec指定的颜色填充由x和y定义的多边形 fill(X1,Y1,C1,X2,Y2,C2,) 指定多个要填充的二维区域 fill(,'PropertyName',PropertyValue) 允许用户对一个patch图形对象的某个属性设定属性值。 h = fill() 返回patch图形对象句柄的向量,每一个patch对象对应一个句柄。注意:1. 若x或y是一矩阵,另一个是向量,向量应是维数与矩阵的行数相等的列向量或是维数等于矩阵列数的行向量时,函数fill将向量复制成与矩阵同型的矩阵。函数fill将矩阵x与y中列向量中的数据生成多边形的顶点。2. 颜色阴影类型决定于用户在参数中列出的颜色,若用户用ColorSpec指定颜色,命令fill生成平坦阴影模式(flat-shaded)多边形,同时设置补片对象(patch)的FaceColor属性为相应的RGB颜色矩阵。3. 若用户用参量c指定所用颜色,命令fill按坐标轴属性Clim的比例缩小c中的元素,之后,c成为引用当前色图的下标矩阵。4. 若c为行向量,命令fill生成平面阴影的多边形,c的每一元素决定由矩阵x,y的每一列定义的多边形内的颜色,每一补片对象的FaceColor属性被设置为'flat',x,y的每一行元素变成第n块补片对象的Cdata属性值,其中n为矩阵x或y中的相应的列。图7-75. 若c为一列向量或一矩阵,命令fill运用一线性插值法计算每一节点的颜色,以便用插值颜色填充多边形的内部。它设置补片对象的FaceColor属性为interp,且在一列中的元素变成每一补片的Cdata属性值。若c为一列向量,命令fill用该向量复制成需要大小的尺寸。例7-6>>t = (1/16:1/8:1)'*2*pi;>>x = exp(t).*sin(t);>>y = t.*cos(t);>>fill(x,y,'k')>>grid on图形结果为图7-7。命令7 zoom功能 对二维图形进行放大或缩小。放大或缩小会改变坐标轴范围。用法 zoom on 打开交互式的放大功能。当一个图形处于交互式的放大状态时,有两种方法来放大图形:对于一键鼠标或二键,三键鼠标,单击坐标轴内的任意一点,可使图形放大一倍,这一操作可进行多次,直到matlab的最大显示为止;对于二键或三键的鼠标,在坐标轴内单击右键,可使图形缩小一倍,这一操作可进行多次,直到还原图形为止。对于一键鼠标,要想缩小图形,需要按住键盘上的Shift键,再单击鼠标键。用鼠标拖出要放大的部分,系统将放大选定的区域。 zoom off 关闭交互式放大功能。 zoom out 将系统转回非放大状态,并将图形恢复原状。 zoom reset 系统将记住当前图形的放大状态,作为放大状态的设置值。以后使用zoom out或者是双击鼠标时,交互式放大状态打开,且图形并不是返回到原状,而是返回reset时的放大状态。 zoom 用于切换放大的状态:on和off。 zoom xon 只对x轴进行放大。 zoom yon 只对y轴进行放大。 zoom(factor) 用放大系数factor进行放大或缩小,而不影响交互式放大的状态。若factor>1,系统将图形放大factor倍,若0<factor1,系统将图形放大1/factor倍。 zoom(fig, option) 指定对窗口fig中(不一定为当前窗口)的二维图形进行放大,其中参数option为:on、off、xon、yon、reset、factor等。命令8 meshgrid功能 生成二元函数z = f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y,或者是三元函数u = f(x,y,z)中立方体定义域中的数据点矩阵X,Y和Z。用法 a:X,Y = meshgrid(x,y) b:X,Y = meshgrid(x) c:X,Y,Z = meshgrid(x,y,z)说明 对于形式a,输入向量x为x-y平面上矩形定义域的矩形分割线在x轴的值,向量y为x-y平面上矩形定义域的矩形分割线在y轴的值。输出向量X为x-y平面上矩形定义域的矩形分割点的横坐标值矩阵,输出向量Y为x-y平面上矩形定义域的矩形分割点的纵坐标值矩阵。对于形式b,等价于形式a:X,Y = meshgrid(x) = meshgrid(x,x)。对于形式c,输入向量x为立方体定义域的立方体分割平面在x轴上的值,输入向量y为立方体定义域的立方体分割平面在y轴上的值,输入向量z为立方体定义域的立方体分割平面在z轴上的值。输出向量X为立方体定义域中分割点的x轴坐标值,Y为立方体定义域中分割点的y轴坐标值,Z为立方体定义域中分割点的z轴坐标值。例7-7 >>x = 0.7 1.1 ; y = -2 3 1; z = 2 5 3; %分量不一定从小到大 >>X_2d,Y_2d = meshgrid(x,y) >>X_3d,Y_3d,Z_3d = meshgrid(x,y,z)计算结果为:X_2d = 0.7000 1.1000 0.7000 1.1000 0.7000 1.1000Y_2d = -2 -2 3 3 1 1X_3d(:,:,1) = 0.7000 1.1000 0.7000 1.1000 0.7000 1.1000X_3d(:,:,2) = 0.7000 1.1000 0.7000 1.1000 0.7000 1.1000X_3d(:,:,3) = 0.7000 1.1000 0.7000 1.1000 0.7000 1.1000Y_3d(:,:,1) = -2 -2 3 3 1 1Y_3d(:,:,2) = -2 -2 3 3 1 1Y_3d(:,:,3) = -2 -2 3 3 1 1Z_3d(:,:,1) = 2 2 2 2 2 2Z_3d(:,:,2) = 5 5 5 5 5 5Z_3d(:,:,3) = 3 3 3 3 3 37.1.2 特殊平面图形命令命令1 polar功能 画极坐标图。该命令接受极坐标形式的函数rho=f(),在笛卡儿坐标系平面上画出该函数,且在平面上画出极坐标形式的格栅。用法 polar(theta,rho) 用极角theta和极径rho画出极坐标图形。极角theta为从x轴到半径的单位为弧度的向量,极径rho为各数据点到极点的半径向量。图7-8 polar(theta,rho,LineSpec) 参量LineSpec指定极坐标图中线条的线型、标记符号和颜色等。例7-8>>t = 0:.01:2*pi;>>polar(t,sin(3*t).*cos(2*t),'-r')图形结果为图7-8。命令2 bar功能 二维垂直条形图。用垂直条形显示向量或矩阵中的值。用法 bar(Y) 若y为向量,则分别显示每个分量的高度,横坐标为1到length(y);若y为矩阵,则bar把y分解成行向量,再分别画出,横坐标为1到size(y,1),即矩阵的行数。 bar(x,Y) 在指定的横坐标x上画出y,其中x为严格单增的向量。若y为矩阵,则bar把矩阵分解成几个行向量,在指定的横坐标处分别画出。 bar(,width) 设置条形的相对宽度和控制在一组内条形的间距。缺省值为0.8,所以,如果用户没有指定x,则同一组内的条形有很小的间距,若设置width为1,则同一组内的条形相互接触。 bar(,'style') 指定条形的排列类型。类型有“group”和“stack”,其中“group”为缺省的显示模式。 “group”:若y为n*m阶的矩阵,则bar显示n组,每组有m个垂直条形的条形图。 “stack”:对矩阵y的每一个行向量显示在一个条形中,条形的高度为该行向量中的分量和。其中同一条形中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布。 bar(,LineSpec) 用指定的颜色LineSpec显示所有的条形。 xb,yb = bar() 返回用户可用命令plot或命令patch画出条形图的参量xb,yb。这对用户控制一个图形的显示是有用的,例如要在一个plot语句中加入装饰性的条形图等。 h = bar() 返回一个patch图形对象句柄的向量。每一条形对应一个句柄。例7-9图7-9 图7-10x = -2.9:0.2:2.9;bar(x,exp(x.*sin(x)colormap gray图形结果为图7-9。例7-10subplot(2,2,4)bar(Y,1.5)title 'Width = 1.5'图形结果为图7-10。命令3 barh功能 二维水平条形图。用水平条形显示向量或矩阵中的值。用法 barh(Y) 若y为向量,则分别显示每个分量的高度,纵坐标为1到length(y);若y为矩阵,则bar把y分解成行向量,再分别画出,纵坐标为1到size(y,1),即矩阵的行数。 barh(x,Y) 在指定的纵坐标x上以水平方向画出y,其中x为严格单增的向量。若y为矩阵,则barh把矩阵分解成几个行向量,在指定的纵坐标处分别画出。 barh(,width) 设置条形的相对宽度和控制在一组内条形的间距。缺省值为0.8,所以,如果用户没有指定x,则同一组内的条形有很小的间距,若设置width为1,则同一组内的条形相互接触。 barh(,'style') 指定条形的排列类型。类型有“group”和“stack”,其中“group”为缺省的显示模式。 “group”:若y为n*m阶的矩阵,则bar显示n组,每组有m个水平条形的条形图。 “stack”:对矩阵y的每一个行向量显示在一个条形中,条形的高度为该行向量中的分量和。其中同一条形中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布。 barh(,LineSpec) 用指定的颜色LineSpec显示所有的条形。图7-11 xb,yb = barh() 返回用户可用命令plot或命令patch画出条形图的参量xb,yb。这给用户控制一个图形的显示是有用的,例如要在一个plot语句中加入装饰性的条形图等。 h = barh() 返回一个patch图形对象句柄的向量。每一条形对应一个句柄。例7-11>>X = 1:.5:5;>>Y = exp(X).*sin(X);>>barh(Y,'stack')图形结果为图7-11。命令4 compass功能 从原点画箭头图。箭头图为一显示起点为笛卡儿坐标系中的原点的二维或三维方向或向量的图形,同时在坐标系中显示圆形的分隔线。用法 compass(X,Y) 参量x与y为同型的n维向量,则命令显示n个箭头,箭头的起点为原点,箭头的位置为X(i),Y(i)。图7-12 compass(Z) 参量z为n维复数向量,则命令显示n个箭头,箭头起点为原点,箭头的位置为real(Z),imag(Z). compass(,LineSpec) 用参量LineSpec指定箭头图的线型、标记符号、颜色等属性。 h = compass() 返回line对象的句柄给h。例7-12 Z = magic(20).*randn(20); compass(Z)图形结果为图7-12。命令5 comet功能 二维彗星图。彗星图为彗星头(一个小圆圈)沿着数据点前进的动画,彗星体为跟在彗星头后面的痕迹,轨道为沿着整个函数的实线。我们要指出的是,由命令comet生成的轨迹是使用擦除模式(EraseMode)属性的值为none,该属性使用户不能打印该图形(只能得到彗星头),且当用户改变窗口的大小时,动画将消失。图7-13用法 comet(y) 彗星图动画显示向量y确定的路线。 comet(x,y) 彗星图动画显示向量x与y确定的路线。 comet(x,y,p) 指定彗星体的长度p*length(y),缺省的p值为0.1。例7-13>>t = 0:.01:2*pi;>>x = exp(sin(2*t).*(cos(t).2/3);>>y = t.*(sin(t).2);>>comet(x,y);图形结果为图7-13。附:擦除模式(EraseMode)属性及属性值:normal|none|xor|background 该属性控制系统用于显示与擦除线条对象的技术。不同的擦除模式对于生成动画系列,即控制个别对象的重新显示方式,对于改进外在显示和获得理想的效果是很必要的。表7-4属性值含义Normal(缺省值)重新显示受影响的区域,在必要的时候,进行三维分析计算,以保证所有的对象的显示都是正确的。该模式下的图形显示是最精确的,不过也是最缓慢的,以下其他三种模式显示速度较快,不过没有执行一个完全的重显过程,因而,图形显示也不是很精确的。none当线条移动或改动时,该模式没有擦除线条,而是仍然显示于屏幕上。该模式下不能打印图形,因为系统没有存储前一图形的任何信息。xor使用异或运算(xor)计算线条颜色与当前位置下的颜色,用所得结果显示与擦除线条。该模式对于线条下面对象的颜色没有任何破坏,只是影响到线条的当前显示颜色而已。Background用当前坐标轴颜色重新显示线条的方式来擦除线条,若当前坐标轴颜色设置为none,则用图形的背景色来代替坐标轴颜色。该模式对于处于擦除线条后面的对象来说是有损害的,不过当前线条的颜色总是最合适的。命令6 errorbar功能 沿着一曲线画误差棒形图。误差棒为数据的置信水平或者为沿着曲线的偏差。在下列参数中,若为矩阵,则按列画出误差棒。用法 errorbar(Y,E) 画出向量y,同时显示在向量y的每一元素之上的误差棒。误差棒为E(i)在曲线y上面与下面的距离,所以误差棒的长度为2*E(i)。 errorbar(X,Y,E) X,Y,E必须为同型参量。若同为向量,则画出带长度为2*E(i)、对称误差棒于曲线点(X(i),Y(i)之处;若同为矩阵,则画出带长度为E(i,j)、对称误差棒于曲面点(X(i,j),Y(i,j)之处, errorbar(X,Y,L,U) X,Y,L,U必须为同型参量。若同为向量,则在点(X(i),Y(i)处画出向下长为L(i),向上长为U(i)的误差棒;若同为矩阵,则在点(X(i,j),Y(i.j)处画出向下长为L(i,j),向上长为U(i,j)的误差棒。 errorbar(,LineSpec) 用LineSpec指定的线型、标记符、颜色等画出误差棒。图7-14 h = errorbar() 返回线图形对象的句柄向量给h。例7-14>>X = 0:pi/10:pi;>>Y = exp(X).*sin(X);>>E = std(Y)*ones(size(X);>>errorbar(X,Y,E)图形结果为图7-14。命令7 feather功能 画出速度向量图。一羽毛图在横坐标上等距地显示向量。用户要表示各个向量的、相对于原点的向量分量。用法 feather(U,V) 显示由参量向量u与v确定的向量,其中u包含作为相对坐标系中的x成分,v包含作为相对坐标系中的y成分。 feather(Z) 显示复数参量向量z确定的向量,等价于feather(real(Z),imag(Z)。 feather(,LineSpec) 用参量LineSpec指定的线型、标记符号、颜色等属性画出羽毛图。例7-15>>th = (-90:10:90)*pi/180; >>r = 4*ones(size(th);>>u,v = pol2cart(th,r);>>feather(u,v);图形结果为图7-15。图7-15命令8 hist功能 二维条形直方图,可以显示出数据的分配情形。所有向量y中的元素或者是矩阵y中的列向量中的元素是根据它们的数值范围来分组的,每一组作为一个条形进行显示。条形直方图中的x轴反映了数据y中元素数值的范围,直方图的y轴显示出参量y中的元素落入该组的数目。所以y轴的范围从0到任一条形中包含元素最多的数字。直方图为一patch图形对象,若想改变图形的颜色,可以对patch对象的属性进行设置。缺省时,图形颜色是由当前色图进行控制,当前色图的第一个颜色为直方图的颜色。用法 n = hist(Y) 把向量y中的元素放入等距的10个条形中,且返回每一个条

    注意事项

    本文(MATLAB数学手册教程_第7章__绘图与图形处理(同名10258).doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开