Salut,
je suis en train de faire une fonction qui doit retourner un tableau de matrice (classe template defini dans BOOST::uBLAS).
Il s agit d'un tableau dynamique (en rouge dans le code ci-dessous).
Le probleme est que je ne sais pas quel type donne à ce tableau pour le definir dans "l'entete" de ma fonction et je ne sais pas comment le definir dans mon return en fin de fonction.
J ai egalement essayer d utiliser la classe vecteur de la bibliotheque standard mais apparement je ne peut pas definir un vecteur de matrice...?
Voilà mon code:
J usqu a present cette fonction ne retourne qu'une matrice, mais j aurai besoin de pouvoir en utiliser 2 par la suite d ou l idee de retourner un tableau de matrice.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 matrix<float> decomp_lu(matrix<float> m) { matrix<float> *V_results; //pointeur de matrice int dim=m.size1(); V_results = new matrix<float>[dim]; matrix<float> l(m.size1(), m.size1()); cout << "dimension de la matrice soumise au LU :"<<m.size1()<<"\n"; for(int i=0; i<=m.size1()-2; i=i+1)//calcul de L, l'operation est faite (n-1) fois { //coef à 0 de la matrice L for(int c=0; c<m.size1(); ++ c) for(int d=0; d<m.size2(); ++ d) l(c,d)=0; //coef à 1 sur la diagonale de la matrice L for(int c=0; c<m.size1(); ++ c) l(c,c)=1; //calcul des coef non nuls de la matrice L for(int j=i; j<=m.size1()-2; ++ j) l(j+1,i)=-m(j+1,i)/m(i,i); V_results[i]=l; cout << "operation numero "<< i <<", L : "<< l <<"\n"; m=prod(l, m); cout << "operation numero "<< i <<", U : "<< m <<"\n"; } V_results[m.size1()-1]=m; return(m); }
Merci.
Partager