Линейная система дифференциальных уравнений методом Эйлера - 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;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы