MATLAB LECTURE - Trang 39

16/09/2015

2

Nguyen Quang Hoang

Department of Applied Mechanics

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

5

Cú pháp lệnh ode23

[t, y] = ode23(

‘funct_name’, [t0:h:t_end], y0)

Giá trị điều kiện đầu

Khoảng thời gian cần giải

t từ t0 đến t_end, với h là

bước thời gian

Tên m-file chứa phương trình vi
phân cần giải

Kết quả tính được ghi vào hai véctơ
t và y chứa các cặp [t(i), y(ti)]

Nguyen Quang Hoang

Department of Applied Mechanics

Ví dụ giải phương trình vi phân thường

6

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

Trước hết tạo m-file chứa phương trình vi phân cần giải:

cos( )

dy

t

dt

(0) 2

y

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

Sử dụng lệnh ode23:

function

ydot = eq1(t,y)

ydot = cos(t);

end

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

Trong khoảng thời gian t = [0 2*pi]

>> [t, y] = ode23(‘eq1’, [0, 2*pi], 2)

Nguyen Quang Hoang

Department of Applied Mechanics

Ví dụ giải phương trình vi phân thường

7

• Vẽ kết quả và so sánh với nghiệm chính xác

>> f = sin(t) + 2;
>> plot(t, f,'k-'), hold on
>> axis([0 2*pi 0 4])

>> plot(t,y,'ko')

>> xlabel('t'),
>> ylabel('y(t)')

0

1

2

3

4

5

6

0

1

2

3

4

t

y(

t)

Nguyen Quang Hoang

Department of Applied Mechanics

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

8

Cú pháp lệnh ode45

[t, y] = ode45(

‘funct_name’, [t0, t_end], y0)

Giá trị điều kiện đầu

Khoảng thời gian cần giải

t từ t0 đến t_end

Tên m-file chứa phương trình vi
phân cần giải

Kết quả tính được ghi vào hai véctơ
t và y chứa các cặp [t(i), y(ti)]