Removing columns from a matrix
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Atreyu91
le 22 Août 2015
Commenté : Star Strider
le 23 Août 2015
Can anyone please how me how to remove columns from a matrix?
an example of what I am trying to do is remove the 4 columns of this 2x6 matrix:
[a,0,0,0,0,b; c,0,0,0,0,d]
to
[a,b;c,d]
0 commentaires
Réponse acceptée
Star Strider
le 22 Août 2015
One possibility:
[a,b,c,d] = deal(3,5,7,13); % Populate Variables
M = [a,0,0,0,0,b; c,0,0,0,0,d];
Mresult = reshape(M(M~=0), size(M,1), [])
Mresult =
3 5
7 13
3 commentaires
Star Strider
le 23 Août 2015
My pleasure!
You have to know the number of zeros you want to add. That information was lost in the first step. Probably the easiest way to do it though would be something like this:
Mreverse = zeros(2,6);
Ix = sub2ind(size(Mreverse), [1 1 2 2], [1 6 1 6]);
Mreverse(Ix) = [a b c d];
There are probably a number of ways to do it, this is one.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating 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!