linear 1st order ODEs sytem with time-dependent coefficients solver

5 vues (au cours des 30 derniers jours)
Michal
Michal le 20 Juil 2023
Commenté : Bjorn Gustavsson le 3 Août 2023
I need to solve many times the following ODEs system:
F'(t) = A(t)*F(t) + B(t)*U(t)
F(0) = F0
where matrices A(t), B(t) and vector control function U(t) contains time-dependent coefficients or functions, which are represented in my case by discrete time-series (fixed sampling period ~ 1sec, 1e3-1e5 samples). Typical dimension of problem is ~ 2 - 6.
Proper interpolation (smooth and fast enough) of discrete time-series is the crucial requirement.
This ODEs systems will be solved many times (~ 1e2-1e4 times) for different A(t),B(t), U(t) and F0 , so solver should be fast enough + parallelizеd (multithreaded).
The MATLAB offers a set of generic ODE solvers, but I am looking for a specific problem solver (linear 1st order ODEs system with time-dependent coefficients), which will be fast and reliable. So far I found only one solver - LDE.
My questions are:
  1. Is there any other special solver (implemented in MATLAB) suitable to solve my specific problem effectively and reliably?
  2. Is there any reason to expect, that some special solver would be better than standard MATLAB ODE solvers in my specific problem?
  3. Is there any suitable or recomended strategy how to solve this specific problem?
  12 commentaires
Michal
Michal le 27 Juil 2023
OK ... I understand your habits here, but as I said before, now is really not clear, that my comment with citation was requested by @Torsten. This is (of course) a negligible problem, and it was certainly not meant as an insult to you!
Bjorn Gustavsson
Bjorn Gustavsson le 3 Août 2023
I recall reading the answers to this question and gaining some insight to this type of problem. Now, what remains is nothing more than the cold ashes. That's a pity.

Connectez-vous pour commenter.

Réponse acceptée

Michal
Michal le 27 Juil 2023
Modifié(e) : Michal le 27 Juil 2023
This problem is now (starting from R2023a) fully covered by LTV models implemented at Control System Toolbox. These LTV models are based on former LTVTools toolbox, but from now fully implemented and supported by TMW Control System Toolbox.
So far, are not implemented all dicrete methods available for LTI models (FOH, for example), but this is probably the best way how to solve effectivelly linear time-varying systems by MATLAB.

Plus de réponses (1)

Michal
Michal le 25 Juil 2023
Modifié(e) : Michal le 25 Juil 2023
There are two available toolboxes for time-dependent linear 1st order ODEs:
LTVtools: https://www.mathworks.com/matlabcentral/fileexchange/69563-ltvtools
LDE: https://www.mathworks.com/matlabcentral/fileexchange/60475-linear-differential-equation-solver-lde-m
  5 commentaires
Michal
Michal le 25 Juil 2023
Again, did you read my question???
Proper interpolation = smooth and fast enough
Try to focus on my main questions and not on unimportant details.
Paul
Paul le 25 Juil 2023
Yes, I've read your question, comments, and answer. Which interpolation method did you use in the anonymous function handles input to LDE? Just asking out of curiosity at this point because it seems you have a satisfactory answer to your question.

Connectez-vous pour commenter.

Produits


Version

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by