How do I select the minimum value from the first column based on the corresponding value in the second column?
8 次查看(过去 30 天)
显示 更早的评论
I have data in two columns as shown below.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/897160/image.png)
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?
0 个评论
采纳的回答
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))
更多回答(1 个)
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 Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!