Advertisement
Guest User

Untitled

a guest
May 8th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 0.74 KB | None | 0 0
  1. % Artur Wiśniewski, opcja 1
  2.  
  3. A=[20,-5,4,-4; 3,10,-3,-1; 2,0,4,0; 2,-1,-2,8]
  4. b=[12; 20; 28; 52f]
  5.  
  6. n=length(b);
  7. L=zeros(n);
  8. D=zeros(n);
  9. U=zeros(n);
  10.  
  11. for i=1:n
  12.  for j=1:n
  13.  if i>j
  14.  L(i,j)=A(i,j);
  15.  elseif i<j
  16.  U(i,j)=A(i,j);
  17.  else
  18.  D(i,j)=A(i,j);
  19.  end;
  20.  end
  21. end
  22.  
  23. N=inv(D);
  24. H=zeros(n);
  25.  
  26. for i=1:n
  27.  for j=1:n
  28.  if i!=j
  29.  H(i,j)=-A(i,j)/A(i,i);
  30.  end
  31.  end
  32. end;
  33.  
  34. if (max(sum(abs(H)))<1) || (max(sum(abs(H')))<1)
  35.  x=zeros(4,1);
  36.  for t=0:12
  37.  disp(['Wynik dla iteracji nr ',num2str(t)]);
  38.  x=-N*(L+U)*x+N*b;
  39.  disp(x);
  40.  end
  41. disp("Sumaryczny blad rozwiazania");
  42.  disp(sum(abs((A*x)-b)));
  43.  disp("Sprawdzenie - wynik dokladny");
  44.  disp(inv(A)*b);
  45. else
  46.  disp("Warunek wystarczający uzyskania zbieżności nie został spełniony");
  47. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement