How can I produce this matrix?

1 view (last 30 days)
S AsZ
S AsZ on 10 Nov 2023
Edited: S AsZ on 10 Nov 2023
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]

Accepted Answer

Bruno Luong
Bruno Luong on 10 Nov 2023
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

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!