Bonsoir,
j'espere que vous pourrez m'apporter de l'aide. je suis actuellement en train de reprendre le code de quelqu'un dans le cadre d'un projet et je voudrais remplacer un pas de temps adaptatif qui se trouve dans se code par autre chose, mais je ne sais pas quoi...
1°) le code permet de calculer en fonction du temps l'evolution d'un nombre de données et l'evolution de la taille de ces données. Les equations qui régissent le probleme sont du type:
dN/dt=6*a*exp(-t/b) et dT/dt=b.c^0.5
avec a, b,c des valeurs qui dépendent d'où on se trouve dans le calcul. t est le temps et dN et dT sont les quantité que je souhaite calculé (evolution du nombre N et de la taille T)
2°) ce qui est fait actuellement est que l'on part d'un pas de temps tres tres faible et que l'on calcul pour le premier pas:
IncrementN=(dN/dt)*Increment_t
IncrementT=(dT/dt)*Increment_t
ensuite on verifie que les resultats N et T sont cohérents:
N=N-1+IncrementN
T=T-1+IncrementT
si c'est le cas alors le prochain increment de temps sera:
Increment_t=Increment_t*1.3
sinon on reduit l'increment pour etre plus precis:
Increment_t=Increment_t*0.5
3°) cette methode marche bien mais ce n'est pas du tout optimisé car les coefficients que je mets pour augmenter ou reduire le pas de temps sont dependants du probleme et je ne peux donc pas les optimiser pour ameliorer les temps de calculs.
Sauriez vous si il existe une autre methode de resoudre mon probleme?
Partager