aboutsummaryrefslogtreecommitdiffstats
path: root/include/diffeq.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/diffeq.h')
-rw-r--r--include/diffeq.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/diffeq.h b/include/diffeq.h
new file mode 100644
index 0000000..51f85e6
--- /dev/null
+++ b/include/diffeq.h
@@ -0,0 +1,22 @@
+#ifndef T8_DIFFEQ_H
+#define T8_DIFFEQ_H
+#include <types.h>
+
+/*
+ * `eqfs` - Массив функций
+ * `init` - массив начальных условий f_n(a) = init[n] (значение функций в начале интервала!)
+ * `files` = массив файлов, в который записывать получившиеся приближения
+ * `n` - количество уравнений ( и начальных условий ) ( и переменных )
+ * `a` - начало интервала решения ( по t? )
+ * `b` - конец интервала решения ( по t? )
+ * `dt` - шаг по времени
+ */
+void difeq_solve_euler(eqf_t *eqfs, f64 *init, const char **files, usz n, f64 a, f64 b, f64 dt);
+
+/*
+ * То же самое, что и прошлая функция, только использует не метод эйлера, а метод рунге-кутты.
+ * Аргументы все точно такие же
+ */
+ void difeq_solve_RK(eqf_t *eqfs, f64 *init, const char **files, usz n, f64 a, f64 b, f64 dt);
+
+#endif /* T8_DIFFEQ_H */