我的线性刻度范围为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?
如果需要补充信息,请告诉我。
感谢您提供的任何帮助;这打败了我。
答案 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日志功能。
C log()
(和C ++,包含)
Java Math.log()
JavaScript Math.log()
Python math.log()
(包括Numpy)
Fortran log()
C#,Math.Log()
[R
千里马(严格来说是CAS,而不是语言)
Scheme log
Lisp的log
实际上,我想不出一种单编程语言,其中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
线性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
给出问题中的值,线性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)。