Advertisement
Lauda

Jakobijanov postupak

Nov 12th, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.74 KB | None | 0 0
  1. % Jakobijanov postupak izracunavanja sistema linearnih jednacina:
  2. function x = jakobi(A,b,x0,itMax,errMax)
  3. [n,m] = size(A);
  4.  
  5. x = x0;
  6. for it = 1:itMax
  7.     for i = 1:n
  8.         s = 0;
  9.         for j = 1:i-1
  10.             s = s+A(i,j)*x0(j);
  11.         end
  12.         for j = i+1:n
  13.             s = s+A(i,j)*x0(j);
  14.         end
  15.         x(i) = (b(i)-s)/A(i,i);
  16.     end
  17.     err = 0;
  18.     for i=1:n
  19.         err = err + ((x(i) - x0(i))^2);
  20.     end
  21.     if (sqrt(err) < errMax)
  22.         break; % ??
  23.         % errMax = sqrt((x(i) - x0(i))^2);
  24.     end
  25.     x0 = x;
  26.    
  27. % Poziv:
  28. %  A = [4 1 3; 2 5 6; 1 2 9]
  29. % b = [1; 4; 7]
  30. % errM = 0.01;
  31. % itrM = 100;
  32. % x0 = [1;1;1];
  33. % x = jakobi(A, b, x0, itrM, errM)  
  34.  
  35. % Provjera Gausovom metodom:
  36. % A\b;
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement