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

56 views (last 30 days)
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.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 5 Aug 2009
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))

More Answers (1)

Voss
Voss on 21 Mar 2024 at 14:53
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')

Categories

Find more on Labels and Annotations in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!