Truncating Data Sets of Different Size

3 vues (au cours des 30 derniers jours)
Joseph
Joseph le 4 Sep 2013
OK, this should be fairly simple but I'm still not sure how to go about it. I have many sets of data, each with somewhere between 35000 and 40000 data points. I need to compare these data sets but I only need to compare them to the point of the lowest number of data points between the sets. So if I have sets 1, 2, and 3 with 36000, 37500, and 40000 data points respectively, and I compare sets 1 and 2 I am only using the first 36000 data points of the second set. Or if I compare sets 1, 2, and 3 I am only using the first 36000 data points of the second and third sets. What I need, I suppose, is a way to store my data in separate arrays and then delete the unneeded data in each array before the comparison. Thank you for your help.
  1 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 4 Sep 2013
This is not clear, give a short example with 3 vectors and give the expected result

Connectez-vous pour commenter.

Réponse acceptée

dpb
dpb le 4 Sep 2013
Modifié(e) : dpb le 5 Sep 2013
Given x,y,z as the three data vectors,
lmin=min([length(x) length(y) length(z)]);
Now just use
[x|y|z](1:lmin)
for whatever you need to do. Or, to shorten the notation, simply write
x=[x(1:lmin) y(1:lmin) z(1:lmin)];
clear y z
and the various columns
res=yourcomparisonfunction( x(1,:),x(2,:) );
say, for x and y. Or however your computations go, of course.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by