有人在stack exchange問了乙個問題:
"我一直覺得虛數(imaginary number)很難懂。中學老師說,虛數就是-1的平方根。
可是,什麼數的平方等於-1呢?計算器直接顯示出錯!
直到今天,我也沒有搞懂。誰能解釋,虛數到底是什麼?它有什麼用?"
下面,我就用自己的語言,講述我所理解的虛數。
什麼是虛數
首先,假設有一根數軸,上面有兩個反向的點:+1和-1。
這根數軸的正向部分,可以繞原點旋轉。顯然,逆時針旋轉180度,+1就會變成-1。
這相當於兩次逆時針旋轉90度。
因此,我們可以得到下面的關係式:
(+1) * (逆時針旋轉90度) * (逆時針旋轉90度) = (-1)
如果把+1消去,這個式子就變為:
(逆時針旋轉90度)^2 = (-1)
將"逆時針旋轉90度"記為 i :
i^2 = (-1)
這個式子很眼熟,它就是虛數的定義公式。
所以,我們可以知道,虛數 i 就是逆時針旋轉90度,i 不是乙個數,而是乙個旋轉量。
複數的定義
既然 i 表示旋轉量,我們就可以用 i ,表示任何實數的旋轉狀態。
將實數軸看作橫軸,虛數軸看作縱軸,就構成了乙個二維平面。旋轉到某乙個角度的任何正實數,必然唯一對應這個平面中的某個點。
只要確定橫座標和縱座標,比如( 1 , i ),就可以確定某個實數的旋轉量(45度)。
數學家用一種特殊的表示方法,表示這個二維座標:用 + 號把橫座標和縱座標連線起來。比如,把 ( 1 , i ) 表示成 1 + i 。這種表示方法就叫做複數(complex number),其中 1 稱為實數部,i 稱為虛數部。
為什麼要把二維座標表示成這樣呢,下一節告訴你原因。
虛數的作用:加法
虛數的引入,大大方便了涉及到旋轉的計算。
比如,物理學需要計算"力的合成"。假定乙個力是 3 + i,另乙個力是1 + 3i ,請問它們的合成力是多少?
根據"平行四邊形法則",你馬上得到,合成力就是( 3 + i ) + ( 1 + 3i ) = ( 4 + 4i )。
這就是虛數加法的物理意義。
虛數的作用:乘法
如果涉及到旋轉角度的改變,處理起來更方便。
比如,一條船的航向是3 + 4i 。
如果該船的航向,逆時針增加45度,請問新航向是多少?
( 3 + 4i ) * ( 1 + i ) = ( -1 + 7i )
所以,該船的新航向是-1 + 7i。
如果航向逆時針增加90度,就更簡單了。因為90度的航向就是 i ,所以新航向等於:
( 3 + 4i ) * i = ( -4 + 3i )
這就是虛數乘法的物理意義:改變旋轉角度。
虛數乘法的數學證明
為什麼乙個複數改變旋轉角度,只要做乘法就可以了?
下面就是它的數學證明,實際上很簡單。
任何複數 a + bi,都可以改寫成旋轉半徑 r 與橫軸夾角 θ 的形式。
假定現有兩個複數 a + bi 和 c + di,可以將它們改寫如下:
a + bi = r1 * ( cosα + isinα )
c + di = r2 * ( cosβ + isinβ )
這兩個複數相乘,( a + bi )( c + di ) 就相當於
r1 * r2 * ( cosα + isinα ) * ( cosβ + isinβ )
展開後面的乘式,得到
cosα * cosβ - sinα * sinβ + i( cosα * sinβ + sinα * cosβ )
根據三角函式公式,上面的式子就等於
cos(α+β) + isin(α+β)
所以,( a + bi )( c + di ) = r1 * r2 * ( cos(α+β) + isin(α+β) )
這就證明了,兩個複數相乘,就等於旋轉半徑相乘、旋轉角度相加。
虛數的意義,虛數到底是什麼
四軸飛行姿態的解算需要用到虛數 四元數,無奈重溫高等數學,betterexplained上面有關於虛數的非常好的解釋,很淺顯易懂,轉給大家參考。四軸飛行姿態的解算需要用到虛數 四元數,無奈重溫高等數學,betterexplained 上面有關於虛數的非常好的解釋,很淺顯易懂,轉給大家參考。這個 有一...
複數乘法 數學當中的複數到底有啥意義?
有人在stack exchange問了乙個問題 我一直覺得虛數 imaginary number 很難懂。中學老師說,虛數就是 1的平方根。可是,什麼數的平方等於 1呢?計算器直接顯示出錯!直到今天,我也沒有搞懂。誰能解釋,虛數到底是什麼?它有什麼用?下面,我就用自己的語言,講述我所理解的虛數。一 ...
從程式設計角度看B S C S到底有什麼不同
本文 網上人云亦云的東西就不重複了,沒有價值,這裡只談幾個對設計程式很關鍵的幾個區別。1使用的技術不同 2速度不同 3安全性要求不同 1使用的技術不同 b s前台使用css,html,js,c s就沒有這些概念。所以使用css,html,js的都是b s的系統,當然那些在c s中嵌入瀏覽器核心的東西...