(i) x-and-y scales defined as "log", or (ii) calculate the log of variables, or (iii) loglog

2 次查看(过去 30 天)
Are these three methods (and the corresponding plots) equivalent ways to perform the same task ?
% Method 1
figure
axes('XScale', 'log', 'YScale', 'log')
plot(1:10, 1:10)
title('plot(1:10, 1:10), with both x-and-y scales defined as "log"')
% Method 2
figure
plot(log(1:10), log(1:10))
title('plot(log(1:10), log(1:10))')
% Method 3
figure
loglog(1:10, 1:10)
title('loglog(1:10, 1:10)')

采纳的回答

VBBV
VBBV 2023-5-9
% Method 1
figure
plot(1:10, 1:10)
ax = gca;
% put this after plot call and use as below
set(ax,'XScale', 'log', 'YScale', 'log')
title('plot(1:10, 1:10), with both x-and-y scales defined as "log"')
% Method 2 -->>>> Linear scale but log values of inputs
figure
plot(log(1:10), log(1:10))
title('plot(log(1:10), log(1:10))')
% Method 3
figure
loglog(1:10, 1:10)
title('loglog(1:10, 1:10)')
  1 个评论
VBBV
VBBV 2023-5-9
编辑:VBBV 2023-5-9
Method 1 and Method 3 are equivalent but Method 2 is not same as remaining two methods, since Method 2 plots the logarithm of input values on linear scale , while Method 1 uses log scale for plotting linear values, and Method 3 also does same

请先登录,再进行评论。

更多回答(1 个)

Antoni Garcia-Herreros
No,
Method 1 and 3 are equivalent. The X and Y values range from 1 to 10, it does not matter which scale you use, the values remain the same.
% Method 1
subplot(1,3,1)
plot(1:10, 1:10)
title('plot(1:10, 1:10), with both x-and-y scales defined as "log"')
ax=gca;
ax.XScale= 'log'; ax.YScale = 'log';
title('Method 1')
% Method 3
subplot(1,3,3)
loglog(1:10, 1:10)
title('Method 3')
However, in Method 2 the X, Y values change from 0 to 2.3...
% Method 2
subplot(1,3,2)
plot(log(1:10), log(1:10))
title('Method 2')

类别

Help CenterFile Exchange 中查找有关 Log Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by