Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. N=100; %dim of matrix
  2. Nx=15; %number of points
  3. %because of log scale
  4. xmin = -3.0;
  5. xmax = 3.0;
  6. dx = (xmax - xmin)/(Nx-1);
  7. x = zeros(1,Nx); %x axis pre
  8. ss = zeros(1,Nx); %entropy pre
  9. spp=zeros(1,Nx); %entropy in Fourier space pre
  10. eps=1.0e-6;
  11.  
  12. for ix=1:Nx
  13. %log scale
  14. x(ix) = xmin + (ix-1)*dx;
  15. xx = 10.0^x(ix);
  16.  
  17. average_s=0;
  18. average_spp=0;
  19. %anderson modell
  20. W=xx;
  21. r=rand(1,N)*W-(W/2);
  22. A=diag(ones(1,N-1),1)+diag(ones(1,N-1),-1)+diag(r);
  23. %diagonalization
  24. [V,D]=eig(A);
  25. %PROBLEM HERE:
  26. %Fourier transformation
  27. P=fft(V)/(sqrt(2*pi)*N);
  28. P=abs(P);
  29. for j=1:N
  30. four_sum=0; square_sum=0; entropy=0;
  31. four_sum_p=0; square_sum_p=0; entropyp=0;
  32. for i=1:N
  33. %Fou
  34. probp=(P(i,j)).^2;
  35. square_sum_p=square_sum_p+probp;
  36. if probp>eps
  37. entropyp=entropyp-probp*log(probp);
  38. end;
  39. four_sum_p=four_sum_p+probp.^2;
  40.  
  41. %Real
  42. prob=V(i,j).^2;
  43. square_sum=square_sum+prob;
  44. if prob>eps
  45. entropy=entropy-prob*log(prob);
  46. end;
  47. four_sum=four_sum+prob.^2;
  48. end
  49. qp=square_sum_p.^2/(four_sum_p);
  50. average_spp=average_spp+entropyp-log(qp);
  51.  
  52. q=square_sum.^2/(four_sum);
  53. average_s=average_s+entropy-log(q);
  54. end
  55. ss(ix)=average_s/N;
  56. spp(ix)=average_spp/N;
  57. end
  58. plot(x,ss,x,spp);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement