Solution système d'équations avec ODE solver
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:
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:
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 !