MATLAB和数组有关的逻辑运算总结
来源:网络收集 点击: 时间:2024-06-03首先,我们有一个矩阵B. 通过all(B)计算每一列,如果全部是非零值或者逻辑1,那么该列结果为逻辑1。相当于按照列逻辑求积,也就是与。返回一个行向量。
all函数还可以通过第二个参数指定维度。如图,指定第二维,那么沿着第二维逻辑乘积。结果列向量。

all函数可以组合地用在if条件判断中。如图所示。此时all返回的是1*4逻辑行向量。

另一个技巧是,如果我们希望all返回整个数组所有元素的逻辑判断乘积,比如对于数组A可以先使用A(:),将A转化成n*1列向量,然后再使用all函数。

any的用法与all类似,但是any的逻辑判断是沿着某维度的向量,若其中有非零值或者逻辑1,那么该向量结果就为1.相当于逻辑求和,也就是或。

同样使用A(:)的技巧,if any(A(:)2) 可以判断A中是否有大于2的元素。

接下来说true函数和false函数。它们可以无参数使用,表示逻辑1和逻辑0.
也可以带有参数。
参数可以是:
一个数(方阵阶数)
一个向量(每一维的长度)
多个数(相当于一个向量)

下面说find函数。find函数会将数组视为一维,返回其中所有的非0数值或者逻辑1的下标。
find函数如果带有第二个参数n,表示前n个。

find函数还可以带有第三个参数,可以是first或者last,表示前n个还是后n个。如图。

当find用于二维矩阵,且有两个返回值时,两个返回列表组合起来是数组元素的下标。

当find用于二维矩阵,且有三个返回值时,三个返回列表分别是下标1,下标2,元素值。

logical可以将数值矩阵转化成逻辑值矩阵。islogical可以判断一个数组是不是逻辑值数组,用法如图。

true和false还有一些不常用的用法没有介绍。
MATLAB逻辑运算版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_874962.html