max value from particular set of rows and columns

7 views (last 30 days)
Guys, I have a 12X40 matrix. I want to search for the max value but in certain rows and columns. Say, I want to search for max in first three rows and last three rows and column number 2 5 8 14 16 and35. It should pick the max. from these locations only. I tried a=[1 2 3 10 11 12] b=[2 5 8 14 16 35] c=max(max(matrix(a,b))

Answers (2)

Image Analyst
Image Analyst on 8 Mar 2015
Edited: Image Analyst on 8 Mar 2015
Try this:
matrix = rand(12, 40) % Sample data
a=[1 2 3 10 11 12]
b=[2 5 8 14 16 35]
% Extract only the rows we care about
subMatrix = matrix(a, :);
% Extract only the columns we care about
subMatrix = subMatrix(:, b)
% Find the max in what's left:
theMax = max(subMatrix(:))
  4 Comments
Ace_ventura
Ace_ventura on 8 Mar 2015
I got the answer..Thanks for replying Image Analyst.
Image Analyst
Image Analyst on 8 Mar 2015
Well, yes it should have been the same but you said it didn't work, so in the cases where the obvious method does not work, I break it up into smaller parts, sub-expressions, to make sure each sub-step works properly, so that's what I did. I later ran your code and found that it gave the same answer, so I'm not sure what went wrong.

Sign in to comment.


Guillaume
Guillaume on 8 Mar 2015
You've done it the right way, so if it's not giving you the expected result the problem is somewhere else.
Possibly, post the content of your matrix and the result you expect.
  2 Comments
Ace_ventura
Ace_ventura on 8 Mar 2015
i tried it on a randomly generated matrix but did not get the desired result
Ace_ventura
Ace_ventura on 8 Mar 2015
I got the answer dis time.I dont know what went wrong the first time.Thanks Guillaume

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!