row from matrix by argument

hi
i have taken an argument from matrix B (the maximun value from column)
now i want to the take the row that the argument is shown in and make from it a vector.
how can i do it ?
thanks
tal shmuel

 Accepted Answer

dpb
dpb on 11 Feb 2020
Edited: dpb on 13 Feb 2020
m=randi(200,4) % sample data
m =
125 95 46 63
118 47 35 185
42 169 46 87
61 39 88 37
The engine:
[~,v]=max(m);
yields
>> v =
1 3 4 2
>>
ADDENDUM:
Ok, latest guess as I thought prior was unlikely...let me try one more time to see if follow...
[~,ix]=max(m(:)); % index of overall maximum in matrix m
[r,c]=ind2sub(size(m),ix); % convert index to row,column location in m
v=m(r,:) % row of m corresponding to that location
result for above sample m is:
>> v =
118 47 35 185
>>
That what you looking for?

4 Comments

OP Answer moved to Comment...dpb
thanks !
in your example i can see the max value in the matrix is 185 at m[2,4]
after the find of the max argument i want to make a vector from its row
thats my problem
Then I don't understand the question.
Variable v is the row of the maxima of each colum.
The max of the first column is 125 in row one which is the value of v(1) while v(4) is 4 to match it.
just to clearly me question,
i have a big matrix. the results of the matrix is the last column (the maximum value that i search)
when i find the maximun value i want to export all the row that its inclulded for and make from the row a vector that its size like the raw size matrix.
OK, see if my latest update above hits the target...

Sign in to comment.

More Answers (0)

Products

Release

R2019a

Asked:

on 11 Feb 2020

Edited:

dpb
on 13 Feb 2020

Community Treasure Hunt

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

Start Hunting!