Численный алгоритм решения обратной задачи для системы дифференциальных уравнений
Назначение - Программа предназначена для численного решения обратной задачи для линейных систем обыкновенных дифференциальных уравнений с правыми частями.
Область применения - Процессы, характеризующиеся системами линейных дифференциальных уравнений (например, фармакокинетика).
Используемый алгоритм - В работе рассмотрена вариационная постановка обратной задачи для линейной системы дифференциальных уравнений с правыми частями [1]. С помощью введения сопряженной задачи в явном виде была получена матрица градиента целевого функционала (подробное описание алгоритма, вид градиента и сопряженной задачи в файле "Инструкция по работе с программой"). Задача оптимизации решается методом итераций Ландвебера. В программе предусмотрены следующие функции:
1. Задание точности решения.
2. Задание временного интервала.
3. Задание параметра метода итераций Ландвебера.
4. Возможность фиксировать параметры в системе дифференциальных уравнений.
5. Возможность ограничения определяемых параметров интервалом допустимых значений.
6. Задание правых частей системы в виде экспонент.
Инструментальные средства создания - Программа написана на языке программирования C++ в среде разработки Visual Studio 13.
[1] А.И. Ильин, С.И. Кабанихин, Д.А. Воронов, Универсальный подход к решению обратной задачи фармакокинетики в случае произвольного количества камер // Сибирские электронные математические известия. «Труды V международной молодежной школы-конференции "Теория и численные методы решения обратных и некорректных задач". 2014. Т. 11. С. С41-С49
Алгоритм разработан в рамках гранта РФФИ № 16-31-00382.
Компьютер на базе Windows XP (и выше) с оперативной памятью 512 МБ (и больше).
Вложение | Размер |
---|---|
gradient_matrix_method.exe | 112 КБ |
input.txt | 666 байт |
input_data.txt | 250 байт |
instrukciya_po_rabote_s_programmoy.pdf | 190.44 КБ |