MATLAB 是一個科學計算軟體,因此可以支援很多常用到的數學函數,例如:
>> x = 4; >> y = abs(x) % 取 x 的絕對值 y = 4 >> y = sin(x) % 取 x 的正弦值 y = -0.7568 >> y = exp(x) % 自然指數 exp(x) y = 54.5982 >> y = log(x) % 自然對數 ln(x) y = 1.3863 MATLAB 也支援複數運算,通常以 i 或 j 代表單位虛數$\sqrt{-1}$ ,例如:
>> z = 5 + 4j % 複數 z = 5 + 4$\sqrt{-1}$ z = 5.0000 + 4.0000i >> z = 5 + 4i % 這也是複數 z = 5 + 4$\sqrt{-1}$ z = 5.0000 + 4.0000i >> y = angle(z) % 複數 z 的相角 y = 0.6747 >> y = real(z) % 複數 z 的實部 y = 5 >> y = imag(z) % 複數 z 的虛部 y = 4 >> y = conj(z) % 複數 z 的共軛複數 y = 5.0000 - 4.0000i >> y = z’ % 這也是複數 z 的共軛複數 y = 5.0000 - 4.0000i >> y = exp(j*pi/6) % $e^{j\theta}=\cos\theta+j\sin\theta$ y = 0.8660 + 0.5000i 其中 pi 是 MATLAB 的內建常數,代表圓周率,約等於 3.1415926…。
以上這些基本的數學函數,也都通用於向量或矩陣,例如:
>> x = [4 2j 9]; >> y = sqrt(x) % 對 x 開平方 y = 2.0000 1.0000 + 1.0000i 3.0000 在上例中,sqrt 指令會對 x 的每一個元素(無論是實數或複數)進行開平方的運算。
另外還有一些函數是特別針對向量而設計的,例如:
>> x = [1 2 3 0 12]; >> y = min(x) % 向量 x 的極小值 y = 0 >> y = max(x) % 向量 x 的極大值 y = 12 >> y = mean(x) % 向量 x 的平均值 y = 3.6000 >> y = sum(x) % 向量 x 的總和 y = 18 >> y = sort(x) % 向量 x 的排序 y = 0 1 2 3 12 這些函數是針對向量設計的,無論輸入是行向量或列向量,都可傳回正確的結果。若輸入為矩陣時,這些函數將輸入矩陣看成是行向量的集合,並選一對行向量進行運算,例如:
>> x = [1 2 3;4 5 6;7 8 9]; >> y = median(x) % x 每個行向量的中位數 y = 4 5 6 >> y = prod(x) % x 每個行向量的乘積 y = 28 80 162 在本書的第九章「矩陣的處理與運算」有對這些函數的進一步介紹。
若對 MATLAB 函數用法有疑問,可隨時使用 help 指令來尋求線上支援(On-line Help),例如:
>> help sort % 查詢 sort 指令的線上使用說明 sort - Sort array elements This MATLAB function sorts the elements of A in ascending order along the first array dimension whose size does not equal 1. B = sort(A) B = sort(A,dim) B = sort(___,mode) [B,I] = sort(___) Reference page for sort See also issorted, max, mean, median, min, sortrows, unique Other functions named sort fixedpoint/sort, symbolic/sort MATLAB 的查詢指令及線上支援,可說明如下:
- help:用來查詢已知指令的用法。例如已知 inv 是用來計算反矩陣,鍵入 help inv 即可得知有關 inv 指令的用法。(鍵入 help help 則顯示 help 的用法,請試看看!)
- lookfor:用來尋找未知的指令。例如要尋找計算反矩陣的指令,可鍵入 lookfor inverse,MATLAB 即會列出所有和關鍵字 inverse 相關的指令。找到所需的指令後,即可用 help 進一步找出其用法。(lookfor 事實上是對所有在搜尋路徑下的M檔案進行關鍵字對「第一註解行」的比對,詳見本章第五節或本書第十五章有關於「M 檔案」的說明。)
- helpwin:產生特定主題的線上支援視窗。
- doc:產生特定函數的線上支援。(例如:讀者可嘗試輸入指令「doc eig」,來驗證一下。
MATLAB程式設計:入門篇