如何从数组中删除后续元素之间差异为3或更小的元素?例如
A=[3 6 10 14 17 20]
到这个
B=[3 10 14 20]
我相信我可以使用diff
,但在什么情况下我应该用它来实现这个目标?
答案 0 :(得分:3)
您可以使用diff
然后将其与3进行比较。然后您可以构造一个逻辑数组(默认情况下包含第一个值)并使用它来索引A
。
tokeep = [true, diff(A) > 3];
B = A(tokeep);
在你的例子中,17和20之间的差异是3,因此将删除20。