# Untitled

unknown
plain_text
a month ago
1.5 kB
1
Indexable
Never
```% Gaussian Elimination method
C = [1 2 -1; 2 1 -2; -3 1 1];
b = [3; 3; -6];

% Augmented matrix
A = [C, b];

n = size(A, 1); % Number of equations/variables
x = zeros(n, 1); % Variable matrix [x1; x2; x3]

for i = 1:n-1
for j = i+1:n
m = A(j, i) / A(i, i);
A(j, :) = A(j, :) - m * A(i, :);
end
end

% Back substitution
x(n) = A(n, n+1) / A(n, n);
for i = n-1:-1:1
summ = 0;
for j = i+1:n
summ = summ + A(i, j) * x(j);
end
x(i) = (A(i, n+1) - summ) / A(i, i);
end

disp('Solution:');
disp(x);

number 3:\

%A= input('Please Enter the size of the equation system A=  ') ;
%b = input('Please Enter the elements of the Matrix b =' ) ;
%x0= input('Please Enter the elements of the Matrix x0 =' ) ;
%max_iter= input('Please Enter the elements of the Matrix max_iter=' ) ;

A = [4 1 3; 1 5 1; 2 -1 8];
b = [17; 14; 12];

x0 = [0; 0; 0];

max_iter = 100;

tol = 1e-6;

x = x0;

x_prev = x0;

[n, ~] = size(A);

iter = 0;

while iter < max_iter

for i = 1:n
sigma = 0;
for j = 1:n
if j ~= i
sigma = sigma + A(i, j) * x_prev(j);
end
end
x(i) = (b(i) - sigma) / A(i, i);
end

if norm(x - x_prev) < tol
break;
end

x_prev = x;

iter = iter + 1;
end

if iter == max_iter
disp('Maximum number of iterations reached without convergence');
else
disp('Solution:');
disp(x);
disp(['Number of iterations: ', num2str(iter)]);
end
```