How can I measure time on MATLAB?
Show older comments
Hi, I am trying to measure the running time of solving system of linear equations using tic , toc. I have to compute the system of linear equation with (A+aI) for different scaler a in one code. How to measure the time of computing the system of linear equations for all a. Do we need to compute the total as I did below or we need to take the average of time?
n=200;
A=full(gallery('tridiag',n,1,2,1));
b=randn(n,1);
tic
[L,U]=lu(A+3*eye(n));
t=L\b;
x=U\t;
time(1)=toc;
tic
[L1,U1]=lu(A+6*eye(n));
t1=L1\b;
x1=U1\t1;
time(2)=toc;
total=time(1)+time(2);
Answers (1)
David Hill
on 24 Jul 2020
n=200;
A=full(gallery('tridiag',n,1,2,1));
a=[3,6];
b=randn(n,1);
for k=1:length(a)
tic
[L,U]=lu(A+a(k)*eye(n));
t(k)=L\b;
x(k)=U\t(k);
time(k)=toc;
end
totalTime=sum(time);
5 Comments
Omar B.
on 24 Jul 2020
David Hill
on 25 Jul 2020
If you want average time, then:
avgTime=mean(time);
Walter Roberson
on 25 Jul 2020
What is "best" depends upon your needs, but mean() or median() is most often the useful measure.
Omar B.
on 25 Jul 2020
Categories
Find more on Sparse Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!