(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