2016-10-26 5 views
1

これはおそらく非常に単純ですが、私はそれを見ることはできません。すべてのA(i)を列挙せずに行列B(以下)を構築する方法はありますか?配列インデックスから行列を構築する

A = [0 0 1 2 0 1]; 
>> B = [A == A(1);A == A(2);A == A(3);A == A(4);A == A(5);A == A(6)] 

B = 

1  1  0  0  1  0 
1  1  0  0  1  0 
0  0  1  0  0  1 
0  0  0  1  0  0 
1  1  0  0  1  0 
0  0  1  0  0  1 

答えて

3

使用bsxfun - MATLAB 2016B以降自動放送とオン

bsxfun(@eq,A(:),A) 

、それはに単純化する -

A(:)==A 

を、それがBたたぶんあれば、そこにいくつかのASCIIアートのように見えます!

関連する問題