Advertisement
Guest User

Αριθμητικη Εργ#4

a guest
Nov 16th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.41 KB | None | 0 0
  1. JACOBI:
  2.  
  3. function X=jacobi(A,B,X0,tol,kmax)
  4. % Χ0: το διάνυσμα της αρχικής εκτίμησης της λύσης.
  5. % tol: η ακρίβεια ε.
  6. % kmax: ο μέγιστος αριθμός επαναλήψεων.
  7.     N = length(B); % διάσταση του πίνακα Β.
  8.     for k=1:kmax
  9.         for j=1:N
  10.             X(j)=(B(j)-A(j,[1:j-1,j+1:N])*X0([1:j-1,j+1:N]))/A(j,j);
  11.         end
  12.         err=abs(norm((X'-X0),inf)); % εύρεση της νόρμας της εξίσωσης (6).
  13.         X0 = X';
  14.         if err < tol % έλεγχος του κριτηρίου της εξίσωσης (6).
  15.             k
  16.         break
  17.         end
  18.     end
  19. X=X';
  20.  
  21. GAUSSIAN
  22.  
  23. function X=gauseid(A,B,X0,tol,kmax)
  24.     N = length(B);
  25.     for k=1:kmax
  26.         for j=1:N
  27.             if j==1
  28.                 X(1)=(B(1)-A(1,2:N)*X0(2:N))/ A(1,1); %εξίσωση (7) για m=1.
  29.             elseif j==N
  30.                 X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/ A(N,N); % εξίσωση (7) για m=N.
  31.             else
  32.                 X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)'-A(j,j+1:N)* X0(j+1:N)) / A(j,j); % εξίσωση (7).
  33.             end
  34.         end
  35.         err=abs(norm((X'-X0),inf)); %εύρεση της νόρμας της εξίσωσης (6).
  36.         X0=X';
  37.         if err < tol % έλεγχος του κριτηρίου της εξίσωσης (6).
  38.             k
  39.         break
  40.         end
  41.     end
  42. X=X';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement