1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlab Gaussian elimination with partial pivoting

  1. Jul 13, 2010 #1
    1. The problem statement, all variables and given/known data
    Hi all, I'm writing a program to solve a system of linear algebraic equations using the method of Gaussian elimination. The only thing I can't figure out is how to perform the actual pivot.
    In the %Forward elimination nest, I can't figure out how I am supposed to find the max_row. Is it just any row that has the maximum value or is it specific to the pivot row? Most of the function is translated from pseudo code posted by my professor and the only part I can't translate is how to get the max_row. Any help would be greatly appreciated!

    2. Relevant equations

    function x=Lab7gauss(A,b)
    %Solves a given system of linear equations Ax=b using the Gauss Elimination
    %method. Equations in format Ax=b.


    %Function code
    A=input('Enter the coefficient matrix: ');
    b=input('Enter the right hand side vector b: ');
    [m,n]=size(A);
    if m~=n
    error('Coefficient matrix A must be square')
    end
    Ab=[A,b];
    nc=n+1;

    %Forward elimination

    for p=1:n-1 %p is current pivot row
    %partial pivoting
    max_row=max(A);
    if max_row~=p
    p=max_row;
    max_row=p;
    end
    for i=p+1:n %operate on all rows below pivot
    factor = Ab(i,p)/Ab(p,p);
    for c=p:nc
    Ab(i,c)=Ab(i,c)-factor*Ab(p,c);
    end
    end
    end

    %back substitution
    x(n)=Ab(n,nc)/Ab(n,n);
    for k=n-1:-1:1
    x(k)=Ab(k,nc);
    for j=k+1:n
    x(k)=x(k)-Ab(k,j)*x(j);
    end
    x(k)=x(k)/Ab(k,k);
    end
    [C,I]=max(A)
     
  2. jcsd
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?



Similar Discussions: Matlab Gaussian elimination with partial pivoting
  1. Matlab help (Replies: 0)

  2. ADSL Matlab code (Replies: 0)

Loading...