Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a MATIAB function (not a script) that uses the Gauss-Seidel iteration with

ID: 3109810 • Letter: W

Question

Write a MATIAB function (not a script) that uses the Gauss-Seidel iteration with Relaxation method to solve a matrix equation of arbitrary size. Use it to solve this equation: [1 1 4 1 5 2 6 -1 -2][x_1 x_2 x_3] = [8 5 4] What value of lambda results in the lowest number of iterations?

Explanation / Answer

clear;clc format compact %% Read or Input any square Matrix A = [1 1 6; 1 5 -1; 4 2 -2];% coefficients matrix C = [8;5;4];% constants vector n = length(C); X = zeros(n,1); Error_eval = ones(n,1); %% Check if the matrix A is diagonally dominant for i = 1:n j = 1:n; j(i) = []; B = abs(A(i,j)); Check(i) = abs(A(i,i)) - sum(B); % Is the diagonal value greater than the remaining row values combined? if Check(i) < 0 fprintf('The matrix is not strictly diagonally dominant at row %2i ',i) end end %% Start the Iterative method iteration = 0; while max(Error_eval) > 0.001 iteration = iteration + 1; Z = X; % save current values to calculate error later for i = 1:n j = 1:n; % define an array of the coefficients' elements j(i) = []; % eliminate the unknow's coefficient from the remaining coefficients Xtemp = X; % copy the unknows to a new variable Xtemp(i) = []; % eliminate the unknown under question from the set of values X(i) = (C(i) - sum(A(i,j) * Xtemp)) / A(i,i); end Xsolution(:,iteration) = X; Error_eval = sqrt((X - Z).^2); end %% Display Results GaussSeidelTable = [1:iteration;Xsolution]' MaTrIx = [A X C]
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote