Istvan

Gauss-elimináció kiíratások nélkül

Apr 10th, 2012
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.63 KB | None | 0 0
  1. % Gauss-elimináció kiíratások nélkül. A test_script.m számára
  2.  
  3. function x = gauss_test(A,b)
  4.  
  5. n=length(A);
  6. A=[A,b];
  7. for k=1:n-1
  8.   for i=k+1:n
  9.     for j=k+1:n+1
  10.       if ( A(k,k) == 0 )
  11.     [maximum, ind] = max(abs(A(k:n,k)));
  12.     if ( maximum == 0 )
  13.       return;
  14.     end
  15.     akt = A(ind,1:n+1);
  16.     A(ind,1:n+1) = A(k,1:n+1);
  17.     A(k,1:n+1) = akt;
  18.       end
  19.         A(i,j) = A(i,j) -  ( (A(i,k) / A(k,k)) * A(k,j) );
  20.     end
  21.     A(i,k)=0;
  22.   end
  23. end
  24. x=zeros(n,1);
  25. x(n,1) = A(n,n+1) / A(n,n);
  26. temp=0;
  27. for k=n-1:-1:1
  28.   for j=k+1:n
  29.     temp = temp + A(k,j) * x(j,1);
  30.   end
  31.     x(k,1) = (A(k,n+1) - temp) / A(k,k);
  32.     temp=0;
  33. end
Advertisement
Add Comment
Please, Sign In to add comment