Truncating Data Sets of Different Size

30 次查看(过去 30 天)
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 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2013-9-4
This is not clear, give a short example with 3 vectors and give the expected result

请先登录,再进行评论。

采纳的回答

dpb
dpb 2013-9-4
编辑:dpb 2013-9-5
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by