Matlab-plot绘图

    xiaoxiao2026-08-14  9

    plot函数 形式字符控制常用的图形标记函数 subplot命令拆分窗口 其他常见命令三维绘图plot3 mesh和contour命令

    plot函数

    形式

    plot(a,’-s’)如果a是实数矩阵,则以序列[1,2,3,…]为其横坐标,以各列为纵坐标绘图。曲线的数目与a的列数相同。字符s控制曲线线型和颜色,宽度等。如果a是复数矩阵,则分别以各列的实部和虚部为横纵坐标画曲线。plot(a,b,’s’)若a,b为同维矩阵,则分别以a的各列为横坐标,以b的各列为纵坐标绘图。曲线条数为a,b的列数。若a为列向量,b为行数与a相同的矩阵,则以a为横坐标,分别以b的各列为纵坐标绘图。plot(a1,b1,’s1’,a2,b2,’s2’,…)分别以a1,b1构图,以a2,b2构图。

    字符控制

    字母颜色标点线型y黄色.点线m粉色。圈线r亮蓝××线g绿色++线b蓝色-实线w白色*星形线k黑色-.-点划线

    常用的图形标记函数

    函数名功能title为图形加标题xlabel为x轴加标注ylabel为y轴加标注text为图形加文本注释gtext用鼠标放置文本grid加网格线

    下面给出一个例子:用M文件绘制图像:

    x=0:pi/30:2*pi; y1=x.^2; y2=10*sin(x); plot(x,y1,'.r',x,y2,'-y'); grid xlabel('Variable x') ylabel('Variable y') title('x^2 and sin(x)'); text(6.2,-5.5,'sin(x)'); text(6.2,16,'x^2');
    subplot命令——拆分窗口

    用subplot(m,n,p)命令,可以在同一个画面上面建立几个坐标系,把一个画面拆分成m×n个图形区域,p代表当前的区域号,每个区域可以对应一个独立的图。

    例如,在一个窗口内绘制 y=ex , y=log(x) , y=sin(x) , y=cos(x) 的图像。

    x=0:pi/30:2*pi; y1=exp(x); y2=log(x); y3=sin(x); y4=cos(x); subplot(2,2,1) plot(x,y1) grid xlabel('Variable x') ylabel('Variable y') title('exp(x)'); subplot(2,2,2) plot(x,y2) xlabel('Variable x') ylabel('Variable y') title('log(x)'); subplot(2,2,3) plot(x,y3) xlabel('Variable x') ylabel('Variable y') title('sin(x)'); subplot(2,2,4) plot(x,y4) xlabel('Variable x') ylabel('Variable y') title('cos(x)');

    绘图结果为:(fig1)

    其他常见命令

    函数功能fill绘制并填充二维图形ginput鼠标获取坐标,[a,b,butkey]=ginput,a为x轴坐标,b为y轴坐标,button值代表鼠标被按下的那个键box控制图形的边框,box off可以关闭图形边框semilogx自变量的对数作为x轴semilogy因变量的对数作为y轴loglog双对数图plotyy双y轴图形axis控制坐标轴的刻度axis equal输出图形的x,y等长axis off关闭坐标轴的显示,可产生不含坐标轴的图形figure打开新的绘图窗口进行绘图

    三维绘图plot3

    一般格式为plot(x1,y1,z1,s1,x2,y2,z2,s2,….,xn,yn,zn,sn)

    view()函数可以改变三维图形的观察点。

    例如:绘制如下函数的图形: x=e0.1tcos(t),y=e0.1tsin(t),z=t .

    clear all clc t=0:pi/30:8*pi; x=exp(-0.1*t).*cos(t); y=exp(-0.1*t).*sin(t); z=t; subplot(2,2,1),plot3(x,y,z),grid on title('(x,y,z)的三维图a'); subplot(2,2,2),plot3(x,y,z),grid on,view([0,0,1]) title('从(0,0,1)观察a'); subplot(2,2,3),plot3(x,y,z),grid on,view([0,1,0]) title('从(0,0,1)观察a'); subplot(2,2,4),plot3(x,y,z),grid on,view([1,0,0]) title('从(0,0,1)观察a');
    mesh()和contour()命令

    [x,y]=meshgrid(x,y)

    mesh(X,Y,Z):为数据点绘制网格线,X,Y,Z分别为三维空间的坐标位置。

    contour(X,Y,Z):二维等高线,X,Y,Z分别为三维空间的坐标位置。

    contour3(X,Y,Z,n):三维等高线,X,Y,Z分别为三维空间的坐标位置,n为等高线的条数。

    下面是一个例子:

    clear all clc x=-2:1:2;y=-1:1:2; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; subplot(2,2,1),mesh(X,Y,Z),grid on title('网格图a'); subplot(2,2,2),mesh(X,Y,Z),view([0,30]),grid on title('在方位角0°和视角30°处观察图a'); subplot(2,2,3),contour(X,Y,Z) title('二维等高线'); subplot(2,2,4),contour(X,Y,Z,10) title('三维等高线');
    转载请注明原文地址: https://ju.6miu.com/read-1311173.html
    最新回复(0)