%Funktion, die ZeitMessung aufruft
%Achtung: Ausführung dauert relativ lange

function Timing()
maxNumCompThreads(1);
counter=80;
index=1;
while counter<10000
    [time(index,:)]=measureCalcTime(counter+1);
    n(index)=counter;
    counter=2*counter;
    index=index+1;
end

display('Tabelle ?: Zeit')
time
display('Tabelle ?: Verhältnis zum vorigen n')
time(2:end)./time(1:end-1)

end


function [time]=measureCalcTime(n)
%%Diese Funktion misst die Zeit um eine Matrix zu invertieren.
% A=magic(n);
% tic;
% Ainv=inv(A);
% time=toc;
%  
% %Zeitmessung für LU mit Vor-und Rückwärtseinsetzen
% A=magic(n);
% b=ones(n,1);
% tic;
% x=A\b;
% time=toc;

% %Zeitmessung für tridiagonale Matrix für LU mit Vor-und Rückwärtseinsetzen
AG=(gallery('tridiag',n));
b=ones(n,1);
tic;
x=AG\b;
time=toc;

end
