1 / 19

數學軟體簡介 PART II Matlab 介紹

數學軟體簡介 PART II Matlab 介紹. 今天的進度:. M 檔案的繼續介紹 期末考試的預習. M 檔案. M- 檔案類型之檔案純為文字檔,故可在任何文書處理軟體中進行編輯或修改。 Matlab 也有一個程式編輯器,可以在此編輯器中偵錯 (Debug) 或編輯,這個編輯器比其他文書處理具有不同的功能。 M-files 依執行時之實質型式分為兩種,一為敘述檔( script ),二為函數檔( function )。. M 檔案. 如何使用 Matlab 裡的編輯器來編輯一個 M 檔案?(也可以使用記事本之類的編輯器來編輯)

aysel
Download Presentation

數學軟體簡介 PART II Matlab 介紹

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 數學軟體簡介 PART IIMatlab 介紹

  2. 今天的進度: • M 檔案的繼續介紹 • 期末考試的預習

  3. M檔案 • M-檔案類型之檔案純為文字檔,故可在任何文書處理軟體中進行編輯或修改。Matlab也有一個程式編輯器,可以在此編輯器中偵錯(Debug)或編輯,這個編輯器比其他文書處理具有不同的功能。 • M-files依執行時之實質型式分為兩種,一為敘述檔(script),二為函數檔(function)。

  4. M檔案 • 如何使用Matlab裡的編輯器來編輯一個M檔案?(也可以使用記事本之類的編輯器來編輯) • edit 指令:(假定現在要新增一個ABC.m) 在指令視窗裡鍵入: edit ABC.m 則Matlab會在目錄下新建一個ABC.m的M檔案,並且Matlab裡的編輯器也會執行,可以立即編輯ABC.m的內容。

  5. M檔案 • type 指令: type ABC ( or type ABC.m ) type 指令顯示ABC.m檔案內容 • 例如:( edit ABC.m ) A = [1 2 3;4 5 6;7 8 9] B = A(: , 1) C = A(2 , :) 則這個M檔案彷彿呼叫A、B、C三個矩陣數據

  6. 敘述檔(script) • 敘述檔為一連串之正常指令之組合,故其名稱亦可作為指令在指令窗中直接執行。 • 例如,上例 ABC.m( 呼叫A、B、C三矩陣 ),就是一個敘述檔,可以執行敘述檔內所有的敘述指令,所產生的變數也都存放在Matlab的基本空間。

  7. 函式檔(function) • 函數檔案與敘述檔主要差別是:開頭一行需有一個函數名稱之宣告以及輸入參數,通式如下: function 輸出參數 = 函數名稱(輸入參數) • 特別注意的是這些參數變數,無論是輸入或輸出,均可能代表一個數值或一個矩陣。

  8. 函式檔(function) • 例如: function y = ABC (a, b) y = sqrt( a^2+b^2 ) • 此時函數之名稱為 ABC,其輸入參數為a、b。輸出為y。在函數中,a、b、y均為區域性函數,只在這個函數執行期間有效,離開這個函數就不認得了。 • 你可以猜猜ABC.m是一個什麼樣的函式檔嗎?如果你在主程式裡鍵入ABC(3,4)會有什麼樣的結果嗎?

  9. 函式檔(function) • 上例ABC是平方和開根號的函式 • 例如:ABC(3,4) = 5 ( √(32+42) = 5 ) • 例如:(edit f1.m) function y=f1(x) y=x.^2.*sin(x)+cos(x); 則此函式表示方程式 y = x2sin(x) + cos(x)

  10. 函式檔(function) • 上例f1.m為函式f1,在主程式中引用f1(5),則表示將 5 代入 f1(5) = 52sin(5) + cos(5) • 因此可讀進函式,使主程式更簡單而清楚,亦可以使用於繪圖與方程式進階功能 • 例如: • 可以以呼叫函式的方式來求根 fzero( 'f1', 3) % 求函式f1在3附近的根 • 也可以繪圖 plot( x, f1(x) ) % 將函式 y=f1(x)的圖形繪出

  11. 期末考預習 • 6/5 考試範圍:  基本計算與矩陣運算 • 6/12考試範圍: 繪圖功能、M檔案與函數

  12. 考試範例 (一): 請利用 Matlab 計算下列矩陣相乘 41 3 6 89 32 24 5 71 32 12 3 1 13 4 21 1 2 3 6 67 4 5 1 12 9 1 2 3 2 1 2 4 6 4 2 3 6 9 6 3 2 4 6 4 2 4 8 12 8 4

  13. ANS >>A=[41 3 6 89 32 ; 24 5 71 32 12; 3 1 13 4 21; 1 2 3 6 67 ; 4 5 1 12 9]; >>B=zeros(5,5); >>B(1 , :) = [ 1 2 3 2 1]; >>B(2 , :) = 2*B(1 , :); >>B(3 , :) = 3*B(1 , :); >>B(4 , :) = B(2 , :); >>B(5 , :) = 2*B(4 , :); >>C = A*B

  14. 考試範例 (二): • 請算出下列矩陣的inverse、rank以及eigenvalue 41 3 6 89 32 24 5 71 32 12 A= 3 1 13 4 21 1 2 3 6 67 4 5 1 12 9

  15. ANS inv(A) . . . . . . . . . . 可以計算A矩陣的inverse rank(A) . . . . . . . . . 可以計算A矩陣的rank [Q,d]=eig(A) . . . . . 計算出A矩陣的eigenvalue與 eigenvector,Q為eigenvector 組成的矩陣,d的對角線為A的 eigenvalue

  16. 考試範例 (三): 請寫出一個 Matlab 函式 M檔案(名稱為Orz.m), 此M檔案為函式檔,該函式為 Orz(a,b) = eb-a, 即在主程式中鍵入Orz(1 , 3)=e3-1=e2

  17. ANS 此M函式檔的寫法如下: function y=Orz(a,b) y= exp(b-a);

  18. 考試範例 (四): • 畫出函數 f(x) =1/((x-0.9)2+0.04)-6;將 (0 , 2) 區間以0.1分割,畫成曲線圖形,並計算出此區間內的根。

  19. ANS 函數的寫法: • function y=f_2(x) • y=1./((x-0.9).^2+0.04)-6; 主程式的寫法: >>x=0:0.1:2; >>plot( x, f_2(x) ), grid on >>fzero('f_2', 0.5) >>fzero('f_2', 1.3)

More Related