2017-01-25 4 views
0

Amnのマトリックスを考えてみましょう。私はの列を無作為に選んでAを分割したいと思います。 私はランダムなインデックスのベクトルを生成し、もみ部分を抽出するために、このコードを使用している:私は2番目のセクションを抽出んインデックスにないインデックスを選択する方法MATLAB

indexes=randsample(1:MatrixColumnNumber, NumOfRandomColumn); 
firstSection=A(:,indexes); 

どのように、それは「インデックス」には、インデックスではないでしょうか?

これは動作しませんでした:

secondSection=A(:,~indexes); 

答えて

1

これは動作するはずです:Nとあなたの選択されたインデックスセット:

notselected = 1:MatrixColumnNumber; 
notselected(indexes) = []; 
secondSection = A(:,notselected); 

それは基本的に1間の差集合を形成するための方法です。これはsetdiffでも行うことができますが、私はsetdiffが上記よりも遅いことを覚えています。

関連する問題