Линейная система дифференциальных уравнений методом Эйлера - C#
Формулировка задачи:
Здрасте, вообщем прочитал много интересный источников, и как-то не понял как это решается. Не пойму самого алгоритма решения(проблема не в написании кода).
Вот пару источников которые якобы рассказывают для чайников как это сделать:
1. http://mathhelpplanet.com/static.php...nyeinyh-sistem
2. http://www.mathelp.spb.ru/DU/p12.htm
Может кто знает как это делается.)) растолкуйте.)
Решение задачи: «Линейная система дифференциальных уравнений методом Эйлера»
textual
Листинг программы
public class Euler
{
public static List<EulersResult> GetAnswer(double a, double b, double h, double Y0)
{
List<EulersResult> result = new List<EulersResult>();
double y0 = 1, //начальное условие
x0 = a,
x = x0,
y = y0,
eps = 0; //ошибка
int n = (int)Math.Ceiling((b - a) / h); //кол-во итераций
for (int i = 0; i < n + 1; i++)
{
result.Add(new EulersResult()
{
x = x,
y = y,
eps = eps
});
y = y + h * Function(x, y); //делаем шаг
eps = Math.Abs(y - 2 / x);
x += h;
}
return result;
}
private static double Function(double x, double y)
{
double res = -x * y / (x + 1);
return res;
}
}