【发布时间】:2016-03-28 21:10:33
【问题描述】:
我正在寻找一种方法来测试矩阵的 所有 元素是否大于或等于另一个矩阵中的相应索引值,如果不停止评估。这是用于设置值下限的elseif 语句的一部分,因此作为简化示例:
下界矩阵:A = [4 5 6 7]
新值矩阵:B = [7 8 9 10]
是B>=A 那么是的,接受并继续
而
下界矩阵:A = [4 5 6 7]
新值矩阵:C = [5 3 5 8]
是C>=A?那么不行,C的所有元素都不大于A,拒绝并停止
到目前为止,我的解决方案有点陈旧:
是sum(C>=A) < length(C)?不,然后拒绝并停止
这给出了比较C>=A中真/假值的总和,如果C的所有值都大于C的长度,则总和将小于@的长度987654334@。我一直在想有一个简单而更优雅的解决方案,我忽略了它,如果有任何想法,我将不胜感激。谢谢!
【问题讨论】:
-
看看
all(A<=B)。any相当于测试一个非零条目。对多维矩阵使用all(A(:)<=B(:))。 -
顺便说一句,
C[i,j]等不是有效的 MATLAB 语法。使用实际代码对大家更有帮助... -
谢谢!将删除 [i,j] 部分。只是想强调我正在寻找一个元素明智的答案。