
matlab-画图函数命令.ppt
33页matlab 画图函数命令 Matlab作图是通过描点 连线来实现的 故在画一个曲线图形之前 必须先取得该图形上的一系列的点的坐标 即横坐标和纵坐标 然后将该点集的坐标传给Matlab函数画图 命令为 PLOT X Y S PLOT X Y 画实线PLOT X Y1 S1 X Y2 S2 X Yn Sn 将多条线画在一起 X Y是向量 分别表示点集的横坐标和纵坐标 线型 y黄色 点 连线m洋红o圈 短虚线c蓝绿色xx 符号 长短线r红色 加号 长虚线 1 曲线图 例在 0 2 pi 用红线画sin x 用绿圈画cos x x linspace 0 2 pi 30 y sin x z cos x plot x y r x z g0 解 Matlabliti1 2 符号函数 显函数 隐函数和参数方程 画图 1 ezplot ezplot x t y t tmin tmax 表示在区间tmin t tmax绘制参数方程x x t y y t 的函数图 ezplot f x a b 表示在a x b绘制显函数f f x 的函数图 ezplot f x y xmin xmax ymin ymax 表示在区间xmin x xmax和ymin y ymax绘制隐函数f x y 0的函数图 例在 0 pi 上画y cos x 的图形 解输入命令ezplot sin x 0 pi Matlabliti25 解输入命令ezplot cos t 3 sin t 3 0 2 pi Matlabliti41 解输入命令ezplot exp x sin x y 2 0 5 0 2 Matlabliti40 2 fplot 注意 1 fun必须是M文件的函数名或是独立变量为x的字符串 2 fplot函数不能画参数方程和隐函数图形 但在一个图上可以画多个图形 fplot fun lims 表示绘制字符串fun指定的函数在lims xmin xmax 的图形 解先建M文件myfun1 m functionY myfun1 x Y exp 2 x sin 3 x 2 再输入命令 fplot myfun1 1 2 Matlabliti43 Matlabliti28 解输入命令 fplot tanh x sin x cos x 2 pi 11 11 例在 2 2 范围内绘制函数tanh的图形解fplot tanh 2 2 Matlabliti42 3 对数坐标图 在很多工程问题中 通过对数据进行对数转换可以更清晰地看出数据的某些特征 在对数坐标系中描绘数据点的曲线 可以直接地表现对数转换 对数转换有双对数坐标转换和单轴对数坐标转换两种 用loglog函数可以实现双对数坐标转换 用semilogx和semilogy函数可以实现单轴对数坐标转换 loglog Y 表示x y坐标都是对数坐标系semilogx Y 表示x坐标轴是对数坐标系semilogy 表示y坐标轴是对数坐标系plotyy有两个y坐标轴 一个在左边 一个在右边 例用方形标记创建一个简单的loglog 解输入命令 x logspace 1 2 loglog x exp x s gridon 标注格栅 Matlabliti37 例创建一个简单的半对数坐标图解输入命令 x 0 1 10 semilogy x 10 x Matlabliti38 例绘制y x3的函数图 对数坐标图 半对数坐标图 Matlabliti22 返回 三维图形 1 空间曲线 2 空间曲面 返回 PLOT3 x y z s 空间曲线 1 一条曲线 例在区间 0 10 pi 画出参数曲线x sin t y cos t z t Matlabliti8 解t 0 pi 50 10 pi plot3 sin t cos t t rotate3d 旋转 PLOT3 x y z 2 多条曲线 例画多条曲线观察函数Z X Y 2 这里meshgrid x y 的作用是产生一个以向量x为行 向量y为列的矩阵 Matlabliti9 其中x y z是都是m n矩阵 其对应的每一列表示一条曲线 解x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 plot3 X Y Z 返回 空间曲面 例画函数Z X Y 2的图形 解x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 surf X Y Z shadingflat 将当前图形变得平滑 Matlabliti11 1 surf x y z 画出数据点 x y z 表示的曲面 2 Mesh x y z 解x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 mesh X Y Z Matlabliti24 例画出曲面Z X Y 2在不同视角的网格图 画网格曲面 3 meshz X Y Z 在网格周围画一个curtain图 如 参考平面 解输入命令 X Y meshgrid 3 125 3 Z praks X Y Meshz X Y Z 例绘peaks的网格图 Matlabliti36 返回 在图形上加格栅 图例和标注 定制坐标 图形保持 分割窗口 缩放图形 改变视角 图形处理 返回 动画 1 在图形上加格栅 图例和标注 1 GRIDON 加格栅在当前图上GRIDOFF 删除格栅 处理图形 2 hh xlabel string 在当前图形的x轴上加图例string hh ylabel string 在当前图形的y轴上加图例string hh title string 在当前图形的顶端上加图例string hh zlabel string 在当前图形的z轴上加图例string 例在区间 0 2 pi 画sin x 的图形 并加注图例 自变量X 函数Y 示意图 并加格栅 解x linspace 0 2 pi 30 y sin x plot x y xlabel 自变量X ylabel 函数Y title 示意图 gridon Matlabliti2 3 hh gtext string 命令gtext string 用鼠标放置标注在现有的图上 运行命令gtext string 时 屏幕上出现当前图形 在图形上出现一个交叉的十字 该十字随鼠标的移动移动 当按下鼠标左键时 该标注string放在当前十交叉的位置 例在区间 0 2 pi 画sin x 并分别标注 sin x cos x 解x linspace 0 2 pi 30 y sin x z cos x plot x y x z gtext sin x gtext cos x Matlabliti3 返回 2 定制坐标 Axis xminxmaxyminymaxzminzmax 例在区间 0 005 0 01 显示sin 1 x 的图形 解x linspace 0 0001 0 01 1000 y sin 1 x plot x y axis 0 0050 01 11 Matlabliti4 返回 定制图形坐标 将坐标轴返回到自动缺省值 Axisauto 3 图形保持 1 holdonholdof 例将y sin x y cos x 分别用点和线画出在同一屏幕上 解x linspace 0 2 pi 30 y sin x z cos x plot x z holdonPlot x y Matlabliti5 保持当前图形 以便继续画图到当前图上 释放当前图形窗口 2 figure h 例区间 0 2 pi 新建两个窗口分别画出y sin x z cos x 解x linspace 0 2 pi 100 y sin x z cos x plot x y title sin x pausefigure 2 plot x z title cos x Matlabliti6 返回 新建h窗口 激活图形使其可见 并把它置于其它图形之上 4 分割窗口 h subplot mrows ncols thisplot 划分整个作图区域为mrows ncols块 逐行对块访问 并激活第thisplot块 其后的作图语句将图形画在该块上 激活已划分为mrows ncols块的屏幕中的第thisplot块 其后的作图语句将图形画在该块上 命令Subplot 1 1 1 返回非分割状态 subplot mrows ncols thisplot subplot 1 1 1 解x linspace 0 2 pi 100 y sin x z cos x a sin x cos x b sin x cos x eps subplot 2 2 1 plot x y title sin x subplot 2 2 2 plot x z title cos x subplot 2 2 3 plot x a title sin x cos x subplot 2 2 4 plot x b title sin x cos x 例将屏幕分割为四块 并分别画出y sin x z cos x a sin x cos x b sin x cos x Matlabliti7 返回 5 缩放图形 zoomon 单击鼠标左键 则在当前图形窗口中 以鼠标点中的点为中心的图形放大2倍 单击鼠标右键 则缩小2倍 解x linspace 0 2 pi 30 y sin x Plot x y zoomon Matlabliti13 例缩放y sin x 的图形 zoomoff 为当前图形打开缩放模式 关闭缩放模式 返回 6 改变视角view 1 view a b 命令view a b 改变视角到 a b a是方位角 b为仰角 缺省视角为 37 5 30 解x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 subplot 2 2 1 mesh X Y Z subplot 2 2 2 mesh X Y Z view 50 34 subplot 2 2 3 mesh X Y Z view 60 70 subplot 2 2 4 mesh X Y Z view 0 1 1 Matlabliti10 例画出曲面Z X Y 2在不同视角的网格图 view用空间矢量表示的 三个量只关心它们的比例 与数值的大小无关 x轴view 1 0 0 y轴view 0 1 0 z轴view 0 0 1 2 view x y z 返回 7 动画 Moviein getframe movie 函数Moviein 产生一个帧矩阵来存放动画中的帧 函数getframe对当前的图象进行快照 函数movie 按顺序回放各帧 Matlabliti14 返回 例将曲面peaks做成动画 解 x y z peaks 30 surf x y z axis 33 33 1010 m moviein 15 fori 1 15view 37 5 24 i 1 30 m i getframe endmovie m 特殊二 三维图形 1 特殊的二维图形函数 2 特殊的三维图形函数 返回 特殊的二维图形函数 1 极坐标图 polar theta rho s 用角度theta 弧度表示 和极半径rho作极坐标图 用s指定线型 例 解 theta linspace 0 2 pi rho sin 2 theta cos 2 theta polar theta rho g title Polarplotofsin 2 theta cos 2 theta Matlabliti15 2 散点图 scatter X Y S C 在向量X和Y的指定位置显示彩色圈 X和Y必须大小相同 解输入命令 loadseamountscatter x y 5 z Matlabliti29 3 平面等值线图 contour x y z n 绘制n个等值线的二维等值线图 解输入命令 X Y meshgeid 2 2 2 2 2 3 Z X exp X 2 Y 2 C。












