我有以下数据示例
Time(s) Speed(m/s)
1.2 7
2.5 4.2
2.6 8
3.1 12
3.6 3.2
3.9 9.1
4.3 1.6
4.6 3.8我希望只有2-4秒的时间范围内的数据。我可以做这件事
Extracted_Time_Data = Data_Times(Data_Times>2 & Data_Times<4);然而,我将只有时间,而不是伴随(在这种情况下)的速度值。我知道我可以像
Extracted_Speed_Data = Data(2:5,2);然后我可以用它来做一个矩阵
End_Goal = [Extracted_Time_Data,Extracted_Speed_Data]我已经回答了我自己的问题,但是,如果我使用另一个数据集和数百行数据,该怎么办呢?我仍然希望在相同的时间范围内的数据2-4 seconds,但我希望MATLAB自动存储的速度与其伴随的时间。
我希望这个问题足够清楚,谢谢你的帮助。
发布于 2016-03-30 10:33:53
逻辑索引就能做到这一点。
(Data_Times(:,1)>2 & Data_Times(:,1)<4将选择行。然后,只需使用:运算符选择所有列。
rows = Data_Times(:,1)>2 & Data_Times(:,1)<4;
Data_Times(rows,:);或
Data_Times((Data_Times(:,1)>2 & Data_Times(:,1)<4),:)
ans =
2.5000 4.2000
2.6000 8.0000
3.1000 12.0000
3.6000 3.2000
3.9000 9.1000https://stackoverflow.com/questions/36305997
复制相似问题