# picking numbers from matrix

3 views (last 30 days)
Berfin Çetinkaya on 17 Mar 2022
Commented: Berfin Çetinkaya on 17 Mar 2022
I have a matrix and it contains some numbers. I want to pick a random number from each column in this matrix and print it in another matrix (one of the numbers excluding 0). My new matrix should have at least 50 rows. So I want to select and print the random values multiple times. But I don't want to print the 0 values to the new matrix.
give examples :
my matrix:
0 4 8
5 0 0
0 4 6
2 8 0
0 0 7
new matrix:
2 4 6
5 8 6
5 4 7
5 4 8
how can I do that?
Thank you,
Berfin.
Matt J on 17 Mar 2022
Edited: Matt J on 17 Mar 2022
This question seems essentially the same as,
Can't you just apply that solution 50 times (in a loop, that is)?
Berfin Çetinkaya on 17 Mar 2022
I don't know how to apply it in loop

David Hill on 17 Mar 2022
A=[0 4 8
5 0 0
0 4 6
2 8 0
0 0 7];
for k=1:size(A,2)
r=unique(A(:,k));
r=r(r~=0);
B(:,k)=r(randi(length(r),50,1));
end
Berfin Çetinkaya on 17 Mar 2022
Thank a lot of