ในปัญหานี้ เราจะได้ สมการเชิงอนุพันธ์ f(x, y) =dy/dx ด้วยค่าเริ่มต้น y(x0 ) =y0 . งานของเราคือการหาคำตอบของสมการโดยใช้วิธีออยเลอร์ในการแก้สมการอนุพันธ์
วิธี EULER
วิธีการออยเลอร์เรียกอีกอย่างว่า วิธีส่งต่อออยเลอร์ เป็นขั้นตอนเชิงตัวเลขลำดับแรกในการหาคำตอบของสมการอนุพันธ์ที่กำหนดโดยใช้ค่าเริ่มต้นที่กำหนด
สำหรับสมการอนุพันธ์ f(x, y) =dy / dx วิธีการออยเลอร์ถูกกำหนดเป็น,
y(n+1) =y(n) + h * f( x(n), y(n) )
ค่า h คือขนาดขั้นที่คำนวณได้ดังนี้
h =(x(n) - x(0)) / n
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream>
using namespace std;
float equation(float x, float y) {
return (x + y);
}
void solveEquationEulers(float x0, float y, float h, float x) {
float temp = 0.0;
while (x0 < x) {
temp = y;
y = y + h * equation(x0, y);
x0 = x0 + h;
}
cout<<"The solution of the differential equation at x = "<< x <<" is f(x, y) = "<<y;
}
int main()
{
float x0 = 0;
float y0 = 1;
float h = 0.5;
float x = 0.1;
solveEquationEulers(x0, y0, h, x);
return 0;
} ผลลัพธ์ -
The solution of the differential equation at x = 0.1 is f(x, y) = 1.5