In this project we solve direct problem (DP) and inverse problem (IP) for ODE using linearization algorithm for representing the problem in Aq=f view in order to use SVD algorithm to get the final solution
Рассмотрим прямую задачу, которая является задачей Коши для системы ОДУ:
x^(1)=B(x(t),φ)
x(0)=ψ
t∈(0,T) x∈R^N,φ∈R^M,ψ∈R^N
Обратной будет задача определения вектора параметров q=(φ,ψ)^T∈ R^(M+N) по данным измерений в фиксированных точках времени (полученных экспериментально или синтетически: решением прямой задачи с заранее известными параметрами)
x_n (t_k,φ,ψ)=x_n^k
k=1,…,K_n; n=1,…,N.
Решение прямой задачи будем записывать в виде x=x(t,φ,ψ), имея ввиду зависимость решения от вектора параметров φ и начальных данных ψ.
Не вдаваясь в подробности скажем, что текущая задача аппроксимируется и дискретизируется на сетке, а затем сводится с помощью линеаризации к системе Aq=f вида:
〖(A)〗((N * N_t )×(M + N) )=〖(A_1 |…| A(N_t))〗^T , где N_t - количество точек сетки
q - вектор неизвестных параметров, требуемых для нахождения (решение обратной задачи)
f - вектор данных, которые берутся экспериментально, или из решения прямой задачи с известными параметрами (синтетически)
Важно сказать, что в реальных случаях этих данных очень мало, и поэтому проводится их линейная интерполяция на узлы сетки.
Данная система решается SVD алгоритмом.
Стоить отметить, что из-за линеаризации и применения формулы Тейлора при построении алгоритма, в результате решения системы получается не сам вектор неизвестных параметров, а некоторая разница δq.
Поэтому данный алгоритм сворачивается в итерационный процесс, где на каждом шаге составляется линейная система, решается SVD алгоритмом, находится δq и затем, после прибавления к начальному приближению мы получаем уже вектор восстановленных (неизвестных) параметров q, который и сравнивается с точным вектором решений (известный заранее). Т.е. сравниваем по итерациям с точным решением:
-
q_sol_0 = q_0 + δq_0
-
q_sol_1 = q_sol_0 + δq_1
-
q_sol_2 = q_sol_1 + δq_2
Итерации останавливаются, когда L2 норма разницы векторов q_sol_n и q_exact будет меньше заранее заданной точности eps.