%Derived from LUtest  
%http://www.it.uu.se/edu/course/homepage/bervet1/lab/linekvsys
clear all; clc;
format long;
n = input('Ange problemstorlek (antal ekvationer i systemet): ');

disp(' ')
disp(['Nu genereras ett slumpmässigt system Ax = b med ' num2str(n,'%5i') ' ekvationer'])

A = rand(n);
b = rand(n,1);
x = A\b; % Systemet löses en gång utan tidtagning

% Lös med gausselimination
tic;
for i = 1:10
    b = x;
    x = A\b;
end


t1 = toc;

% Lös med LU-faktorisering

tic;

[L, U] = lu(A); 

for i = 1:10
    b = x;
    d = L\(b);
    x = U\d;
end

t10LU = toc;

% Skriv ut de uppmätta CPU-tiderna

disp(' ')
disp('---------------------------------------------------------')
disp(' ')
disp('CPU-tid för att lösa tio system med Gausselimination: ');
disp(t1);
disp('CPU-tid för att lösa tio system med LU-faktorisering:')
disp(t10LU);
format short;