在x轴上的两个点之间的视觉中间对数刻度

时间:2015-06-18 07:04:44

标签: matlab math

以下情节显示了我的问题:

enter image description here

我想在1e-1和1e-2之间添加一条线。所以我想(1e-1 + 1e-2)/ 2。

但对于不是"中途"

的对数刻度

如何计算" visual"这些之间的中间值,还是这种情况下的任意两点?使用的代码是

clc; clear all;
y = logspace(-3,0,100);
x = y;
semilogx(y,x);
hold on
plot([1e-1 1e-1],get(gca,'YLim'),'k--'); 
plot([1e-2 1e-2],get(gca,'YLim'),'k--');

midway = (1e-1+1e-2)/2;

plot([midway midway],get(gca,'YLim'),'k--');

由于

1 个答案:

答案 0 :(得分:8)

a=1e-2
b=1e-1
midway = exp((log(a)+log(b))/2)

记录日志以获得对数刻度的位置,然后进行数学计算。

您可以简化该公式,最终会得到几何平均值:

midway=sqrt(a*b)