2012-11-28 66 views

Trả lời

33

Sử dụng đối số đầu ra thứ hai của max chức năng:

[ max_value, max_index ] = max([ 3 9 1 ]) 
+5

công trình cho quãng tám quá ! – sudocoder

3

giải pháp tiêu chuẩn của tôi là để làm

index = find(array == max(array), 1); 

mà trả về chỉ số của phần tử đầu tiên có nghĩa là tương đương với giá trị tối đa. Bạn có thể fiddle với các tùy chọn của find nếu bạn muốn yếu tố cuối cùng thay vì vv

1

Nếu bạn cần để có được giá trị tối đa của mỗi hàng, bạn có thể sử dụng:

array = [1, 2, 3; 6, 2, 1; 4, 1, 5]; 
[max_value max_index] = max(array, [], 2) 

%3, 3 
%6, 1 
%5, 3 
1
 
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