Chuyển đến nội dung

Công Cụ Tính Phương Pháp Euler

Nhập dy/dx = f(x, y), một điểm ban đầu và một giá trị kết thúc, rồi nhận nghiệm xấp xỉ bằng phương pháp Euler, phương pháp Euler cải tiến (Heun) hoặc Runge–Kutta bậc bốn, kèm bảng từng bước đầy đủ gồm mọi độ dốc, sai số so với nghiệm đúng (hoặc một tham chiếu rất chính xác), điều xảy ra khi bước được chia đôi, và đồ thị trường độ dốc có vẽ nghiệm đè lên. Miễn phí, không cần đăng ký.

Dùng x cho biến độc lập và y cho ẩn số, với + − * / ^ và dấu ngoặc: x + y, x*y, y*(1 − y), sin(x) − y. Các hàm: sin, cos, tan, exp, ln, sqrt và nhiều hàm khác.

Nếu bạn biết nghiệm đúng, hãy nhập theo x để xem sai số thật; nếu không, một tham chiếu RK4 rất chính xác sẽ được dùng.

Kết quả

3,1874849

Xấp xỉ y(1)

3,4365637

Nghiệm đúng y(1)

-0,249

Sai số

0,1

Bước h

10

Số bước n

Phương pháp

yₙ₊₁ = yₙ + h·f(xₙ, yₙ): đi theo độ dốc ở đầu mỗi bước. Sai số toàn cục tỉ lệ với h.

Bảng từng bước

nxₙyₙk1Nghiệm đúng y(xₙ)Sai số
001110
10,11,11,21,1103418-0,0103
20,21,221,421,2428055-0,0228
30,31,3621,6621,3997176-0,0377
40,41,52821,92821,5836494-0,0554
50,51,721022,221021,7974425-0,0764
60,61,9431222,5431222,0442376-0,101
70,72,19743422,89743422,3275054-0,13
80,82,48717763,28717762,6510819-0,164
90,92,81589543,71589543,0192062-0,203
1013,18748493,4365637-0,249

Ba phương pháp với cùng một bước

Phương phápy tại điểm cuốiSai số
Phương pháp Euler3,1874849-0,249
Euler cải tiến (Heun)3,4281617-0,0084
Runge–Kutta 43,4365595-0,00000417

Chia đôi bước (Phương pháp Euler)

nhy tại điểm cuốiSai số
100,13,1874849-0,249
200,053,3065954-0,13
400,0253,3701277-0,0664
800,01253,4029699-0,0336

Với phương pháp Euler, sai số gần như giảm một nửa khi h được chia đôi; với Heun, nó giảm còn một phần tư; với RK4, còn một phần mười sáu.

Đồ thị

  • Nghiệm đúng
  • Phương pháp Euler
Trường độ dốc của dy/dx = f(x, y) với nghiệm Phương pháp Euler từ x = 0 đến x = 100,20,40,60,81123xy

Cách Sử Dụng Công Cụ Tính Phương Pháp Euler

  1. 1. Nhập phương trình. Viết vế phải của dy/dx = f(x, y) bằng x và y: x + y, y*(1 - y), sin(x) - y.
  2. 2. Nhập điều kiện ban đầu và điểm kết thúc. Nhập x₀, y₀ = y(x₀) và giá trị x cần giải đến. Điểm kết thúc có thể nằm bên trái x₀.
  3. 3. Chọn bước. Nhập bước h, hoặc chuyển sang số bước n. Nếu h không chia đều khoảng, công cụ sẽ tự điều chỉnh và cho bạn biết.
  4. 4. Chọn phương pháp và đọc bảng. Mỗi dòng liệt kê xₙ, yₙ và các độ dốc đã dùng. Nếu bạn biết nghiệm đúng, hãy nhập vào để xem sai số thật.

Ba Phương Pháp

Phương phápBướcSai số toàn cục
Euleryₙ₊₁ = yₙ + h·f(xₙ, yₙ)tỉ lệ với h
Euler cải tiến (Heun)yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), với k₁ = f(xₙ, yₙ) và k₂ = f(xₙ + h, yₙ + h·k₁)tỉ lệ với h²
Runge–Kutta 4yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄)tỉ lệ với h⁴

Phương pháp Euler đi theo đường tiếp tuyến tại đầu mỗi bước. Phương pháp Heun lấy trung bình độ dốc ở đầu bước với độ dốc tại điểm cuối đã dự đoán, đó là lý do nó còn được gọi là quy tắc hình thang hiện. Runge–Kutta bậc 4 lấy mẫu độ dốc bốn lần mỗi bước và gán trọng số 1, 2, 2, 1. Đây là các phương pháp trong Numerical Analysis của Burden và Faires, chương 5.

Ví Dụ Minh Họa: y′ = x + y, y(0) = 1

Nghiệm đúng là y = 2eˣ − x − 1, nên y(1) = 2e − 2 ≈ 3,4365637. Với phương pháp Euler và h = 0,1, các bước đầu tiên là:

nxₙyₙđộ dốc f(xₙ, yₙ)nghiệm đúng y(xₙ)
00111
10,11,11,21,1103418
20,21,221,421,2428055
30,31,3621,6621,3997176

Ví dụ, y₁ = 1 + 0,1 × (0 + 1) = 1,1 và y₂ = 1,1 + 0,1 × (0,1 + 1,1) = 1,22. Sau mười bước, phương pháp Euler đạt y(1) ≈ 3,1874849, sai số −0,2491: nó đánh giá thấp vì nghiệm đúng có dạng lồi và các đường tiếp tuyến nằm dưới nó.

Số bước n (h)Sai số Euler tại x = 1Sai số HeunSai số RK4
10 (0,1)−0,2491−0,0084−0,0000042
20 (0,05)−0,1300−0,0022−0,00000027
40 (0,025)−0,0664−0,00056−0,000000017
80 (0,0125)−0,0336−0,00014−0,0000000011

Mỗi lần chia đôi h, sai số Euler giảm khoảng một nửa, sai số Heun giảm còn một phần tư và sai số RK4 còn một phần mười sáu, đúng như bảng bậc hội tụ dự đoán. Để đạt sai số RK4 tại n = 10, phương pháp Euler cần vài trăm nghìn bước.

Đọc Trường Độ Dốc và Sai Số

Các đoạn ngắn trên đồ thị biểu diễn độ dốc f(x, y) tại một lưới điểm: nghiệm đúng là một đường cong tiếp xúc với các đoạn đó ở mọi nơi. Nghiệm số được vẽ dưới dạng đường gấp khúc đè lên trên; nếu bạn cung cấp nghiệm đúng, nó được vẽ bằng nét đứt bên cạnh. Khi không có nghiệm đúng, cột sai số so sánh với một giá trị tham chiếu từ RK4 dùng ít nhất 2.000 bước, chính xác hơn bất kỳ phương pháp nào bạn chọn ở đây. Một số phương trình bùng nổ sau thời gian hữu hạn, như y′ = y² với y(0) = 1 tại x = 1; bảng sẽ dừng ở điểm các giá trị trở nên vô hạn.

Câu Hỏi Thường Gặp

Phương pháp Euler hoạt động như thế nào?
Nó xây dựng nghiệm từng bước. Từ điểm (xₙ, yₙ), nó tính độ dốc f(xₙ, yₙ) từ phương trình vi phân rồi đi theo đường tiếp tuyến đó một khoảng ngang h, cho ra yₙ₊₁ = yₙ + h·f(xₙ, yₙ). Mỗi điểm mới là điểm xuất phát của bước tiếp theo.
Phương pháp Euler chính xác đến mức nào?
Sai số cục bộ mỗi bước tỉ lệ với h², nhưng các sai số tích lũy qua khoảng 1/h bước, nên sai số toàn cục tỉ lệ với h. Chia đôi bước làm sai số giảm còn một nửa. Đây là phương pháp tốt để học và kém để đạt độ chính xác cao.
Phương pháp Euler cải tiến là gì?
Phương pháp Euler cải tiến, hay phương pháp Heun, trước hết thực hiện một bước Euler để dự đoán điểm cuối của khoảng, rồi lấy trung bình độ dốc tại đó với độ dốc ở đầu bước. Hiệu chỉnh bậc hai này làm sai số toàn cục tỉ lệ với h² thay vì h, đổi lại mỗi bước phải tính độ dốc hai lần.
Tôi chọn bước h như thế nào?
Hãy dùng bảng chia đôi: giảm h cho đến khi đáp án không còn thay đổi ở các chữ số bạn quan tâm. Phương pháp Euler cần h nhỏ, nhưng RK4 đạt cùng độ chính xác với h lớn hơn nhiều. Phương trình cứng (có các thành phần phân rã nhanh) có thể buộc mọi phương pháp này phải dùng h nhỏ.
Công cụ có giải được phương trình cấp hai hoặc hệ phương trình không?
Không. Nó chỉ giải một phương trình cấp một dy/dx = f(x, y). Phương trình cấp hai có thể viết lại thành một hệ cấp một, nhưng công cụ này không xử lý hệ phương trình.
Vì sao nghiệm dừng giữa chừng?
Các giá trị đã trở nên vô hạn, điều này xảy ra khi nghiệm đúng bùng nổ sau thời gian hữu hạn hoặc khi bước quá lớn đối với một phương trình không ổn định. Bảng kết thúc ở dòng hữu hạn cuối cùng, và thông báo cho biết giá trị x gần nơi điều đó xảy ra.

Công Cụ Liên Quan

Thêm trong Máy tính toán học