et sinon .reduceDims(1) au lieu de .reduce() Le 25 mars 2015 09:00, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
encore une idee sans grande conviction essaie double nzone = N.getSubMatrix(0,cr,1).sumAll();
Le 24 mars 2015 23:34, <Stephanie.Mahevas@ifremer.fr> a écrit :
Bon ben niet...
merci Sigrid! Je vais faire la boucle entiere tant q'un lutin ne me donnera pas la solution. a+ Steph
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
desolee j ai ete happee par autre chose
essaie peut etre de decomposer matrixND nzone = N.sumOverDim(1).reduce(); ssb += cr.getMaturityOgive()*nzone.getValue(cr) * cr.getMeanWeight() *prepro ;
j ai pas d autre idee comme ca... a part a ajouter une boucle sur les zones mais beurk.
Le 24 mars 2015 12:21, <Stephanie.Mahevas@ifremer.fr> a écrit :
Merci Sigrid.
j'ai teste les 2 :
ssb += cr.getMaturityOgive()*N.sumOverDim(1).getValue(cr,0) *
cr.getMeanWeight() *prepro ;
ne marche pas
ou
ssb += cr.getMaturityOgive()*N.sumOverDim(1).reduce().getValue(cr) * cr.getMeanWeight() *prepro ;
produit le message suivant Caused by: java.util.NoSuchElementException: L'élément demandé [0] n'existe pas dans la matrice [58, 9]
comme si cela ne reduisait pas la matrice N agregee sur la dimension zone en un vecteur.... une idee?
merci Steph
Le 24 mars 2015 11:41, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit
:
je dirais
for (PopulationGroup cr : groups){ ssb += cr.getMaturityOgive()*N.sumOverDim(1).getVal ue(cr) * cr.getMeanWeight() *prepro ; }
Le 24 mars 2015 11:21, <Stephanie.Mahevas@ifremer.fr> a écrit :
Bonjour > j'ai une erreur dans l'evaluation d'une equation, certainement du à > une > erreur de syntaxe > (Fatal erreur, debug attaché, equation ci-dessous) > si quelqu'un peut m'aider??? > merci > Stephanie > > equation de reproduction > double pente = 95.12; > double ssbmin = 5.9*Math.pow(10,6); > double rssbmin = 5.66*Math.pow(10,8); > // Equation Hockey-Stick : recrutement = pente*ssb si ssb < ssblim, > recr(ssblim) > // Parametres pour stock en kg et recrutement en nombre > > double recrudszone=0.0; > double ssb = 0; > double recru=0.0; > double ssbdszone = 0.0; > > int y = context.getSimulationControl().getStep().getYear(); > > > if (month.getMonthNumber()==0) { > if (y!=0){ > //recrutement global > for (PopulationGroup cr : groups){ > log.info("N.getValue(cr) : " + > N.getValue(cr)); > ssb += > cr.getMaturityOgive()*N. > getValue(cr) > * cr.getMeanWeight() *prepro ; > } > log.info("ssb : " + ssb); > //recrudszone = alpha * ssb / (beta + ssb); > if (ssb < ssbmin) { > recru = pente*ssb; > } else {recru = rssbmin;} > log.info("recru : " + recru); > // recrutement par zone > for (Zone zone:zoneRepro){ > ssbdszone = 0.0; > for (PopulationGroup cr : groups){ > ssbdszone += > cr.getMaturityOgive()*N.getValue(cr,zone) * cr.getMeanWeight() > *prepro > ; > } > recrudszone = recru*ssbdszone/ssb; > result.setValue(zone,recrudszone); > log.info("recrudszone : " + > recrudszone); > } > } else { > for (Zone zone:zoneRepro){ > recrudszone=0.0; > result.setValue(zone,recrudszone); > } > } > } > return 0; > > _______________________________________________ > 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
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users