split a rectangular matrix
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i have a matrix as
input = [1 0 0 0; 0 1 0 0; 0 0 1 0];
how can i split a the input matrix as
output1 = [1 0 0 0; 0 0 0 0; 0 0 0 0];
output2 = [0 0 0 0; 0 1 0 0; 0 0 0 0];
output3 = [0 0 0 0; 0 0 0 0; 0 1 0 0];
store output1-3 in a single matrix named output with n-dimension.
matrix input can be of any dimension but rectangular matrix and only diagonal values will be there.
0 commentaires
Réponse acceptée
Akira Agata
le 1 Avr 2019
How about the following?
input = [1 0 0 0; 0 1 0 0; 0 0 1 0];
output = zeros([size(input),size(input,1)]);
for kk = 1:size(input,1)
output(kk,:,kk) = input(kk,:);
end
2 commentaires
madhan ravi
le 1 Avr 2019
Note: Naming a variable input is not a good idea, it will shadow the in-built function input().
Plus de réponses (0)
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!