Fast sampling every other element in a matrix

I have a matrix M. I want to delete every other column and every other row. However, I already know how to do this as:
M = rand(100,11);
M2=M;
M2(:,2:2:end)=[];
M2(2:2:end,:)=[];
I will have to do this operation on large matrices many times in a loop, thus I am wondering if matlab has a built-in function to do this faster. Thanks.

 Réponse acceptée

M2 = M(1:2:end,1:2:end);

3 commentaires

Christopher
Christopher le 2 Oct 2014
Much faster, thanks
Orongo
Orongo le 15 Fév 2019
what does the parameter 'end' mean here?
Stephen23
Stephen23 le 15 Fév 2019
@Orongo: "The end function also serves as the last index in an indexing expression"

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by