(Hey ! Salut Benoit !! (savais pas que t'étais encore là!) ) Yep vous avez raison, c'est des arrondis cf print de la matrice dans les logs en pj mais ca ne le fait pas a chaque fois... comment ca se fait? Eric, comment je fais pour le forcer à utiliser 0.3 quand j'écris 0.3 et pas 0.29999999999999993 ? Merci ! Le 18 février 2014 11:38, <Loic.Gasche@ifremer.fr> a écrit :
Non pas spécialement d'idée pour le moment, c'était pour essayer de mieux cerner le problème.
Avec une valeur si proche de 0 j'aurais pensé comme toi à des arrondis.
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
non elle change avec le temps elle diminue avec la mortalité naturelle (c
est ca qui est beau) ! tu penses à quoi ? ca commence a -1.08e-9 c est faible d ou mon interrogation sur les arrondis...
mais comme la migration se fait par une multiplcation de matrice je vois mal comment ca peut générer des nombres negatifs ... MatrixND tmp2 = tmp0.mult(tmp1); tu as une idée ? merci
Le 18 février 2014 10:27, <Loic.Gasche@ifremer.fr> a écrit :
La valeur négative est toujours la même ? Elle est de combien ?
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
les effectifs d'une de mes zones de départ se retrouvent négatifs après
migration alors que la somme des coefficients est 1 et qu'elle devrait donc etre vide (à 0).
Est ce que ca peut venir d'arrondis ? ou ai-je fait une erreur dans mon equation? la voici: int y = context.getSimulationControl().getStep().getYear(); if(y == 0){ if(group.getAge() > 2 && "30F1".equals(arrivalZone.getName())){ return 0.3; }else if(group.getAge() > 2 && "30F0".equals(arrivalZone. getName())){ return 0.41; }else if(group.getAge() > 2 && "29F1".equals(arrivalZone. getName())){ return 0.13; }else if(group.getAge() > 2 && "28F0".equals(arrivalZone. getName())){ return 0.06; }else if(group.getAge() > 2 && "28E8".equals(arrivalZone. getName())){ return 0.02; }else if(group.getAge() > 2 && "28E9".equals(arrivalZone. getName())){ return 0.02; }else if(group.getAge() > 2 && "29E9".equals(arrivalZone. getName())){ return 0.02; }else if(group.getAge() > 2 && "29F0".equals(arrivalZone. getName())){ return 0.02; }else if(group.getAge() > 2 && "27E9".equals(arrivalZone. getName())){ return 0.02; }else return 0; }else if(y == 1){... etc
la zone en négatif est Sole_nurs, elle ne recoit aucun poisson lors de la migration mais se vide. Merci!
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users