Bonjour à tous,
Un de mes exercices de TP concerne la résolution de systèmes linéaires par décomposition LU. Etant débutante sur Scilab, je n'arrive pas à faire fonctionner correctement mon algorithme, seul ma première colonne s'affiche correctement pour L et U. Je pense que mon pb vient de la somme dans la boucle Pour incrémenté par k. Cependant, je ne trouve pas la solution.... Auriez-vous une idée de ce que je pourrais changer svp ?
Enoncé : On propose de résoudre le système Ax = b A ∈ Mnn est tridiagonale et b ∈ Rn, en utilisant la décomposition LU.
Algorithme 1 : Algorithme de décomposition LU
Paramètres entrée : A , matrice carrée
Paramètres sortie : L,U
Debut
l ← nombre de lignes de A;
c ← nombre de colonnes de A;
U(1,1≤j≤c) = A(1,1≤j≤c);
L(1≤i≤l),1 = A(1≤i≤l,1)/A(1,1);
Pour i ← 2 à l faire
U(i,i) = A(i,i) − L(i,1≤k≤i−1) ∗ U(1≤k≤i−1,i);
Pour j ← i + 1 à c faire
Ui,j = A(i,j) − somme(k=1 à i−1) [L(i,k) ∗ U(k,j)] ;
Lj,i = A(j,i) −somme(k=1 à i−1) [L(j,k) ∗ U(k,i)]/U(i,i)];
Fin pour
Fin pour
Fin
Voici mon code:
Merci beaucoup pour toute aide !
Partager