Extract row data from a table as a result of intervals (boundaries) being called in from a different structure

4 vues (au cours des 30 derniers jours)
Hi There,
I have a 328x338 double matrix (name: DATA), a variable (name: INITIAL) and another variable (name: END).
I wish to extract all the data in DATA that falls with the boundaries INITIAL and END.
Could someone point me in the right direction to get this?
Best wishes,
Jake
  2 commentaires
Sindar
Sindar le 15 Juin 2020
Are INITIAL and END indexes or values?
How do you choose which rows to extract if comparing all elements of DATA?
Jake Bowd
Jake Bowd le 15 Juin 2020
Hi Sindar,
Thank you so much for your reply.
INITIAL and END are values stored seperately to the DATA matrix. I want to use the first column in the DATA matrix to determine what is extracted when using the INITIAL and END values.
If it helps to visualise I can attached the actual data?
Many thanks for the link I can't see which part I'm concerned with yet :).
Best wishes,

Connectez-vous pour commenter.

Réponse acceptée

Sindar
Sindar le 16 Juin 2020
Does this do it?
% generate some random data 0-1
DATA = rand(328,338);
% set the lower and upper bounds to extract as 0.25 and 0.75
INITIAL = 0.25;
END = 0.75;
% identify indexes of the first column in this range
idx = (DATA(:,1) >= INITIAL) & (DATA(:,1) <= END);
% extract corresponding rows using logical indexing
newDATA = DATA(:,idx);
merging the idx line:
% extract rows based on the first column in this range
newDATA = DATA(:,(DATA(:,1) >= INITIAL) & (DATA(:,1) <= END));

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by