2011-03-18 38 views
1

假設我有一個矩陣Matlab的 - 選擇的值

A = [1,2,3,4,5 ; 1,1,1, 21, 43] 

我想選擇從第一行它們下面的行中的具有1的條目,基本上與[1,2,3]作爲結果而告終。我該怎麼做呢?非常感謝您

+0

的可能重複的[如何找到在Matlab陣列的另一排的對應點?](http://stackoverflow.com/questions/3862530/how-to-find-the-corresponding-point-in-另一行的安陣列功能於MATLAB) – gnovice 2011-03-18 04:55:41

回答

2

您可以使用邏輯索引是這樣的:

result = A(1, A(2,:) == 1) 

這是說利用A的第一行和列該表達式A(2,:) == 1成立。

A(2,:) == 1檢查在第2行的每列中的值是否爲1,並如上所述返回的真或假的是行爲的陣列作爲選擇器。在你的榜樣,它會產生一個數組[1 1 1 0 0]

+0

怎麼樣的矩陣轉置版本同樣的問題? – Viktor 2011-03-18 06:41:16

+0

@Viktor:你可以做同樣的事情換位,只要將你的索引 - 行與列。 – 2011-03-24 20:30:41