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.

2 个评论

Matt J
Matt J 2022-3-17
编辑:Matt J 2022-3-17
This question seems essentially the same as,
Can't you just apply that solution 50 times (in a loop, that is)?
I don't know how to apply it in loop

请先登录,再进行评论。

 采纳的回答

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

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by