Tôi đang tìm một thư viện tốt sẽ tích hợp các ODE cứng trong Python. Vấn đề là, odeint của scipy mang lại cho tôi các giải pháp tốt đôi khi, nhưng thay đổi nhỏ nhất trong điều kiện ban đầu khiến nó rơi xuống và bỏ cuộc. Vấn đề tương tự cũng được giải quyết khá an toàn bởi các bộ giải mã cứng của MATLAB (ode15s và ode23s), nhưng tôi không thể sử dụng nó (ngay cả từ Python, vì không có ràng buộc Python nào cho MATLAB C API thực hiện callbacks, và tôi cần truyền một hàm cho bộ giải ODE). Tôi đang cố gắng PyGSL, nhưng nó phức tạp khủng khiếp. Bất kỳ đề xuất sẽ được đánh giá rất cao.Tích hợp các ODE cứng với Python
EDIT: Vấn đề cụ thể mà tôi gặp phải với PyGSL là chọn đúng chức năng bước. Có một số trong số đó, nhưng không có tương tự trực tiếp với ode15s hoặc ode23s (công thức bdf và Rosenbrock đã sửa đổi nếu điều đó có ý nghĩa). Vì vậy, một chức năng bước tốt để lựa chọn cho một hệ thống cứng là gì? Tôi phải giải quyết hệ thống này trong một thời gian dài để đảm bảo rằng nó đạt đến trạng thái ổn định, và GSL giải quyết hoặc chọn một bước thời gian rất nhỏ hoặc một bước quá lớn.
Tôi muốn giúp bạn với PyGSL. Tôi chưa bao giờ sử dụng nó, nhưng tôi có kinh nghiệm với GSL. Tôi chỉ xem xét các ví dụ được cung cấp trong pygsl (odeiv.py) và nó trông khá giống như trong C. Bạn có nghĩ rằng PyGSL là khủng khiếp phức tạp vì giao diện python hoặc GSL mỗi se? – YuppieNetworking
Vâng, phức tạp khủng khiếp có lẽ là một lời nói quá mức :). Nó _is_ một thứ tự của cường độ phức tạp hơn MATLAB hoặc scipy mặc dù. Để làm rõ, giao diện python là khá giống với giao diện C, do đó, nó là thư viện chính nó là phức tạp. Plus, PyGSL không tài liệu odeiv, vì vậy tôi phải sử dụng các tài liệu C để tìm ra những gì cần làm trong Python. Không vui. –
Đã chỉnh sửa câu hỏi. –