Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.36 KB | None | 0 0
  1. n = 500;
  2.  
  3. t1 = zeros(1, n);
  4. t2 = zeros(1, n);
  5. t3 = zeros(1, n);
  6.  
  7. diff1 = zeros(1, n);
  8. diff2 = zeros(1, n);
  9. diff3 = zeros(1, n);
  10.  
  11. x = 2 : 10: n;
  12.  
  13. A = [4, 2; 5, 3];
  14.  
  15. for i = 2 : 10 : n
  16.    
  17.     disp(i);
  18.    
  19.     tc1 = 0;
  20.     tc2 = 0;
  21.     tc3 = 0;
  22.  
  23.     while(abs(det(A)) < 0.00001)
  24.         A = rand(i);
  25.     end
  26.    
  27.     medium = 10;
  28.    
  29.     for j = 1 : medium
  30.         tStart = tic;
  31.         [Q, R] = qr(A);
  32.        
  33.         tc1 = tc1 + toc(tStart);
  34.        
  35.         tStart = tic;
  36.         [Q1, R1] = qr_c(A);
  37.        
  38.         tc2 = tc2 + toc(tStart);
  39.        
  40.         tStart = tic;
  41.         [Q2, R2] = qr_M(A);
  42.        
  43.         tc3 = tc3 + toc(tStart);
  44.     end
  45.    
  46.     t1(i) = tc1 / medium;
  47.     t2(i) = tc2 / medium;
  48.     t3(i) = tc3 / medium;
  49.    
  50.     diff1(i) = sqrt(sum(sum((A - Q * R) .^ 2)));
  51.     diff2(i) = sqrt(sum(sum((A - Q1 * R1) .^ 2)));
  52.     diff3(i) = sqrt(sum(sum((A - Q2 * R2) .^ 2)));
  53.    
  54.     A = rand(i + 1);
  55. end
  56.  
  57. figure(1);
  58.  
  59. plot(x, t1(2 : 10 :end), 'k', x, t2(2 : 10: end), 'b', x, t3(2 : 10: end), 'm');
  60. grid on;
  61.  
  62. legend('qr(A)', 'qr_c(A)', 'qr_M(A)');
  63.  
  64. xlabel('n');
  65. ylabel('t');
  66.  
  67. title('Latency');
  68.  
  69. figure(2);
  70.  
  71. plot(x, diff1(2 : 10:end), 'k', x, diff2(2 : 10:end), 'b', x, diff3(2 : 10:end), 'm');
  72.  
  73. grid on;
  74.  
  75. legend('qr(A)', 'qr_c(A)', 'qr_M(A)');
  76.  
  77. xlabel('n');
  78. ylabel('y');
  79.  
  80. title('Accuracy');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement