Deleting certain columns in a matrix

96 ビュー (過去 30 日間)
Mate 2u
Mate 2u 2012 年 7 月 15 日
コメント済み: Craig Champlin 2019 年 12 月 5 日
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 件のコメント
Mayank Malaviya
Mayank Malaviya 2016 年 9 月 2 日
編集済み: Mayank Malaviya 2016 年 9 月 2 日
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
Fabian Lischka 2018 年 11 月 26 日
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).

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2012 年 7 月 15 日
  1 件のコメント
Mate 2u
Mate 2u 2012 年 7 月 15 日
Thanks

サインインしてコメントする。

その他の回答 (1 件)

Reza Zakernejad
Reza Zakernejad 2017 年 10 月 12 日
編集済み: Reza Zakernejad 2017 年 10 月 12 日
A(:,[m n p...])=[]; % A input matrix and m n p are #columns to be deleted
  1 件のコメント
Craig Champlin
Craig Champlin 2019 年 12 月 5 日
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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by