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
ouproduit le message suivant
ssb += cr.getMaturityOgive()*N.sumOverDim(1).reduce().getValue(cr) *
cr.getMeanWeight() *prepro ;
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