Extracting every n number of column from matrix matlab

34 次查看(过去 30 天)
0 down vote favorite I need to extract every n number of column from my matrix. Please note that not every nth column. For example I have a matrix:
A =
1 23 34 53 67 45 67 45
12 34 45 56 67 87 98 12
1 2 3 45 56 76 87 56
And I want to extract each 3 column, so my data should be like:
X =
1 23 34 67 45 67
12 34 45 67 87 98
1 2 3 56 76 87
So I would skip 4th column then 8th column and so on. I know how to extract every nth column and row but I couldn't figure it out what I need. Appreciated for your help

采纳的回答

Ameer Hamza
Ameer Hamza 2018-5-3
编辑:Ameer Hamza 2018-5-3
Here is a general solution to your problem in which you can specify how many columns to keep and how many to delete
colToKeep = 2;
colToDelete = 3;
ColIndex = mod( 0:size(A,2)-1, colToKeep+colToDelete ) < colToKeep;
A(:, ~ColIndex) = [];
Use colToKeep and colToDelete to specify the values.
  6 个评论
Ameer Hamza
Ameer Hamza 2018-8-16
Just take the transpose of the matrix and apply the same method. At the end take the transpose again to get the correct matrix.

请先登录,再进行评论。

更多回答(2 个)

Yuvaraj Venkataswamy
编辑:Yuvaraj Venkataswamy 2018-5-3
Answer is below where A is a your matrix.
if true
n=4;
A =[1 23 34 53 67 45 67 45
12 34 45 56 67 87 98 12
1 2 3 45 56 76 87 56]
A(:,n:n:end) =[]
end
  1 个评论
Aybars
Aybars 2018-5-3
Hi, Thank you very much for your answer. It is correct. But in that case, how can I adjust the number of column that I want to skip ? For example I would like to take first 2 columns, then skip 3 columns then take 2 columns again.

请先登录,再进行评论。


Guillaume
Guillaume 2018-5-3
X = A;
X(:, 4:4:end) = [];
  1 个评论
Aybars
Aybars 2018-5-3
Hi, Thank you very much for your answer. It is correct. But in that case, how can I adjust the number of column that I want to skip ? For example I would like to take first 2 columns, then skip 3 columns then take 2 columns again.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by