Deleting certain columns in a matrix
100 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mate 2u
el 15 de Jul. de 2012
Comentada: Craig Champlin
el 5 de Dic. de 2019
Hi all,
I have a 267x34 matrix. Now I want to delete certain columns within MATLAB.
For instance if I want to delete the 3rd column, 4th column, 8th column, 14th column and 33 column. How would I write this in a code where they all get delete simultaneously?
Thanks,
2 comentarios
Mayank Malaviya
el 2 de Sept. de 2016
Editada: Mayank Malaviya
el 2 de Sept. de 2016
B = horzcat(A(1:end,1:n-1),A(1:end,n+1:end)); % A is your matrix and n is the column which is to be removed
Fabian Lischka
el 26 de Nov. de 2018
FWIW, above comment from 2016-09-02 does not address the question (deleting multiple columns), and is furthermore possibly a fairly inefficient way of doing what it does (deleting one column).
Respuesta aceptada
Más respuestas (1)
Reza Zakernejad
el 12 de Oct. de 2017
Editada: Reza Zakernejad
el 12 de Oct. de 2017
A(:,[m n p...])=[]; % A input matrix and m n p are #columns to be deleted
1 comentario
Craig Champlin
el 5 de Dic. de 2019
Not sure why this is not the "Accepted Answer". It does exactly what I want to. I have several column indexes of outliers which I found by comparing against a threshold. Using this answer, I can simply put my list into the [] and poof outliers are gone.
outliers = find (errorDist > thresholdValue); % list of outliers
M(:,outliers) = []; % *poof!* clean matrix
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!