finding the position of the minimum element in the matrix
31 次查看(过去 30 天)
显示 更早的评论
hello. i need to know the position of the minimum element of the matrix. For example
M= [1 5 7; 2 4 5 ]
M=
1 5 7
2 4 5
the min is 1 and it's position is (1,1).
How can i find this?
Thanks
0 个评论
采纳的回答
Image Analyst
2020-4-12
You really should use find() rather than min() since find() will find them all and min() only finds the first occurrence, which is important since the min could occur at multiple locations:
M = [1 5 7; 2 4 5; 4, 1, 5]
minValue = min(M(:));
% Find all (row, column) pairs where M = the min value.
[rows, columns] = find(M == minValue)
% Print them out:
for k = 1 : length(rows)
fprintf('M equals the min value of %f at row = %d, column = %d.\n', ...
minValue, rows(k), columns(k));
end
You'll see
M =
1 5 7
2 4 5
4 1 5
rows =
1
3
columns =
1
2
M equals the min value of 1.000000 at row = 1, column = 1.
M equals the min value of 1.000000 at row = 3, column = 2.
0 个评论
更多回答(1 个)
madhan ravi
2020-4-12
编辑:madhan ravi
2020-4-12
MIN = min( M(:) );
[ Row, Column ] = ind2sub( size(M), find(MIN == M, 1 ) )
2 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!