MATLAB 对数图
在本教程中,我们将讨论如何使用 MATLAB 中的 loglog()
,semilogx()
和 semilogy()
函数以对数比例绘制变量。
在 MATLAB 中使用 loglog()
函数进行对数图
如果要在 x 轴和 y 轴上以 10 为底的对数刻度绘制变量,则可以使用 loglog()
函数。请参见下面的代码。
a = logspace(0,10);
b = 3.^a;
loglog(a,b)
grid on
输出:
在上图中,你可以看到两个轴都以 10 为底的对数刻度。你还可以使用不同的线型、标记和颜色来更改图形。例如,让我们用不同的属性再次绘制上述变量。请参见下面的代码。
a = logspace(0,10);
b = 3.^a;
loglog(a,b,'-ok','LineWidth',3)
grid on
axis tight
输出:
在上面的代码中,我们以 10 为底的对数刻度绘制变量,其线宽为 3,带有圆圈标记和黑色。你还可以在 loglog()
函数中更改其他属性,例如标记大小,标记边缘颜色,标记面颜色。你也可以在同一图形上绘制多个变量。例如,让我们在上图中绘制另一个具有不同颜色和标记的变量。请参见下面的代码。
a = logspace(0,10);
b = 3.^a;
c =1./b;
lg = loglog(a,b,a,c,'--dg','LineWidth',3)
grid on
axis tight
lg(1).Color = 'r';
输出:
你还可以使用 legend()
函数在图上添加图例,以提及哪个图属于哪个变量。请参见下面的代码。
a = logspace(0,10);
b = 3.^a;
c =1./b;
lg = loglog(a,b,a,c,'--dg','LineWidth',3)
grid on
axis tight
lg(1).Color = 'r';
legend('Variable1','Variable2','Location','east')
输出:
你也可以使用 loglog()
函数绘制矩阵。在矩阵情况下,每列将绘制为同一变量,并在同一图上显示为不同的颜色。请参见下面的代码。
a = 1:10;
b = 2*a;
c = 3*a;
mat = [a;b;c];
lg = loglog(mat)
grid on
axis tight
输出:
在上面的代码中,我们绘制了一个包含 10 列的矩阵。从图中可以看到,有 10 行,每列一行。
在 MATLAB 中使用 semilogx()
函数进行对数图
如果要在以 10 为底的对数刻度的 x 轴和线性刻度的 y 轴上绘制变量。你可以使用 semilogx()
函数。请参见下面的代码。
a = 1:100;
b = 2*a;
lg = semilogx(a,b)
grid on
axis tight
输出:
在上图中,只有 x 轴位于以 10 为底的对数刻度中。你还可以使用与 loglog()
函数。你也可以使用 legend()
函数将图例添加到绘图中。
在 MATLAB 中使用 semilogy()
函数进行对数图
如果要在以 10 为底的对数刻度的 y 轴和线性刻度的 x 轴上绘制变量。你可以使用 semilogy()
函数。请参见下面的代码。
a = 1:100;
b = 2*a;
lg = semilogy(a,b)
grid on
axis tight
输出:
在上图中,你只能看到 y 轴位于以 10 为底的对数刻度中。