如何解决如何在 MATLAB 中为大型数据集选择 2 行并跳过 3 行?
我正在研究,我的矩阵是 1082825x23。我已经用我想要的列分隔了一个表格,所以它现在是一个 1082825x1 的表格。我在 Mathworks 论坛上查看过关于选择特定行并跳过一些行的信息,但是论坛中的数据集很小,因此对大型数据集没有帮助。
我在 Mathworks 上找到的最接近的是我修改过的这段代码
keepRowsIdx = setdiff(4:size(gyro_x,1),6:3:size(gyro_x,1));
new_gyro_x = gyro_x(keepRowsIdx,:);
但是它使 new_gyro_x 产生如下结果
0.0047
0.0105
0.0117
0.0234
0.0105
0.0328
etc...
实际上,我试图在整个列中获取我在下图中突出显示的值。我想我需要使用 for 循环,但我不确定如何处理。
解决方法
一种方法可能是创建两个具有相同跳过因子但具有唯一起始索引的向量。然后将这两个向量连接并重塑为一个列向量,该列向量可用于索引存储在 gyro_x
中的值。
%Test vector,change to your dataset%
gyro_x = table((1:1082825).');
gyro_x = table2array(gyro_x);
Start = 4; End = 15; Skipping_Factor = 5;
Indices = (Start:Skipping_Factor:End);
Indices = reshape([Indices; Indices+1],[1 2*numel(Indices)]);
gyro_x(Indices)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。