2013-06-04 116 views
14

Tôi đã làm việc với sympy và scipy, nhưng không thể tìm thấy hoặc tìm ra cách giải quyết một hệ phương trình vi phân kết hợp (phi tuyến tính, thứ tự đầu tiên).Bất kỳ cách nào để giải quyết một hệ phương trình vi phân kết hợp trong python?

Vì vậy, có cách nào để giải quyết phương trình vi phân kết hợp không?

Các phương trình có dạng:

V11'(s) = -12*v12(s)**2 
v22'(s) = 12*v12(s)**2 
v12'(s) = 6*v11(s)*v12(s) - 6*v12(s)*v22(s) - 36*v12(s) 

với điều kiện ban đầu cho v11 (s), v22 (s), v12 (s).

+0

Hãy xem [sage] (http://www.sagemath.org/). Nó cung cấp chức năng giống như toán học với cú pháp python. Nó có thể có khả năng giải quyết các eq khác. – SethMMorton

+0

Bạn đang tìm kiếm giải pháp phân tích hay giải pháp số? (Bạn đã đề cập sử dụng sympy, vì vậy bạn có thể hy vọng cho một giải pháp phân tích, nếu có.) –

+0

@WarrenWeckesser Một giải pháp số, tương tự như NDsolve cho toán học. – faceforest

Trả lời

12

Đối với giải pháp số của ODE với scipy, hãy xem hàm scipy.integrate.odeint hoặc lớp scipy.integrate.ode.

Một số ví dụ được đưa ra trong SciPy Cookbook (cuộn xuống phần "Phương trình vi phân thông thường").

+0

Làm việc hoàn hảo và dễ theo dõi. Cảm ơn bạn! – faceforest