How to empty part of column?

3 views (last 30 days)
Seong Nam
Seong Nam on 25 Apr 2017
Commented: Seong Nam on 26 Apr 2017
Say I have an column array that looks something like this:
A = [1:10]'
A =
1
2
3
4
5
6
7
8
9
10
If I wanted to get rid of 3 to 8, what would be the command?

Accepted Answer

the cyclist
the cyclist on 25 Apr 2017
A(A>=3 & A<=8) = [];
  1 Comment
the cyclist
the cyclist on 25 Apr 2017
Note that this will remove elements with values equal to 3-8, not the elements in positions 3-8. (Your example is ambiguous about which of these you want.)

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 25 Apr 2017
A(3:8) = [];
  4 Comments
Walter Roberson
Walter Roberson on 25 Apr 2017
196:2:-296 is the empty vector. When you use a positive increment (or use the default increment of 1) then if the last value is less than the first value, the result will be empty.
If you were to code
I(196:-2:-296) = [ ]
then 196:-2:-296 would not be empty, but you cannot use negative values as subscripts.
You probably want
I(I <= 196 & I >= -296) = [];
Seong Nam
Seong Nam on 26 Apr 2017
This helped. Thank you!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!