Может ли кто-нибудь знать реализацию Рунге Кутты для функции с 5 переменными?

Мне нужно решить дифференциальное уравнение в С# для функции с 5 переменными: f(x1,x2,x3,x4,x5). Насколько я знаю, не существует никакой библиотеки в С# для ODE, поэтому я начал реализовывать Рунге Кутта, но не могу найти никаких формул для более чем 3 переменных. Мой код выглядит так: это мой первая функция, которая имеет 5 переменных. fmin, fmax, fd — другие функции, которые я реализовал.

public double f1(double HR, double lambda, double v, double t, double HR0)
        {
            return fmin(HR, lambda) * fmax(HR, lambda) * fd(HR, lambda, v, t, HR0);
        }

У меня есть другая функция:

public double f2(double t)
        {
            return 2*t+3;
        }

И эти две функции составляют систему ОДУ. Я написал метод, который должен решить эту систему, с именемsolve(), но я не могу реализовать его для 5 переменных. Кто-нибудь может мне помочь?


person erbo    schedule 22.03.2019    source источник
comment
Не могли бы вы опубликовать свой код и исследовать, чтобы вам было легко помочь?   -  person er-sho    schedule 22.03.2019
comment
Существует библиотека OSLO, описанная в stackoverflow.com/q/54609747/3088138, которой должно быть достаточно для большинства целей. Нет никакой концептуальной разницы в решении системы из 2, 5 или 500 переменных, если вы используете векторно-ориентированный подход.   -  person Lutz Lehmann    schedule 22.03.2019
comment
Вы также можете посмотреть на несколько реализаций метода RK4 на C и C++ здесь, некоторые из них находятся в Связанном списке справа.   -  person Lutz Lehmann    schedule 22.03.2019