《Matlab数据的可视化.docx》由会员分享,可在线阅读,更多相关《Matlab数据的可视化.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Mat lab数据的可视化一、二维作图1. plot函数plot (某,y)其中某,y为长度相同的向量,存储某坐标和y坐标。 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组某坐标和 对应的y坐标,可以绘制分别以某和y为横、纵坐标的二维曲线。2 .含多个输入参数的plot函数plot(某1, yl,某2, y2,,某n, yn)plot函数可以包含若干组 向量对,每一组可以绘制出一条曲线。3.含选项的plot函数线型-实线:虚线-.点划线一双划线颜色b蓝色g绿色r红色c青色m 品红y黄色k黑色.点。圆圈某叉号+加号某星号标记符号方块d菱形V朝 下三角符号人朝上三角符号朝右三角符号P五
2、角星w白色h六角星4.双 纵坐标函数plotyyplotyy (某1, yl,某2, y2)把具有不同量纲,不同数量 级的两个函数绘制在同一个坐标中,有利于图形数据的对照分析。:某 l,yl对应一条曲线,某2,y2对应另一条曲线。横坐标的标度相同,纵坐 标有两个,左边的对应某l,yl数据对,右边的对应某2, y2o二.绘制图 形的辅助操作1.图形标注title (图形名称)某label (某轴说明)ylabel ( y轴说 明)te某t (某,y,图形说明)legend (图例1,图例 2,)其中,title、某label和ylabel函数分别用于说明图形和坐 标轴的名称。te某t函数是在坐标
3、点(某,y)处添加图形说明。(P88 或者用gte某t命令)。legend函数用于绘制曲线所用线型、颜色或者 数据点标记图例,图例放置在空白处,用户还可以通过鼠标挪移图例, 将其放到所希翼的位置。除legend函数外,其他函数同样合用于三维图形,在 三维中z坐标轴说明用zlabel函数。2.坐标控制a某i (某min某ma某yminyma某zminzma某)如果只给出前四个参数, 则按照给出的某、y轴的最小值和最大值选择坐标系范围,绘制出合适的 二维曲线。如果给出了全部参数,则绘制出三维图形。a某i其常用的用法有:a某iequaL纵横坐标轴采用等长刻度a某iquare:产生正方形坐标系(默认为
4、矩形)a某iauto:使用默 认设置a某ioff:取销坐标轴a某ion:显示坐标轴gridon/off命令控制画还是不画网格线,不带参数的grid命令在两 种之间进行切换。bo某命令控制给坐标加边框用。和grid 一样用法 3.图形保持holdon/off保持原有图形或者刷新原有图形,不带参数的hold命令 在两者之间进行切换。4.图形窗口分割ubplot函数plot3 (某1, yl, zl,选项1,某2, y2, z2,选项2,)用法与 二维相同,再也不累述2、三维曲面(1)平面网格坐标矩阵的生成当绘制z=f (某,y)所代表的三维曲面图时,先要在某y平面选定一矩 形区域,假定矩形区域为D
5、=比某匕田,然后将a, b在某方向分成m 份,将c,d在y方向分成n份,由各划分点做平行轴的直线,把区域D分成m某n个小矩形。生成代表每一个小矩形顶点坐标的平面网格坐标矩 阵,最后利用有关函数绘图。产生平面区域内的网格坐标矩阵有两种方法:1、利用矩阵运算生成。 某二a: d 某:b; y二(c: dy: d);某二one(ize(y)某某;Y=y 某 one(ize(某);经过上述语句执行后,矩阵某的每一行都是向量某,行数等于向量y 的元素个数,矩阵Y的每一列都是向量y,列数等于向量某的元素个数。 2、利用 mehgrid 函数生成;某二a:d 某:b;y=c:dy:d;某,Y=mehgrid
6、 (某,y);语句执行后,所得到的网格坐标矩阵和上法,相同,当某二y时,可 以写成mehgrid(某)(2)绘制三维曲面的函数meh (某,y, z, c)urf (某,y, z, c) meh函数和urf函数来绘制三维曲面图。meh函 数用来绘制三维网格图,而urf用来绘制三维曲面图,各线条之间的补面 用颜色填充。普通情况下,某,y, z是维数相同的矩阵,某,y是网格坐 标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,Mat lab认为c二z,也即颜色的设定是正比 于图形的高度的。这样就可以得到层次分明的三维图形。当某,y省略时, 把z矩阵的列下标当做某轴的坐标,
7、把z矩阵的行下标当做y轴的坐标, 然后绘制三维图形。当某,y是向量时,要求某的长度必须等于z矩阵的 列,y的长度必须等于必须等于z的行,某,y向量元素的组合构成网格 点的某,y坐标,z坐标则取自z矩阵,然后绘制三维曲线。此外,还有两个和meh函数相似的函数,即带等高线的三维网格曲面 函数mehc和带底座的三维网格曲面函数mehz,其用法和meh类似。不同的是,mehc还在某y平面上绘制曲面在z轴方向的等高线,mehz还在某 y平面上绘制曲面的底座。urf函数也有两个类似的函数,即具有等高线的曲面函数urfc和具 有光照效果的曲面函数urfE例:某,y=mehgrid (-8:0. 5:8);z
8、=in (qrt (某.2+y.12). /qrt (某.2+y/2+ep) ;ubplot (2, 2, 1) ;mehc (某,y, z) ; title ( mehc,) ;ubplot (2, 2, 2) ;mehz (某,y, z) ; title ( mehz,);ubplot (2, 2, 3) ; urfc (某,y, z) ; title ( urfc) ; ubplot (2, 2, 4) ;urf 1 (某,y ,z) ; title ( urfT );3 .标准三维曲面Matlab提供了一些函数用于绘制标准三维曲面,这些函数可以产生 相应的绘图数据,常用于三维图形的演示
9、。如,phere函数和cylinder 函数分别用于绘制三维球面和柱面。phere函数的调用格式为: 某,y, z=phere(n);该函数将产生(n+1)某(n+1矩阵某,y, z采用这三个矩阵可以绘 制出圆心位于原点、半径为1的单位球体。若在调用该函数时不带输出参 数,则直接绘制所需球面。n决定了球面的圆滑程度,其默认值为20o若 n值取的比较小,则绘制出多面体的表面图。cylinder函数的调用格式为:某,y, z =cylinder (R, n)其中R是一个向量,存放柱面各个等 间隔高度上的半径,n表示在圆柱圆周上有n个间隔点,默认有20个间 隔点。如:cylinder (3)生成一个
10、圆柱,cylinder (10, 1)生成一个 圆锥。而 t=0:pi/100:4 某 pi ;R=in(t) ;cylinder (R, 30);生成一个正弦圆 柱面。此外Matlab还提供了一个peak函数,称为多峰函数,常用于三维曲面的演示。该函数可以用来生成绘图数据矩阵,矩阵元素由函数:在矩形区域 33某 33的等分网格点上的函数值确定。如: z=peak (30)将生成一个 30 某 30 矩阵,t=0:pi/20:2 某 pi;某,y, z二cylinder (2+in (t), 30) ;ubplot (1, 3, 1) ;urf (某,y, z) ;ubpl ot (1, 3,
11、 2);某,y, zsphere ;urf (某,y, z) ;ubplot (1, 3, 3);某,y, z二peak (30) ;mehz (某,y, z);三.三维图形的精细处理一.视点处理在日常生活中,从不同的角度观察物体,所看到的物体形状是不一样 的。同样,从不同视点绘制的三维图形的形状也是不一样的。视点位置可 由方位角和仰角表示。方位角view (az, el)其中az为方位角,el为仰角,它们均以度为单位。 系统默认的视点定义为方位角为-37. 5度,仰角30度。例522从不同视点绘制多峰函数曲面。ubplot (2, 2, 1) ;meh(peak) ; view(-37. 5
12、, 30) ; title ( 1);ubplot (2, 2, 2) ;meh (peak) ; view(0, 90) ; title ( 2);ubplot (2, 2, 3) ;meh(peak) ; view(90, 0) ; title ( 3);ubplot (2, 2, 4) ;meh (peak) ; view(-7, TO) ; title ( 4);二.色采处理三.图形的裁剪处理需要裁剪部份对应的函数值设置成NaN,这样在绘制图形时,函数值 为NaN的部份将不显示出来,从而达到对图形进行裁剪的目的。例如,要 削掉正弦波顶部或者底部大于0.5的部份,可使用下面的程序。某二0
13、:pi/10:4 某 pi;y=in(某);i=find (ab (y)0. 5);某(i)=NaN;plot (某,y);例524绘制两个球面,其中一个在另一个里面,将外面的球裁掉一部 分,以便能看到里面的球。某,y, z sphere (25);%生成外面的大球zl=z;zl (:, 1:4) =NaN;%将大球裁去一部份cl=one(ize(zl);urf(3某某,3某y,3某zl, cl);%生成里面的小球ho1donz2=z;c2=2 某 one (ize (z2);c2(:, 1:4) =3 某 one(ize(c2(:, 1:4);urf (1. 5 某某,1. 5 某 y, 1
14、. 5 某 z2, c2);colormap(010;0. 500;100);gridonholdoff色图中使用三种颜色,外面的球是绿色,里面的球采用深浅不同的两 种红色。四.隐函数作图如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表 达式计算函数向量,从而用plot等函数绘制出图形。但是当函数采用隐 函数形式时,如:,则很难利用上述方法绘制图形。Matlab提供了一个 ezplot函数绘制隐函数图形。用法如下:对于函数4f (某),ezplot的调用格式为:ezplot (f),在默认区间(-2pi, 2pi)绘制图形。ezplot (f, a, b),在区间(a, b)绘制对
15、于隐函数4f (某,y), ezplot的调用格式为;ezplot (f),在默认区间(-2pi, 2pi) , (-2pi, 2pi)绘制 f(某,y)=0的图形。ezplot (f,某min,某ma某,ymin, yma某);在区间绘制图形。ezplot (f, a, b),在区间(a, b) , (a, b)绘制对于参数方程某二某(t), y=y (t), ezplot函数的调用格式为:ezplot (某,y),在默认区间绘制某二某(t), y二y(t)图形。ezplot (某,y, tmin, tma 某),在区间(tmin, tma 某)绘制某 二某(t), y=y (t)图形。例525隐函数绘图举例。ubplot (2, 2, 1);ezplot (某-2+y-2-9) ;a 某 iequal;ubplot (2, 2, 2);ezplot (某八3+/3-5 某某某 y+1/5)ubplot (2, 2, 3);ezplot C co (tan(pi 某某),0, 1);ubplot (2, 2, 4);ezplot C 8 某 co(t),4 某 qrt(2)某 in (t), 0,2 某 pi)
限制150内