matlab 使用教學 (3)

18
MATLAB 使使使使 (3) 教教 : 教 教教 教教 : 教教教 教教教 Version 3.0

Upload: rooney-holmes

Post on 01-Jan-2016

72 views

Category:

Documents


0 download

DESCRIPTION

MATLAB 使用教學 (3). 自 動 控 制. Version 3.0. 教授 : 張 仁 宗 教授 助教 : 鄭志羿 林柏伸. 目錄. 聯立微分方程式 利用解題器求解聯立微分方程式 (1)-(2) 隨堂練習一 利用解題器求解聯立微分方程式 (3)-(6) 隨堂練習二. (A). (B). 聯立微分方程式 (1). Does A equal B? ?. (A). (B). 聯立微分方程式 (2). When. are vectors is a matrix. 聯立微分方程式 (3). then. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MATLAB  使用教學 (3)

MATLAB 使用教學 (3)

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

林柏伸

Version 3.0

自 動 控 制

Page 2: MATLAB  使用教學 (3)

目錄 聯立微分方程式 利用解題器求解聯立微分方程式 (1)-(2) 隨堂練習一 利用解題器求解聯立微分方程式 (3)-(6) 隨堂練習二

Page 3: MATLAB  使用教學 (3)

聯立微分方程式 (1)

Does A equal B??

