Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

Questions about the elapsed time of Enumeration

2 views (last 30 days)
Zoe Lin
Zoe Lin on 28 May 2018
Closed: Zoe Lin on 29 May 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 !!

Answers (1)

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

This question is closed.

Community Treasure Hunt

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

Start Hunting!