Is it possible to produce a plot in MATLAB with the axes scaled based upon the natural logarithm?

62 次查看(过去 30 天)
I know it is possible to scale axes based upon a base 10 log scale using the SEIMLOGX and SEMILOGY functions, but there does not seem to be any way to scale axes based upon a natural logarithm scale.

采纳的回答

MathWorks Support Team
The ability to scale axes based upon a natural logarithm scale is not available in MATLAB.
To work around this issue, plot the natural logarithm of the data on a linearly-scaled figure.
For example, try the following commands:
x = linspace(0, 100);
y = exp(x + 1);
plot(x, log(y))

更多回答(1 个)

Voss
Voss 2024-3-21
x = linspace(0, 100);
y = exp(x + 1);
semilogy(x,y)
yl = ylim();
n = ceil(log(yl(1))):10:floor(log(yl(2)));
yticks(exp(n))
yticklabels("e^{"+n+"}")
set(gca(),'YMinorTick','off')

类别

Help CenterFile Exchange 中查找有关 Labels and Annotations 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by