How do I remove element lower/greater than a certain value in a matrix?

141 visualizzazioni (ultimi 30 giorni)
Lets say I have
A = 1
3
2
7
4
10
12
9
8
15
13
So in this case, i want to remove values lower than 5 and greater than 11 , so i will end up getting this:
A = 7
10
9
8
How should I do this?

Risposta accettata

Image Analyst
Image Analyst il 5 Nov 2014
Try this:
A = [1
3
2
7
4
10
12
9
8
15
13]
rowsToDelete = A < 5 | A > 11
A(rowsToDelete) = []
Give you exactly what you asked for.

Più risposte (1)

dpb
dpb il 5 Nov 2014
Use my helper function iswithin
>> A(iswithin(A,5,11))
ans =
7
10
9
8
>> >> type iswithin
function flg=iswithin(x,lo,hi)
% returns T for values within range of input
% SYNTAX:
% [log] = iswithin(x,lo,hi)
% returns T for x between lo and hi values, inclusive
flg= (x>=lo) & (x<=hi);

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by