Find out if X out of Y elements of an array are true
7 ビュー (過去 30 日間)
古いコメントを表示
I have an array of 5 elements. The array is updated at any index (1,2,3,4,5) in each simulation time to a value TRUE or FALSE. In the next function, I should check if 4 out of 5 elements including the last updated element of the array are TRUE. Is there a way to check this?
0 件のコメント
採用された回答
Jos (10584)
2019 年 5 月 31 日
Let TF be your logical array and X the index of the last updated element then
ConditionIsMet = TF(x) && sum(TF) == 4
will be true if your condition is met.
その他の回答 (1 件)
Arvind Sathyanarayanan
2019 年 5 月 31 日
編集済み: Arvind Sathyanarayanan
2019 年 5 月 31 日
You can do something like this :
X=sum(Array(:) == 1);
if X>=4
disp('4 or more elements are true')
end
3 件のコメント
Jos (10584)
2019 年 6 月 1 日
Logically, when one element changes at a time, (let's say, the k-th), the condition that 4 out of 5 are ture, is met can only happen when that element has become true. So, logically, that check is not really necessary ...
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!