How can I produce this matrix?

1 visualizzazione (ultimi 30 giorni)
S AsZ
S AsZ il 10 Nov 2023
Modificato: S AsZ il 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]

Risposta accettata

Bruno Luong
Bruno Luong il 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
  1 Commento
S AsZ
S AsZ il 10 Nov 2023
Modificato: S AsZ il 10 Nov 2023
Thank you 🙏🏻

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by