How to randomly place ones in specified postions of a matrix?
2 次查看(过去 30 天)
显示 更早的评论
I have a matrix.
A=[ 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0];
I have to randomly place specific number of ones say 8 or 10 in bold zeros positions.
Bold postions may change. Another problem is if i pick 10 positions in this matrix randomly. How to randomly place say 5 ones at those randomly selected 10 positions?
How to do this?
0 个评论
采纳的回答
Andrei Bobrov
2019-10-2
编辑:Andrei Bobrov
2019-10-2
1.
k = 10;
[m,n] = size(A);
[i1,j1] = ndgrid(1:m,1:2);
[i2,j2] = ndgrid(1:3,3:n);
ii = sub2ind([m,n], [i1(:);i2(:)],[j1(:);j2(:)]);
A(ii(randperm(numel(ii),k))) = 1;
2.
K = 10;
L = 5;
ii = randperm(numel(A),K);
A(ii(randperm(K,L))) = 1;
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!