Question

Use Matlab or any other Language /Tool to implement the project work Algorithm for Gauss-Seidel Method to solve the linear (n

Use Matlab or any other Language /Tool to implement the project work Algorithm for Gauss-Seidel Method to solve the linear (n

I am new to Matlab so details would be appreciated!

Use Matlab or any other Language /Tool to implement the project work Algorithm for Gauss-Seidel Method to solve the linear (n

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Please find posted the Matlab scripts gaussSeidel.m and gaussSeidelSolver.m. Run the script gaussSeidelSolver.m to test a case.

gaussSeidel.m

function x = gaussSeidel(A, b, tol)
% Gauss Siedel method
% x = gaussSiedel(A, b, tol)

% input:
% A = coefficient matrix
% b = right hand side vector
% tol = tolerance, stopping criterion

% output:
% x = solution vector

[nRows, nCols] = size(A);
% checks for Square Matrix
if nRows ~= nCols
    error('Matrix must be square');
end

% checks for Diagonal Dominance
for m = 1: nRows
    mthRow = abs(A(m, :));
    d = sum(mthRow) - mthRow(m);
    if mthRow(m) < d
        error('Matrix is not diagonally dominant');
    end
end

% split Matrix into three matrices L, U, and D

D = diag(diag(A));
L = tril(A, 1);
U = triu(A, 1);

% sets Initial Guess
x0 = zeros(nRows, 1);
x = x0;

% starts the Iterative Method

iter = 0;
err = inf;
errVector = inf;

while err > tol
  
    disp([num2str(iter) ' iteration,' ' x = ' mat2str(x) ', error = ' mat2str(errVector) '.']);
  
    % update [x]
    x_old = x;
    x = inv(L + D) * (-U*x + b);
    dx = x - x_old;
    % error vector
    errVector = abs(dx./x);
  
    % estimate error
    err = max(abs(dx./x));
    iter = iter + 1;
end

% displays Result
disp(['Gauss Seidel method converges after ' num2str(iter) ' iterations.' ' x = ' mat2str(x) ' error = ' mat2str(errVector) '.']);
end

gaussSeidelSolver.m

clear; clc;

A = [ -7 1 5;
      0 -7 4;
      1   2 -4];

b = [ -3 7 10 ]';

tol = 1e-3;

x = gaussSeidel(A, b, tol);

Add a comment
Know the answer?
Add Answer to:
I am new to Matlab so details would be appreciated! Use Matlab or any other Language...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • (a) Suppose we want to solve the linear vector-matrix equation Ax b for the vector x. Show that the Gauss elimination algorithm may be written bAbm,B where m 1, This process produces a matrix equa...

    (a) Suppose we want to solve the linear vector-matrix equation Ax b for the vector x. Show that the Gauss elimination algorithm may be written bAbm,B where m 1, This process produces a matrix equation of the form Ux = g , in which matrix U is an upper-triangular matrix. Show that the solution vector x may be obtained by a back-substitution algorithm, in the form Jekel (b) Iterative methods for solving Ax-b work by splitting matrix A into two...

  • 1" (20%) (Linear systems) Given a linear system C1 +33 2 One can convert it into an iterative for...

    Relevant Information: 1" (20%) (Linear systems) Given a linear system C1 +33 2 One can convert it into an iterative formula x(n+1) TX(m) + c where X(n) = (a (n),X(n), a (n))t įs the approximated solution at the nth iteration, T3x3 is the iterative matrix and caxi is the vector associated with the correspondent iterative method. (a) (5 %) Compute the associated matrix T and vector c associated with Jacobi method. (b) (5 %) Compute (T) and determine if Jacobi...

  • 1. [12 marks] In the following parts of this question, write a MATLAB code to solve a linear syst...

    1. [12 marks] In the following parts of this question, write a MATLAB code to solve a linear system A b (A is a square nonsingular matrix) using Jacobi and Gauss-Seidel algorithms. Do not use the built-in Matlab functions for solving linear systems (a) Write a Matlab function called Jacobi that consumes a square n x n matrix A, and an n x 1 vector b, and uses the Jacobi technique to solve the system Ax-b, starting with the zero...

  • 1. (All students!) For matrices with special properties, it is possible to create special version...

    1. (All students!) For matrices with special properties, it is possible to create special versions of Gauss elimination. Suppose matrix A (nxn) is symmetric (which means that A-A). Suppose also that A is positive definite; this means that the scalar = xTAx is always 20 for every vector x , and J-0 only if x = 0 In this case it can be shown that the usual Gauss elimination process, which effectively creates the factorization A LU, can be simplified...

  • Function LUfac_solver.m is provided here: function [x] = LUfac_solver(LU,b,piv) % % function [x] = LUfac_solver(lu,b) %...

    Function LUfac_solver.m is provided here: function [x] = LUfac_solver(LU,b,piv) % % function [x] = LUfac_solver(lu,b) % % This program employs the LU factorization to solve the linear system Ax=b.   % % Input % LU: lu matrix from GEpivot_new function % b: right side column vector (ordered corresponding to original vector % sent to GEpivot_new) % piv: vector indicating the pivoting (row interchanges that took place % during GE % % Output % x: solution vector % % Written by Steve...

  • on matlab (1) Matrices are entered row-wise. Row commas. Enter 1 2 3 (2) Element A,...

    on matlab (1) Matrices are entered row-wise. Row commas. Enter 1 2 3 (2) Element A, of matrix A is accesser (3) Correcting an entry is easy to (4) Any submatrix of Ais obtained by d row wise. Rows are separated by semicolons and columns are separated by spaces ner A l 23:45 6. B and hit the return/enter kry matrix A is accessed as A Enter and hit the returnerter key an entry is easy through indesine Enter 19...

  • PLEASE USE MATLAB. The code is basically given to you with the algorithm above. Write a...

    PLEASE USE MATLAB. The code is basically given to you with the algorithm above. Write a program for solving the system Ar-b by using Gauss-Seidel iterative method discussed in class that uses a computer memory for one iterate only. This could be summarized as follows: Input n -- the size of the system, matrix A-(a(i,j), the vectoir b (b (1), . . . , b(n)), the intitial guess x (x(1), ..., x(n)) (you can use x=b) maximum number of iterations...

  • Can you help me with this question please? For the code, please do it on MATLAB. Thanks

    Can you help me with this question please? For the code, please do it on MATLAB. Thanks 7. Bonus [3+3+4pts] Before answering this question, read the Google page rank article on Pi- azza in the 'General Resources' section. The Google page rank algorithm has a lot to do with the eigenvector corresponding to the largest eigenvalue of a so-called stochastic matrix, which describes the links between websites.2 Stochastic matrices have non-negative entries and each column sums to1, and one can...

  • please use octave calculator or matlab to answer (a)(ii)and(iii) 2. (a) Use Octave as a Calculator1 to answer this question. Suppose that A and B are two 8 × 9 matrices. The (i, j)-entry of the matri...

    please use octave calculator or matlab to answer (a)(ii)and(iii) 2. (a) Use Octave as a Calculator1 to answer this question. Suppose that A and B are two 8 × 9 matrices. The (i, j)-entry of the matrix B is given by i *j -1. The (i, j)-entry of the matrix A equals 0 if i + j is divisible by 5 and equals the (i, j)-entry of the matrix B otherwise. i. What are the rank and nullity of matrices...

  • Using MATLAB, develop an M-file to determine LU factorization of a square matrix with partial pivoting....

    Using MATLAB, develop an M-file to determine LU factorization of a square matrix with partial pivoting. That is, develop a function called mylu that is passed the square matrix [A] and returns the triangular matrices [L] and [U] and the permutation P. You are not to use MATLAB built-in function lu in your codes. Test your function by using it to solve a system of equations listed below in part 3. Confirm that your function is working properly by verifying...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT