Bonsoir,

je me pose quelques questions au sujet du calcul d'erreur globale pour l'intégration numérique d'un système différentiel ordinaire.
J'ai calculé une solution (que je considère comme exacte) à l'aide d'un solver matlab ode. A côté de ceci, j'ai appliqué une méthode numérique à mon problème.

Je souhaite maintenant calculer l'erreur maximale (sur le temps lorsque mon pas h est fixé) : mon problème le vecteur solution [t, x] retourné par le solver matlab n'a évidemment pas la même dimension que le vecteur [tt, xx] obtenu via l'application de ma méthode numérique.
Pour calculer max(abs(xx-x)), il faudrait que je puisse 'évaluer' ma solution exacte aux temps tt en lesquels j'ai calculé la solution approchée par ma méthode numérique.

Du coup je me suis dit : je pourrais simplement interpoler ma solution exacte et l'évaluer aux temps tt, i.e. remplacer le vecteur x par le vecteur x_ex = interp1(t,x,tt), ce qui me permet de calculer max(abs(xx-x_ex)).

Ma question : est-ce une bonne idée? ou y aurait-il un moyen d'éviter cette interpolation?

Merci!