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