Bonjour,

j'aimerai résoudre une équation différentiel avec le solver ode45, mais il faut que tout mon code soit dans un seul script, je sais que c'est possible mais je n'ai pas trouvé comment

Pour l'instant mon code est séparé en deux script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
t_init=0;
t_final=10;
x1_0=1;
x2_0=1;
 
options_struct = odeset('RelTol', 1E-9, 'AbsTol', 1E-6);
[t, x] = ode45(@func,[t_init t_final],[x1_0 x2_0], options_struct); 
 
plot(t,x(:,1),'-',t,x(:,2),'.'); 
 
inits='x1(0)=1,x2(0)=1';
[x1,x2]=dsolve('Dx1=-x1+x2','Dx2=-x2',inits)
et la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function x_dot = func(t, x)
x_dot(1) = -x(1) + x(2);  
x_dot(2) = -x(2);
 
x_dot = x_dot';
mon problème se trouve surtout dans la syntaxe :s

Quelqu'un pourrait m'aider svp? c'est un peu pressant