1)0(y,0)0(y),t(uy6y5y s (A)

1)0(y,00y,)t(uy5y6y

yy21

s212

21

(B)

Page 4: MATLAB  使用教學 (3)

聯立微分方程式 (2)

When 21 yy,yy

1)0(y,0)0(y),t(uy6y5y s (A)

1)0(y,00y,)t(uy5y6y

yy21

s212

21

(B)

Page 5: MATLAB  使用教學 (3)

聯立微分方程式 (3)

then 1)0(y,00y,

)t(uy5y6y

yy21

s212

21

1

0

)0(y

)0(y,

u

0

y

y

56

10

y

y

2

1

s2

1

2

1

BAXX are vectors

is a matrix

BXX 、、A

Page 6: MATLAB  使用教學 (3)

利用解題器求解聯立微分方程式 (1)

solver.mfunction dy = solver( t, y )dy = zeros( 2, 1 );dy(1) = y(2);dy(2) = 2*y(2)-y(1);

ode45.m[ t, y ] = ode45( 'solver‘, [0 10], [0 1] );plot( t, y( :, 1 ), ‘b-', t, y( :, 2 ), ‘r- -', t, t.*exp(t), ‘y*‘, t, t.*exp(t)+exp(t), ‘g+’);

1

0

)0(y

)0(y,

y

y

21

10

y

y

2

1

2

1

2

1

Page 7: MATLAB  使用教學 (3)

利用解題器求解聯立微分方程式 (2)

時間 t

輸出

y

‘-’ 為 y1 曲線

‘--’ 為 y2 曲線

‘*’ 為 y1 手算結果

‘+’ 為 y2 手算結果

Page 8: MATLAB  使用教學 (3)

隨堂練習一 (1)(2)

利用 MATLAB 解題器求解下列聯立微分方程式 ( t = [ 0 10 ] )

(1)

(2)

1

0

)0(y

)0(y,

y

y

22

10

y

y

2

1

2

1

2

1

1

0

)0(y

)0(y,

y

y

20

10

y

y

2

1

2

1

2

1

Page 9: MATLAB  使用教學 (3)

隨堂練習一 - 解答 (1)

時間 t

輸出

y

‘-’ 為 y1 曲線

‘--’ 為 y2 曲線

‘*’ 為 y1 手算結果

‘+’ 為 y2 手算結果

1

0

)0(y

)0(y,

y

y

22

10

y

y

2

1

2

1

2

1

Page 10: MATLAB  使用教學 (3)

隨堂練習一 - 解答 (2)

時間 t

輸出

y

‘-’ 為 y1 曲線

‘--’ 為 y2 曲線

‘*’ 為 y1 手算結果

‘+’ 為 y2 手算結果

1

0

)0(y

)0(y,

y

y

20

10

y

y

2

1

2

1

2

1

Page 11: MATLAB  使用教學 (3)

利用解題器求解聯立微分方程式 (3)

solver.mfunction dy = solver( t, y )dy = zeros( 3, 1 );dy(1) = y(2);dy(2) = y(3);dy(3) = y(3)-2*y(1);

ode45.m[ t, y ] = ode45( 'solver', [ 0 10 ], [ 0 0 1 ]);plot(t, y( :,1 ), ‘b-', t, y( :, 2 ), ‘r--', t, y( :, 3 ), ‘k-.', t, 0.2.*exp(-t)+0.2.*exp(t).*(2.*sin(t)-cos(t)), ‘y*‘, t, 0.2.*exp(-t)+0.2.*exp(t).*(2.*sin(t)-cos(t))+0.2.*exp(t).*(2.*cos(t)+sin(t)),'g+', t, 0.2.*exp(-t)+0.2.*exp(t).*(2.*sin(t)-cos(t))+0.4.*exp(t).*(2.*cos(t)+sin(t))+0.2.*exp(t).*(-2.*sin(t)+cos(t)),'co'););

1

0

0

)0(y

)0(y

)0(y

,

y

y

y

102

100

010

y

y

y

3

2

1

3

2

1

3

2

1

Page 12: MATLAB  使用教學 (3)

利用解題器求解聯立微分方程式 (4)

時間 t

輸出

y

‘-’ 為 y1 曲線

‘--’ 為 y2 曲線

‘-.’ 為 y3 曲線

‘*’ 為 y1 手算結果

‘+’ 為 y2 手算結果

‘o’ 為 y3 手算結果

Page 13: MATLAB  使用教學 (3)

利用解題器求解聯立微分方程式 (5)

solver.mfunction dy = solver( t, y )dy = zeros( 2, 1 );dy(1) = y(2);dy(2) = -5*y(2) - 6*y(1) + 1;

ode45.m[ t, y ] = ode45( 'solver‘, [0 10], [0 1] );plot( t, y( :, 1 ), ‘b-', t, y( :, 2 ), ‘r- -', t, 0.5.*exp(-2.*t)-2/3.*exp(-3.*t)+1/6, 'y*', t, -exp(-2*t)+2*exp(-3*t), 'g+‘, t, 1/6, ‘co’, t, 0, ‘m^’ );

1

0

)0(y

0y,)t(u

0

y

y

56

10

y

y

2

1

s2

1

2

1

Page 14: MATLAB  使用教學 (3)

利用解題器求解聯立微分方程式 (6)

時間 t

輸出

y

‘-’ 為 y1 曲線

‘--’ 為 y2 曲線

‘*’ 為 y1 手算結果

‘+’ 為 y2 手算結果

‘o’ 為 y1 特解

‘△’ 為 y2 特解

Page 15: MATLAB  使用教學 (3)

隨堂練習二 (1)(2)

利用 MATLAB 解題器求解下列聯立微分方程式 ( t = [ 0 10 ] )

(1)

(2)

1

0

)0(y

0y,)tsin(

0

y

y

04

10

y

y

2

1

2

1

2

1

1 1 1

2 2 2

0 1 0 00,

2 1 3 1(0)

y y y

y y t y

Page 16: MATLAB  使用教學 (3)

隨堂練習二 - 解答 (1)

1

0

)0(y

0y,)tsin(

0

y

y

04

10

y

y

2

1

2

1

2

1

Page 17: MATLAB  使用教學 (3)

隨堂練習二 - 解答 (2) 1 1 1

2 2 2

0 1 0 00,

2 1 3 1(0)

y y y

y y t y

Page 18: MATLAB  使用教學 (3)

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