在「y = log_a(x)」的 3 個值(底數 a、真數 x、對數值 y)之中,輸入已知的 2 個,再按「計算」。留空的那 1 個會被算出來。下方的數學式和輸入欄連動,也可以直接改寫式子中的底數、真數或對數值來計算。
這個頁面可以做什麼
- 在對數 \(y = \log_a x\) 的底數 \(a\)、真數 \(x\)、對數值 \(y\) 之中,只要輸入已知的 2 個,馬上就能知道剩下的 1 個
- 底數可以自由指定。底數輸入「10」就是常用對數,輸入「e」也能計算自然對數(\(\ln\))
- 不只是 \(\log_2 8 = 3\) 這樣的對數值,「2 的 10 次方是多少?」(反求真數,\(2^{10} = 1024\))、「哪個數的 4 次方是 81?」(反求底數)也都能求
- 淺顯易懂的公式解說,以及可直接複製到 Excel、Google 試算表、Python 的公式,也都整理在這個頁面
這個計算有什麼用?
聲音大小的單位分貝,是用聲音能量比值的常用對數來定義的。能量變成 100 倍,分貝也只增加 \(10 \times \log_{10} 100 = 20\)(dB)。
人的耳朵是用「變成幾倍」來感覺聲音,所以對數的單位剛好合適。在台灣,職業安全衛生設施規則規定勞工 8 小時的平均噪音不得超過 90 分貝,95 分貝時容許時間就減為一半的 4 小時——這些規定都建立在這個對數公式上。
地震規模是根據地震能量的對數決定的,規模大 1,能量約變成 32 倍(\(10^{1.5}\) 倍)。也就是說,規模 7 的地震能量約是規模 5 的 1000 倍。
能不能把它讀成「差了 3 位數」而不是「數字只差 2」,取決於您懂不懂對數,這直接關係到防災的危機意識。
表示水溶液酸性程度的 pH 值,是用氫離子濃度的常用對數(\(\mathrm{pH} = -\log_{10}[\mathrm{H}^+]\))定義的。pH 2 的檸檬汁和 pH 7 的水,濃度的差距不是「5」,而是 \(10^5\)(=10 萬)倍。
把範圍相差好幾個數量級的量,換成 0~14 左右好處理的數——這是對數的拿手好戲,清潔劑、溫泉、園藝土壤的 pH 標示都用到它。
以年利率 3% 的複利投資,本金變成 2 倍的時間,解 \(1.03^y = 2\) 得 \(y = \log_{1.03} 2 \approx 23.4\) 年(假設每年報酬率固定)。
以「72 ÷ 利率(%)≈ 變成 2 倍的年數」聞名的「72 法則」,其實就是這個對數計算的近似。這是用數字而不是感覺來規劃教育基金、退休金等人生長期財務的基礎。
區分 \(n\) 種東西需要的位元數,可以用 \(\log_2 n\) 求出。例如 256 種值,可以用 \(\log_2 256 = 8\) 位元(=1 位元組)表示。
密碼的強度(暴力破解需要嘗試的次數規模)也是用「相當於幾位元」這個對數來估計,是支撐資訊社會的計算。
鋼琴相鄰琴鍵(半音)的頻率比統一是 \(2^{1/12} \approx 1.0595\) 倍(十二平均律)。兩個音的頻率比是 \(r\) 時,中間的半音數可以用 \(12 \times \log_2 r\) 求出。
440 Hz 的 La 和 880 Hz 的 La,就是 \(12 \times \log_2 2 = 12\) 個半音=剛好 1 個八度。樂器調音和音樂軟體的變調,都是靠這個對數計算運作。
公式
符號與用語解說
符號
| \(\log_a x\) | log a x(以 a 為底 x 的對數) | 「以 \(a\) 為底 \(x\) 的對數」,表示底數 \(a\) 的幾次方會等於真數 \(x\) 的數。(例:\(\log_2 8 = 3\)) |
| \(a\) | a(底數) | 對數的「基底」的數,是 \(\log_a x\) 右下方的小數字。只能用大於 0 且不等於 1 的數(底數的條件)。 |
| \(x\) | x(真數) | 對數裡面的數。只能用大於 0 的數(真數的條件)。 |
| \(y\) | y(對數值) | 對數的計算結果,也就是「底數的 \(y\) 次方等於真數」的指數本身。 |
| \(\log_{10} x\) | log 10 x(常用對數) | 底數是 10 的對數。和位數的感覺直接相關(\(\log_{10} 1000 = 3\)),廣泛用在自然科學和工程。台灣的課本通常省略底數寫成 \(\log x\)。 |
| \(\ln x\) | ln x(自然對數) | 底數是尤拉數 \(e\) 的對數。和微積分很搭,是數學、物理、金融的標準用法。 |
| \(e\) | e(尤拉數) | 約 2.71828…、無限延續下去的特別的數,是自然對數的底數。這個計算機在底數欄輸入「e」就能使用。 |
| \(M,\ N\) | M、N | 說明對數律(乘積、商、次方)時用的真數,兩者都是大於 0 的數。 |
| \(\sqrt[n]{x}\) | x 的 n 次方根 | \(n\) 次方後等於 \(x\) 的數,和 \(x^{1/n}\)(\(n\) 分之 1 次方)意思相同。(例:\(\sqrt[4]{81} = 3\)) |
用語
| 對數 | 表示「底數的幾次方會等於真數」的數,是乘方的逆運算。台灣在高一學常用對數、高二學一般的對數。英文是 logarithm,記號 log 就是它的縮寫。 |
| 底數 | 對數的「基底」的數。\(\log_2 8\) 的底數是 2。只有大於 0 且不等於 1 的數能當底數。 |
| 真數 | 對數裡面的數。\(\log_2 8\) 的真數是 8。只有大於 0 的數能當真數。 |
| 真數的條件 | 真數必須大於 0 的規定。正數的幾次方結果一定是正數,所以不存在 0 或負數的對數。用對數解方程式或不等式時,第一個要確認的就是這個條件。 |
| 底數的條件 | 底數必須是「大於 0 且不等於 1 的數」的規定。因為 1 的幾次方都還是 1,對數無法確定;而 0 和負數,依指數不同有時無法定義值。 |
| 常用對數 | 底數是 10 的對數。特色是和數的位數直接相關,pH 值、分貝、地震規模等生活中的對數,幾乎都是常用對數。 |
| 自然對數 | 底數是尤拉數 \(e\)(約 2.718)的對數,記號是 \(\ln\)。是微積分中最好處理的對數,用在利息計算和自然現象的分析。 |
| 尤拉數 (自然常數) |
\(e = 2.71828\cdots\),無限延續下去的數。是表示「連續成長」時自然出現的重要數學常數,和圓周率 \(\pi\) 並列為有名的無理數。 |
| 乘方 (次方) |
把同一個數連乘好幾次的計算。像 \(2^3 = 2 \times 2 \times 2\) 這樣,右上方的小數字(指數)表示乘的次數。對數是乘方的逆運算。 |
| 指數 | 寫在乘方右上方、表示「幾次方」的小數字。\(2^3\) 的 3 就是指數。對數值可以說就是「求出來的指數」。 |
| 指數律 | \(a^m \times a^n = a^{m+n}\)、\(a^m \div a^n = a^{m-n}\) 等乘方的計算規則。對數律就是把指數律用對數的語言重新說一遍。 |
| 對數律 | \(\log_a MN = \log_a M + \log_a N\)(乘積)、\(\log_a \frac{M}{N} = \log_a M - \log_a N\)(商)、\(\log_a M^k = k \log_a M\)(次方)這 3 條對數的計算規則。 |
| 換底公式 | 把任何底數的對數改寫成「真數的對數 ÷ 底數的對數」的公式。計算機或程式即使只有 \(\ln\) 和 \(\log_{10}\),也能用這個公式算出任意底數的對數。 |
| 方根 (n 次方根) |
\(n\) 次方後等於那個數的數(\(n\) 次方根)。像「4 次方等於 81 的數是 3」這樣,反求底數就是求這個方根的計算。 |
建議先了解的基礎知識
為了能「理解意思」地使用這個頁面的計算,這裡整理了建議先了解的基礎知識。
遇到卡關時,回頭複習這些內容就是捷徑。
| 次方與指數(國中七年級,12~13 歲) |
|
| 指數的推廣(高一,15~16 歲) |
|
| 平方根與 n 次方根(國中八年級~高一,13~16 歲) |
|
| 逆運算的想法(國小~國中) |
|
用 Excel 計算的方法
| 真數 x | 100 |
| 底數 a | 10 |
| 對數值 y | =LOG(B1,B2) |
| 底數 a | 2 |
| 對數值 y | 10 |
| 真數 x | =B1^B2 |
| 真數 x | 81 |
| 對數值 y | 4 |
| 底數 a | =B1^(1/B2) |
| 真數 M | 4 |
| 真數 N | 25 |
| M 的對數 + N 的對數(底數 10) | =LOG(B1,10)+LOG(B2,10) |
| 乘積 M×N 的對數(底數 10) | =LOG(B1*B2,10) |
| 真數 M | 1000 |
| 真數 N | 10 |
| M 的對數 − N 的對數(底數 10) | =LOG(B1,10)-LOG(B2,10) |
| 商 M÷N 的對數(底數 10) | =LOG(B1/B2,10) |
| 真數 M | 2 |
| 指數 k | 10 |
| k ×(M 的對數)(底數 10) | =B2*LOG(B1,10) |
| 乘方 M^k 的對數(底數 10) | =LOG(B1^B2,10) |
Excel 的 LOG 函數寫成「=LOG(真數,底數)」(省略底數就是常用對數,底數 10)。自然對數(底數 e)是「=LN(真數)」。
例如第 1 個表的 B3 會顯示 2(因為 10 的 2 次方是 100)。想計算自然對數時,請把第 1 個表的 B3 改成「=LN(B1)」。
第 4~6 個表用來確認對數律,下面 2 個公式一定會是同樣的值。
用 Google 試算表計算的方法
| 真數 x | 100 |
| 底數 a | 10 |
| 對數值 y | =LOG(B1,B2) |
| 底數 a | 2 |
| 對數值 y | 10 |
| 真數 x | =B1^B2 |
| 真數 x | 81 |
| 對數值 y | 4 |
| 底數 a | =B1^(1/B2) |
| 真數 M | 4 |
| 真數 N | 25 |
| M 的對數 + N 的對數(底數 10) | =LOG(B1,10)+LOG(B2,10) |
| 乘積 M×N 的對數(底數 10) | =LOG(B1*B2,10) |
| 真數 M | 1000 |
| 真數 N | 10 |
| M 的對數 − N 的對數(底數 10) | =LOG(B1,10)-LOG(B2,10) |
| 商 M÷N 的對數(底數 10) | =LOG(B1/B2,10) |
| 真數 M | 2 |
| 指數 k | 10 |
| k ×(M 的對數)(底數 10) | =B2*LOG(B1,10) |
| 乘方 M^k 的對數(底數 10) | =LOG(B1^B2,10) |
把表格整個複製貼到 A1 儲存格,再把輸入欄的數值改成您自己的值。
用 Python 計算的方法
import math
x = 100 # 真數(大於 0 的數)
a = 10 # 底數(大於 0 且不等於 1。自然對數用 math.e)
y = math.log(x, a) # 對數值 y = log_a(x)
print(f"以 {a} 為底 {x} 的對數:{y}")
# 常用對數(底數 10)和自然對數(底數 e)也有專用的函數
print(f"常用對數 log10({x}) = {math.log10(x)}")
print(f"自然對數 ln({x}) = {math.log(x)}")
# 也可以反求
true_number = a ** y # 求真數(底數的 y 次方)
base_number = x ** (1 / y) # 求底數(真數的 1/y 次方)
print(f"真數:{true_number},底數:{base_number}")
用 LaTeX 等數學式語言的寫法(可直接複製)
y = logₐ x ⇔ x = aʸ
y = \log_{a} x \iff x = a^{y}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>y</mi>
<mo>=</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>x</mi>
<mo>⇔</mo>
<mi>x</mi>
<mo>=</mo>
<msup><mi>a</mi><mi>y</mi></msup>
</mrow>
</math>
y = log_a x iff x = a^y
Log[a, x]
y := log[a](x);
y = log(x)/log(a);
y = log_a(x)
logₐ x = ln x ÷ ln a
\log_{a} x = \dfrac{\ln x}{\ln a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>ln</mi><mo>⁡</mo><mi>x</mi></mrow>
<mrow><mi>ln</mi><mo>⁡</mo><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
log_a x = (ln x)/(ln a)
Log[x]/Log[a]
y := ln(x)/ln(a);
y = log(x)/log(a);
log_a(x) = ln(x)/ln(a)
a = x^{1/y}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>a</mi>
<mo>=</mo>
<msup>
<mi>x</mi>
<mrow><mn>1</mn><mo>/</mo><mi>y</mi></mrow>
</msup>
</mrow>
</math>
a = x^(1/y)
x^(1/y)
a := x^(1/y);
a = x^(1/y);
a = x^(1/y)
logₐ(MN) = logₐ M + logₐ N
\log_{a} MN = \log_{a} M + \log_{a} N
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<mrow><mi>M</mi><mi>N</mi></mrow>
<mo>=</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>M</mi>
<mo>+</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>N</mi>
</mrow>
</math>
log_a (MN) = log_a M + log_a N
Log[a, M*n] == Log[a, M] + Log[a, n] (* N(數值化函數)是 Mathematica 的保留字,所以改用 n *)
log[a](M*N) = log[a](M) + log[a](N);
log(M*N)/log(a) == log(M)/log(a) + log(N)/log(a)
log_a(MN) = log_a(M) + log_a(N)
logₐ(M ÷ N) = logₐ M − logₐ N
\log_{a} \dfrac{M}{N} = \log_{a} M - \log_{a} N
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<mfrac><mi>M</mi><mi>N</mi></mfrac>
<mo>=</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>M</mi>
<mo>−</mo>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>N</mi>
</mrow>
</math>
log_a (M/N) = log_a M - log_a N
Log[a, M/n] == Log[a, M] - Log[a, n] (* N(數值化函數)是 Mathematica 的保留字,所以改用 n *)
log[a](M/N) = log[a](M) - log[a](N);
log(M/N)/log(a) == log(M)/log(a) - log(N)/log(a)
log_a(M/N) = log_a(M) - log_a(N)
logₐ(Mᵏ) = k logₐ M
\log_{a} M^{k} = k \log_{a} M
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>log</mi><mi>a</mi></msub>
<msup><mi>M</mi><mi>k</mi></msup>
<mo>=</mo>
<mi>k</mi>
<msub><mi>log</mi><mi>a</mi></msub>
<mi>M</mi>
</mrow>
</math>
log_a (M^k) = k log_a M
Log[a, M^k] == k*Log[a, M]
log[a](M^k) = k*log[a](M);
log(M^k)/log(a) == k*log(M)/log(a)
log_a(M^k) = k log_a(M)
請 ChatGPT 幫忙計算的方法
你是對數計算的助理。請務必實際執行 Python 程式碼來進行下面的計算,並只以執行結果的數值作為回答的根據(不要用心算或推測回答)。 請分別求出下面的值: 1. 底數 10、真數 100 的對數(log10(100)) 2. 真數 7 的自然對數(ln 7) 3. 底數 2、對數值 10 時的真數(2 的 10 次方) 4. 4 次方等於 81 的數(真數 81、對數值 4 時的底數) 請列出計算用的公式,以及執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權