Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Questions about the elapsed time of Enumeration

2 visualizzazioni (ultimi 30 giorni)
Zoe Lin
Zoe Lin il 28 Mag 2018
Chiuso: Zoe Lin il 29 Mag 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 !!

Risposte (1)

Paridhi Yadav
Paridhi Yadav il 28 Mag 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 Commento
Zoe Lin
Zoe Lin il 28 Mag 2018
Dear Paridhi Yadav:
It still work,finally, weight matrix will be (Total,4), too.

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by