Tic Toc Function Help
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Okay so I had a code which had an error, and I thought I fixed it, but now I'm getting another error in it
function [m1,m2]=mycomplexityplot(fh2,x2,N)
time1=zeros(1,N);
for i = 1:N
tic
for k1=1:i
fh2(x2);
end
time1(i)=toc;
end
time2=zeros(1,N);
for i2=1:N
tic
for k2=1:i2
for k3=1:i2
fh2(x2);
end
end
time2(i2)=toc;
end
n=1:N;
loglog(n,time1,'b-')
hold on
loglog(n,time2,'g--')
legend('1 loop','2 loops')
xlabel('N')
ylabel('time(s)')
hold off
p1=polyfit(n(length(n)/2:end),time1(n/2:end),1);
p2=polyfit(n(length(n)/2:end),time2(n/2:end),1);
m1=p1(1);
m2=p2(1);
when i try to run: fh2=@sqrt; [m1,m2]=mycomplexityplot(fh2,5,100)
I get the errors:
Error using polyfit (line 48) X and Y vectors must be the same size.
Error in mycomplexityplot (line 35) p1=polyfit(n(length(n)/2:end),time1(n/2:end),1);
Error in TestCasesLab9 (line 2) [m1,m2]=mycomplexityplot(fh2,5,100
what can do to fix this? sorry for the repost!!
0 Commenti
Risposta accettata
Matt Fig
il 2 Nov 2012
Try these lines instead:
p1=polyfit(n(length(n)/2:end),time1(length(n)/2:end),1);
p2=polyfit(n(length(n)/2:end),time2(length(n)/2:end),1);
6 Commenti
Matt Fig
il 2 Nov 2012
Perhaps you are looking for this:
p1=polyfit(log10(n(length(n)/2:end)),log10(time1(length(n)/2:end)),1);
p2=polyfit(log10(n(length(n)/2:end)),log10(time2(length(n)/2:end)),1);
If your question was answered, please accept the answer...
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Annotations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!