• MATLAB使用速成 第三章(MATLAB绘图)


    一、二维平面作图

    1、简单的x-y坐标图

            x、y是长度相同的向量,以x的分量为横坐标,y的分量为纵坐标,作平面曲线,使用命令plot(x,y)。(可以省略参数x,这样将会以y的分量下标为横坐标,y的分量为纵坐标,绘制向量y的线性图)

    2、含多条曲线的x-y坐标图

    (1)对于命令plot(x,A),x是向量,A是矩阵,若x的长度与A的行数相等,则将x与A中的各列相对应,绘制多条平面曲线;否则,若x的长度与A的列数相等,则将x与A中的各行相对应,绘制多条平面曲线。(x的长度必须等于A的行数或列数)

    (2)对于命令plot(x1,y1, x2,y2, ...),其中所有参数都是矢量,那么从x1和y1开始将会两两配对(配对的矢量需要有相同的元素个数),分别为每一对矢量绘制平面曲线。(不止plot命令有这种用法,可在输入命令后关注MATLAB弹出的参数提示)

    (3)每次使用plot命令或其它绘图命令时,新图象都会将图形窗口中原本的旧图象覆盖掉,如果不希望旧图象丢失,又想在旧图象的基础上画新图象,可以使用hold on命令关闭自动覆盖(hold off命令则是打开自动覆盖)。

    3、复平面作图

    (1)对于命令plot(x),如果x是一个复数矢量,则将x各元素的实部作为横坐标,虚部作为纵坐标,绘制一条平面曲线。

    (2)对于命令plot(x),如果x是一个复数矩阵,则对于矩阵的每一列都有其对应的平面曲线,将每一列中的元素实部作为横坐标,虚部作为纵坐标,进行绘图。

    4、指定图形的属性

    (1)指定点和线属性的命令——plot(x,y,str),这里的str是用单引号括起来的字符串,用来指定图形的点、线的形状和颜色(颜色、线型、点标记可以全部指定,也可以部分指定,顺序任意)。

    线型

    点标记

    颜色

    -   实线

    :   虚线

    -.  点划线

    --  间断线

    空白(不画线)

    .   

    o   小圆圈

    x   叉子符

    +   加号

    *   星号

    s   方格

    d   菱形

    ^   朝上三角

    v   朝下三角

    >   朝右三角

    <   朝左三角

    p   五角星

    h   六角星

    y   黄色

    m   洋红/magenta

    c   青色/cyan

    r   红色

    g   绿色

    b   蓝色

    w   白色

    k   黑色

    (2)图形的属性还有线条的粗细、字体大小、坐标轴属性等,linewidth用于指定线条的粗细(参数为实数),markeredgecolor用于指定标记的边缘色,markerfacecolor用于指定标记表面的颜色。

    (3)在命令plot(x1,y1, x2,y2, ...)的基础上,可为每条曲线分别设置图形属性,命令格式为plot(x1,y1,str1, x2,y2,str2, ...)。(不止plot命令有这种用法,可在输入绘图命令后关注MATLAB弹出的参数提示)

    5、在平面图上添加说明

    (1)添加标题:

    ①使用命令title('text')可在坐标图上方添加文本“text”。

    ②所添加的文本也可指定属性,具体命令格式为title('text', 'Property1', value1, 'Property2', value2, ...),其中可供指定的属性(Property)有字体大小(fontsize)、字体灰度(fontweight)、字形名(fontname)等。

    (2)添加坐标轴标注:

    ①使用命令xlabel('text')可为坐标图的x轴添加标注“text”。(可以指定文本属性)

    ②使用命令ylabel('text')可为坐标图的y轴添加标注“text”。(可以指定文本属性)

    (3)添加图例:使用命令legend(str1,str2, ...)即可为各条曲线分别添加图例。

    (4)在任何指定的地方添加文本:

    ①使用命令text(x,y,string),可指定在图中以x为横坐标、y为纵坐标的位置添加文本。(可以指定文本属性)

    ②使用命令gtext(string),命令执行后,在图中会显示一个十字准线,按任意键或单击鼠标,文本就会添加到准线所在的位置。(可以指定文本属性)

    6、坐标轴控制

    (1)使用命令axis([xmin, xmax, ymin, ymax])可控制坐标轴的显示范围。

    (2)axis的其它调用方式:

    ①axis auto:自动模式,使得图形的坐标满足图中的一切元素。

    ②axis equal:各坐标轴采用等长刻度。

    ③axis square:使绘图区域为正方形。

    ④axis on/off:恢复/取消对坐标轴的一切设置(显示/不显示坐标轴)。

    ⑤axis manual:以当前的坐标限制图形的绘制(应用于多图时)。

    7、其它常用二维图

    (1)极坐标绘图命令——polar(theta,r),以theta为极角,r为极径作极坐标图。

    (2)按指数规律变化的数据可用对数坐标表示,这时可画对数图。

    ①semilogx(x,y)——创建单对数坐标图,x轴为对数坐标,y轴为线性坐标。

    ②semilogy(x,y)——创建单对数坐标图,x轴为线性坐标,y轴为对数坐标。

    ③loglog(x,y)——创建双对数坐标图,x轴、y轴均为对数坐标。

    (3)双y轴图——将两个二维曲线输出到同一坐标图中,它们共用同一个x轴,但有各自的y轴,可使用命令plotyy(x1,y1,x2,y2,function)对其进行绘制,其中function是指定的绘图函数,可取plot(默认)、semilogx、semilogy、loglog等(function需要用单引号包含)。

    (4)二维函数绘图——给定一个函数和定义域,画出其函数图像,可使用命令fplot(f(x),[a,b,c,d])绘制f (x)在区域a < x < b、c < y < d上的图形(c、d是值域的上下界,可省略;f(x)需要用单引号包含)。

    (5)使用命令grid on可以在图象上显示网格(使用命令grid off则关闭网格的显示)。

    二、三维空间作图

    1、三维曲线

            设三维曲线的参数方程为x=x(t)、y=y(t)、z=z(t),则其图形可由命令plot3(x,y,z)绘出。(实际上plot3和plot的用法非常相似,无非就是多了一个维度)

    2、三维曲面

    (1)命令mesh(X,Y,Z)可绘制由矩阵X、Y、Z所确定的曲面的网格图。

    (2)“[X,Y]=meshgrid(x,y)”中的meshgrid是网格生成函数,x、y是分别对x取值区域和y取值区域进行分割后得到的向量(x、y向量的元素个数可以不同),X、Y即为我们所需要的网格矩阵。若y = x,则可简写为“[X, Y]=meshgrid(x)”。

    (3)meshc函数的使用方法和mesh相同,不同的是meshc在mesh绘图的基础上增加了等高线;meshz函数的使用方法也和mesh相同,不同的是meshz在mesh绘图的基础上增加了屏蔽面。

    (4)mesh的两种绘图方式(同样适用于其它曲面作图函数):

    ①显式方程绘图:z=z(x,y)\: \: \: \: a\leq x\leq b,c\leq y\leq d

    x=a:h1:b; y=c:h2:d;      % 区域划分

    [X,Y]=meshgrid(x,y);    % 生成网格

    Z=z(X,Y);                     % 计算网格上的函数值(二维平面→三维曲面)

    mesh(X,Y,Z);                % 调用绘图命令

    ②参数方程绘图:x=x(u,v),y=y(u,v),z=z(u,v)\: \: \: \: a\leq u\leq b,c\leq v\leq d

    u=a:h1:b; v=c:h2:d;                       % 区域划分

    [U,V]=meshgrid(u,v);                     % 生成网格

    X=x(U,V); Y=y(U,V); Z=z(U,V);      % 计算函数值

    mesh(X,Y,Z);                               % 调用绘图命令

    (5)空间曲面其它作图命令:

    ①surf(X,Y,Z):绘制带颜色的表面图,参数含义同mesh。

    ②sphere(n):绘制单位球面,n代表网格的数量(若不给出n,则n默认为20)。

    ③contour(X,Y,Z):绘制由矩阵X、Y、Z所确定的等高线。

    ④pcolor(X,Y,Z):绘制由矩阵X、Y、Z所确定的伪色图(带栅格的二维阴影图)。

    3、坐标轴控制

    (1)使用命令axis([xmin,xmax, ymin,ymax, zmin,zmax])可控制坐标轴的显示范围。

    (2)axis的其它调用方式:

    ①axis auto:自动模式,使得图形的坐标满足图中的一切元素。

    ②axis equal:各坐标轴采用等长刻度。

    ③axis square:使绘图区域为正方形。

    ④axis on/off:恢复/取消对坐标轴的一切设置(显示/不显示坐标轴)。

    ⑤axis manual:以当前的坐标限制图形的绘制(应用于多图时)。

    三、符号作图

    1、二维曲线符号绘图

    (1)指定绘图区间(f(x)等函数表达式需要用单引号包含):

    (2)不指定绘图区间(f(x)等函数表达式需要用单引号包含):

    2、空间曲线符号作图

    3、空间曲面符号绘图

    (1)绘制网格图:

    ①显式方程绘图(函数表达式需要用单引号包含):

    ②参数方程绘图(函数表达式需要用单引号包含):

    (2)绘制表面图:

    ①显式方程绘图(函数表达式需要用单引号包含):

    ②参数方程绘图(函数表达式需要用单引号包含):

    四、划分绘图窗口

            subplot(m,n,p)命令可将一个绘图窗口分割成m×n个子区域,并按行从左至右依次编号,p表示第p个绘图子区域。每次执行该命令后,下一次绘图都会在第p个绘图子区域进行。

  • 相关阅读:
    Android APP 停止运行报错弹窗
    Flink内核源码(八)Flink Checkpoint
    使用TinyPNG API压缩图片
    我的创作纪念日
    [C++初阶]一些类的选择题
    【从零开始学习 UVM】2.3、UVM 基础功能 —— UVM Object Print
    Redisson—分布式服务
    vulnhub靶场之HACK ME PLEASE
    用JQuery操作元素的style属性
    【复杂句的逻辑练习题】that 省略
  • 原文地址:https://blog.csdn.net/Zevalin/article/details/137960915