Tic Toc Function Help
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Matt Fig
le 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 commentaires
Matt Fig
le 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...
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!