How to do it in the MATLAB? Please provide the code step by step to run it in a
ID: 3677162 • Letter: H
Question
How to do it in the MATLAB? Please provide the code step by step to run it in a script.
(25 pts) Use the Gauss-Seidel iteration technique with no relaxation to solve: 102 -66 31.5 = -3x-6x2 + 2x, xi ++5x3 = = Solve until the percent relative error falls below 5 = 5% or with no more than five iterations. Show approximate solution after each iteration.Explanation / Answer
Copy the code in gauss_siedel.m file start matlab, type a command prompt. "run gauss_siedel" %%without quotes clear;clc format compact %% Read or Input any square Matrix A = [10 2 -1; -3 -6 +2; 1 1 5;];% coefficients matrix C = [102;-66;-31.5];% 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]Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.