Clear Filters
Clear Filters

How can I delete even rows in a matlab Matrix

37 views (last 30 days)
Hello
My Idea consists in deleting every row with an even index (I wanted to test something).
But this code does not seem to work.
I get the error " Matrix index is out of range for deletion. "
Thank you
Y=magic(10)
%T = Y (1:2:end , 1:3:end );
T=Y
[a,b]=size(T);
for i = 1:a
r=rem(i,2);
if (r == 0)
T(i, :)=[];
end
T
end

Accepted Answer

Stephan
Stephan on 23 Nov 2020
Edited: Stephan on 23 Nov 2020
>> A = [1 2 3; 4 5 6; 7 8 9; 0 -1 -2]
A =
1 2 3
4 5 6
7 8 9
0 -1 -2
>> A(2:2:end,:) = []
A =
1 2 3
7 8 9
  3 Comments
Stephan
Stephan on 23 Nov 2020
A(:, 1:3:end) = [];
will delete every third column without copying te wanted ones. If you dont want to use this syntax you have to use a loop - but why should you do this?
Mehdi Jaiem
Mehdi Jaiem on 23 Nov 2020
I want to get every third column starting from from the first one (it counts). Displayed will be : first, fourth, seventh etc...

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!