How do I select the minimum value from the first column based on the corresponding value in the second column?

27 次查看(过去 30 天)
I have data in two columns as shown below.
I want to find the minimum value in column one but the minimum function should only consider values in the 1st column, whose corresponding value in the 2nd column is a 0.
So in the above 8 rows the minimum value would be 3 since the minimum function would only look at 3,5,7,76.
How can achieve this?

采纳的回答

KSSV
KSSV 2022-2-17
Let A be your data.
A = [1 1; 22 1; 3 0 ; 5 0; 60 1; 76 0; 7 0; 12 0] ;
iwant = min(A(A(:,2)==0,1))
iwant = 3

更多回答(1 个)

Sajid Afaque
Sajid Afaque 2022-2-17
编辑:Sajid Afaque 2022-2-17
use the below workaround
%variable
var = [[1;22;3;5;60;76;7;12] [1;1;0;0;1;0;0;1]];
%select only the portion which has second column entries as zeroes
var1 = var(find(var(:,2) == 0),:);
%now apply the min function
min_value = min(var1(:,1));
same in one line
%
min_value = min(var(find(var(:,2) == 0),1))

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by