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

Antworten (1)

Walter Roberson
Walter Roberson am 3 Nov. 2015

0 Stimmen

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

4 Kommentare

fatema saba
fatema saba am 3 Nov. 2015
Thank you. but I got the error:
Warning: Size vector should be a row vector with integer elements.
Walter Roberson
Walter Roberson am 3 Nov. 2015
Bearbeitet: Walter Roberson am 8 Nov. 2015
IDX = randi(O1,[1 O1/2]);
JDX = randi(O2,[1 O2/2]);
Provided that O1 and O2 are even.
fatema saba
fatema saba am 3 Nov. 2015
But I still get the error
Warning: Size vector should be a row vector with integer elements.
Walter Roberson
Walter Roberson am 8 Nov. 2015
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) ?

Melden Sie sich an, um zu kommentieren.

Tags

Gefragt:

am 3 Nov. 2015

Kommentiert:

am 8 Nov. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by