Công cụ này làm gì
Công cụ giải số phương trình vi phân thường bậc nhất có dạng y' = F(x, y) với điều kiện ban đầu y(x0) = y0, dựa trên phương pháp Euler tiến (hiển) kinh điển. Nó đi từ x0 đến xn qua n bước bằng nhau, rồi trả về bước nhảy h, bảng đầy đủ các giá trị xấp xỉ (x, y) và giá trị gần đúng tại điểm cuối y(xn).
Cách sử dụng
Nhập vế phải F(x, y) dưới dạng một biểu thức toán theo hai biến x và y (các phép toán + - * / ^, dấu ngoặc, cùng các hàm như sin, cos, exp, log/ln, sqrt, abs, và hai hằng số pi và e). Đặt điểm xuất phát x0, giá trị ban đầu y0, điểm cuối xn, rồi chọn số khoảng chia n. Chọn n càng lớn thì bước nhảy càng nhỏ và kết quả thường càng chính xác.
Giải thích công thức
Bước nhảy được tính bằng \( h = \dfrac{x_n - x_0}{n} \), và các điểm lưới là \( x_k = x_0 + k \cdot h \). Bắt đầu từ \(y_0\), mỗi giá trị mới được tính theo công thức
$$ y_{k+1} = y_k + h \cdot F(x_k,\, y_k) $$: độ dốc \(F\) được lấy tại điểm hiện tại và dùng để bước thẳng một đoạn có độ rộng \(h\). Phương pháp này có độ chính xác bậc nhất, nên sai số toàn cục tỉ lệ cỡ \( O(h) \).
Ví dụ minh họa
Với \( y' = 1 - y^2 \) và \( x_0 = 0 \), \( y_0 = 0 \), \( x_n = 1 \), \( n = 5 \), bước nhảy là \( h = 0.2 \). Quá trình lặp cho ra \( y_1 = 0.2 \), \( y_2 = 0.392 \), \( y_3 = 0.5612672 \), \( y_4 \approx 0.6982668 \), \( y_5 \approx 0.8007513 \). Vậy giá trị Euler ước lượng tại \( x = 1 \) vào khoảng \( 0.8008 \). Nghiệm chính xác là \( \tanh(x) \), nên \( \tanh(1) \approx 0.7616 \); khi tăng \(n\), giá trị Euler sẽ tiến dần về giá trị thực này.
Câu hỏi thường gặp
Vì sao kết quả của tôi lệch so với nghiệm chính xác? Phương pháp Euler chỉ có độ chính xác bậc nhất. Sai số giảm gần như tỉ lệ thuận với \(h\), nên chọn n lớn hơn (bước nhỏ hơn) sẽ cải thiện độ chính xác.
xn có thể nhỏ hơn x0 không? Được. Khi đó bước nhảy \(h\) mang giá trị âm và cùng công thức lặp sẽ tích phân ngược về phía trước.
Hỗ trợ những hàm nào? sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, log/ln, log10, sqrt và abs, cùng hai hằng số pi và e.