Bonjour, je souhaiterais résoudre un système simple sur matlab avec la méthode itérative de Gauss Seidel j'ai cependant deux soucis :
le programme ne fonctionne pas parfaitement
je ne comprends pas comment arrêter les itérations à l'aide du résidu puisque elles s'arrêtent toute seules quand ma variable i=n
Voilà ce que j'ai tenté de faire :
Pourriez vous me dire comment d'une part corriger le programme et d'autre part comment faire des itérations qui stoppent quand le résidu R<e (choisi)Code:A=[10 2 1;1 15 1;3 1 13]; b=[1;2;3]; x=[0;0;0]; e=10^-16; R=1; [n,n]=size(A); s1=0; s2=0; i=1 while R>e i=i+1; for j=1:i-1 s1=s1+A(i,j)*x(j); end for p=i+1:n s2=s2+A(i,p)*x(p); end x(i)=(1/A(i,i))*(b(i)-s1-s2); R=A(i,i)*x(i)-b(i) end
-----