将线性比例转换为对数

时间:2013-10-20 00:50:16

标签: 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 的基本概念,但这就是它。

5.0的伪值将变为10(或10 1 ),而伪值10为10 10 。那么如何计算伪值得到的对数值,比方说,7.5?

如果需要补充信息,请告诉我。

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

2 个答案:

答案 0 :(得分:44)

符号

正如数学和编程中的惯例一样,“log”函数被认为是基础e。 “exp”函数是指数函数。请记住,这些函数是反转的,我们将函数用作:

  

exp:ℝ→ℝ +

     

log:ℝ + →ℝ。

解决方案

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

  

y = a exp bx

解决 a b 通过点x = 0.1,y = 0.1和x = 10,y = 10。

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

  

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

允许您解决 b

  

b = log(y 1 / y 2 )/(x 1 -x 2 )< / p>

其余的很容易。

  

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

     

a = y 1 / exp bx 1 ≈0.09545484566618341

关于符号的更多信息

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

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

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

实际上,我想不出一种编程语言,其中log()不是base-e对数。我确信这种编程语言存在。

答案 1 :(得分:2)

我知道这个答案为时已晚了六年,但它可能会对其他人有所帮助。

给定一个线性标度,其值的范围是x0到x1,一个对数标度的值的范围是y0到y1,则x和y之间(在任一方向上)的映射关系由等式1所示: >

 x - x0    log(y) - log(y0)
------- = -----------------      (1)
x1 - x0   log(y1) - log(y0)

哪里

x1 > x0
x0 <= x <= x1

y1 > y0
y0 <= y <= y1
y1/y0 != 1   ; i.e., log(y1) - log(y0) != 0
y0, y1, y != 0

例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

例子2

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

重新排列方程式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

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

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

Spreadsheet values
图1.电子表格值。

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

Mapping of X and Y values
图3. X和Y值的映射。