How do i refer to an entire row in a matrix, while only specifying one variable in that row?

I have a matrix consisting of 2 columns and 160 rows. My aim is to automatically generate the entire row in which the second variable is the lowest of it's column. For example:
Matrix = [1 5; 4 1; 2 7; 3 8]
I need a code which generates the second row (4 1) since 1 is the lowest number in the second column. Thank you in advance for the help!

 Accepted Answer

Unfortunately, here's where Matlab syntax of only being able to return and use the first argument inline hurts (albeit I don't have a suggestion for an alternate syntax) so you must use an intermediate variable...
[~,ix]=min(M(:,2)); % loc of min in 2nd column
N=M(ix,:); % that row from M
This works reliably only if there is a unique minimum; if repeated minimums are possible the above will return only the location of the first of same...

4 Comments

Thank you, I think this will work fine.. Just changed a little thing:
[~,ix]=min(M(:,1)); % loc of min in 2nd column
N=M(ix,:); % that row from M
to
[~,ix]=min(M(:,2)); % loc of min in 2nd column
N=M(ix,:); % that row from M
Thank you!
Oh, yeah, did have a typo; will fixup answer. Please "ACCEPT" answer if it solved the issue...
I accepted it, thank you for the advice.. I've just started working with Matlab this month. I also have a follow-up question: Is it possible to automatically delete this minimum from the matrix and continue working with the altered matrix? I now how to clear variables, but not how to delete one row out of a matrix.
Thank you again for the help!
Set the desired row(s)/column(s) to empty ([]) ...
x(ix,:)=[]; % delete the rows in index vector ix
I suggest opening the online documentation and working thru the "Getting Started" exercises -- it'll walk you thru these kinds of introductory syntax exercises more quickly.

Sign in to comment.

More Answers (1)

Something like this:
Matrix = [1 5; 4 1; 2 7; 3 8];
SecCol = Matrix(:,2);
[val,ind] = min(SecCol);
Result = Matrix(ind,:)

Asked:

on 16 Aug 2015

Commented:

dpb
on 19 Aug 2015

Community Treasure Hunt

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

Start Hunting!