## Find Minimum based on new criteria

### mr mo (view profile)

on 5 Nov 2017
Latest activity Commented on by Star Strider

on 5 Nov 2017

### Star Strider (view profile)

Hi. Suppose I have a matrix A e.g.
A=[
8.2505 4.8825 2.2563 0.0020 0
8.2505 4.8825 2.2687 0.0020 1
8.2505 4.8825 2.2813 0.0020 1
8.2505 4.9325 2.2813 0.0020 0
8.2505 4.9325 2.2938 0.0020 1
8.2755 4.7575 2.2437 0.0020 0
8.2755 4.7575 2.2563 0.0020 0
8.2755 4.7575 2.2687 0.0020 1
8.2755 4.8075 2.2188 0.0020 0
8.2755 4.8075 2.2313 0.0020 0
8.2755 4.8075 2.2437 0.0020 1
8.2755 4.8075 2.2563 0.0010 1
8.2755 4.8075 2.2687 0.0010 1];
I want to find the row that its value in third column is minimum and the value in fifth column is 1; if the value in fifth column is 0, then I want to find the row that has the next minimum value in third column and its value in fifth column is 1. Thanks for your help.

### Star Strider (view profile)

on 5 Nov 2017

This works:
row = (A(:,3) == min(A(A(:,5)==1,3))) & (A(:,5) == 1); % Row Index (Logical Vector)
Result = A(row,:) % Desired Row
If you want the number index of the row, use the find function:
row_index = find(row);

mr mo

### mr mo (view profile)

on 5 Nov 2017
Thank you very much.
Star Strider

### Star Strider (view profile)

on 5 Nov 2017
As always, my pleasure.

### Kaushik Lakshminarasimhan (view profile)

on 5 Nov 2017
Edited by Kaushik Lakshminarasimhan

### Kaushik Lakshminarasimhan (view profile)

on 5 Nov 2017

minval = min(A(A(:,5)==1,3))
rowindx = find(A(:,3)==minval)