一、二维曲线

plot函数

基本用法

  • plot(x,y) x,y分别用于存储x坐标和y坐标数据
    1. >> x=[2.5,3.5,4,5];
    2. >> y=[1.5,2.0,1,1.5];
    3. >> plot(x,y)

    最简单的plot函数调用格式

  1. plot(x) 横轴为序列数,纵轴为x
  2. 当plot函数的参数x是复数向量时,分别以该向量元素实部和虚部为横纵坐标

    plot(x,y) 当x是向量,y是矩阵时

  • 如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数
  • 如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线数等于y的列数

    plot(x,y)函数参数的变化形式

    //绘制sinx、sin2x、sin(x/2)  的函数曲线
    >> x=linspace(0,2*pi,100);
    >> y=[sin(x);sin(2*x);sin(0.5*x)];
    >> plot(x,y)
    

    image.png

  • 当x,y是同型矩阵时 以x,y对应列元素为横纵坐标分别绘制曲线,曲线条数等于矩阵的列数

    >>t=0:0.01:2*pi;
    >>t1=t';
    >>x=[t1,t1,t1];
    >>y=[sin(t1),sin(2*t1),sin(0.5*t1)];
    >>plot(x,y)
    

    含多个输入参数的plot函数

  • plot(x1,y1,x2,y2···,xn,yn) 每一向量对构成一组数据点的横纵坐标,绘制一条曲线

    >> t1=linspace(0.2*pi,10);
    >> t2=linspace(0.2*pi,20);
    >> t3=linspace(0.2*pi,100);
    >> plot(t1,sin(t1),t2,sin(t2)+1,t3,sin(t3)+2)
    

    image.png

    含选项的plot函数

    image.png

    >> x=(0:pi/50:2*pi)';
    >> y1=2*exp(-0.5*x)*[1,-1];
    >> y2=2*exp(-0.5*x).*sin(2*pi*x);
    >> x1=0:0.5:6;
    >> y3=2*exp(-0.5*x1).*sin(2*pi*x1);
    >> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp')
    

    image.png

    fplot函数

    基本用法

  • fplot(f,lims,选项)

  • f:代表一个函数,通常采用函数句柄形式
  • lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]
  • 选项定义和plot相同

    fplot(@(x)sin(1./x),[0,0.2],'b')
    

    image.png

    双输入函数参数的用法

  • fplot(funx,funy,tlims,选项)

  • funx,funy代表函数 通常采用函数句柄形式
  • tlims为参数funx和funy的自变量的取值范围,用二元向量[tmin,tmax]描述
    fplot(@(t)t.*sin(t),@(t).*cos(t),[0,10*pi],'r')
    
    image.png

    二、绘制图形的辅助操作

    图形标注

    title函数

  1. title函数的基本用法
  • title(图形标题)
  1. 在图形标题中使用LaTeX格式控制符
  • title(‘y=cos{\omega}t’) 即 y=cosωt

