将线性比例转换为对数

Tur*_*ile 36 math logarithm

我有一个线性刻度,范围从0.1到10,变化增量为0.1:
  | ---------- [] ---------- |
0.1 5.0 10

但是,输出确实需要:
  | ---------- [] ---------- |
0.1 1.0 10(对数刻度)

我试图找出将5(例如)转换为1.0所需的公式.因此,如果刻度盘在1.0和10之间移动了一半(线性刻度上的实际值为7.5),那么得到的对数值是多少?几个小时以来一直在考虑这个问题,但是我在很多年里都没有使用过这种类型的数学,所以我真的迷失了.我理解log 10 X = 10 y的基本概念,但这就是它.

psuedo-value 5.0将变为10(或10 1),而psuedo-value为10将为10 10.那么如何计算伪值得到的对数值,比如7.5?

如果需要添加信息,请告诉我.

感谢您提供的任何帮助; 这打败了我.

Die*_*Epp 46

符号

正如数学和编程中的惯例一样,"对数"函数被认为是基础."exp"函数是指数函数.请记住,这些函数是反转的,我们将函数视为:

exp:ℝ→ℝ +,和

日志:ℝ + →ℝ.

你只是在这里解决一个简单的等式:

y = a exp bx

求解ab通过点x = 0.1,y = 0.1和x = 10,y = 10.

观察到y 1/y 2的比率由下式给出:

y 1/y 2 =(a exp bx 1)/(a exp bx 2)= exp b(x 1 -x 2)

哪个允许你解决b

b = log(y 1/y 2)/(x 1 -x 2)

其余的很容易.

b = log(10/0.1)/(10 - 0.1)= 20/99 log10≈0.46516870565536284

一个= Y 1/EXP BX 1 ≈0.09545484566618341

更多关于符号

在你的职业生涯中,你会发现那些使用日志功能使用基本e,基数10甚至基数2的约定的人. 这并不意味着任何人都是对或错. 它只是一个符号公约,每个人都可以自由使用他们喜欢的符号约定.

数学和计算机编程中的惯例是使用基数e对数,并且在这种情况下使用基数e简化了符号,这就是我选择它的原因.它与计算器使用的惯例不同,例如Google和您的TI-84提供的计算器,但同样,计算器适用于工程师,工程师使用的不同于数学家和程序员.

以下编程语言包括标准库中的base-e日志功能.

事实上,我想不出一个的单一的编程语言,其中log()一个不为基础,自然对数.我确信这样的编程语言存在.


Jim*_*her 6

我意识到这个答案已经晚了六年,但它可能会帮助其他人。

给定值范围从 x0 到 x1 的线性尺度和值范围从 y0 到 y1 的对数尺度,x 和 y 之间(在任一方向)之间的映射由等式 1 中所示的关系给出:

 x - x0    log(y) - log(y0)
------- = -----------------      (1)
x1 - x0   log(y1) - log(y0)
Run Code Online (Sandbox Code Playgroud)

在哪里,

x1 > x0
x0 <= x <= x1

y1 > y0
y0 <= y <= y1
y1/y0 != 1   ; i.e., log(y1) - log(y0) != 0
y0, y1, y != 0
Run Code Online (Sandbox Code Playgroud)
例 1

线性 x 轴上的值范围从 10 到 12,对数 y 轴上的值范围从 300 到 3000。给定 y=1000,x 是什么?

重新排列方程 1 以求解“x”产量,

                 log(y) - log(y0)
x = (x1 - x0) * ----------------- + x0
                log(y1) - log(y0)

                log(1000) - log(300)
  = (12 - 10) * -------------------- + 10
                log(3000) - log(300)

  ? 11
Run Code Online (Sandbox Code Playgroud)
例2

鉴于你的问题中的值,线性x轴上的值范围从0.1到10,对数y轴上的值范围从0.1到10,对数底为10。给定x=7.5,什么是是吗?

重新排列方程 1 以求解 'y' 收益率,

          x - x0
log(y) = ------- * (log(y1) - log(y0)) + log(y0)
         x1 - x0

        /  x - x0                                \
y = 10^|  ------- * (log(y1) - log(y0)) + log(y0) |
        \ x1 - x0                                /

        / 7.5 - 0.1                                  \
  = 10^|  --------- * (log(10) - log(0.1)) + log(0.1) |
        \  10 - 0.1                                  /

        / 7.5 - 0.1                    \
  = 10^|  --------- * (1 - (-1)) + (-1) |
        \  10 - 0.1                    /

  ? 3.13
Run Code Online (Sandbox Code Playgroud)

:: 编辑(2020 年 10 月 11 日)::

就其价值而言,数字基数“n”可以是任何实数值的正数。上面的示例使用以 10 为底的对数,但对数底可以是 2、13、e、pi 等。这是我创建的一个电子表格,用于执行任何实值正数基数的计算。“解决方案”单元格为黄色,边框较粗。在这些图中,我随机选取了以 n=13 为底的对数,即 z = log 13 (y)。

电子表格值
图 1. 电子表格值。

电子表格公式
图 2. 电子表格公式。

X 和 Y 值的映射
图 3. X 和 Y 值的映射。