2017-06-09 7 views
-1

に整列していません3×3の場合A = [1 2 3; 4 5 6; 7 8 9]トリプレットは、サイズの正方行列N</p> <p>例えば所与

ポイントが整列しないように3つのランダムなトリプレット(行列内の数字で)を生成したいと考えています。したがって、マトリックスの行と列ではないトリプレット。

これをコード化するスマートな広告方法は誰でも知っていますか?ありがとうございました

+1

2つの値が同じ行または列にないこと、または(厳密には)すべての値が同じ行または列にないことを意味しますか?三つ組の3つの値を区別する必要がありますか?そして、あなたは一様な確率でそのような三つ組をすべて返そうとしますか、それは必要ではありませんか? –

答えて

0

これはあなたが探しているものですか?

A = [1 2 3; 4 5 6; 7 8 9]; 
r=[]; 
while size(r,1)<3 
    idx = randi(numel(A),[1,3]); %random indices 
    [i,j]=ind2sub(size(A),idx); %subs 
    if ~(all(i(1)==i)||all(j(1)==j)) %not all from same row or column 
     r(end+1,:)=A(idx); %add to result 
    end 
end 
+0

ありがとうございました@Gelliant – Quo