MATLAB根据第1列条件维护2列

标签 matlab matrix slice matrix-indexing

我有以下数据样本

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 秒,但我希望 MATLAB 自动存储速度及其伴随时间。

我希望问题足够清楚,在此先感谢您提供的任何帮助。

最佳答案

逻辑索引就可以了。

(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.1000

关于MATLAB根据第1列条件维护2列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36305997/

相关文章:

c - 如何使用 malloc 从 C 中的函数创建和返回二维矩阵?

go - Golang中的 byte slice 是2D数据结构吗

python - 获取大致相等大小的 block 的索引

image - 在MATLAB中,如何用图像注释图形?

c++ - OpenCV 中是否有类似 MATLAB 的 'impixelinfo()' 的功能?

使用 Matlab 的 html 标签的正则表达式

go - 删除slice元素后,原始 slice 将被破坏

matlab - 对于类型 'isDone' 的输入参数,未定义函数 'single'

image - OpenCV 图像矩阵到向量到矩阵

python - 比较矩阵行与字符串