Probleme pour avoir des mortailites Naturelle par zone
Bonjour, Je ne vais pas pouvoir le faire tout seul :( Pour l'instant on a une equation pour la mortalité naturelle mais elle ne depand pas des zones. Pour la classe des naissances, il ne semple pas y avoir de probleme je pense y arriver seul, mais pour les autres on a besoin de la mort. nat. dans public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop) qui retourne un float et pas une matrice, et donc je ne sais pas comment faire :( le code actuellement est le suivant (un peu simplifié) public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop) { float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle()/(float)Mois.nbMois; double result = F/(F+M) * (1 - Math.exp(-(F+M))); return (float)result; } Je ne vois pas comment faire apparaitre de la spacialisation la dedans :( idem pour public float survivalRate(Date date, ClassePopulation classe, Secteur zonePop){ float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle()/(float)Mois.nbMois; float result = (float)Math.exp(-(F+M)); return result; } -- 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
Salut, Il n'a y a pas moyen de modifier la méthode getMortaliteNaturelle()? Il faudarait spécifier un argument zone et dans ce cas là le problème est résolu. Ca oblige à modifier la définition de la classe ClassePopulation, je sais pas si c'est compliqué. A+ Hilaire ex: public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop) { float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle(zonePop)/(float)Mois.nbMois; double result = F/(F+M) * (1 - Math.exp(-(F+M))); return (float)result; } Benjamin POUSSIN a écrit:
Bonjour,
Je ne vais pas pouvoir le faire tout seul :(
Pour l'instant on a une equation pour la mortalité naturelle mais elle ne depand pas des zones.
Pour la classe des naissances, il ne semple pas y avoir de probleme je pense y arriver seul, mais pour les autres on a besoin de la mort. nat. dans
public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop)
qui retourne un float et pas une matrice, et donc je ne sais pas comment faire :(
le code actuellement est le suivant (un peu simplifié)
public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop) { float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle()/(float)Mois.nbMois; double result = F/(F+M) * (1 - Math.exp(-(F+M)));
return (float)result; }
Je ne vois pas comment faire apparaitre de la spacialisation la dedans :(
idem pour
public float survivalRate(Date date, ClassePopulation classe, Secteur zonePop){ float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle()/(float)Mois.nbMois; float result = (float)Math.exp(-(F+M));
return result; }
-- 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-devel mailing list Isis-fish-devel@lists.labs.libre-entreprise.org http://lists.labs.libre-entreprise.org/mailman/listinfo/isis-fish-devel
-- Hilaire Drouineau IFREMER, département EMH Centre de Nantes - BP 21105 - 44311 Nantes Cedex 3 tel : +33 (0)2 40 37 43 06 - fax : +33 (0)2 40 37 40 75 email : hilaire.drouineau@ifremer.fr - web : http://www.ifremer.fr *****************************************************************
On Mon, 20 Mar 2006 08:57:30 +0100 Hilaire DROUINEAU <Hilaire.Drouineau@ifremer.fr> wrote:
Salut, Il n'a y a pas moyen de modifier la méthode getMortaliteNaturelle()?
Oui, c exactement ce que j'ai fait, mais le probleme est que si je passe zonePop comme zone, getMortaliteNaturelle doit retourner la mort. nat. moyenne (ou quelque chose comme ca pour toutes les classes/zones vu que la methode retourne un float. Je pensais que vous vouliez plutot, que lorsque j'appelle la methode je passe chaque zone constituant la zonePop pour construire une matrice, ou bien que la methode remplisse directement une matrice (comme pour la repro). Mais quelque soit la methode utilisé a la fin j'ai une matrice de mortalite naturelle et non pas un float et donc que ca ne passe plus avec les calculs actuels. Et c la qu'il me faut de l'aide. (modification des calcules actuelles) Par contre si tu ne souhaites avoir que la zonePop (ensemble des zones de la pop) et sortir un float pour la mort. nat. et bien la version actuelle est capable de le faire. vu que tu as 'classe' comme parametre tu fais classe.getPopulation().getZonePopulation() et tu l'as sans que je te la passe en parametre.
Il faudarait spécifier un argument zone et dans ce cas là le problème est résolu. Ca oblige à modifier la définition de la classe ClassePopulation, je sais pas si c'est compliqué. A+ Hilaire
ex: public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop) { float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle(zonePop)/(float)Mois.nbMois; double result = F/(F+M) * (1 - Math.exp(-(F+M)));
return (float)result; }
-- 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
Bonjour dans unpremier temps tu peux simplement le faire sur la classe naissance. pour ce qui est des autres classes, il me semble que cela ne devrait pas poser de probleme car il suffit d'avoir une mortalite naturelle structuree comme la mortalité par peche par classe et zone pop voire par date: On peut definir une mortalite naturelle M constante sur toute la periode de simulation par defaut ou alors dependant du temps (date) permettant ainsi d'envisager des relations trophiques (mortalite induite par la prédation) ou autres. On aurait alors : float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle(date, classe, zonePop); je te propose que l'on discute de ca jeudi prochain. a+ stephanie Benjamin POUSSIN a écrit:
Bonjour,
Je ne vais pas pouvoir le faire tout seul :(
Pour l'instant on a une equation pour la mortalité naturelle mais elle ne depand pas des zones.
Pour la classe des naissances, il ne semple pas y avoir de probleme je pense y arriver seul, mais pour les autres on a besoin de la mort. nat. dans
public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop)
qui retourne un float et pas une matrice, et donc je ne sais pas comment faire :(
le code actuellement est le suivant (un peu simplifié)
public float totalCatchRate(Date date, ClassePopulation classe, Secteur zonePop) { float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle()/(float)Mois.nbMois; double result = F/(F+M) * (1 - Math.exp(-(F+M)));
return (float)result; }
Je ne vois pas comment faire apparaitre de la spacialisation la dedans :(
idem pour
public float survivalRate(Date date, ClassePopulation classe, Secteur zonePop){ float F = totalFishingMortality(date, classe, zonePop); float M = classe.getMortaliteNaturelle()/(float)Mois.nbMois; float result = (float)Math.exp(-(F+M));
return result; }
-- 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-devel mailing list Isis-fish-devel@lists.labs.libre-entreprise.org http://lists.labs.libre-entreprise.org/mailman/listinfo/isis-fish-devel
-- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) Tel: 02 40 37 41 81 Fax: 02 40 37 40 75 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................
participants (3)
-
Benjamin POUSSIN -
Hilaire DROUINEAU -
Stephanie MAHEVAS