Presentation is loading. Please wait.

Presentation is loading. Please wait.

數學軟體簡介 PART II Matlab 介紹. 今天進度: Matlab 基本環境操作 Matlab 小傳 外觀基本認識 使用變數與基本運算 向量與矩陣的處理 常用數學函數 查詢命令 常用的永久常數.

Similar presentations


Presentation on theme: "數學軟體簡介 PART II Matlab 介紹. 今天進度: Matlab 基本環境操作 Matlab 小傳 外觀基本認識 使用變數與基本運算 向量與矩陣的處理 常用數學函數 查詢命令 常用的永久常數."— Presentation transcript:

1 數學軟體簡介 PART II Matlab 介紹

2 今天進度: Matlab 基本環境操作 Matlab 小傳 外觀基本認識 使用變數與基本運算 向量與矩陣的處理 常用數學函數 查詢命令 常用的永久常數

3 1978 年,美國新墨西哥大學的 Cleve Moler 教授寫了此一套軟體來使他的學生更容易瞭 解線性代數及各種數值方法與矩陣理論,當 然,當時是免費的;因此, Matlab 的數值計 算能力可是經過 20 餘年的檢驗與千錘百鍊。 但是,他並沒有想到要將 Matlab 商品化。 Matlab 小傳

4 由 Jack Little 將他用 C 語言改寫,成立 Math Works 公司,並於 1984 年推出的數學軟體商 用版,其名稱是由 MATrix LABoratory (矩 陣實驗室)所合成的,雖然其最早的理念只 是提供一套完善的矩陣運算軟體,但隨著數 值運算需求, Matlab 已經成為各種系統模擬、 數位訊號處理、科學計算的標準語言。

5 1. 工作空間瀏覽器 (Workspace) 2. 命令歷史列 (Command History) 3. 命令視窗 (Command Window) 1 3 2 外觀基本認識

6 使用變數與基本運算 一般常用到的加( + )、減( - )、乘( * )、除 ( / )、冪次( ^ )等數學運算,在 Matlab 下進行, 最快速簡單的方法就是在命令視窗內的提示符號 ( >> )之後輸入運算式並按 Enter 鍵 例如: >> (5*2+3.5)/5 ans = 2.7000

7 『 >> 』代表 Matlab 命令視窗內的提示符號,使用 者可以在其後面輸入任何 Matlab 語法的運算式以 進行運算。 若不想讓 Matlab 每次都顯示運算結果,只需要在 運算式最後加上分號『 ; 』 例如: >> (5*2+3.5)/5 ; 此時按 Enter 鍵,運算結果會儲存,但不會顯示 使用變數與基本運算

8 在需要取用或顯示結果時,輸入『 ans 』即可 例如: >> ans ans = 2.7000 也可以將結果儲存至自己設定的變數中 例如: >> x = (5*2+3.5)/5 x = 2.7000 使用變數與基本運算

9 變數命名基本規則與使用: 第一個字母必須是英文字母 字母間不可留空白 最多 31 個字母, Matlab 會忽略多餘的字母 使用變數前不需要預先宣告,所有變數均預設為 double 資料形式儲存 使用變數與基本運算

10 如果想用 double 以外的資料形式呢? 使用 >>format 資料形式設定 例如: >> (7*3+5.5)/7 ans = 3.7857 例如: >> format long >> (7*3+5.5)/7 ans = 3.78571428571429 使用變數與基本運算

11 例如: >> format rat >> (7*3+5.5)/7 ans = 53/14 例如: >> format short >> (7*3+5.5)/7 ans = 3.7857 使用變數與基本運算

12 還記得 LaTEX 裡的『 % 』記號是什麼意思嗎?在 Matlab 這裡也是一樣的用法 例如: >> y = (5*2+3.5)/5 ; % 將運算結果儲存在 y 中 >> z = y^2 % 將運算結果儲存在 z 中並顯示 z = 7.2900 『 % 』之後會被 Matlab 忽略不計,增加可讀性用

13 Matlab 可以同時執行以逗號(, )或分號( ; ) 隔開的數個運算式 例如: >> x = sin(pi/3) ; y = x^2 ; z = y*10 z = 7.5000 若運算式太長,可以用三個句點『 … 』將其延伸 到下一行,例如: >> z = 10*sin(pi/3)*… >> sin(pi/3);

14 向量與矩陣的處理 前面的例子中, Matlab 的變數都是儲存純量形式 ( Scalars ),其實變數也可以用來儲存向量形式 ( Vectors )及矩陣形式( Matrix ) 例如: >> s = [ 1 3 5 2 ] ; % 注意數字間有空白 >> t = 2*s+1 t = 3 7 11 5

15 向量與矩陣的處理 『 [ ] 』中括號建立一個列向量 [ 1 3 5 2 ] ,或可 視為 1 x 4 大小的矩陣,將其儲存在變數 s 中 另外, >> s = [1 3 5 2] 與 >> s = [ 1,3,5,2] 一樣 也可以取出向量中的一部份來運算 例如: >> t(3) = 2 % 將向量 t 的第三個元素改為 2 t = 3 7 2 5

