Récupération de paramètre
Bonjour, Dans l'une de mes règles, je souhaiterai récupérer la valeur d'une variable que j'ai calculée dans mon équation de reproduction. Or, si je comprends bien, cette variable est encapsulée et n'est pas accessible de l'extérieur. Comment procéder? Merci d'avance pour votre aide Paul -- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
Avez vous pu prendre en compte ma demande? Paul MARCHAL a écrit :
Bonjour,
Dans l'une de mes règles, je souhaiterai récupérer la valeur d'une variable que j'ai calculée dans mon équation de reproduction. Or, si je comprends bien, cette variable est encapsulée et n'est pas accessible de l'extérieur. Comment procéder?
Merci d'avance pour votre aide
Paul
-- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
Le 01/10/2010 10:46, Paul MARCHAL a écrit :
Avez vous pu prendre en compte ma demande? Je suis un peu occupé ce matin, je regarderais tous les mail d'isis cet apres midi.
-- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
OK, pas de pb Eric Chatellier a écrit :
Le 01/10/2010 10:46, Paul MARCHAL a écrit :
Avez vous pu prendre en compte ma demande?
Je suis un peu occupé ce matin, je regarderais tous les mail d'isis cet apres midi.
-- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
Le 30/09/2010 12:09, Paul MARCHAL a écrit :
Bonjour,
Dans l'une de mes règles, je souhaiterai récupérer la valeur d'une variable que j'ai calculée dans mon équation de reproduction. Or, si je comprends bien, cette variable est encapsulée et n'est pas accessible de l'extérieur. Comment procéder? Ca où et comment vous souhaitez l'utiliser.
Seconde question ? quel est le code de l'équation de reproduction et la variable que vous souhaitez réutiliser ? -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Bonjour, Je souhaite récupérer dans ma règle les constantes K et r définies dans mon équation de reproduction, dont voici le code: /double Bcur = 82472000.0; double K = 115637000.0; double Bmsy = K/2; double r = 0.17; double growth; double cOthFleets = 3666000.0 - 2731000.0; // 2008 catches of all non French fleets; double pOthFleets = cOthFleets/Bcur; double catchOth; Date date = context.getSimulationControl().getDate(); Date date0 = new Date(0); for (Zone zr : zoneRepro) { if (date0.compareTo(date) == 0) { growth = Bcur; result.setValue(zr,growth); } else { growth = (r/12)*N.getValue(0,zr)*(1-(N.getValue(0,zr)/K))*(1 - pOthFleets/12); result.setValue(zr,growth); } } return 0; /Inversement, je souhaiterait que certaines des constantes définies dans le code ci-dessus (e.g. cOthFleets) puissent être définies sur la base des résultats obtenus dans ma règle. Merci pour vos lumières Paul Eric Chatellier a écrit :
Le 30/09/2010 12:09, Paul MARCHAL a écrit :
Bonjour,
Dans l'une de mes règles, je souhaiterai récupérer la valeur d'une variable que j'ai calculée dans mon équation de reproduction. Or, si je comprends bien, cette variable est encapsulée et n'est pas accessible de l'extérieur. Comment procéder?
Ca où et comment vous souhaitez l'utiliser.
Seconde question ? quel est le code de l'équation de reproduction et la variable que vous souhaitez réutiliser ?
-- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
Le 01/10/2010 15:01, Paul MARCHAL a écrit :
Bonjour,
Je souhaite récupérer dans ma règle les constantes K et r définies dans mon équation de reproduction, dont voici le code:
/double Bcur = 82472000.0; double K = 115637000.0; double Bmsy = K/2; double r = 0.17; double growth; double cOthFleets = 3666000.0 - 2731000.0; // 2008 catches of all non French fleets; double pOthFleets = cOthFleets/Bcur; double catchOth; Date date = context.getSimulationControl().getDate(); Date date0 = new Date(0); for (Zone zr : zoneRepro) { if (date0.compareTo(date) == 0) { growth = Bcur; result.setValue(zr,growth); } else { growth = (r/12)*N.getValue(0,zr)*(1-(N.getValue(0,zr)/K))*(1 - pOthFleets/12); result.setValue(zr,growth); } }
return 0;
/Inversement, je souhaiterait que certaines des constantes définies dans le code ci-dessus (e.g. cOthFleets) puissent être définies sur la base des résultats obtenus dans ma règle.
Merci pour vos lumières Je crois que Sigrid, a déjà utiliser ce genre de chose.
Dans votre règle, il y a un object nommé "context" (SimulationContext) [1] où vous pouvez stocker et récupérer des valeurs via les méthodes. Exemple : context.setValue("unnomunique.K", K); et double K = (Double)context.getValue("unnomunique.K"); Le même contexte est disponible dans les règles. (attention à l'ordre preAction / postAction) [1] http://isis-fish.labs.libre-entreprise.org/isis-fish/apidocs/fr/ifremer/isis... -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Merci, ça marche! Paul Eric Chatellier a écrit :
Le 01/10/2010 15:01, Paul MARCHAL a écrit :
Bonjour,
Je souhaite récupérer dans ma règle les constantes K et r définies dans mon équation de reproduction, dont voici le code:
/double Bcur = 82472000.0; double K = 115637000.0; double Bmsy = K/2; double r = 0.17; double growth; double cOthFleets = 3666000.0 - 2731000.0; // 2008 catches of all non French fleets; double pOthFleets = cOthFleets/Bcur; double catchOth; Date date = context.getSimulationControl().getDate(); Date date0 = new Date(0); for (Zone zr : zoneRepro) { if (date0.compareTo(date) == 0) { growth = Bcur; result.setValue(zr,growth); } else { growth = (r/12)*N.getValue(0,zr)*(1-(N.getValue(0,zr)/K))*(1 - pOthFleets/12); result.setValue(zr,growth); } }
return 0;
/Inversement, je souhaiterait que certaines des constantes définies dans le code ci-dessus (e.g. cOthFleets) puissent être définies sur la base des résultats obtenus dans ma règle.
Merci pour vos lumières
Je crois que Sigrid, a déjà utiliser ce genre de chose.
Dans votre règle, il y a un object nommé "context" (SimulationContext) [1] où vous pouvez stocker et récupérer des valeurs via les méthodes.
Exemple : context.setValue("unnomunique.K", K); et double K = (Double)context.getValue("unnomunique.K");
Le même contexte est disponible dans les règles. (attention à l'ordre preAction / postAction)
[1] http://isis-fish.labs.libre-entreprise.org/isis-fish/apidocs/fr/ifremer/isis...
-- Paul Marchal IFREMER DOP/DHMMN 150, Quai Gambetta BP 699 62321 Boulogne sur mer FRANCE Tel: (+33) 321 99 56 86 Fax: (+33) 321 99 56 01 Mail: paul.marchal@ifremer.fr
participants (2)
-
Eric Chatellier -
Paul MARCHAL