find values around a given row value

1 view (last 30 days)
I have a 2 column matrix where I have a row of interest. i.e.
A =
2.5000 2.3500
2.5600 3.3300
2.4500 3.1000
etc....
and I want to find say 100 rows past the row of interest (2.5 2.35) (i.e. down the matrix). Is there a function for this? thanks.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 25 Nov 2013
Edited: Azzi Abdelmalek on 25 Nov 2013
idx=find(ismember(A,[ 2.5000 2.3500],'rows'),1)
out=A(idx+1:idx+100,:)
  6 Comments
Walter Roberson
Walter Roberson on 14 Oct 2017
QIANG SUN comments to Azzi:
great!

Sign in to comment.

More Answers (1)

Youssef  Khmou
Youssef Khmou on 25 Nov 2013
you can use minimum absolute value as the following :
% data generation
p1=2.5;p2=2.35;
A=ones(600,2);
A(:,1)=A(:,1)*p1;
A(:,2)=A(:,2)*p2;
A=A+randn(size(A); % additive noise
%processing
eps=0.02;
B(:,1)=abs(A(:,1)-p1);
B(:,2)=abs(A(:,2)-p2);
Result=B(B<eps);

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!