16 向量與矩陣的處理 例如: >> t(6) = 10 % 在向量 t 加入第六個元素 10 t = 3 7 2 5 0 10 例如: >> t(4) = [] % 刪除向量 t 第四個元素 t = 3 7 2 0 10

17 向量與矩陣的處理 例如: >> s(2)*3 + t(4) % 取出向量 s 與 t 的部分做運算 ans = 9 例如: >> t(2 : 4) - 1 % 取出向量 t 第 2~4 元素來運算 ans = 6 1 -1

18 用類似上述建立向量的方法,使用者可以建立 mxn 大小的矩陣,但必須在每一列結尾加上分號 『 ; 』,例如: >>A=[ 1 2 3 4; 5 6 7 8; 9 10 11 12 ]; % 3x4 矩陣 A >>A % 顯示 A 的內容 A = 1 2 3 4 5 6 7 8 9 10 11 12 向量與矩陣的處理

19 同樣地,我們也可以對矩陣進行各樣的處理 例如: >> A(2,3) = 5 % A 2,3 將改為 5 A = 1 2 3 4 5 6 5 8 9 10 11 12 例如: >>B = A(2, 1:3) % 取出 A 2,1 ~A 2,3 組成 B B = 5 6 5 向量與矩陣的處理

20 例如: >> A=[ A B’ ] % 將矩陣 A 與 B T 合併 A = 1 2 3 4 5 5 6 7 8 6 9 10 11 12 5 例如: >> A(2,:) = [ ] % 刪除矩陣 A 的第 2 列 A = 1 2 3 4 5 9 10 11 12 5 向量與矩陣的處理

21 例如: >>A(:, [1 4]) = [ ] % 刪除矩陣 A 的第 1, 4 行 A = 1 3 5 9 11 5 在 4x5 的矩陣 A 中的元素, A 2,3 可以用 A(2,3) 表 示,也可以用 A(8) 來表示;即在 mxn 的矩陣 A 中, A(a,b)=A( (a-1)*n+b ) 。 向量與矩陣的處理

22 在 Matlab 中可以使用許多數學函數: 例如: >> x=-4; y= abs(x) % 純量的絕對值或向量的長度 y = 4 例如: >> sqrt(y) % 開平方 ans = 2 常用數學函數

23 sign(x) :符號函數 (Signum function) 。 當 x<0 時, sign(x)=-1 ; 當 x=0 時, sign(x)=0; 當 x>0 時, sign(x)=1 。 exp(x) :自然指數 pow2(x) : 2 的指數 log(x) :以 e 為底的對數,即自然對數 log10(x) :以 10 為底的對數 常用數學函數

24 rats(x) :將實數 x 化為分數表示 rem(x,y) :求 x 除以 y 的餘數 gcd(x,y) :整數 x 和 y 的最大公因數 lcm(x,y) :整數 x 和 y 的最小公倍數 sin(x) :正弦函數 cos(x) :餘弦函數 tan(x) :正切函數 常用數學函數

25 Matlab 也可以計算複數,通常以 i 或 j 代表 √-1 例如: >> z = 5+4j; % 複數 z=5+4 √-1 >> y = angle(z) % 複數 z 的相角 y = 0.6747 real(z) :複數 z 的實部 imag(z) :複數 z 的虛部 conj(z) :複數 z 的共軛複數 常用數學函數

26 查詢命令 ( help ) 1) 例如:若已知 inv 是用來計算反矩陣,鍵入 help inv 即可得知有關 inv 命令的用法。 >>help inv INV Matrix inverse. INV(X) is the inverse of the square matrix X. A warning message is printed if X is badly scaled or nearly singular.

27 查詢命令 ( lookfor ) 2) 例如:要尋找計算反矩陣的命令,可鍵入 lookfor inverse ,即會列出所有和關鍵字 inverse 相關的指令。找到所需的命令後,即可 用 help 進一步找出其用法。 >>lookfor inverse INVHILB Inverse Hilbert matrix. IPERMUTE Inverse permute array dimensions. ACOS Inverse cosine, result in radians. ACOSD Inverse cosine, result in degrees. ………

28 常用的永久常數 i 或 j :基本虛數單位(即 √-1 ) eps :系統的浮點( Floating-point )精確度 inf :無限大, 例如 1/0 nan 或 NaN :非數值( Not a number ),例如 0/0 pi :圓周率 p ( = 3.1415926... ) realmax :系統所能表示的最大數值 realmin :系統所能表示的最小數值 nargin: 函數的輸入引數個數 nargin: 函數的輸出引數個數

29 5/1 上機課 熟悉 Matlab 基本運算功能 實務操作(練習題目)

30 數值分析 請利用下列公式算出 f ’(8.1) 、 f ’(8.3) 的近似值 f ’(x 0 )=1/2h [-3f(x 0 )+4f(x 0 +h)-f(x 0 +2h)] 這裡的 f(x) 為 x lnx Hint :先算出 f(x 0 ) 、 f(x 0 +h) 、 f(x 0 +2h) h 可以先試試 0.1 、 0.01 看看


Download ppt "數學軟體簡介 PART II Matlab 介紹. 今天進度: Matlab 基本環境操作 Matlab 小傳 外觀基本認識 使用變數與基本運算 向量與矩陣的處理 常用數學函數 查詢命令 常用的永久常數."

Similar presentations


Ads by Google