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.

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 25 Nov 2013
Modifié(e) : Azzi Abdelmalek le 25 Nov 2013
idx=find(ismember(A,[ 2.5000 2.3500],'rows'),1)
out=A(idx+1:idx+100,:)

6 commentaires

MacKenzie
MacKenzie le 25 Nov 2013
Modifié(e) : MacKenzie le 25 Nov 2013
great, thanks! what if I have the index (since the values often repeat in my matrix) of the A position I want, then I want the next 100 values put into a new matrix? i.e. I should loop this since I have 20+ values in the matrix to find and graph the next 100 values....
for i= 1:length(TS) %TS is the indx of values I want to find in A
idx = TS(i)
out(i) = A(idx:idx+100,:);
end
?
idx=find(ismember(A,[ 2.5000 2.3500],'rows'))
out=arrayfun(@(x) A(x+1:x+100,:),idx,'un',0)
MacKenzie
MacKenzie le 25 Nov 2013
Modifié(e) : MacKenzie le 25 Nov 2013
cool. so assuming I have the idx already (some other matrix, TS), easy way to loop this?
I tried:
for i= 1:length(TS)
idx = TS(i);
out=arrayfun(@(x) sFNxy(x+1:x+500,:),idx,'un',0);
end
but it works only for the first value in my matrix TS - am I missing something?
You are erasing the variable out each iteration. just write
out=arrayfun(@(x) sFNxy(x+1:x+500,:),TS,'un',0);
MacKenzie
MacKenzie le 25 Nov 2013
Ah! thanks SO much!
Walter Roberson
Walter Roberson le 14 Oct 2017
QIANG SUN comments to Azzi:
great!

Connectez-vous pour commenter.

Plus de réponses (1)

Youssef  Khmou
Youssef Khmou le 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);

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by