2014-10-05 29 views
17

Tôi muốn tìm argmax của các giá trị trong một ma trận theo cột, ví dụ:Octave vị trí của giá trị lớn nhất trong cột

1 2 3 2 3 3 
4 5 6 -> 
3 7 8 

Tôi cảm thấy như tôi chỉ có thể để ánh xạ một argmax/chức năng posmax trên các cột, nhưng tôi không thấy một cách đặc biệt trực quan để làm điều này trong Octave.

Trả lời

28

đọc max chức năng tài liệu here

[max_values indices] = max(input); 

Ví dụ:

input = 

1 2 3 
4 5 6 
3 7 8 

[max_values indices] = max(input) 
max_values = 

4 7 8 

indices = 

2 3 3 
+0

Cảm ơn! Làm việc hoàn hảo. –

3
 
In Octave If 
A = 
    1 3 2 
    6 5 4 
    7 9 8 

1) For Each Column Max value and corresponding index of them can be found by 
>> [max_values,indices] =max(A,[],1) 
max_values = 
    7 9 8 
indices = 
    3 3 3 


2) For Each Row Max value and corresponding index of them can be found by 
>> [max_values,indices] =max(A,[],2) 
max_values = 
    3 
    6 
    9 
indices = 
    2 
    1 
    2 

Similarly For minimum value 

>> [min_values,indices] =min(A,[],1) 
min_values = 
    1 3 2 

indices = 
    1 1 1 

>> [min_values,indices] =min(A,[],2) 
min_values = 
    1 
    4 
    7 

indices = 
    1 
    3 
    1 
Các vấn đề liên quan