Matlab 教材:Matlab 是一個工程型計算器---指數與對數

Matlab 其實具備一般工程型計算器該有的基本功能, 這包括任意計算次方、指數與對數函數、三角與反三角函數、雙曲與反雙曲函數。 這裡我們介紹指數與對數。

次方符號 ^ 使得 Matlab 可以計算任何指數函數 ax 的值, 但是科學與工程領域慣用「標準指數函數」,也就是以 e 為底的指數函數 ex ,其中 e 是一個無理數,大約是 2.71828。 Matlab 並不提供 e 這個常數,就像一般工程型計算器一樣,必須以 exp( ) 函式計算。例如

exp(1)
就得到常數 e 的近似值,而
exp(-1)
得到常數 e-1 的近似值。當然
exp(0)
就是 1。

對數函數可以用任何一個正數 a 做底,但是因為換底公式

\begin{displaymath} \log_a x = \frac{\log_b x}{\log_b a}
\end{displaymath}

所以我們其實只需要一種底就夠了。常用的底是 e 、 10 和 2。 以 e 為底的對數稱為自然對數,以 10 為底的對數稱為常用對數。 Matlab 分別提供三個函式 log( )log10( )log2( ) 對應上述三種底,例如
log(exp(2))
log10(100)
log2(4)
的答案都是 2。

利用指數與對數函數,可以計算任何次方:

\begin{displaymath} a^x = e^{\displaystyle x\ln a} \end{displaymath}

其實,幾乎所有的數值計算軟體或計算器, 都是用上述公式與指數、對數函數來計算次方的。

Matlab 既然知道複數,他也知道如何計算負數的對數或複數的對數。 但是這項功能可能超出許多讀者的數學知識範圍了。例如

log(-1)
得到 0 + 3.1416i 好像是虛數圓周率?然而
exp(log(-1))
正確還原到 -1 ,顯然指數函數還可以用複數當作定義域呢!

習題

  1. 試試看 exp(3*log(2)) 答案如何?能解釋嗎?
  2. 試試看 exp(log(-1)/3) 答案如何?能解釋嗎?
  3. 試試看 exp(log(-1)/3)^3 答案如何?能解釋嗎?
單維彰 (03/03/06) --- [Prev] [Next] [Up]