How to save certain values in a FOR loop

3 views (last 30 days)
Hi, i am running several FOR-loops, as shown below, and want to save the step-values which satisfies the if-command. Right now I just stop the script at the first values which satisfies the criteria, but as there propably will be more than one answer, I would like to save all the different combinations in a matrix, or a file. How do I do this?
for k = 17.12:0.001:17.13
for c0 = 0.1:0.1:0.5
for c1 = 1:1:5
for ac = 0.1:0.1:0.5
for mc = 0.2:0.1:0.7
for a = 0:0.1:0.2
for m = 0:0.1:1
propellerdesign;
%This is the main script which runs as it should
if T_req<= T && T <= 1.001*T_req && cav_points == 0
return
end
end
end
end
end
end
end
end

Accepted Answer

Elias Gule
Elias Gule on 1 Apr 2016
just before the start of the first for loop, define an empty matrix, this will be the storage for all the valid step-values. Replace the return statement with a statement that updates your storage matrix.
m = [];
for k = 17.12:0.001:17.13
for c0 = 0.1:0.1:0.5
for c1 = 1:1:5
for ac = 0.1:0.1:0.5
for mc = 0.2:0.1:0.7
for a = 0:0.1:0.2
for m = 0:0.1:1
propellerdesign;
%This is the main script which runs as it should
if T_req<= T && T <= 1.001*T_req && cav_points == 0
m = [m T_req]; % This causes your matrix to expand as necessary
end
end
end
end
end
end
end
end
  3 Comments
Anna
Anna on 3 Apr 2016
Thank you so much! the second alternative worked out great :)
Manu K Sajan
Manu K Sajan on 30 Sep 2019
Finallly!!!! after lots of googling, this method works perfectly!!!Thanks

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!