1

在 R 中,我可以执行以下操作:

v <- 11:20
v[-(4:5)]

并得到 ,因此第 4 和第 5之外的11 12 13 16 17 18 19 20所有索引。

Matlab 的索引逻辑中是否有等价物?

但是,我全神贯注于它,我似乎没有正确的搜索词来谷歌我自己的结果来解决这个相当基本的问题。


注意:当然我可能会使用一些 set 函数,例如

v = 11:20;
v(setdiff(1:length(v), 4:5))

然而,这并不直观。

4

2 回答 2

3

另一种方法是简单地从数组中删除元素:

u = v;
u(4:5) = [];

我正在使用一个临时变量,因为我不知道修改原始数组是否可以接受v

于 2013-03-13T09:25:17.827 回答
0

我不认为有一种优雅的方式,但可能会更高效

v = rand(1,10);
sel = true(1, numel(v));
sel( 4:5 ) = false;
v = v( sel );
于 2013-03-13T09:25:43.070 回答