Matlab中的补充子集

时间:2013-03-13 09:20:01

标签: matlab matrix matrix-indexing

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

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

并获得11 12 13 16 17 18 19 20,因此所有索引除了第4和第5。

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

然而,我把它包裹起来,我似乎没有得到正确的搜索条件来谷歌我自己的结果这个相当基本的问题。


注意:我当然可以使用一些设置功能,例如

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

但是,这并不直观。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

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

v = rand(1,10);
sel = true(1, numel(v));
sel( 4:5 ) = false;
v = v( sel );