Bonjour,
j'ai un exercice à faire en C++. j'ai commencé, mais je suis bloquée avec la méthode de jacobi. je ne comprends pas trop, est-ce que quelqu'un pourrait m'expliquer svp?
J'ai fait:L'objectif de cette séance est d'implémenter en C++ le début d'une classe « matrice » : les champs qui définissent chaque matrice, deux constructeurs, une méthode d'affichage, ainsi qu'une méthode permettant de résoudre, avec la méthode de Jacobi, un système d'équations linéaires.
Les champs de la classe « matrice »
Chaque matrice est définie par : ses dimensions et un tableau contenant les éléments de la matrice.
Constructeurs
Pour pouvoir facilement tester vos programmes sur des petites matrices, il vous faut au moins un constructeur prenant en paramètre un tableau contenant tous les éléments de la matrice. Ainsi, pour tester vos programmes sur la matrice ci-contre, vous devriez pouvoir écrire des lignes de code qui ressemblent à :
double T[9] = {10,-1,0,-1,10,-2,0,1,-10} ;
matrice * A = new matrice(3,3,T) ;
Méthodes de base
Il est pratique d'avoir des méthodes pour lire un élément de la matrice et modifier un élément de la matrice, appelées par exemple get et set. Il est aussi recommandé d'avoir une méthode permettant un affichage simple, ligne par ligne, d'une matrice de petite taille.
Méthode de Jacobi
Pour résoudre un système d'équations linéaires de la forme Ax=b, où A est une matrice carrée de dimension n, b un vecteur de taille n, on calcule une suite récurrente définie par :
r^(k+1) = D^(-1) * ( b - (L+U) * r^(k))
Écrivez une méthode, prenant en paramètre le vecteur b (un vecteur est une matrice n × 1), permettant de calculer simplement cette suite : il suffit d'exprimer le terme r(k+1)j en fonction des r(k)ij, des Aij et des bj.
Comme pour la méthode de la sécante vue en TDs, il faut deux variables, contenant la valeur courante du vecteur r et la valeur suivante, soit par exemple rcour et rsuiv ; alors la i-ème composante de r est mise à jours comme suit :
rsuiv(i) = (b(i) - sum{0 <= m < n} à {m <> i} (A(im) * rcour(m))) / A(ii)
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Je suis perdue...
Merciiiii ...
EDIT : en fait, c'est un exercice en deux parties, la première étant le début de l'implémentation de Matrices, c'est-à-dire le code que j'ai mis, et que j'ai déjà rendu à mon prof... La deuxième partie est la création de la méthode de jacobi, pour laquelle je galère

 

 
		
		 
         
			
			

 
   
 


 exercice méthode de jacobi c++
 exercice méthode de jacobi c++
				 Répondre avec citation
  Répondre avec citation


 
  
  
 
 
 
 
			 
   
 

 Envoyé par Davidbrcz
 Envoyé par Davidbrcz
					


 
						

Partager