Creating a diagonal matrix
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I will like to create such diagonal matrix. A=[1 1 1 0 0 0; 0 1 1 1 0 0; 0 0 1 1 1 0; 0 0 0 1 1 1] Appreciate your kind assitance.
0 commentaires
Réponses (4)
John D'Errico
le 5 Août 2017
Modifié(e) : John D'Errico
le 5 Août 2017
That is not a diagonal matrix, not by the common definition of the term. It has non-zero diagonals, but that is as far as I might go.
Still trivial though.
triu(tril(ones(4,6),2))
ans =
1 1 1 0 0 0
0 1 1 1 0 0
0 0 1 1 1 0
0 0 0 1 1 1
Or...
toeplitz([1 0 0 0]',[1 1 1 0 0 0])
ans =
1 1 1 0 0 0
0 1 1 1 0 0
0 0 1 1 1 0
0 0 0 1 1 1
0 commentaires
Andrei Bobrov
le 5 Août 2017
Modifié(e) : Andrei Bobrov
le 6 Août 2017
full(spdiags(ones(4,3),0:2,4,6))
or
t = true(4,6);
out = tril(t,2) & triu(t)
or
a = triu(ones(4,3));
out = [a,rot90(a,2)]
0 commentaires
Voir également
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!