max value from particular set of rows and columns

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)

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

There is no need to separate the extraction in two. The following works just as well:
submatrix = matrix(a, b);
theMax = max(submatrix(:))
but is this not the same what i am trying to do?
I got the answer..Thanks for replying Image Analyst.
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.

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

i tried it on a randomly generated matrix but did not get the desired result
I got the answer dis time.I dont know what went wrong the first time.Thanks Guillaume

Sign in to comment.

Categories

Asked:

on 8 Mar 2015

Commented:

on 8 Mar 2015

Community Treasure Hunt

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

Start Hunting!