从某些行Matlab中提取数据

时间:2013-05-08 12:36:40

标签: matlab extract rows

我有一系列数据集,每个数据集大约1032 x 4.通过我现在的程序,我可以找到某个事件发生的时间(我做了那个虽然结构)。我得到的输出是:

startTime: [1 84 111 251 450 482 613 660 787 951 956]
 endTime: [5 90 112 252 451 485 619 661 788 952 961]

这个输出告诉我从哪一行到我感兴趣的这个事件正在发生。所以我想得到从第1行到第5行,第84行到第90行,从111到112,从251到252等的值序列。我可以通过键入time(1),{{1 }},time(5)time(84)所以我可以计算事件的持续时间。但有没有办法自动完成?

请帮助!!这听起来很容易,但它让我发疯。

提前致谢,

我到目前为止的代码是:

time(90)

1 个答案:

答案 0 :(得分:0)

您可以使用startTimeendTime作为索引与colon operator(:)一起使用。

例如,要获取在i记录的事件(例如,从startTime(i)开始并在endTime(i)结束,您可以使用(假设您的1032x4矩阵称为data):

events=data(startTime(i):endTime(i),:);

这将放入events startTime(i)矩阵中endTime(i)data的所有行。{/ p>