Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.81 KB | None | 0 0
  1. clear all; close all;
  2.  
  3. gen = @(x,z) mod(z*x*pi, 1);
  4.  
  5. Ta = -1; Tb = 1; Tc = 0;
  6. c = 1;
  7. N = 1024;
  8. tooths_U = 17;
  9. tooths_G = 31;
  10.  
  11. U = zeros(1, N*5);    % rozklad rownomierny [0  1]
  12. G = zeros(1, N*5);    % rozklad rownomierny [-1 1]
  13. T = zeros(1, N);      % rozklad trojkatny [-1 1]
  14.  
  15. U(1) = 0.218731; G(1) = 0.218731;
  16. for k=2:N*5
  17.     U(k) = gen(U(k-1), tooths_U);
  18. end
  19.  
  20. for k=2:N*5
  21.     G(k) = gen(G(k-1), tooths_G);
  22. end
  23. G = G*(Tb-Ta) - (Tb-Tc); % [0,1] -> [-1,1]
  24.  
  25. iter = 1; k = 1;
  26. while(k<5*N)&&(iter < N)
  27.     if(G(k) < Tc)
  28.         temp = 2*(G(k)-Ta) / (Tb-Ta)*(Tc-Ta);
  29.     else
  30.         temp = 2*(Tb-G(k)) / (Tb-Ta)*(Tb-Tc);
  31.     end
  32.    
  33.     if(c*U(k) <= temp)
  34.         T(iter) = c*G(k);
  35.         iter = iter + 1;
  36.     end
  37.     k = k+1;
  38. end
  39. pkt_T = (Tc-Ta)/(Tb-Ta);
  40. figure(1);
  41. histogram(T, 100);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement