MATLAB Answers

# random selection of a cell

2 views (last 30 days)
KK14 on 22 Jul 2020
Edited: Bruno Luong on 22 Jul 2020
Hello,
I have a cell(matrix) of size 100*100.I need to scan each column and choose 4 consecutive random cells( (1*1)*4) for assigning values.Can anyone please help me with this?
Thanks in advance

#### 2 Comments

madhan ravi on 22 Jul 2020
A short example?
KK14 on 22 Jul 2020
I have a 100*100matrix. Suppose I take x as my random value & column say 'y'.So my selection among the 100 elements in the column should be (x:x+4, y)
ex: if x = 7, y =4
selection = (7:10, 4)

Sign in to comment.

### Accepted Answer

KSSV on 22 Jul 2020
You got 100 columns.....you can pick any one element/ position out of it randomly using randperm.
% loop for each column
for i = 1:100
% pick element randomly
p = randperm(100,1) ;
end

#### 3 Comments

KK14 on 22 Jul 2020
This would give me just 1 cell,but I need 4
KSSV on 22 Jul 2020
You said you want continuously right? Then simply taken next four from them.
% loop for each column
for i = 1:100
% pick element randomly
p = randperm(100,1) ;
if p > 96
p = 96 ;
end
idx = p:p+4 ;
end
KK14 on 22 Jul 2020
Thankyou for the answer.Idea works just fine.

Sign in to comment.

### More Answers (1)

Bruno Luong on 22 Jul 2020
A = zeros(100,100);
something = 1;
for c = 1:100
r = randi(97) + (0:3);
A(r,c) = something;
end

#### 3 Comments

KK14 on 22 Jul 2020
In my case 97 wouldn't work.I do not always have 100 rows(question was generally asked).It would throw an error if I put randi (A(end))+(0:3) (A here is my array,say).
Bruno Luong on 22 Jul 2020
Replace "r = randi(97) ..." by
ncons = 4;
r = randi(size(A,1)-ncons+1)+(0:ncons-1)
You also specify 4 consecutive rows in your original question. Feel free if you want change 4 to something else.
KK14 on 22 Jul 2020
Thankyou for the answer.Had to modify, but the idea helped.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!

Translated by