# Truncating Data Sets of Different Size

25 views (last 30 days)
Joseph on 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.
Azzi Abdelmalek on 4 Sep 2013
This is not clear, give a short example with 3 vectors and give the expected result

dpb on 4 Sep 2013
Edited: dpb on 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.

### Categories

Find more on Workspace Variables and MAT-Files in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by