MATLAB de l'Expansion d'Une Matrice de Zéros
J'ai besoin d'une matrice de nxn
, où la première pxp
de qu'il contient et le repos sont des zéros. Je peux le faire avec de la traversée de la cellules, donc je ne demande pas un moyen de le faire. Je suis à la recherche de "la MATLAB façon" de faire, en utilisant les fonctions intégrées et en évitant les boucles etc.
Pour être plus clair;
laisser n=4 and p=2
,
alors le résultat attendu est:
1 1 0 0
1 1 0 0
0 0 0 0
0 0 0 0
Il y a probablement plus d'une solution élégante à le faire, donc je vais accepter la réponse la plus courte et la plus lisible.
P. S. La question du titre semble un peu hors de propos: j'ai mis ce titre car ma première approche serait de créer un pxp
matrice, puis de l'étendre à d' nxn
avec des zéros.
OriginalL'auteur Seçkin Savaşçı | 2012-06-03
Vous devez vous connecter pour publier un commentaire.
La réponse est la création d'une matrice de zéros, et alors la configuration de la partie
1
l'aide de l'indexation:Par exemple:
Si vous insistez sur l'extension, vous pouvez utiliser:
padarray( ones(p,p) , [n-p n-p], 0, 'post')
également, merci pour l'enseignement de moipadarray
fonction.NB:
padarray
nécessite la boîte à outils de Traitement d'Image.OriginalL'auteur Andrey Rubshtein
Une autre façon de développer la matrice avec zéros:
OriginalL'auteur Amro
Vous pouvez créer la matrice facilement en concaténant horizontalement et verticalement:
OriginalL'auteur nrz
OriginalL'auteur Serg