How can I produce this matrix?

1 vue (au cours des 30 derniers jours)
S AsZ
S AsZ le 10 Nov 2023
Modifié(e) : S AsZ le 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]

Réponse acceptée

Bruno Luong
Bruno Luong le 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 commentaire
S AsZ
S AsZ le 10 Nov 2023
Modifié(e) : S AsZ le 10 Nov 2023
Thank you 🙏🏻

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by