Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n = 500;
- t1 = zeros(1, n);
- t2 = zeros(1, n);
- t3 = zeros(1, n);
- diff1 = zeros(1, n);
- diff2 = zeros(1, n);
- diff3 = zeros(1, n);
- x = 2 : 10: n;
- A = [4, 2; 5, 3];
- for i = 2 : 10 : n
- disp(i);
- tc1 = 0;
- tc2 = 0;
- tc3 = 0;
- while(abs(det(A)) < 0.00001)
- A = rand(i);
- end
- medium = 10;
- for j = 1 : medium
- tStart = tic;
- [Q, R] = qr(A);
- tc1 = tc1 + toc(tStart);
- tStart = tic;
- [Q1, R1] = qr_c(A);
- tc2 = tc2 + toc(tStart);
- tStart = tic;
- [Q2, R2] = qr_M(A);
- tc3 = tc3 + toc(tStart);
- end
- t1(i) = tc1 / medium;
- t2(i) = tc2 / medium;
- t3(i) = tc3 / medium;
- diff1(i) = sqrt(sum(sum((A - Q * R) .^ 2)));
- diff2(i) = sqrt(sum(sum((A - Q1 * R1) .^ 2)));
- diff3(i) = sqrt(sum(sum((A - Q2 * R2) .^ 2)));
- A = rand(i + 1);
- end
- figure(1);
- plot(x, t1(2 : 10 :end), 'k', x, t2(2 : 10: end), 'b', x, t3(2 : 10: end), 'm');
- grid on;
- legend('qr(A)', 'qr_c(A)', 'qr_M(A)');
- xlabel('n');
- ylabel('t');
- title('Latency');
- figure(2);
- plot(x, diff1(2 : 10:end), 'k', x, diff2(2 : 10:end), 'b', x, diff3(2 : 10:end), 'm');
- grid on;
- legend('qr(A)', 'qr_c(A)', 'qr_M(A)');
- xlabel('n');
- ylabel('y');
- title('Accuracy');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement