On Mon, 19 Sep 2005 20:05:13 +0200 Youen VERMARD <Youen.Vermard@ifremer.fr> wrote:
Salut, j'ai un petit problème avec la méthode sumOverDim des matricesND: pour faire un export de résultat, je voudrai sommer la matrice capture en poids sur les dim zone et classepop, je fais le code suivant: var resultmanager=control.getResultatManager(); var listenom=resultmanager.getResultName();
var matrice=resultmanager.getMatrix(date, "matriceCatchWeightPerStrategyMet "+pop.getNom()); var temp=new Packages.org.codelutin.math.matrix.MatrixNDImpl(matrice); writeln("on a la matrice"); temp.sumOverDim(2); temp.sumOverDim(3); writeln("on a bien fait la somme");
ma matrice temp a bien 4 dimensions mais impossible de récupérer les valeurs à l'intérieur même en faisant temp.getValue(0,0,0,0); j'ai essayer de tester differentes combainaisons de coordonnées avec la méthode isvalidcoordinates, apparamment il ne faut que 3 dimensions... mais de toute façon aucune combinaison testée ne marche (et pourtant j'en ai testé un bon paquet...) Comment je peux faire alors pour faire la somme? Ca m'embête d'abuser des boucles for...
Salut, En fait il y a deux problemes (en fait 3 si on prend en compte que tu n'as pas ecrit sur la liste, mais a mon adresse mail ;). 1 - Dans ton code, je te conseil plutot d'utiliser la methode getMatrix(Date, Population, String) voir: http://isis-fish.labs.libre-entreprise.org/api/isis-fish/version2/fr/ifremer...) les methodes sumOverDim retourne une nouvelle matrice, voir http://lutinmatrix.labs.libre-entreprise.org/apidocs/org/codelutin/math/matr...) donc il faut ecrire plutot: var matrice=resultmanager.getMatrix(date, pop, "matriceCatchWeightPerStrategyMet"); writeln("on a la matrice"); var temp = matrice.sumOverDim(2); temp = temp.sumOverDim(3); writeln("on a bien fait la somme"); 2 - il y a un probleme avec le langage de script actuel :(, le bug a ete detecté par Hilaire. On ne peut pas utiliser les methodes getValue(int, int, ...), mais seulement les methodes getValue(Object, Object, ...) ou object sont les semantiques des dimensions. Voila, j'espere que tu vas reussir a faire ce que tu souhaites, je pense que tu peux demander des precisions a Hilaire pour l'histoire du getValue, si tu as besoin. -- Benjamin -------------------- email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii