matlab 使用教學 (6)

23
MATLAB 使使使使 (6) 教教 : 教 教 教 教教 教教 : 教 教 教 教 教 Version 3.0

Upload: lara-kemp

Post on 03-Jan-2016

115 views

Category:

Documents


0 download

DESCRIPTION

MATLAB 使用教學 (6). 自 動 控 制. Version 3.0. 教授 : 張 仁 宗 教授 助教 : 鄭 志 羿 孫 華 偉. 目錄. 使用 MATLAB 建立轉移函數 使用 MATLAB 建立狀態方程式 轉移函數的串並聯及回饋 各種系統表示法的轉換 隨堂練習. 使用 MATLAB 建立轉移函數 (1). 轉移函數 - 分子分母形式. 使用 MATLAB 建立轉移函數 (2). num = [ 1 1 ]; %num 為自定變數 den = [ 1 2 1 ]; %den 為自定變數 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MATLAB  使用教學 (6)

MATLAB 使用教學 (6)

教授 : 張 仁 宗 教授助教 : 鄭 志 羿

孫 華 偉

Version 3.0

自 動 控 制

Page 2: MATLAB  使用教學 (6)

目錄 使用 MATLAB 建立轉移函數 使用 MATLAB 建立狀態方程式 轉移函數的串並聯及回饋 各種系統表示法的轉換 隨堂練習

Page 3: MATLAB  使用教學 (6)

使用 MATLAB 建立轉移函數 (1)

轉移函數 - 分子分母形式

01

1n1n

nn

011m

1mm

m

asa...sasasD

bsb...sbsbsN

)s(D

sNsG

Page 4: MATLAB  使用教學 (6)

使用 MATLAB 建立轉移函數 (2)

num = [ 1 1 ]; %num 為自定變數den = [ 1 2 1 ]; %den 為自定變數sys = tf( num, den ) %sys 為自定變數

1s2s

1ssG

2

Page 5: MATLAB  使用教學 (6)

使用 MATLAB 建立轉移函數 (3)

轉移函數 - 極零點形式

n21

m21

ps...psps

zs...zszsksG

Page 6: MATLAB  使用教學 (6)

使用 MATLAB 建立轉移函數 (4)

z = [ -2 4 ]; %z 為自定變數p = [-1 1 3 5]; %p 為自定變數k = 3; %k 為自定變數sys = zpk( z, p, k ) %sys 為自定變數

5s3s1s1s

4s2s3sG

Page 7: MATLAB  使用教學 (6)

使用 MATLAB 建立狀態方程式 (1)

狀態方程式

為矩陣、、、為行向量、、、其中DCBA

YUXX

DUCXY

BUAXX

Page 8: MATLAB  使用教學 (6)

使用 MATLAB 建立狀態方程式 (2)

A = [ 0 1; -2 -3 ]; %A 為自定變數B = [ 1; 3 ]; %B 為自定變數C = [ 2 4 ]; %C 為自定變數D = [ 1 ]; %D 為自定變數sys = ss( A, B, C, D )

u1x

x42y

u3

1

x

x

32

10

x

x

2

1

2

1

2

1

Page 9: MATLAB  使用教學 (6)

使用 MATLAB 建立狀態方程式 (3)

執行結果如下:

Page 10: MATLAB  使用教學 (6)

使用 MATLAB 求方塊圖轉移函數(1) 串聯方塊圖的轉移函數

n

1kk

n21

sGsG

sG...sGsGsG

Page 11: MATLAB  使用教學 (6)

使用 MATLAB 求方塊圖轉移函數(2)

sys1 = tf( [ 1 3 ], [ 1 1 1 ] );

sys2 = zpk( [ -1 ], [ 0 1 1 ], [ 1 ] );

sys = series( sys1, sys2 )

2221

1ss

1ssG,

1ss

3ssG

Page 12: MATLAB  使用教學 (6)

使用 MATLAB 求方塊圖轉移函數(3) 並聯方塊圖的轉移函數

n

1kk

n21

sGsG

sG...sGsGsG

Page 13: MATLAB  使用教學 (6)

使用 MATLAB 求方塊圖轉移函數(4)

sys1 = tf( [ 3 ], [ 1 0 1 ] );

sys2 = zpk( [ -8 ], [ -4 6 ], [ 5 ] );

sys = parallel( sys1, sys2 )

6s4s

8s5sG,

1s

3sG 221

Page 14: MATLAB  使用教學 (6)

使用 MATLAB 求方塊圖轉移函數(5) 回授方塊圖的轉移函數

sGsG1

sGsG

21

1

Page 15: MATLAB  使用教學 (6)

使用 MATLAB 求方塊圖轉移函數(6)

sys1 = tf( [ 1, 4 ], [ 1 3 2 1 ] );

sys2 = zpk( [ -1 ], [ 4 ], [ 2 ] );sys = feedback( sys1, sys2, -1 ); %-1 為預設值,可省略

4s

1s2sG,

1s2s3s

4ssG 2231

Page 16: MATLAB  使用教學 (6)

轉移函數與狀態方程式間的互相轉換 (1)

狀態空間方程式

轉移函數 - 分子分母形式 轉移函數 - 極零點形式

這些轉換 MATLAB 都可以幫你完成

Page 17: MATLAB  使用教學 (6)

轉移函數與狀態方程式間的互相轉換 (2)

學名或實際名稱 MATLAB 語法

Transfer function tf

Zero-Pole-Gain zp

State space ss

to 2

轉移函數與狀態方程式間互相轉換使用

Page 18: MATLAB  使用教學 (6)

轉移函數 ( 分子分母形式 ) 與狀態方程式間的互相轉換

注意:左邊為中括號,右邊為小括號

[ num, den ] = ss2tf( A, B, C, D )

狀態空間方程式 轉移函數 - 分子分母形式

[ A, B, C, D ] = tf2ss( num, den )

Page 19: MATLAB  使用教學 (6)

轉移函數 ( 極零點形式 ) 與狀態方程式間的互相轉換

轉移函數 - 極零點形式狀態空間方程式

[ z, p, k ] = ss2zp( A, B, C, D )

[ A, B, C, D ] = zp2ss( z, p, k )

Page 20: MATLAB  使用教學 (6)

分子分母形式與極零點形式轉移函數間的互相轉換

[ z, p, k ] = tf2zp( num, den )

轉移函數 - 分子分母形式 轉移函數 - 極零點形式

[ num, den ] = zp2tf( z, p, k )

Page 21: MATLAB  使用教學 (6)

隨堂練習一 使用 MATLAB 求解下列方塊圖的轉移函數

Page 22: MATLAB  使用教學 (6)

隨堂練習二 將下列狀態方程式轉換成轉移函數分子分母形式:

u2x

x42y

u2

4

x

x

12

10

x

x

2

1

2

1

2

1

Page 23: MATLAB  使用教學 (6)

謝謝各位同學光機電實驗室 12F 研究室 91C09 分機 :62262