select random row inside the cell

1 view (last 30 days)
NA
NA on 5 Apr 2019
Edited: Jos (10584) on 5 Apr 2019
A={[1,4,6;6,5,4;1,2,4],[1,3;5,4],[1,2;1,7;6,8]};
number_of_choosen_row=1;
choosen_row=cellfun( @(m) datasample( m,number_of_choosen_row,'replace',false ), A, 'uni',false);
I want to chose random row inside a cell. but above code does not give me correct result.
for example result should be choosen_row={[3],[1],[1]}

Accepted Answer

Jos (10584)
Jos (10584) on 5 Apr 2019
Edited: Jos (10584) on 5 Apr 2019
You want the row, or the row number to be returned?
A={[1,4,6;6,5,4;1,2,4],[1,3;5,4],[1,2;1,7;6,8]}
rownumber = cellfun(@(c) randperm(size(c, 1), 1), A)
row = cellfun(@(c) c(randperm(size(c, 1), 1), :), A, 'un', 0)

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!