Ưu và nhược điểm của cả hai phương pháp:
Ưu điểm RK4:
- độ chính xác (nhờ chuỗi xấp xỉ tốt hơn của nó, nó mang lại một bậc thứ 4)
- giảm xóc nhân tạo / vốn đã gây ra (hơi giống các phương pháp ngầm) làm tăng tính ổn định (trong khi bước Euler đơn giản không - thực tế thì ngược lại, đưa năng lượng ma tích tụ và có thể khiến hệ thống rơi vào hỗn loạn)
Nhược điểm RK4:
- chi phí tính toán: mặc dù không đòi hỏi so với các phương thức ngầm hoặc phương pháp IMEX lai, RK4 đắt hơn 4 lần so với Euler rõ ràng vì nó yêu cầu nhiều đánh giá chức năng hơn. Điều này cho thấy khi nhắm đến lợi thế tối ưu hóa.
- vẫn không ổn định: tùy thuộc vào các loại lực liên quan, RK4 có thể không ổn định như Euler. Trung bình, RK4 ổn định hơn một chút và có xu hướng thu được lợi ích này từ "kỹ năng" giảm xóc.
- Không đối xứng: giảm xóc số đi kèm với chi phí - bạn không thể mô phỏng các hệ thống có năng lượng / âm lượng / vv. mất không nên áp dụng hiệu ứng có thể nhìn thấy theo thời gian (ví dụ: Động lực học phân tử, lực xuất phát từ trường tiềm năng, các vấn đề đa dạng)
Ưu điểm của Verlet:
- một hoặc hai lần độ phức tạp của bước Euler (tùy thuộc vào hương vị Verlet của bạn: vị trí hoặc vận tốc).
- symplectic: bảo tồn năng lượng bên trong
- Độ chính xác của lệnh thứ hai: nhiều trò chơi không yêu cầu kết quả điểm nổi chính xác cao và thứ hai không chỉ làm hài lòng mắt trong kịch bản trò chơi (cộng với: nó được sử dụng trong mô phỏng kịch bản không chơi game khi được "phát hiện", vì vậy nó không tệ)
Nhược điểm:
- ổn định, nhưng vẫn: có lẽ là phương pháp rõ ràng nhất về mặt ổn định. Nó có xu hướng giành lợi thế khi các ràng buộc cứng được thêm vào hệ thống, do đó cho phép giảm đau đầu khi thực hiện các ràng buộc dự kiến trong các động cơ động lực học dựa trên vị trí. Nó khởi hành đến vô cùng nếu hệ thống bị nhiễu loạn với các lực bên ngoài lớn và không có giảm xóc / ma sát được thêm vào. Mặc dù vậy, có một số giới hạn nhất định về số lượng đối với lực bên trong (lò xo) có thể lớn đến mức nào, nhưng chúng trung bình cao hơn những gì RK4 có thể làm
- độ chính xác thấp hơn: không hữu ích nếu bạn muốn ước tính tiền cao
- trung bình, yêu cầu các bước thời gian nhỏ hơn RK4 đối với một số mô phỏng (RK4 được hưởng lợi từ cả độ chính xác và giảm xóc bên trong của nó)
Sử dụng cái này hơn cái kia phụ thuộc vào kịch bản. Nếu độ cứng và lực bên ngoài lớn và năng lượng ảo là một vấn đề, thì hãy xem xét các phương pháp khác có từ "ẩn" trong mô tả / tiêu đề của chúng.
Lưu ý rằng một số tác giả / sách sử dụng thuật ngữ Euler bán ẩn cho một nhà tích hợp Euler rõ ràng thực tế được gọi là phương pháp Euler đối xứng (hay Euler Cromer) mà Verlet thực sự có nguồn gốc. Verlet cũng được một số người gọi là "phương pháp nhảy vọt". Velocity Verlet và phương thức trung điểm khá giống nhau vì ước tính ở bước thời gian làt + 0.5*dt
là cần thiết cho một bước giống như bộ dự đoán. Các phương pháp IMEX (ẩn rõ ràng) cũng được sử dụng để đặt tên cho hai cách tiếp cận tương tự nhưng không giống nhau: tách các phép tính thành các phần cứng và không cứng và sử dụng các tích hợp khác nhau trên chúng (rõ ràng cho không cứng, ẩn cho cứng) HOẶC giải quyết cho vận tốc với bước cập nhật ngầm và cập nhật vị trí một cách rõ ràng (đây là phương pháp bán ẩn lai thuộc lớp phương pháp IMEX vì các phần cứng ảnh hưởng nhiều nhất đến tính toán gia tốc). Các phương thức ngầm là cồng kềnh hơn và yêu cầu giải một hệ phương trình phi tuyến tính đồng thời cho toàn bộ cấu hình. Các phương pháp ngầm được sử dụng cho các cơ thể biến dạng và thường không được sử dụng cho các cơ thể cứng nhắc tách rời.
Như đã nêu trong một trong những ý kiến, nếu bạn có thể, không sử dụng Euler. Sử dụng phương thức trung điểm, Euler bán ẩn hoặc, với cùng một chi phí, Verlet vị trí. Tất cả chúng đều có độ chính xác cao hơn một chút và ổn định hơn so với tích hợp Euler rõ ràng.
Đề nghị so sánh nhỏ:
http://wiki.vdrift.net/Numerical_Integration