在MATLAB中,可以使用函數max()
找到矩陣中的最大值,并使用函數find()
找到最大值所在的行與列。
下面是一個例子:
A = [1 2 3; 4 5 6; 7 8 9];
[maxValue, maxIndex] = max(A(:)); % 找到矩陣A中的最大值和其在A(:)中的索引
[row, col] = ind2sub(size(A), maxIndex); % 將索引轉換為行和列
disp(['最大值為:', num2str(maxValue)]);
disp(['最大值所在的行:', num2str(row)]);
disp(['最大值所在的列:', num2str(col)]);
輸出結果為:
最大值為:9
最大值所在的行:3
最大值所在的列:3
其中,max()
函數返回矩陣A中的最大值,max(A(:))
表示先將矩陣A展開為一維數組,再找到最大值。
find()
函數可以找到數組中滿足條件的元素的索引,find(A == maxValue)
返回矩陣A中與最大值相等的元素的索引,這里只有一個元素,所以返回的索引是一個標量。
ind2sub()
函數可以將線性索引轉換為對應的行和列索引。size(A)
返回矩陣A的大小,ind2sub(size(A), maxIndex)
返回最大值在矩陣A中的行和列索引。
最后,使用disp()
函數將結果打印輸出。