Le 25 juin 2015 12:48, Eric Chatellier <chatellier@codelutin.com> a écrit :
On 24/06/2015 17:04, Sigrid Lehuta wrote:
> Salut
> non ca ne peut pas etre calculé à partir du Lbar actuel ou plutot c'est plus
> simple de repartir de N.
>
> Ca retourne un double : Lbar
> La seule dimension de la matrice c'est TimeStep
Ca doit forcement être une Matrice (de dimension 1).
On a une matrice par pas de temps.

yep une matrice a 0 dimension (1 valeur par pas de temps comme Ftotale)
 
>
> double Lbar;
> MatrixND LbarMatrix = N.copy();
> Lbar = Lbar.sumOverDim(1).reduceDims(1);
 
> double ab = Lbar.sumAll();
Donc on a une premiere reduction sur les zones (LbarMatrix et non Lbar)
>
ou boulette (LbarMatrix qui est une copy de N, on somme N par groupe)
LbarMatrix n a plus qu'une dim (group)
 
>      LbarMatrix.setName(ResultName.MATRIX_LBAR);
>         List<PopulationGroup> groups = pop.getPopulationGroup();
>
> for (PopulationGroup group : groups) {
>                 LbarMatrix.setValue(group, LbarMatrix.getValue(group) *
> group.getLength());
>  }
>
>         LbarMatrix = LbarMatrix.sumOverDim(0); // Somme sur les groupes
>         LbarMatrix = LbarMatrix.reduce();
Ici, on a une deuxieme reduction sur les groupes.
c'est ca apres multiplication par la longueur, du coup la matrice a 0 dimensions : 1 seule valeur, on peut peut etre le caster en scalaire ? mais les solutions en dessous me paraissent correctes aussi
 
>
>         Lbar = LbarMatrix / ab;
Ici, une Matrice/double ca n'a pas de sens. 
(!/*%## language orienté objet...)
 

Si je remplace par
LbarMatrix = LbarMatrix.divs(ab); // division par un scalaire, c'est correct ?
je pense oui 

c'est la meme chose que
LbarMatrix.setValue(LbarMatrix.getValue(0) / ab);
dans ce cas là
oui tres bien aussi ca me parait pareil


Merci !
 

--
Éric Chatellier - www.codelutin.com - 02.40.50.29.28

_______________________________________________
Isis-fish-devel mailing list
Isis-fish-devel@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel