在数组中排除一些元素

45次观看(最近30天)
里卡
里卡 2021年5月31日
回答: 里卡2021年5月31日
大家好,
我如何从这个arry中排除大胆的数字。阵列很大,但它显示了每个5个元素后应排除3个元素后的结构。
谢谢!
2.70850000000000
2.632200000000
2.258200000000
2.45430000000000
2.99680000000000
-54.2462960000000
2.254200000000
2.92210000000000
1.709200000000
2.06580000000000
2.17260000000000
3.1726950000000

接受的答案

托斯滕
托斯滕 2021年5月31日
last = numel(a);
idx = [6:8:最后,7:8:最后,8:8:last];
a(idx)= [];

更多答案(2)

沃尔特·罗伯森(Walter Roberson)
a8 = reshape(a,8,[]);
a = reshape(a8(1:5,:),[],1);
注意:对于阵列不是8个条目的确切倍数的情况,Torsten的解决方案更加健壮。
如果您有通信工具箱,也可以使用
A8 =缓冲区(A,8);
a = reshape(a8(1:5,:),[],1);
这将垫板短缓冲区。如果丢失的数据在最后3个预期条目中,您将永远不会注意到填充物,但是如果您有1到4个元素的部分组长,则Buffer()将填写以进行完整组。

里卡
里卡 2021年5月31日
谢谢大家!

标签

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!