How can I produce this matrix?

1 次查看(过去 30 天)
I want to produce a m×n (m<n) matrix in which each element can only be 0 or 1 and the sum of first row must be n-(m-1) and the sum of each column must be 1. For example it can be similar to this: [1 1 0 0 1 1; 0 0 0 1 0 0; 0 0 1 0 0 0]

采纳的回答

Bruno Luong
Bruno Luong 2023-11-10
m=6
m = 6
n=3
n = 3
j=randperm(m,n-1);
A=accumarray([2:n;j]',1,[n,m]);
A(1,setdiff(1:end,j))=1
A = 3×6
1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by