在Java的 java.lang.Math 類別當中
有很多關於數學運算的好用方法
今天要介紹的是高中數學教過的 log (對數)
對數跟指數是相對的概念
2 的 3 次方為 8,2為底數,3為指數
反過來說 log (2) 8 = 3 (以2為底的對數)
當我們想知道8是2的幾次方時就可以使用
常見的是以10為底,所以一般我們說 log 2 就是以10為底的對數
不過在某些數學的世界,反而比較常看到以 e (自然對數)或 2 為底
所以還是要看當下的狀況而定
首先,該類別底下就有 log10 這個方法
所以我們可以直接寫 Math.log10(2)
就會得到double型別的 數值 0.301...( 也就是log 2)
不過,另外只看到 log 方法
他指的是以 e 為底 (如 log(e) 2 = 0.69...)
要如何求以其它數字為底的對數?
還記得高中時學過換底公式,此時就能派上用場
由已知取代未知
我們的已知是以e為底
所以,假設要求 log(2) 4 = log (e) 4/ log (e) 2 即可
程式來說就是 Math.log(4) / Math.log(2)
-----------------------------------------
p.s.還記得當初的記法是
log (a) b 的底數 a 比較矮,所以log (c) a擺分母
真數 b 比較高,log (c) b就擺分子
哈哈哈,不然上下記反就錯了
有很多關於數學運算的好用方法
今天要介紹的是高中數學教過的 log (對數)
對數跟指數是相對的概念
2 的 3 次方為 8,2為底數,3為指數
反過來說 log (2) 8 = 3 (以2為底的對數)
當我們想知道8是2的幾次方時就可以使用
常見的是以10為底,所以一般我們說 log 2 就是以10為底的對數
不過在某些數學的世界,反而比較常看到以 e (自然對數)或 2 為底
所以還是要看當下的狀況而定
首先,該類別底下就有 log10 這個方法
所以我們可以直接寫 Math.log10(2)
就會得到double型別的 數值 0.301...( 也就是log 2)
不過,另外只看到 log 方法
他指的是以 e 為底 (如 log(e) 2 = 0.69...)
要如何求以其它數字為底的對數?
還記得高中時學過換底公式,此時就能派上用場
由已知取代未知
我們的已知是以e為底
所以,假設要求 log(2) 4 = log (e) 4/ log (e) 2 即可
程式來說就是 Math.log(4) / Math.log(2)
-----------------------------------------
p.s.還記得當初的記法是
log (a) b 的底數 a 比較矮,所以log (c) a擺分母
真數 b 比較高,log (c) b就擺分子
哈哈哈,不然上下記反就錯了
留言
張貼留言