Advertisement
Guest User

Untitled

a guest
Sep 19th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.04 KB | None | 0 0
  1. function [n] = gauss(m)
  2.   ms = size(m);
  3.   mc = ms(1,2);
  4.   ml = ms(1,1);
  5.   if ml + 1 ~= mc
  6.     error('Matriz invalida.')
  7.   else
  8.     a = 1;
  9.     for a = 1:ml
  10.       k = m(a,a);
  11.       if k == 0
  12.         c = a + 1;
  13.         for c = (a + 1):ml
  14.           if m(c,a) ~= 0
  15.             b = 1;
  16.             k = m(c,a);
  17.             for b = 1:mc
  18.               m(a,b) = m(a,b) - k*m(c,b);
  19.             endfor
  20.             break;
  21.           endif
  22.         endfor
  23.         k = m(a,a);
  24.         if k == 0
  25.           error('Matriz invalida.');
  26.         endif
  27.       endif
  28.       b = 1;
  29.       for b = 1:mc
  30.         m(a,b) = m(a,b)/k;
  31.       endfor
  32.       c = a +1;
  33.       for c = (a+1):ml
  34.         b = 1;
  35.         k = m(c,a);
  36.         for b = 1:mc
  37.           m(c,b) = m(c,b) - k*m(a,b);
  38.         endfor
  39.       endfor
  40.     endfor
  41.   endif
  42.   m
  43.   for a = 1:ml-1
  44.     for c = 1:a
  45.       k = m(ml-a,mc-c);
  46.       for b = 1:mc
  47.         m(ml-a,b)=m(ml-a,b)-k*m(ml+1-c,b);
  48.       endfor
  49.       m
  50.     endfor
  51.   endfor
  52.   for a = 1:ml
  53.     n(a,1) = m(a,mc);
  54.   endfor
  55. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement