help I have 40 iteration , 10 iteration of 40 at random to do something and the other 30 iteration for do another thing??

help I have 40 iteration , 10 iteration of 40 at random to do something and the other 30 iteration for do another thing?? for t=1:40 take 10 of 40 at random to do something and other 30 for do another thing

 Accepted Answer

If you want to choose 10 iterations randomly out of a total of 40, this is one way:
ran10 = randperm(40, 10); % Choose 10 Random Iterations From 40
for k1 = 1:40
if any(ran10 == k1)
fprintf('\n\tDo something randomly at k1 = %d\n', k1)
else
fprintf('\n\tDo something else at k1 = %d\n', k1)
end
end

2 Comments

this is what I need but rewrite this code in a simple code because I work In matlab version 6.5 year2000
I don’t know what 6.5 had, but I assume the problem is with randperm.
This restatement of ran10 should work:
ran10 = fix(40*rand(10,1));
(If this solves your problem, please Accept my Answer.)

Sign in to comment.

More Answers (1)

Don't quite understand the question. Can't you just create 2 loops?
For i=1:30
<stuff happens>
end
For i=31:40
<other stuff happens>
end

2 Comments

I mean the I is not in sequence 10 iteration but not in order may 1 6 8 11 30 25 13 7 5 22 this 10 iteration in random but the other 30 its the other numbers don't selected in the 10 iteration
@ Marcel: you should avoid using i or j as the loop variables, as these are the names of the inbuilt imaginary unit .

Sign in to comment.

Categories

Tags

Community Treasure Hunt

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

Start Hunting!