BÀI GIẢNG MATLAB - Trang 131

127

Chương 6.

Phương trình vi phân thường và Matlab

Phương trình vi phân mô tả các quá trình động lực là phương trình chứa các biến
trạng thái, đạo hàm của nó phụ thuộc vào biến độc lập. Trong chương này chúng ta
sẽ học làm thế nào ñể sử dụng Matlab tìm nghiệm số của phương trình vi phân với
các điều kiện đầu. Trong Matlab có nhiều công cụ, hàm giải phương trình với các
phương pháp khác nhau.

6.1

Giải phương trình vi phân bậc nhất với ode23 và ode45

Để giải số phương trình vi phân thường, trước hết ta cần định nghĩa phương trình
cần phải giải. Để làm ví dụ, ta xét phương trình vi phân sau

cos( )

dy

t

dt

=

Với phương trình đơn giản này ta có thể viết ra được nghiệm chính xác (nghiệm
giải tích)

( )

sin( )

y t

t

C

=

+

, với C là hằng số tích phân phụ thuộc vào điều kiện

đầu. Nghiệm này sẽ được sử dụng ñể so sánh với nghiệm tìm bằng phương pháp
số. Để định nghĩa phương trình vi phân ta tạo một m-file với nội dung


function ydot = eq1(t,y)
ydot = cos(t);

Hàm này sẽ tự động được lấy tên là eq1.m khi ta ghi lại.

Để giải phương trình vi phân, ta gọi hàm ode23, đó là chương trình giải số bằng
phương pháp tích phân sử dụng công thức Runge-Kutta cấp hai và ba. Cú pháp của
câu lệnh như sau

[t, y] = ode23(‘func_name’, [t_strart, t_end], y(0))

Hàm của chúng ta có tên eq1, với khoảng thời gian tích phân

0

2

t

π

, và giả sử

rằng có điều kiện đầu

(0)

2

y

=

. Từ cú pháp trên ta viết

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

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.