您的位置:首页 > 编程语言 > MATLAB

MATLAB二维绘图

2020-07-17 19:28 295 查看

MATLAB二维绘图

目录

  • 2. 含多个输入参数的plot函数
  • 3. 含选项的plot函数
  • 4. 双纵坐标函数plotyy
  • 5.图形窗口的切割
  • 绘图基本函数—plot函数

    1.plot参数为基本参数

    plot函数基本调用方式

    plot(x,y)
    x和y为长度相同的向量,分别用于存储横坐标和纵坐标。

    x=0:pi/100:2*pi;
    y=2*exp(-0.5*x).*sin(2*pi*x);
    plot(x,y)
    
    %这里x,y为步长为π/100,从0到2π,长为201列的向量。
    他们的列数相同,行数只有一条,因此以x作为横坐标,y对应元素作为纵坐标,
    然后绘制一条曲线。

    输出结果

    plot函数其他调用方式

    (1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。

    x=linspace(0,2*pi,100);
    y=[sin(x);cos(x)];
    plot(x,y)
    
    %x为长度100列向量,y为2行100列的矩阵,他们列数相等,因此用y的另一维作为
    条数,就是用行数作为条数,此处就有2条曲线。然后就是x的第一行第一列
    元素,对y的第一行第一列元素,依次类推出第一条曲线。

    输出结果为

    (2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

    t=linspace(0,2*pi,100);
    x=[t;t]';
    y=[sin(t);cos(t)]';
    plot(x,y)
    
    %次数t为有100个元素的行向量,x,y为100行2列的矩阵。以为维数相同,列数为
    2列,因此有两条曲线。x的第一列作元素作为横坐标,对应y的第一列元素,作为
    纵坐标。

    输出结果

    (3)plot函数最简单的调用格式是只包含一个输入参数:
    plot(x)
    ①当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

    当x是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。

    %一个单位圆
    t=0:0.1:2*pi;
    x=exp(i*t);		%cos(t)+i*sin(t)
    plot(x)
    axis equal;
    
    %这里t为长为63的行向量,x为长63个成员,成员为复数的行向量,则以每个向量
    的实部作为横坐标,虚部作为纵坐标,绘制一个圆。

    输出结果

    ②当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

    %三个同心圆
    t=0:0.01:2*pi;
    x=exp(i*t);
    y=[x;2*x;3*x]';
    plot(y)
    axis equal;
    
    %此处t为步长0.01,从0到2π的行向量。x为长639列的行向量,y是3行639列矩阵
    的转置矩阵,为639行3列。因此有3条曲线,每条曲线以每列元素的实部作为横
    坐标,虚部作为纵坐标,绘制出3条曲线。

    ③当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

    2. 含多个输入参数的plot函数

    调用格式为:
    plot(x1,y1,x2,y2,…,xn,yn)
    ① 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。
    例如

    x=linspace(0,2*pi,100);
    plot(x,sin(x),x,2*sin(x),x,3*sin(x))
    
    %此处为x与sin(x)匹配,x作为横坐标,sin(x)作为纵坐标,后面两条曲线的参数选取同理。


    ②当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

    x=linspace(0,2*pi,100);
    y1=sin(x);
    y2=2*sin(x);
    y3=3*sin(x);
    x=[x;x;x]';
    y=[y1;y2;y3]';
    plot(x,y,x,cos(x))

    :此处x先是长为100的行向量,之后为转置矩阵,为100行3列,不过3列的内容都相同。y也为100行3列。plot打印出来时,是先有x矩阵的每一列元素,作为每条曲线的横坐标。然后y的每一列元素作为曲线的纵坐标,由于纵坐标不同,所有看到三条曲线。同理,第二组匹配,但是第二组的三条曲线由于横纵坐标相同,因此是重合在一次,只看到一条。

    3. 含选项的plot函数

    绘图选项用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。
    当选项省略时,线型一律用实线,颜色将根据曲线的先后顺序依次按下表给出的前7种颜色。
    要设置曲线样式可以在plot函数中加绘图选项,调用格式:
    plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)

    表 符号选项及其含义

    线型符号 含义 颜色符号 含义 标记符号 含义
    - 实线 b 蓝色 .
    : 虚线 g 绿色 o 圆圈
    -. 点划线 r 红色 x 叉号
    双划线 c 青色 + 加号
    m 品红色 * 星号
    y 黄色 s 方块符
    k 黑色 d 菱形符
    w 白色 v 朝下三角符号
    ^ 朝上三角符号
    < 朝左三角符号
    > 朝右三角符号
    p 五角星符
    h 六角星符

    注:可由help plot查询
    例如

    x=linspace(0,2*pi,100);
    y1=sin(x);
    y2=2*sin(x);
    y3=3*sin(x);
    x=[x;x;x]';
    y=[y1;y2;y3]';
    plot(x,y,'r-',x,cos(x),'m--')

    输出结果为

    4. 双纵坐标函数plotyy

    绘制出具有不同纵坐标标度的两个图形的函数调用格式为:
    plotyy(x1,y1,x2,y2)
    x1,y1对应一条曲线,x2,y2对应另一条曲线。
    左纵坐标轴用于x1,y1数据对,右纵坐标轴用于x2,y2数据对。
    例如

    x1=0:pi/100:2*pi;
    x2=0:pi/100:3*pi;
    y1=exp(-0.5*x1).*sin(2*pi*x1);
    y2=1.5*exp(-0.1*x2).*sin(x2);
    plotyy(x1,y1,x2,y2);

    输出结果为

    可以看出左右链表的纵坐标轴不同,表示的两条曲线的数值也不同。

    5.图形窗口的切割

    subplot函数的调用格式为:
    subplot(m,n,p)
    将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。
    在每一个绘图区允许以不同的坐标系单独绘制图形(子图)。

    x1=0:pi/100:2*pi;
    x2=0:pi/100:3*pi;
    y1=exp(-0.5*x1).*sin(2*pi*x1);
    y2=1.5*exp(-0.1*x2).*sin(x2);
    subplot(2,2,2);
    plotyy(x1,y1,x2,y2);
    
    %此处是将图形窗口分为四份,从左上开始按行数,第二块为活动绘图区。

    输出结果

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: