Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Questions about the elapsed time of Enumeration

1 vue (au cours des 30 derniers jours)
Zoe Lin
Zoe Lin le 28 Mai 2018
Clôturé : Zoe Lin le 29 Mai 2018
Hi,Everyone:
Today I want to show all possible result of 4 variables ,all of theirs range are from 1:0.1:10, 1 1 1 1 → 1 1 1 1.1 → 1 1 1 1.2 ... to 10 10 10 10.
I run my code,it has runs more than 17 hours,is it a acceptable phenomenon?
My code is following:
tic;
final=10;
Range=[1:0.1:final];
Total = length(Range)^4
weight=zeros(1,4);
cont=0;
for weight1=Range
for weight2=Range
for weight3=Range
for weight4=Range
if abs(weight1-0) > 1e-8
cont=cont+1;
weight(cont,:)=[weight1 weight2 weight3 weight4];
end
end
end
end
toc;
If my code should be adjusted, improved, please tell me your opinions,let's discuss.
Thanks for first !!

Réponses (1)

Paridhi Yadav
Paridhi Yadav le 28 Mai 2018
Hey in your code you are adding a row in weight every time the loop runs, instead of this while initializing weight give total number of rows like this weight = zeros(Total,4).
tic;
final=10;
Range=[1:0.1:final];
Total = length(Range)^4
weight=zeros(Total,4);
cont=0;
for weight1=Range
for weight2=Range
for weight3=Range
for weight4=Range
if abs(weight1-0) > 1e-8
cont=cont+1;
weight(cont,:)=[weight1 weight2 weight3 weight4];
end
end
end
end
end
toc;
  1 commentaire
Zoe Lin
Zoe Lin le 28 Mai 2018
Dear Paridhi Yadav:
It still work,finally, weight matrix will be (Total,4), too.

Cette question est clôturée.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by