How can I produce this matrix?

1 Ansicht (letzte 30 Tage)
S AsZ
S AsZ am 10 Nov. 2023
Bearbeitet: S AsZ am 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]

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 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 Kommentar
S AsZ
S AsZ am 10 Nov. 2023
Bearbeitet: S AsZ am 10 Nov. 2023
Thank you 🙏🏻

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by