Симуляция и визуализация развития биологических популяций пары "хищник-жертва" по модели А. Д. Базыкина [1]. За основу взята информация из статьи [2].
На данный момент программа реализует следующую систему дифференциальных уравнений для описания динамики "хищник-жертва":
также есть усложнённая систем, где параметры
Методы Рунге-Кутты (2-го и 4-го порядка) использованы для численного решения системы.
Приложение базируется на .NET 8.0 и использует AvaloniaUI для кросс-платформенного пользовательского интерфейса (вместо WPF) и ScottPlot для отображения графиков.
Также я самостоятельно реализовал версию метода Рунге-Кутты на C# для оптимизации использования памяти и ускорения вычислений:
для хранения результата и всех промежуточных данных используетя один непрерывный массив (см. ArrayPool
), чтобы снизить число аллокаций и событий сборки мусора;
по возможности все опреации с векторами выполняются на месте, без создания копий.
Скачайте в разделе Релизы подходящий для вашей ОС архив с исполняемым файов, распакуйте его и запустите приложение.
- [1] - Базыкин А. Д. Нелинейная динамика взаимодействующих популяций. Москва-Ижевск: Институт компьютерных технологий, 2003. — 368 с.
- [2] - Колпак, Е. П. О моделях А. Д. Базыкина «хищник — жертва» / Е. П. Колпак, Е. В. Горыня, Е. А. Селицкая. — Текст : непосредственный // Молодой ученый. — 2016. — № 2 (106). — С. 12-20. — URL: https://moluch.ru/archive/106/25234/ (дата обращения: 05.12.2024).
Simulation and visualization of evolution of biological populations of prey and predator spicies. This application implements differential equation system invented by A. D. Bazykin [1]. Inspired by this parer [2].
Currently program implements this ODE system for prey-predators dynamics:
and more sophisticated system where parameters
Runge-Kutta methods (2nd and 4th order) are used to solve ODE systems.
Application is built with .NET 8.0 and uses AvaloniaUI for cross-platform user interface (instead of WPF) and ScottPlot for plotting.
I also had implemented my own version of Runge-Kutta method in C# to optimize memory usage (I am storing solution in one continuous pulled Array<double>
to reduce allocations and GC events).
Download archive suitable for your OS from Releases page, unzip it and run the application file. Tested for Windows 10 (x86) and Mac OS (arm).
- [1] - Базыкин А. Д. Нелинейная динамика взаимодействующих популяций. Москва-Ижевск: Институт компьютерных технологий, 2003. — 368 с.
- [2] - Колпак, Е. П. О моделях А. Д. Базыкина «хищник — жертва» / Е. П. Колпак, Е. В. Горыня, Е. А. Селицкая. — Текст : непосредственный // Молодой ученый. — 2016. — № 2 (106). — С. 12-20. — URL: https://moluch.ru/archive/106/25234/ (дата обращения: 05.12.2024).