<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Bonsoir,</p>
<p>merci tout va bien. </p>
<p>C'est un bon début, c 'est vrai que cette equation est sioux... </p>
<p>Si tu ouvres l editeur, en en tete tu vois tous les objets auxquels tu as accès dans l equation, en particulier N la matrice d abondance de la pop. Parfois cela aide a comprendre ce que l equation qoit renvoyer. Ici c'est particulierement pas simple (on travaille sur le manuel pour que cela soit mieux expliqué) mais cette equation doit remplir une matrice a 1 dimension (zones de reproduction) nommée result et ne retourne rien. Donc...</p>
<p>On declare sexRatio</p>
<p><span style="color: #ff0000;">double sexRatio = 0.5;</span></p>
<p>Je ne sais pas si tu as besoin d'une fecondité par groupe si oui utilises le taux de reproduction dans l onglet trait de vie sinon</p>
<p><span style="color: #ff0000;">double fecParGonade = 5000;</span></p>
<p><br /></p>
<p>On boucle donc sur les zones de reproduction puisqu il faut remplir une valeur par zone dans result</p>
<p><span style="color: #ff0000;">for(Zone zr : zoneRepro){</span></p>
<p>on initialise prodOeufs</p>
<p><span style="color: #ff0000;">double prodOeufs = 0;</span></p>
<p>Comme tu l'as bien fait on boucle aussi sur les groupes, mais g est un objet PopulationGroup il n'est pas comparable à un entier 4. L'identifiant du groupe lui est un entier g.getId() est comparable à 4 (tu retrouveras ca dans l'API).</p>
<p><span style="color: #ff0000;">for(PopulationGroup g : groups){</span></p>
<p><span>if (g.getId() < 4) {</span></p>
<p><span></span><span>Ensuite si tu mets un return il va sortir de l'equation alors qu'il n a pas finit de boucler sur les groupes et les zones et qu'il n a pas rempli result ! Cette equation est traitre car elle n a pas besoin de returner qqch, elle remplit simplement result donc on attend la fin pour le return. </span></p>
<p><span>Comme on ne fait rien si g.getId()<4 je ferais l'inverse</span></p>
<p><span><span style="color: #ff0000;">if(g.getId()>3){</span> </span></p>
<p style="font-weight: 400;"><span>La matrice d abondance est une matrice [groupe x zones] pour acceder a la valeur pour le groupe g dans la zone zr : N.getValue(g,zr);</span></p>
<p style="font-weight: 400;"><span>pour le poids on utilise g.getMeanWeight()</span></p>
<p style="font-weight: 400;"><span style="color: #ff0000;">double res = sexRatio * 2*fecParGonade *g.getMeanWeight()*N.getValue(g,zr);</span></p>
<p style="font-weight: 400;"><span style="color: #ff0000;">prodOeufs += res ; // equivalent à prodOeufs + res;</span></p>
<p><span style="color: #ff0000;">} // fin du if</span></p>
<p><span style="color: #ff0000;">} // fin de boucle groupe</span><br /><span style="color: #ff0000;"></span></p>
<p><span style="color: #ff0000;">result.setValue(zr,prodOeufs);</span></p>
<p><span style="color: #ff0000;">} // fin de boucle zone</span></p>
<p><span style="color: #ff0000;">return 0; // pour qu'il sorte de l equation</span></p>
<p><br /></p>
<p>j espere que ca marche !</p>
<p><br /></p>
<p>Le 2020-03-19 20:27, BACH Adrian a écrit :</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored --><!-- meta ignored -->
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size: 11.0pt;">Bonsoir,<!-- o ignored --></span></p>
<p class="MsoNormal"><span style="font-size: 11.0pt;"><!-- o ignored --> </span></p>
<p class="MsoNormal"><span style="font-size: 11.0pt;">J'espère que votre confinement se passe bien !<!-- o ignored --></span></p>
<p class="MsoNormal"><span style="font-size: 11.0pt;"><!-- o ignored --> </span></p>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Une petite question java : je voudrais calculer le nombre d'œufs produits pendant la période de fraye d'un seul mois sur une seule zone de pop avec le calcul suivant (champ 'équation de reproduction' dans le panneau 'Reproductions')<!-- o ignored --></span></p>
<p class="MsoNormal"><span style="font-size: 11.0pt;"><!-- o ignored --> </span></p>
<p class="MsoNormal">// nombre d'oeufs produits = somme sur les groupes 4 à 7 du calcul sexRatio*fecondite*[nombre de poissons dans le groupe]*[leur poids]<!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal"><span style="font-size: 11.0pt;">Je suis complètement nouveau en java donc je ne sais trop comment obtenir les valeurs entre crochets, mais je pensais à un truc comme ça :</span><!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal">//double prodOeufs = 0;<!-- o ignored --></p>
<p class="MsoNormal"><span>//<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//for(PopulationGroup g : pop.getPopulationGroup().get()){<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//    if (g < 4) {<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//        return 0;<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//    } else {<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//        double res = sexRatio * 2*fecParGonade * pop.getPopulationGroup(g).getMeanWeight() * pop.getPopulationGroup(g).getAboundance().sumAll();<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//        prodOeufs = prodOeufs + res;<!-- o ignored --></span></p>
<p class="MsoNormal"><span>//    }<!-- o ignored --></span></p>
<p class="MsoNormal">//}<span><!-- o ignored --></span></p>
<p class="MsoNormal">//return prodOeufs;<!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal">Mais j'obtiens les erreurs suivantes :<!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal"><span>1. ERROR in D:\DATA\a.bach\isis-fish-4\isis-temp\tmp-20200319112700-1491086668\checkPopulationReproductionEquation1429431846243759405Equation.java (at line 23)<!-- o ignored --></span></p>
<p class="MsoNormal"><span>            if (g < 4) {<!-- o ignored --></span></p>
<p class="MsoNormal"><span>                ^^^^^<!-- o ignored --></span></p>
<p class="MsoNormal"><span>The operator < is undefined for the argument type(s) PopulationGroup, int<!-- o ignored --></span></p>
<p class="MsoNormal"><span>----------<!-- o ignored --></span></p>
<p class="MsoNormal"><span>2. ERROR in D:\DATA\a.bach\isis-fish-4\isis-temp\tmp-20200319112700-1491086668\checkPopulationReproductionEquation1429431846243759405Equation.java (at line 26)<!-- o ignored --></span></p>
<p class="MsoNormal"><span>            double res = sexRatio * 2*fecParGonade * pop.getPopulationGroup(g).getMeanWeight() * pop.getPopulationGroup(g).getAboundance().sumAll();<!-- o ignored --></span></p>
<p class="MsoNormal"><span>                                                         ^^^^^^^^^^^^^^^^^^<!-- o ignored --></span></p>
<p class="MsoNormal"><span>The method getPopulationGroup() in the type Population is not applicable for the arguments (PopulationGroup)<!-- o ignored --></span></p>
<p class="MsoNormal"><span>----------<!-- o ignored --></span></p>
<p class="MsoNormal"><span>3. ERROR in D:\DATA\a.bach\isis-fish-4\isis-temp\tmp-20200319112700-1491086668\checkPopulationReproductionEquation1429431846243759405Equation.java (at line 26)<!-- o ignored --></span></p>
<p class="MsoNormal"><span>            double res = sexRatio * 2*fecParGonade * pop.getPopulationGroup(g).getMeanWeight() * pop.getPopulationGroup(g).getAboundance().sumAll();<!-- o ignored --></span></p>
<p class="MsoNormal"><span>                                                                                                     ^^^^^^^^^^^^^^^^^^<!-- o ignored --></span></p>
<p class="MsoNormal"><span>The method getPopulationGroup() in the type Population is not applicable for the arguments (PopulationGroup)<!-- o ignored --></span></p>
<p class="MsoNormal">----------<!-- o ignored --></p>
<p class="MsoNormal">3 problems (3 errors)<!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal">Pourriez-vous me donner un petit coup de main ou partager un script faisant sensiblement le même calcul ?<!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal">Merci et bonne soirée,<!-- o ignored --></p>
<p class="MsoNormal"><!-- o ignored --> </p>
<p class="MsoNormal">Adrian<!-- o ignored --></p>
</div>
<hr /><span style="font-family: Century Gothic,Arial,Calibri; font-size: 12px; color: #888888;">Ce message et ses pièces jointes peuvent contenir des informations confidentielles ou privilégiées et ne doivent donc pas être diffusés, exploités ou copiés sans autorisation. Si vous avez reçu ce message par erreur, merci de le signaler à l'expéditeur et le détruire ainsi que les pièces jointes. Les messages électroniques étant susceptibles d'altération, Egis décline toute responsabilité si ce message a été altéré, déformé ou falsifié. Merci. <br /><br /> This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Egis is not liable for messages that have been modified, changed or falsified. Thank you. </span><hr /><!-- html ignored --><br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> Isis-fish-users mailing list<br /><a href="mailto:Isis-fish-users@list.isis-fish.org">Isis-fish-users@list.isis-fish.org</a><br /><a href="http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users" target="_blank" rel="noopener noreferrer">http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users</a></div>
</blockquote>
</body></html>