Find out if X out of Y elements of an array are true
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
A VP
el 31 de Mayo de 2019
Comentada: A VP
el 3 de Jun. de 2019
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 comentarios
Respuesta aceptada
Jos (10584)
el 31 de Mayo de 2019
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.
Más respuestas (1)
Arvind Sathyanarayanan
el 31 de Mayo de 2019
Editada: Arvind Sathyanarayanan
el 31 de Mayo de 2019
You can do something like this :
X=sum(Array(:) == 1);
if X>=4
disp('4 or more elements are true')
end
3 comentarios
Jos (10584)
el 1 de Jun. de 2019
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 ...
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!