MATLAB LECTURE - Trang 40

16/09/2015

3

Nguyen Quang Hoang

Department of Applied Mechanics

Giải số bằng lệnh ode45

9

Ví dụ: sử dụng ode45 giải phương trình vi phân

với điều kiện đầu

Trong khoảng thời gian t = [0 30]

5

5 ( )

dy

y

F t

dt

 

/

( )

cos( )

t tc

F t

te

t

(0)

0

y

0.1,

10

tc

function

ydot = eq2(t,y)

tc = 0.1; w = 10;

Ft = t*exp(-t/

tc

)*cos(

w

*t);

ydot = -5*y + 5*Ft;

end

Ghi lại với tên
file là tên
hàm eq2.m

>> [t, y] = ode45(‘eq2’, [0, 30], 0);
>> % [t, y] = ode45(‘eq2’, [0:0.01:30], 0);
>> plot(t,y)

Nguyen Quang Hoang

Department of Applied Mechanics

Giải số bằng lệnh ode23

10

>> [t, y2] = ode45(‘eq1’, [0:0.01:30], 0);
>> plot(t,y2)

y2(t)

y(t)

Nguyen Quang Hoang

Department of Applied Mechanics

Giải số bằng lệnh ode45

11

Ví dụ: sử dụng ode45 giải phương trình vi phân

với điều kiện đầu

Trong khoảng thời gian t = [0 30]

5

5 ( )

dy

y

F t

dt

 

/

( )

cos( )

t tc

F t

te

t

(0)

0

y

0.1,

10

tc

function

ydot = odevidu3(t,y,

tc, w

)


Ft = t*exp(-t/

tc

)*cos(

w

*t);

ydot = -5*y + 5*Ft;

end

Ghi lại với tên
file là tên hàm
odevidu3.m

>> [t,y] = ode45

(@(t,y)

odevidu3(t,y,

0.1, 10

), [0:

0.01

:30], 0);

>> plot(t,y)

Nguyen Quang Hoang

Department of Applied Mechanics

Hệ phương trình vi phân cấp 1

12

1

1

1

1

2

2

2

1

1

( , ,..., )

( , ,..., )

...

( , ,..., )

n

n

n

n

n

n

dy

y

f t y

y

dt

dy

y

f t y

y

dt

dy

y

f t y

y

dt

1

10

2

20

0

(0)
(0)

...

(0)

n

n

y

y

y

y

y

y


Hệ n phương trình vi phân cấp 1.

Các điều kiện đầu

Hay viết ở dạng véc tơ

0

1

2

1

2

( , ),

(0)

[ , ,...,

] ,

[ , ,..., ]

T

T

n

n

d

t

dt

y y

y

f f

f

y

y

f

y

y

y

y

f