Le 04/10/2023 à 09:36, Stephanie MAHEVAS a écrit :
Merci Sigrid.
Le 03/10/2023 à 22:27, Sigrid LEHUTA a écrit :
group.getLength() renvoit la longueur du group en janvier qq soit le moment de l'année.
et c'est bien ce que l'on voit dans la table de correspondance age-longueur de l'interface de structure de population. Et pas la (longmin+longmax)/2 (comme dit dans l'API).
En fait c'est (longmin+longmax)/2 quand c'est structuré en longueur.
Eric, tu confirmes que ce qui est affiché dans l'interface structure de population dans la table de correspondance age-longueur, est bien le resultat de group.getLength() en janvier ?
En age, c'est : getPopulation().getLength(getAge() * Month.NUMBER_OF_MONTH, this); donc l'appel de l'equation de Croissance en Janvier.
La variable age dans l'equation est en mois mais vaut group.getAge() * 12 (donc tjs des multiples de 12). Je ne sais pas qui a écrit ce modèle 😛
Pour avoir une taille qui change au cours de l'année pour une pop en age il faut ecrire ca :
doubleLinf=110,K=0.178,T0=-0.005; intmon=context.getSimulationControl().getStep().getMonth().getMonthNumber(); returnLinf*(1.0-Math.exp(-K*((age+mon)/12-T0)));
oui je suis ok. Mon inquietude portait sur la fonction group.getLength(). Quand on a une equation de croissance en mois comme celle-ci, si group.getLength() travaille avec la fonction de croissance, cela renvoie effectivement la longueur du group pour le pas de temps.
Vous confirmez que group.getLength() fait le calcul avec la courbe de croissance au mois courant de la simu? et avec le mois de janvier dans la table de correspondance age-longueur ?
Pour une population structuré en age, populationGroup.getLength() appel toujours l'equation de Croissance au mois de Janvier de l'année en cours (dans une simu et hors simu). -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28