Le 31/05/2011 16:58, Sigrid.Lehuta@ifremer.fr a écrit :
> Salut Camille,
> le probleme vient de cette ligne :
> discard = Catch.mults(rejet);
> ou tu multiplies en effet toute la matrice Catch par un reel.
>
> il faudrait ne multiplier que les cases de la matrice correspondantes au group
> et métier en question.
>
> je vois deux options, la première je suis pas sure à 100% que ca marche (Eric
> tu peux venir en soutien là dessus stp?) mais ca serait simple :
> // reccupere la sous matrice qui correspond au metier et group en cours (si je
> me plante pas Catch est [str,met,group,zone]):
> MatrixND catchMet = Catch.getSubMatrix(1,metier);
> MatrixND catchMetGroup = catchMet.getSubMatrix(2,group);
> // multiplier cette sous matrice par rejet
> MatrixND discardMetGroup = catchMetGroup.mults(rejet);
> // on reccupere l indice correspondant au metier Imet dans la matrice Catch
> list<Metier> semMet = Catch.getSemantic(1);
> int Imet = indexOf(metier);
> // on recolle la matrice multipliee dans discard
> int[] laOuIlFautLaColler = new int[] {0,Imet,group.getId(),0};
> discard.paste(laOuIlFautLaColler,discardMetGroup);
bah tu maîtrises bien mieux l'utilisation des matrices que moi :-D
désolé, mais là je vais pas t'être d'un grand secours...
--
Éric Chatellier <chatellier@codelutin.com>
Tel: 02.40.50.29.28
http://www.codelutin.com