1

Rでは、次のことができます。

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

を取得します 。したがって、4番目と5番目を除く11 12 13 16 17 18 19 20すべてのインデックス。

Matlabのインデックスロジックに同等のものはありますか?

しかし、私はそれについて頭を悩ませていますが、このかなり基本的な質問に対する自分の結果をグーグルで検索するための正しい検索用語を取得していないようです。


注:もちろん、私はいくつかの集合関数を使用するかもしれません、例えば

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 に答える