Filter löschen
Filter löschen

Please help with the code for Gauss Seidel Method

1 Ansicht (letzte 30 Tage)
alberto ortiz
alberto ortiz am 4 Nov. 2016
Kommentiert: alberto ortiz am 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

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare
Walter Roberson
Walter Roberson am 8 Nov. 2016
You create T as length(b) by 6 in that last section, which is 249 x 6.
alberto ortiz
alberto ortiz am 8 Nov. 2016
Thank you very much

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Torsten
Torsten am 4 Nov. 2016
Bearbeitet: Torsten am 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 Kommentare
alberto ortiz
alberto ortiz am 4 Nov. 2016
it has an error that code, thanks though
Torsten
Torsten am 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by