Matlab 理解符号功能

Matlab 理解符号功能,matlab,plot,matlab-figure,axes,logarithm,Matlab,Plot,Matlab Figure,Axes,Logarithm,我试图理解符号学函数,该函数通常用于在MATLAB中绘制数据 正如MATLAB帮助部分中的定义所述: 符号学(Y)使用Y-轴的基数10对数标度和x-轴的线性标度创建绘图。如果Y包含实数,它将绘制Y的列与它们的索引 以下代码应生成相同的绘图: y1 = 1:100; figure semilogy(y1, 'linewidth', 2); x2 = 1:100; y2 = log10(x2); figure plot(x2, y2, 'linewidth', 2); 但正如我们所看到的,在不

我试图理解
符号学
函数,该函数通常用于在MATLAB中绘制数据

正如MATLAB帮助部分中的定义所述:

符号学(Y)
使用
Y
-轴的基数10对数标度和
x
-轴的线性标度创建绘图。如果
Y
包含实数,它将绘制
Y
的列与它们的索引

以下代码应生成相同的绘图:

y1 = 1:100;
figure
semilogy(y1, 'linewidth', 2);

x2 = 1:100;
y2 = log10(x2);
figure
plot(x2, y2, 'linewidth', 2);


但正如我们所看到的,在不同的绘图中,y轴的限制是不同的。有人能澄清我的疑问吗?

在第一个例子中,轴被设置为执行对数运算,并自动漂亮地打印标签和网格。因此,这些数字仍然是绝对值。但它们的标记是根据对数轴。在第二个例子中,您只是用一个线性轴绘制对数函数。虽然看起来很相似,但情节却不一样

也许打开电网可以让你更好地了解它。看看两个图中8或80的位置


当您使用符号学时,您仅更改值的显示方式,而如果手动执行
日志
操作,您现在有了不同的值

如果我们查看
符号学.m
,我们可以看到以下内容:

因此,如果不使用符号学,您可以得到相同的结果:

plot(y1, 'linewidth', 2);
set(gca,'YScale','log');
请注意,轴限制实际上具有相同的含义:在右边的图表中,您得到
0…2
,在左边,您得到
10^[0…2]

plot(y1, 'linewidth', 2);
set(gca,'YScale','log');