mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-06 21:23:13 +02:00
29 lines
971 B
Matlab
29 lines
971 B
Matlab
function [] = task2main()
|
|
iter = 8;
|
|
linErr = zeros(iter, 1);
|
|
qrErr = zeros(iter, 1);
|
|
sizes = zeros(iter, 1);
|
|
for i = 1:iter
|
|
size = 2^(i-1)*10;
|
|
sizes(i) = size;
|
|
fprintf('Rozmiar %d\n', size);
|
|
[A, b] = generateExamples(2, size);
|
|
X = linsolve(A'* A, A' * b);
|
|
residuumErr = calculateNorm(A*X-b);
|
|
linErr(i) = residuumErr;
|
|
fprintf('Uklad rownan normalnych, blad residuum: %d\n', residuumErr);
|
|
[Q, R] = qr(A);
|
|
X = linsolve(R, Q' * b);
|
|
residuumErr = calculateNorm(A*X-b);
|
|
qrErr(i) = residuumErr;
|
|
fprintf('Uklad rownan z wykorzystaniem QR, blad residuum: %d\n', residuumErr);
|
|
end
|
|
display(qrErr);
|
|
display(linErr);
|
|
figure();
|
|
plot(sizes, qrErr, 'Marker', 'o', 'MarkerSize', 4);
|
|
title('Blad przy ukladzie QR');
|
|
figure();
|
|
plot(sizes, linErr, 'Marker', 'o', 'MarkerSize', 4);
|
|
title('Blad przy ukladzie rownan normalnych');
|
|
end |