了解符号函数
Understanding semilogy function
我正在尝试理解通常用于在 MATLAB 中绘制数据的 semilogy
函数。
正如 MATLAB 帮助部分中的定义所说:
semilogy(Y)
creates a plot using a base 10 logarithmic scale for the y
-axis and a linear scale for the x
-axis. It plots the columns of Y
versus their index if Y
contains real numbers.
下面的代码应该产生相同的情节:
y1 = 1:100;
figure
semilogy(y1, 'linewidth', 2);
x2 = 1:100;
y2 = log10(x2);
figure
plot(x2, y2, 'linewidth', 2);
但正如我们所见,各图之间的 y 轴范围不同。谁能解开我的疑惑?
在第一个中,轴设置为执行对数并自动漂亮地打印刻度标签和网格。因此,这些数字仍然是它们的绝对值。但它们的标记是根据对数轴的。在第二个中,您只是用线性轴绘制对数函数。尽管看起来相似,但它们不是相同的地块。
也许打开网格可以让您更好地了解它。查看两个图中 8 或 80 的位置。
当您使用 semilogy
时,您只更改值 的显示方式 ,而如果您手动执行 log
操作 - 您现在有 您正在绘制的不同值。
如果我们查看 semilogy.m
,我们可以看到以下内容:
%SEMILOGY Semi-log scale plot.
% SEMILOGY(...) is the same as PLOT(...), except a
% logarithmic (base 10) scale is used for the Y-axis.
因此,如果不使用 semilogy
,您可以获得相同的结果:
plot(y1, 'linewidth', 2);
set(gca,'YScale','log');
请注意,轴限制实际上具有相同的含义:在右侧图表中您得到 0...2
,在左侧图表中您得到 10^[0...2]
.
我正在尝试理解通常用于在 MATLAB 中绘制数据的 semilogy
函数。
正如 MATLAB 帮助部分中的定义所说:
semilogy(Y)
creates a plot using a base 10 logarithmic scale for they
-axis and a linear scale for thex
-axis. It plots the columns ofY
versus their index ifY
contains real numbers.
下面的代码应该产生相同的情节:
y1 = 1:100;
figure
semilogy(y1, 'linewidth', 2);
x2 = 1:100;
y2 = log10(x2);
figure
plot(x2, y2, 'linewidth', 2);
但正如我们所见,各图之间的 y 轴范围不同。谁能解开我的疑惑?
在第一个中,轴设置为执行对数并自动漂亮地打印刻度标签和网格。因此,这些数字仍然是它们的绝对值。但它们的标记是根据对数轴的。在第二个中,您只是用线性轴绘制对数函数。尽管看起来相似,但它们不是相同的地块。
也许打开网格可以让您更好地了解它。查看两个图中 8 或 80 的位置。
当您使用 semilogy
时,您只更改值 的显示方式 ,而如果您手动执行 log
操作 - 您现在有 您正在绘制的不同值。
如果我们查看 semilogy.m
,我们可以看到以下内容:
%SEMILOGY Semi-log scale plot. % SEMILOGY(...) is the same as PLOT(...), except a % logarithmic (base 10) scale is used for the Y-axis.
因此,如果不使用 semilogy
,您可以获得相同的结果:
plot(y1, 'linewidth', 2);
set(gca,'YScale','log');
请注意,轴限制实际上具有相同的含义:在右侧图表中您得到 0...2
,在左侧图表中您得到 10^[0...2]
.