[PERL] Modules Storable et Math::Matrix

Modules Storable et Math::Matrix [PERL] - Programmation

Marsh Posté le 12-03-2002 à 10:15:39    

Salut!
 
Voilà mon pb:
J'ai un tableau @mat3 16x16, et un vecteur @U de longueur 16.
Je veux faire le produit matriciel de ces deux-là.
Pour cela, je convertis @mat3 en matrice:
my $N2 = new Math::Matrix($mat3);
Malheureusement, la matrice résultante ne correspond plus du tout avec $mat3.
 
136541624.00000 136568164.00000 136568380.00000 136577368.00000 136577584.00000 136577800.00000 136578016.00000 136566444.00000 136566660.00000 136566876.00000 136579436.00000 136579652.00000 136579868.00000 136580084.00000 136581336.00000 136581552.00000  
 
au lieu de 1 et de 0 !!
 
Est-ce que ça peut être dû au fait que $mat3 provient d'un fichier à partir duquel on l'a "retriever", et où on l'avait auparavant "storer" ?
 
Je ne vois que cette piste, toutes les aides sont bienvenues, merci d'avance.

Reply

Marsh Posté le 12-03-2002 à 10:15:39   

Reply

Marsh Posté le 12-03-2002 à 11:16:18    

je ne connais pas ce module
mais ton tableau c @mat3 et pas $mat3
pk tu fait ca :
my $N2 = new Math::Matrix($mat3);  
 au lieu de ca :
my $N2 = new Math::Matrix(@mat3);


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 12-03-2002 à 11:31:27    

g trouvé cet exemple  
 
        use Math::Matrix;
 
 
        srand(time);
        $a = new Math::Matrix ([rand,rand,rand],  
                         [rand,rand,rand],  
                         [rand,rand,rand]);
        $x = new Math::Matrix ([rand,rand,rand]);
        $a->print("A\n" );
        $E = $a->concat($x->transpose);
        $E->print("Equation system\n" );
        $s = $E->solve;
        $s->print("Solutions s\n" );
        $a->multiply($s)->print("A*s\n" );
 
sur www.cpan.org
 
g oublié un truc méga important
@mat3 == [rand,rand,rand];
 
a moins que tu l'ai utiliser comme  
@mat3[i][j]


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 12-03-2002 à 12:29:26    

Thanks a lot, ça devrait m'aider.
 
David

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed