Top Banner
Introduction to Matlab Hsing-Chuan Yu VC Lab 2008 Fall 1 H.C. Yu, VC LAB, NCU, 2008 Fall
19

Introduction to Matlab

Dec 31, 2015

Download

Documents

xantha-dennis

Introduction to Matlab. Hsing -Chuan Yu VC Lab 2008 Fall. 參考書目. [1]MATLAB 7 程式設計 作者 : 洪維恩 , 出版社:旗標 , 出版日期: 2006-03-01 [2] Matlab 程式設計:入門篇 作者 : 張智星 , 出版社:清蔚科技 , 出版日期: 2004-09-30 []3MATLAB 程式設計與應用 ( 網路版 ) 張智星 連結點. 1. 認識 Matlab (1/2). - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 1

Introduction to Matlab

Hsing-Chuan YuVC Lab 2008 Fall

Page 2: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 2

[1]MATLAB 7 程式設計作者:洪維恩, 出版社:旗標 , 出版日期: 2006-03-01

[2]Matlab 程式設計:入門篇作者:張智星, 出版社:清蔚科技 , 出版日期: 2004-09-

30

[]3MATLAB 程式設計與應用 (網路版 ) 張智星 連結點

參考書目

Page 3: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 3

Matlab (Matrix Laboratory) 數學計算軟體於1984 年,由美國 Mathworks 公司所推行。

Matlab 7 外觀

1.認識Matlab (1/2)

指令視窗

工作空間與目錄視窗

歷史指令視窗

Page 4: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 4

1.認識Matlab (2/2)Help/doc :查詢已知指令

lookfor :尋找未知指令找到Ex: >> help sqrt

指令視窗

編修 / 查看變數內容目錄檢視

工作空間與目錄視窗

尋找 / 使用曾輸入的指令可以拖曳或複製的方式編修

歷史指令視窗

Page 5: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 5

變數命名規則與使用◦ 第一個字母必需是英文字母。◦ 字母間不可留空格。◦ 最多只能有 31 個字母, MATLAB 會忽略多餘字母。

 ◦ MATLAB 在使用變數時,不需預先經過變數宣告

( Variable Declaration )的程序,而且所有數值變數均以預設的 double 資料型式儲存。

2.基本數學運算 (1/5)

Page 6: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 6

一般數學符號運算◦ 在 MATLAB 命令視窗( Command Window )內的

提示符號( >> )之後輸入運算式,並按入 Enter 鍵即可。例如:

>> (5*2+3.5)/5 ans = 2.7000

◦ 若不想讓 MATLAB 每次都顯示運算結果,只需在運算式最後加上分號( ; )即可,例如:

>> (5*2+3.5)/5;

2.基本數學運算 (2/6)

Page 7: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 7

函式數學運算◦ >> y = abs(x) % 取 x 的絕對值◦ >> y = sin(x) % 取 x 的正弦值◦ >> y = exp(x) % 自然指數 exp(x)◦ >> y = log(x) % 自然對數 ln(x)◦ >> y = gcd(a,b) % 計算 a 與 b 的最大公因數◦ >> y = lcm(a,b) % 計算 a 與 b 的最小公倍數

2.基本數學運算 (3/5)

Page 8: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 8

2.基本數學運算 (4/5)

>> z=2*y+1>> y = 43.59

>> y = [1 2 ; 3 4]

Z = ?

矩陣數學運算指令與函數 說明a:b 從 a 到 b ,間距為 1 ,建立一個列向量a:step:b 從 a 到 b ,間距為 step ,建立一個列向量linspace(a,b) 從 a 到 b ,建立一個具有 100 個元素的列向量linspace(a,b,n) 從 a 到 b ,建立一個具有 n 個元素的列向量length(v) 查詢向量 v 的元素個數v’ 將向量 v 轉置,行向量變列向量,列向量變行向量

Page 9: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 9

查詢工作區裡使用的變數

2.基本數學運算 (5/5)

指令 說明who 查詢於目前的工作區內,有哪些變數正在使用whos 同 who ,但會列出每一個變數詳細的資訊whos var 查詢變數 var的詳細資訊clear 清除工作區內的所有變數clear var 清除工作區內的變數 var

Page 10: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 10

1. 計算下列各式(1) (-4.83)-1.6 (2) Log412

(3) (4i+3)/(5i+2)

2. 設列向量 v=[0,12,17,21] ,作答下列問題(1) 輸出矩陣 m=[v; v/2; v/3; v/4](2) 計算 m*v’

3. A~Z 的 ASCII 碼為 65~90 ,試以 char 函數列出英文字母 A~Z

2.基本數學運算 (課堂練習 )

Ex: >> char(97)ans =

a

Page 11: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 11

如同一般程式語言一樣, Matlab 也可以用來撰寫程式碼。 Matlab 用來處存程式碼的檔案稱為 M 檔案,可以分成兩種,一種是底稿,另一種是函數。底稿可以用來儲存一系列的指令,而函數則是把程式碼模組化,以方便使用者來呼叫。

3.使用M檔案與函數 (1/4)

Page 12: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 12

底稿 (script)─ 由一系列 Matlab 的指令敘述所組成。

函數 (function)─ 可用來完成某個特定的工作。與底稿不同的是,函數可以傳入引數、回傳結果。

參考範例

3.使用M檔案與函數 (2/4)

Page 13: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 13

要開啟 M 檔案編輯器,可在指令視窗鍵入>> edit或者按下工具列的「 New M-File 」

註解 (comment) :「 % 」符號後面都視為註解 多行註解: ctrl + r 取消多行註解: ctrl + t

3.使用M檔案與函數 (3/4)

Page 14: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 14

函數的基本架構

3.使用M檔案與函數 (4/4)

function 輸出變數 = 函數名稱 ( 引數 1, 引數 2,…)

% H1 列,此行可用來簡述函數的功用

% 此區是函數的說明文字,可用來註解% 函數的語法、注意事項等

函數的主體

Page 15: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 15

1. 查詢、閱讀並使用 M 檔案

3.使用M檔案與函數 (課堂練習 )

Page 16: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 16

基本二維平面繪圖

連接 (0,3) 、 (2,4) 、 (4,0) 、 (7,6) 、 (10,1) 、(12,3)>> x=[0 2 4 7 10 12]>> y=[3 4 0 6 1 3 ]>> plot(x,y)

4.用Matlab繪圖 (1/2)

函數 說明plot(x,y) 以 X 為資料點的橫座標所組成的向量, y 為縱

座標所組成的向量,描點繪出 (x,y)曲線圖Plot(y) X 的間距為 1 ,描點繪出 (x,y) 的曲線圖

Page 17: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 17

4.用Matlab繪圖 (2/2)基本三維空間繪圖

>> x=linspace(-8,8,30)>> y=x>> [xx,yy]=meshgrid(x,y)>> expr=sqrt(xx.^2+yy.^2)>> zz=sin(expr)./(expr+eps)>> mesh(xx,yy,zz)

函數 說明mesh(x,y,z) 分別以資料點的 x 、 y 與 z座標之集合所組成的矩

陣 xx 、 yy 、 zz 來繪出三維的網格圖mesh(z) 設二維矩陣 z 的維度為 mxn ,則 mesh(z) 可繪出

x座標從 1 到 m , y座標從 1 到 n 的三維網格圖

Page 18: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 18

1. 試用下列語法,並觀察結果>> plot(x,y,’*’)>> plot(x,y,’-*’)>> plot(x,y,’--*’)>> plot(x,y,’-.’)

4.用Matlab繪圖 (課堂練習 )

指令 說明hold 設定 hold 為 on 時,則新產生的圖形會疊加在原有圖形的上面;若是設

定為 off ,則原有的圖形會被新產生的圖形覆蓋掉。

Page 19: Introduction to  Matlab

H.C. Yu, VC LAB, NCU, 2008 Fall 19

4.用Matlab繪圖 (附 )資料來源:參考書目[1]