How I can make this matrix
1 次查看(过去 30 天)
显示 更早的评论
A=[ 1 1 1 1 0 0 0 0 0 0; 1 0 0 0 1 1 1 0 0 0; 0 1 0 0 1 0 0 1 1 0; 0 0 1 0 0 1 0 1 0 1; 0 0 0 1 0 0 1 0 1 1] How I can make this matrix in a single command.
回答(1 个)
Shravan Kumar Vankaramoni
2021-8-2
Hi,
The given matrix has equal number of ones in each row or sum of elements in each row is same. If you are looking for such a matrix, it cannot be done in a single command. Refer the code below.
x = [1 0 0 1 1]; %x
n = numel(x); %how many x?
arow = x(randperm(n));
shiftvals = randperm(n) - 1;
p = zeros(n, n);
for K = 1 : n
p(K,:) = circshift(arow, [0 shiftvals(K)]);
end
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!