Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [x] = successive_over_relaxation(A, b, x_1, max_error, max_iter, omega)
- [rows, cols] = size(A);
- if rows ~= cols
- return;
- end
- x = x_1;
- for counter = 1: max_iter
- for i = 1:rows
- sum = 0;
- for j = 1:i-1
- sum = sum + x(j)*A(i, j);
- end
- for j = i+1:cols
- sum = sum + x_1(j)*A(i, j);
- end
- x(i) = (1 - omega)*x_1(i) + omega*(b(i) - sum)/A(i, i);
- end
- if abs(x-x_1) < max_error
- break
- end
- x_1 = x;
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement