Bonjour !

Je tente de résoudre un simple système d'équations différentielles ODE, mais j'obtiens un vecteur de solution NaN et je n'arrive pas à trouver pourquoi..

Voici mon fichier principal test.m :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Remplissage du vecteur de valeurs initiales y0:
 
y0=zeros(5,1);
y0(1) = 0; 
y0(2) = 0; 
y0(3)= 33.3; 
y0(4)= 8.307; 
y0(5) = 0; 
 
%Plage de temps de simulation 
tspan=[0,10000];
 
%Appel du solveur d'équations différentielles (ODE)
[T,Y] = ode15s(@equation_test, tspan, y0);
%J'ai aussi essayé ode45, ode23s and ode114..
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Et le fichier equation_test.m contenat mes équations différentielles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
function dydt=equation_test(t,y)
 
dydt=zeros(5,1);
 
k1=0.003;k_1=0.06;
k2=0.01;k_2=0.1;
k3=1;k_3=0.01;
Vmax4=450;Km4=50;
 
v1=k1*y(3)*y(4)-k_1*y(1);
v2=k2*y(1)*y(1)-k_2*y(2);
v3=k3*y(2)-k_3*y(5);
v4=Vmax4*(y(5)/(Km4*y(5))); 
%Le problème est probablement ici puisque 0/0 = NaN mais comment je 
%peut résoudre le problème si la valeur initiale doit être y(5) = 0 pour la    première itération ?
 
dydt(1)=v1-(2*v2);
dydt(2)=v2+v3-v4;
dydt(3)=-v1;
dydt(4)=-v1;
dydt(5)=-v1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Merci de votre aide, elle est très appréciée !