Advertisement
RemiNital

Untitled

Apr 27th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.86 KB | None | 0 0
  1. function sim = spectralradiusHilbert(a,b,step)
  2. % Funksjonen regner ut spektralradiusen til alle iterasjonsmatrisene for
  3. % alle metodene i oppgave 3. Denne informasjonen skrives til en matrisen V,
  4. % som deretter skrives til en fil, som lagres. a er startverdien, mens b er
  5. % sluttverdien og step er steglengden pƄ intervallet for N
  6. format long
  7. c = a:step:b;
  8. d = length(c);
  9. V = zeros(d,4);
  10. fid = fopen('Hilbert.asc','w');
  11. for i = 1:d
  12.     A = sparse(Hilbert(c(i)));
  13.     I = eye(c(i),c(i));
  14.     D = diag(diag(A));
  15.     Jacobi = I-(D\A);
  16.     V(i,1) = max(abs(eig(Jacobi)));
  17.     L = tril(A);
  18.     GaussSeidel = I-(L\A);
  19.     V(i,2) = max(abs(eig(GaussSeidel)));
  20.     Richardson = I\(I-A);
  21.     V(i,3) = max(abs(eig(Richardson)));
  22.     V(i,4) = max(eig(abs(Hilbert(c(i)))));
  23. end % for
  24. dlmwrite('Hilbert.asc',V,'precision','%.40f');
  25. sim = fclose(fid);
  26. end % function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement