Добавил:
baraevaliza
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ИДЗ ДифУры 2024 / Связанные маятники обратная задача
.pdf
КОЛЕБАНИЯ СВЯЗАННЫХ МАЯТНИКОВ
Перед нами стоит задача восстановления исходных параметров модели
при помощи метода Гаусса-Ньютона.
Нашей целью является определение параметров 𝑚1, 𝑚2, 𝑙1, 𝑙2 на основе
наблюдаемых значений углов отклонений маятников. На исходные данные был
наложен шум в размере 1%.
Метод Ньютона-Гаусса использует итерационный процесс, а для
решения СЛАУ на каждой итерации применяется LU-разложение.
Описание программы:
solve_system: функция метода Рунге-Кутты 4-го порядка решает прямую
задачу.
residuals: функция невязки, которая вычисляет разницу между
модельными (полученными из решения системы) и наблюдаемыми данными
(зашумленными измерениями).

lu_decomposition: функция, реализующая LU-разложение матриц.
lu_solve: функция решения СЛАУ с использованием LU-разложения.
noisy: функция добавляет случайный шум к истинным параметрам в
диапазоне 1%.
gauss_newton: функция, реализующая метод Гаусса-Ньютона, который
минимизирует невязки между наблюдаемыми и модельными значениями. В
начале функции накладывается шум на истинные параметры в размере 1% с
помощью функции noisy.
На каждой итерации вычисляются невязки и вычисляется матрица
Якоби, которая представляет собой производные невязки по параметрам.

Далее с помощью LU-разложения решается система линейных
уравнений (𝐽𝑇𝐽𝛥 = 𝐽𝑇𝑟) для уточнения значения параметров.
LU-разложение представляет собой представление матрицы 𝐴 в виде
𝐴 = 𝐿 ⋅ 𝑈, где 𝐿 – нижнетреугольная матрица с еденичной диагональю, а 𝑈 –
верхнетреугольная матрица.
Далее решается СЛАУ 𝐴𝑥 = 𝑏. Т.к. известно LU-разложение
матрицы 𝐴, то система может быть записана как 𝐿𝑈𝑥 = 𝑏. Эта система
решается в 2 шага: системой 𝐿𝑦 = 𝑏 и 𝑈𝑥 = 𝑦.

Итерации продолжаются до тех пор, пока не будет достигнута
сходимость (норма изменения параметров меньше эпсилон) или не будет
достигнуто максимальное количество итераций.
В основном коде задаются начальные условия initial_conditions и
истинные параметры системы true_params. Затем решается система уравнений
с истинными параметрами методом Рунге-Кутты 4-го порядка. После к
результатам добавляется шум. В конце вызывается функция метода Гаусса-
Ньютона с зашумленными данными.
Пример работы программы:
Соседние файлы в папке ИДЗ ДифУры 2024
