Faire varier une constante en fonction du temps

Fermé
juliadp Messages postés 1 Date d'inscription vendredi 23 novembre 2012 Statut Membre Dernière intervention 23 novembre 2012 - 23 nov. 2012 à 21:56
Bonjour,

J'ai une fonction défini ainsi: [ dX ] = myfunction ( t , X)
qui a un parametre c dans ses equations.

je souhaite faire varier cette constante c en fonction du temps de maniere à obtenir c=1 pour t appartenant à 0->12 et 24->36 et c=2 pour t appartenant à 12->24
J'ai donc écrit dans le corps de myfunction:

if t == [0:12,NaN,24:36]
c=1;
end
if t == [12:24]
c=2;
end

puis dans le script je resoud une ODE:
tspan = [0,36]

[t, X] = ode45(@myfunction,tspan, X0));

Mais cela ne fonctionne pas et je n'arrive pas à trouver l'erreur.
Merci d'avance..
Julia.