random selection of a cell

16 visualizzazioni (ultimi 30 giorni)
KK14
KK14 il 22 Lug 2020
Modificato: Bruno Luong il 22 Lug 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 Commenti
madhan ravi
madhan ravi il 22 Lug 2020
A short example?
KK14
KK14 il 22 Lug 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)

Accedi per commentare.

Risposta accettata

KSSV
KSSV il 22 Lug 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 Commenti
KSSV
KSSV il 22 Lug 2020
Modificato: KSSV il 22 Lug 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
KK14 il 22 Lug 2020
Thankyou for the answer.Idea works just fine.

Accedi per commentare.

Più risposte (1)

Bruno Luong
Bruno Luong il 22 Lug 2020
A = zeros(100,100);
something = 1;
for c = 1:100
r = randi(97) + (0:3);
A(r,c) = something;
end
  3 Commenti
Bruno Luong
Bruno Luong il 22 Lug 2020
Modificato: Bruno Luong il 22 Lug 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
KK14 il 22 Lug 2020
Thankyou for the answer.Had to modify, but the idea helped.

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by