Please help with the code for Gauss Seidel Method

7 vues (au cours des 30 derniers jours)
alberto ortiz
alberto ortiz le 4 Nov 2016
Commenté : alberto ortiz le 8 Nov 2016
Please help with the code , I do not know what I am doing wrong. If you can please give me an advice. the first approximation should be x1=-0.2; x2=0.156 and x3=-.508. I have attached the code.
Please follow the format that I have already , because I will use it to do a bigger matrix 33 by 9

Réponse acceptée

Walter Roberson
Walter Roberson le 4 Nov 2016
Your assigment to T should be within for loops where both sibscripts are changing
It is uncommon to call norm() passing in a single value. Also those subscripts imply the assigmnent to norm2 should be inside for loops.
  16 commentaires
Walter Roberson
Walter Roberson le 8 Nov 2016
You create T as length(b) by 6 in that last section, which is 249 x 6.
alberto ortiz
alberto ortiz le 8 Nov 2016
Thank you very much

Connectez-vous pour commenter.

Plus de réponses (1)

Torsten
Torsten le 4 Nov 2016
Modifié(e) : Torsten le 4 Nov 2016
L = [5 0 0; -3 9 0 ; 2 -1 -7];
U = [0 -2 3; 0 0 1 ; 0 0 0];
b = [-1 2 3];
epsilon = 1;
xold = [0 0 0];
while epsilon > 1e-5
xnew = L\(b-U*xold)
xnew
epsilon = norm((xnew-xold)./xold,1);
xold = xnew;
end
Best wishes
Torsten.
  2 commentaires
alberto ortiz
alberto ortiz le 4 Nov 2016
it has an error that code, thanks though
Torsten
Torsten le 7 Nov 2016
Try
L = [5 0 0; -3 9 0 ; 2 -1 -7];
U = [0 -2 3; 0 0 1 ; 0 0 0];
b = [-1;2;3];
epsilon = 1;
xold = [1;0;0];
while epsilon > 1e-5
xnew = L\(b-U*xold)
xnew
epsilon = norm((xnew-xold)./xold,1);
xold = xnew;
end
Best wishes
Torsten.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by