MATLAB根据第1列条件维护2列
MATLAB Maintaining 2 columns based on column 1 conditions
我有以下数据样本
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 自动存储速度及其伴随时间。
我希望问题足够清楚,在此先感谢您提供的任何帮助。
逻辑索引就可以了。
(Data_Times(:,1)>2 & Data_Times(:,1)<4
将 select 行。然后你只需 select 所有带有 :
运算符的列。
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.1000
我有以下数据样本
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 自动存储速度及其伴随时间。
我希望问题足够清楚,在此先感谢您提供的任何帮助。
逻辑索引就可以了。
(Data_Times(:,1)>2 & Data_Times(:,1)<4
将 select 行。然后你只需 select 所有带有 :
运算符的列。
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.1000