how to find maximum value in d matrix of size (11*11)
1 次查看(过去 30 天)
显示 更早的评论
we have a matrix of size 11*11. can u please send me the matlab code to find maximum value in the matrix as soon as possible.
0 个评论
采纳的回答
Yi
2014-10-5
编辑:Yi
2014-10-5
If the Matrix is X; then maximum value should be max(max(X)).
for d-dimension Matrix;
s=size(X);
MaximumValue=max(X);
for i=1:(length(s)-1)
MaximumValue=max(MaximumValue);
end;
1 个评论
Image Analyst
2014-10-5
No one familiar with MATLAB would have chosen this answer. First of all you wouldn't use a for loop when you can just use max() one time like I showed:
[maxValue, linIndexOfMax] = max(M(:))
Secondly s = [11,11] so length(s)-1 = 2-1 = 1, so the for loop just executes one time so there was no need for a loop even if you did have to call max again (which you don't). Even for a d-dimension array this loop is unnecessary - my code works for any dimension. I'd advice you not to use this answer's method. Though it works, most of the code is unnecessary and could have been done much more simply as
MaximumValue=max(X(:));
(which is what my code does) and get rid of all other lines of code.
更多回答(1 个)
Image Analyst
2014-10-5
Not sure what "find" means - the value or the location - so I'll find both for you
[maxValue, linIndexOfMax] = max(M(:))
[row, column] = ind2sub(size(M), linIndexOfMax);
For example
M = magic(3)
[maxValue, linIndexOfMax] = max(M(:))
[row, column] = ind2sub(size(M), linIndexOfMax)
In the command window:
M =
8 1 6
3 5 7
4 9 2
maxValue =
9
linIndexOfMax =
6
row =
3
column =
2
2 个评论
Image Analyst
2014-10-6
Here's another quirk that trips people up all the time - it's about the size function as applied to images: http://blogs.mathworks.com/steve/2011/03/22/too-much-information-about-the-size-function/
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!