Finding best parametric function estimation for ODE of first order
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Lyudmil Yovkov
le 18 Juil 2021
Modifié(e) : Lyudmil Yovkov
le 31 Juil 2021
Hello to every one.
Until now I've solved differential equations numerically under given formulae for their coefficients and given initial / boundary conditions. But recently I've been dealt with the inverse problem, namely: find the best fit to the solution of the ODE regarding some unknown paramateres. The hard part here is due to the fact that we need to determine not a single value but the values of a whole parametric function.
Consider the following initial value problem for ODE of first order:
Solving the equation by separation of the variables we obtain the exact solution
Let's consider however this problem statement: given the Cauchy's problem
whose solution is known over the grid Find the estimated values of the function fitting the solution , i.e. establish that they're eventually located close enough to the curve .
I read a lot about the topic but I didn't find what I searched for. Could you give me some short explanations or guidelines on how to perform this idea in general and later using MATLAB toolboxes?
Kind regards,
Lyudmil Yovkov, PhD
0 commentaires
Réponse acceptée
Torsten
le 18 Juil 2021
Modifié(e) : Torsten
le 18 Juil 2021
Search for a book on optimal control of ODEs and DAEs, e.g.
Matthias Gerdts:
Optimal control of ODEs and DAEs
De Gruyter 2011
Or start with an introductory script:
silo.tips/download/optimal-control-of-odes-introductory-lecture
Finally, you will have to use Matlab's lsqcurvefit or fmincon to determine the coefficients c_i on the grid x_i that minimize
sum_{i=0}^{i=n} (u_i - u_i(c_i))^2
where u_i(c_i) are the values for u obtained from the ODE by using the c_i as coefficients in front of du/dx.
11 commentaires
Torsten
le 21 Juil 2021
The structure of the program will be the same. In f, you will have to call the pdesolver instead of ode15s, and the computation time will be longer.
Plus de réponses (2)
Alan Stevens
le 18 Juil 2021
First plot the points, ui vs xi to see what sort of curve it might be. If it looks like it could be a polynomial (as in the case of u = x^2 + 1) then lookup help on polyfit.
1 commentaire
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!