我有一个矩阵 A(319 行 × 26 列)和两个向量,分别代表一个upper_bound
(319,1) 和一个lower_bound
(319,1)。
我的目标是检查一组 26 条曲线(每条曲线 319 点)中是否有一些点大于或低于upper_bound
/lower_bound
曲线,以便在至少有一个点通过这些限制时排除一组特定的数据。
感谢Shai的建议:
>> inBounds = bsxfun(@ge, A, lowerBound) & bsxfun(@le, A, upperBound);
并使用find
&accumarray
我得到了一个p
包含所有索引的单元格数组。
现在我想获得另一个单元格数组,其中包含引用这些特定索引 t
的所有原始值。A
我已经完成了一个for
循环,但它需要太多时间。有更快的方法吗?
这是循环:
for gg=1:rows
h = genvarname('purge_value', who);
eval([h ' = A(gg,p{gg})']);
end