Bonjour,

j'ai pour exercice d'étudier les performances d'un solver d'équation différentielle en lui donnant ou non la matrice jacobienne.

Je n'arrive pas à intégrer dans mon problème le jacobian principalement pour des raisons de synthaxe (je n'ai pas trouvé d'exemple très pertinent sur le net ...)

Voilà mon problème de base qui est en fait l'oscillateur de von der Pol et est formulé de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function dx = vdp_custom(t, x) 
dx(1) = x(2);    
dx(2) = 1000*(1 - x(1)^2)*x(2) - x(1);
dx = dx';
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
t_init=0;
t_final=3000;
x1_0=2;
x2_0=1;
 
options_struct = odeset('RelTol', 1E-9, 'AbsTol', 1E-6);
[t, x] = ode23s(@vdp_custom,[t_init t_final],[x1_0 x2_0], options_struct); 
plot(t,x(:,1),'-');
Alors si quelqu'un pouvait me montrer quoi ajouter dans mon script pour utiliser le jacobian dans mon solver, ça me rendrait un grand service!