减少单值逻辑数组
这个例子展示了如何使用任何
和所有
函数来降低整个数组一个逻辑值。
的任何
和所有
功能逻辑的自然扩展|
(或)和&
分别和运营商。然而,而不是仅比较两个元素,任何
和所有
功能比较所有的元素在一个特定的维度的数组。就好像所有的这些元素连接&
或|
运营商和任何
或所有
功能评估产生的逻辑表达式。因此,与核心逻辑运算符任何
和所有
功能减少数组的大小尺寸,他们操作尺寸1。这使得许多逻辑值的减少为一个逻辑条件。
首先,创建一个矩阵一个
包含随机整数1到25之间。重置默认状态的随机数字生成器再现性。
rng默认的5 =兰迪(25日)
一个=5×521日3 4 4 17日23日7 25 11 1 4 14 24 23日22日23日24日13 20日24日16日25日21日24 17
接下来,使用国防部
函数的逻辑不是运营商,~
,以确定哪些元素一个
甚至。
= ~国防部(2)
一个=5 x5逻辑阵列0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 0
由此产生的矩阵的逻辑值1
(真正的
),一个元素是偶数,和逻辑0
(假
),一个元素是奇数。
自任何
和所有
功能降低维度,他们操作尺寸1,它通常需要两个应用程序的功能来减少一个二维矩阵为一个逻辑条件,如任何(一个))(
。然而,如果你使用符号(:)
把所有的元素一个
作为一个列向量,可以使用任何(一个(:))
得到相同的逻辑没有嵌套函数调用的信息。
确定任何元素一个
甚至。
任何(一个(:))
ans =逻辑1
你可以执行逻辑,在函数调用关系比较任何
或所有
。这使得很容易快速测试各种属性的数组。
确定所有的元素一个
是奇数。
所有(~ (:))
ans =逻辑0
确定任何主要或超级对角元素一个
甚至。因为返回的向量诊断接头(A)
和诊断接头(1)
是不一样的尺寸,您首先需要减少每个对角单个标量逻辑条件进行比较。您可以使用短路或运营商| |
执行比较,因为如果任何第一对角元素甚至整个表达式的计算结果为真时,不管出现在右边的操作符。
任何(诊断接头(A)) | |任何(诊断接头(A, 1))
ans =逻辑1