首页 > 解决方案 > 求和条件应用于没有循环的向量的可能排列 MATLAB

问题描述

我想对以下条件求和以对 size 数组求和以下条件n

例如n=4

eps=0.6;    
((x(1)<eps && x(2)<eps && x(3)<eps) || ...
(x(1)<eps && x(2)<eps && x(4)<eps) || ...
(x(2)<eps && x(3)<eps && x(4)<eps) || ...
(x(1)<eps && x(3)<eps && x(4)<eps))
          

x=[0.1 0.5 0.3 0.9]结果将是s=1,结果x=[0.1 0.6 0.7 0.9]将是s=0

如何在不使用双循环的情况下做到这一点?

标签: matlab

解决方案


您可以将您的条件重写为:

condition = (sum(x >= eps) == 1);

对于任何大小的 x。基本上,您只需检查是否只有一个不小于 eps 的元素。


推荐阅读