image.png

  • ‘\bf’:加粗 ‘\it’:斜体 ‘\rm’:正体
  1. 含属性设置的title函数
  • title(图形标题,属性名,属性值)
  • Color属性:用于设置图形标题文本的颜色 title(‘y=cos{\omega}t’,’color’,’r’)
  • FontSize属性:用于设置标题文字的字号 title(‘y=cos{\omega}t’,’FontSize’,24)

    xlable函数和ylabe函数

  • xlabel(x轴说明) xlabel(‘-2\leqx\leq2’) -2≤x≤2

  • ylabel(y轴说明)

    text函数和gtext函数

  • text(x,y,说明)

  • gtext(说明) 跟随鼠标,没有具体位置

    >>text(-2*pi,0,'-2{\pi})     //在(-2π,0)的位置显示-2π
    

    legend函数

  • legend(图例1,图例2,···)

image.png

光标控制

axis函数

  • axis([xmin,xmax,ymin,ymax,zmin,zmax])
  • axis equal:纵、横坐标轴采用等长刻度
  • axis square:产生正方形坐标系(默认为矩形)
  • axis auto:使用默认设置
  • axis off:取消坐标轴
  • axis on:显示坐标轴

image.png

给坐标系加网格和边框

  • grid on 显示网格
  • grid off 取消网格
  • 没有grid,默认不显示

    给坐标系加网格和边框

  • box on

  • box off

    图形保持

  • hold on 控制保持原有命令

  • hold off 控制刷新图形窗口

image.png

图形窗口的分隔

subplot函数

  • subplot(m,n,p)
  • 将图形窗口分为m*n个绘图区,p指定当前活动区
  • 同一图形窗口的不同坐标系下的图形称为子图

image.png
image.png

其他形式的二维曲线

对数坐标图

  • semilogx(x1,y1,选项1,x2,y2,选项2,···)
  • semilogx(x1,y1,选项1,x2,y2,选项2,···)
  • loglog(x1,y1,选项1,x2,y2,选项2,···)

image.png

极坐标图

  • polar(theta,rho,选项)
  • theta极角 rho极径,选项的内容与plot函数相同

image.png

统计图

条形类图形

条形图

  • bar函数(垂直) barh函数(水平)
  • bar(y,style) 横坐标为第几行,y 参数,style 指定分组排列模式(grouped:簇状分组; stacked:堆积分组)
  • bar(x,y,style) x存储横坐标 y存储数据

image.png

直方图

  1. hist函数
  • hist(y):y一般是向量
  • hist(y,x):y是要统计的数据,x用于指定区间的划分方式

image.png

  1. rose函数
  • rose(theta,x)
  • 参数theta用于确定每一区间与原点的角度,选项x用于指定区间的划分方式

image.png

面积类图形

  1. 扇形图
  • pie函数
  • pie(x,double)x存储待统计数据,选项explode控制图块的显示模式(1为突出显示)

image.png

  1. 面积图
  • area函数 和plot差不多

    散点类图形

  1. scatter函数:散点图
  • scatter(x,y,选项,’filled’)
  • x,y定位数据点,选项指定线型,颜色,数据点标记
  • filled省略时是空心的image.png
  1. stairs函数:阶梯图
  2. stem函数:杆图

    矢量类图

  3. compass函数:罗盘图

  4. feather函数:羽毛图
  5. quiver函数:箭头图
  • quiver(x,y,u,v)
  • (x,y)矢量起点
  • (u,v)矢量终点

image.png

四、三维曲线

plot3函数

基本用法

  • plot3(x,y,z)

image.png

参数的变化形式

  1. 参数是同型矩阵
  • 以x,y,z对应列元素绘制曲线,曲线条数等于矩阵列数
  1. 有矩阵有向量
  • 向量的长度应与矩阵相符,行向量的长度与矩阵列数相同,列向量的长度与矩阵行数相同

image.png

  1. 含多组输入参数的plot3函数
  • plot3(x1,y1,z1,x2,y2,z2,···,xn,yn,zn)
  • 每一组x,y,z向量构成一组数据点的坐标,绘制一条曲线

image.png

  1. 含选项的plot3函数
  • plot3(x,y,z,选项)
  • 选项用于指定曲线线型、颜色和数据点标记

image.png

fplot3函数

  • fplot3(funx,funy,funz,tlims)
  • funx,funy,funz代表定义曲线x,y,z坐标的函数,通常采用函数句柄的形式
  • tlims为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述,默认为[-5,5]
  • 也可以指定曲线的线型、颜色和数据点标记

image.png

五、三维曲面

平面网格数据的生产

利用矩阵运算生成

image.png

利用meshgrid生成

image.png

绘制三维曲面的函数

  1. mesh(x,y,z,c)
  2. surf(x,y,z,c)
  3. x,y是网络坐标矩阵,z是网格点上的高度矩阵,c用于指定不同高度下的颜色

image.png
image.png
image.png
image.png

标准三维曲面

  1. sphere函数 [x,y,z]=sphere(n)
  • 将产生(n+1)*(n+1)矩阵想,x,y,z采用这三个矩阵可以绘制出圆心位于原点,半径是1的单位球体。n决定了球面的圆滑程度,默认值20
  1. cylinder函数 [x,y,z]=cylinder(R,n)
  • R是一个向量,存放柱面各个等间隔高度上的半径;n表示圆柱圆周上有n个间隔点,默认值20个间隔点。

image.png
image.png

  1. peaks函数
  • 三维曲面的演示,用于生成绘图数据矩阵
  • Z = peaks 返回在一个 49×49 网格上计算的 peaks 函数的 z 坐标。
  • Z = peaks(n) 返回在一个 n×n 网格上计算的 peaks 函数。如果将 n 指定为长度为 k 的向量,则 MATLAB® 将在一个 k×k 网格上计算该函数
  • Z = peaks(Xm,Ym) 返回在 Xm 和 Ym 指定的点上计算的 peaks 函数。Xm 和 Ym 的大小必须相同或兼容。例如,您可以将 Xm 和 Ym 指定为 meshgrid 格式的矩阵。
  • [X,Y,Z] = peaks(_) 返回 peaks 函数的 x、y 和 z 坐标。

    fsurf函数和 fmesh函数

  • fsurf(funx,funy,funz,uvlims)

  • fmesh(funx,funy,funz,uvlims)
  • funx,funy,funz,代表定义曲面x、y、z坐标的函数,通常采用函数句柄形式
  • uvlims为funx、funy、funz的自变量的取值范围,用4元向量[umin,umax,vmin,vmax]描述,默认为[-5,5,-5,5]

image.png

图形修饰处理

视点处理

image.png

  1. view函数基本用法
  • view(az,el)
  • az方位角,el仰角

image.png

  • view(x,y,z) 视点在笛卡尔坐标中的位置
  • view(2) 二维平面 方位角0,仰角90
  • view(3) 三维空间 视点使用默认方位角和仰角

    色彩处理

  1. 颜色的向量表示

image.png

  1. 色图(colormap)
  • 色图矩阵

image.png

  • 内建色图

image.png

  • 使用方法
    colormap cmapname   //使用内建色图
    colormap(cmap)   //使用色图矩阵
    
    image.png
    image.png
    //上图中的cmap矩阵也可这样定义
    cmap=gray(6)
    
  1. 三维图形表面的颜色
  • shading faceted 将每个网格片用其高度对应的颜色进行着色,网格线为黑色
  • shading flat 将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色
  • shading interp 在网格片内采用颜色插值处理

image.png

图形的剪裁处理

  • 将图形中需要剪裁部分对应的函数值设置成NaN,这样在绘制图形时,函数值的NaN的部分将不显现出来,达到剪裁目的

image.png
image.png

交互式绘图工具

“绘图”选项卡

image.png

绘图工具

  1. 显示绘图工具
  • 显示绘图工具和停靠图形 按钮
  • 命令行窗口中输入命令 >>plottools
  1. 绘图工具的组成
  • 图形选项板
  • 绘图浏览器
  • 属性编辑器