Boucler sur certains groupes au sein d'une équation de reproduction.
Bonjour, Je veux calculer la MMB (mature male biomass), donc boucler sur seulement certains groupes, les mâles étant séparés des femelles. Je pars de cette équation : for (PopulationGroup cr : groups){ MMB+=cr.getReproductionRate()*cr.getMeanWeight()*prepro*N.getValue(cr,zr); } Sauf que je ne veux boucler que sur les mâles, donc les groupes de 0 à 14 dans mon cas. merci ! Benoit
soit un petit test ! for (PopulationGroup cr : groups){ if (cr.getId() < 15){ MMB+=cr.getReproductionRate()*cr.getMeanWeight()*prepro*N.getValue(cr,zr); } } soit tu prends une sous matrice de ta matrice N MatrixND Nmales = N.getSubMatrix(0,0,15); for (PopulationGroup cr : groups){ MMB+=cr.getReproductionRate()*cr.getMeanWeight()*prepro*Nmales.getValue(cr,zr); } tu fais se reproduire les males entre eux ?? ;-) Benoit Archambault a écrit :
Bonjour,
Je veux calculer la MMB (mature male biomass), donc boucler sur seulement certains groupes, les mâles étant séparés des femelles.
Je pars de cette équation :
for (PopulationGroup cr : groups){
MMB+=cr.getReproductionRate()*cr.getMeanWeight()*prepro*N.getValue(cr,zr); }
Sauf que je ne veux boucler que sur les mâles, donc les groupes de 0 à 14 dans mon cas.
merci ! Benoit ------------------------------------------------------------------------
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
-- Sigrid LEHUTA ~ ><> ~ Doctorante Département Ecologie et Modèles pour l'Halieutique IFREMER, rue de l'ile d'Yeu BP 21105 44311 Nantes Cedex 03 Tél : +33 (0)2 40 37 41 23 (interne : 8123)
On Thu, 01 Jul 2010 09:28:08 +0200 Sigrid LEHUTA <Sigrid.Lehuta@ifremer.fr> wrote:
soit tu prends une sous matrice de ta matrice N MatrixND Nmales = N.getSubMatrix(0,0,15); for (PopulationGroup cr : groups){
MMB+=cr.getReproductionRate()*cr.getMeanWeight()*prepro*Nmales.getValue(cr,zr); }
Je ne pense pas que cette solution fonctionne, car tu réduits ta matrice mais pas ton groups. Et donc a un moment tu vas essayer d'aller a des dimensions qui n'existe pas dans ta matrice :( Si tu es sur que tes groupes sont dans le bon ordre dans dans 'groups', il serait bien de faire List<PopulationGroup> males = groups.sublist(0, 15); for (PopulationGroup cr : groups){ MMB += cr.getReproductionRate()*cr.getMeanWeight()*prepro*Nmales.getValue(cr,zr); } en esperant que groups soit bien une List :) -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
On Thu, 1 Jul 2010 10:56:07 +0200 Benjamin POUSSIN <poussin@codelutin.com> wrote:
List<PopulationGroup> males = groups.sublist(0, 15); for (PopulationGroup cr : groups){ oups, forcement c'est plutot :) for (PopulationGroup cr : males){
-- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
Merci ca marche. (avec sub*L*ist) 2010/7/1 Benjamin POUSSIN <poussin@codelutin.com>
On Thu, 1 Jul 2010 10:56:07 +0200 Benjamin POUSSIN <poussin@codelutin.com> wrote:
List<PopulationGroup> males = groups.sublist(0, 15); for (PopulationGroup cr : groups){ oups, forcement c'est plutot :) for (PopulationGroup cr : males){
-- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii _______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
participants (3)
-
Benjamin POUSSIN -
Benoit Archambault -
Sigrid LEHUTA