Donc j'essaie de résoudre un système d'équations linéaires en utilisant la décomposition LU. J'ai fait un code dans matlab que je compare avec la sortie de linsolve de matlab. La chose qui me confonds est la suivante: Pour autant que je comprends (d'après ce que j'ai appris de ce site: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/CURVE-linear-system.html) La décomposition de Lu fonctionne en décomposant A en L (triangulaire inférieur) et U (triangulaire supérieur). Et puis il calcule x en résolvant deux équations: B = L Y; Y = U X;Décomposition de LU en utilisant linsolve de matlab
Donc ma confussion vient ici. Si je fais x_solutions = linsolve (A, B), j'obtiens un résultat différent si je fais x = linsolve (U, y) (bien sûr faire d'abord y = linsolve (L, B)).
Est-ce que quelqu'un sait pourquoi cela se produit? x ne devrait pas être égal à x_solutions dans ce cas ou ai-je manqué quelque chose?
juste pour le plaisir de donner, toutes les informations voici comment je fais:
A=[1 2 6; 1 2 2; 2 2 1];
B=[1 0 1]';
G=linsolve(A,B);
UPP = triu(A);
LOW= tril(A);
y=linsolve(LOW,B);
x=linsolve(UPP,y);
Merci à l'avance!
http://stackoverflow.com/documentation/matlab/6163/matrix-decompositions#t=201609240746034184022 – StefanM