Advertisement
RemiNital

Untitled

Apr 27th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.97 KB | None | 0 0
  1. function sim = spectralradiusSORHilbert(a1,b1,step1,a2,b2,step2)
  2. % Denne funksjonen regner ut spektralradiusen til iterasjonsmatrisene til
  3. % SOR i oppgave 3, der Hilbert er en funksjon som genererer Hilbertmatriser
  4. % med gitte størrelser.Deretter skrives all informasjon til en bestemt fil.
  5. % a1 er startverdien på intervallet for N og b1 er sluttverdien. step1 er
  6. % steglengden for N. a2 og b2 er hneholdvis start- og sluttverdi for ω,
  7. % mens step 2 er steglengden for ω
  8.  
  9. c = a1:step1:b1;
  10. d = length(c);
  11. e = a2:step2:b2;
  12. f = length(e);
  13. V = zeros(f,d);
  14. fid = fopen('HilbertSOR.asc','w');
  15. for w = 1:f
  16.     for v = 1:d
  17.         A = sparse(Hilbert(c(v)));
  18.         B = tril(A);
  19.         for i = 1:(c(v))                    
  20.             B(i,i) = B(i,i)/e(w);
  21.         end % for
  22.         I = eye(c(v),c(v));
  23.         C = B\I;
  24.         V(w,v) = max(abs(eig(I-C*A)));
  25.     end % for
  26. end % for
  27. dlmwrite('HilbertSOR.asc',V,'precision','%.40f');
  28. sim = fclose(fid);
  29. end % function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement