use for in matlab

Hi a question please: o1=100 o2=200 I want to write something like that:
if true
for i=randi(O1,[1 ((50/100)*O1)])
for j=randi(O2,[1 ((50/100)*O2)])
end
in fact, if
IDX=randi(O1,[1 ((50/100)*O1) and JDX=randi(O2,[1 ((50/100)*O2)])
I want to start from IDX(1):IDX(end). like:
for i=IDX(1):IDX(end)
for j=JDX(1):JDX(end)
Thank you

Answers (1)

for i = IDX
for j = JDX
...
end
end

4 Comments

Thank you. but I got the error:
Warning: Size vector should be a row vector with integer elements.
IDX = randi(O1,[1 O1/2]);
JDX = randi(O2,[1 O2/2]);
Provided that O1 and O2 are even.
But I still get the error
Warning: Size vector should be a row vector with integer elements.
I do not get that. Have you possibly changed your O1 or O2 to values that are not even? Your question asked about O1=100 O2=200 both of which are even (divisible by 2).
If one of your O1 or O2 are odd, then you need to clarify whether you want the half rounded down or rounded up. For example if your O1=101 then do you want your random vector to be length 50 (101/2 rounded down) or 51 (101/2 rounded up) ?

Sign in to comment.

Tags

Asked:

on 3 Nov 2015

Commented:

on 8 Nov 2015

Community Treasure Hunt

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

Start Hunting!