婚庆网站建设,装修材料,全网营销软件,西安门户网站开发一、帮助文档中的介绍 B any(A) 沿着大小不等于 1 的数组 A 的第一维测试所有元素为非零数字还是逻辑值 1 (true)。实际上#xff0c;any 是逻辑 OR 运算符的原生扩展。 二、解读
分两步走#xff1a;
①确定维度#xff1b;②确定运算规则
以下面二维数组为例 any(A) 沿着大小不等于 1 的数组 A 的第一维测试所有元素为非零数字还是逻辑值 1 (true)。实际上any 是逻辑 OR 运算符的原生扩展。 二、解读
分两步走
①确定维度②确定运算规则
以下面二维数组为例 a[0 0 0 0;0 0 0 1;0 0 1 0]
a 0 0 0 00 0 0 10 0 1 0 size(a)
ans 3 41、维度第一维不等于 1 维度的是d1所以运算方向就是向下→最终size【1,4】
2、运算逻辑 OR 运算也就是全0为0否则为1
最总结果就是沿着d1向下使用或/OR运算对其进行处理 运算结果 any(a)
ans 1×4 logical 数组0 0 1 1 size(any(a))
ans 1 4 运算结果符合预期说明解读是正确的
三、验证
1、行向量 size([0 0 0])%注意第一个不等于1维度
ans 1 3 size(any([0 0 0]))%说明方向
ans 1 1 any([0 0 0])%说明运算规则——全0为0
ans logical0 size([0 0 1])%注意第一个不等于1维度
ans 1 3 size(any([0 0 1]))%说明方向
ans 1 1 any([0 0 1])%说明运算规则——全0为0否则为1
ans logical1
2 、列向量 size([0;0;0])
ans 3 1 size(any([0;0;0]))
ans 1 1 any([0;0;0])
ans logical0
3 、三维数组 a(1,:,:)[0 0 0 0;0 0 0 1;0 0 1 0]
a(:,:,1) 0 0 0a(:,:,2) 0 0 0a(:,:,3) 0 0 1a(:,:,4) 0 1 0 size(a)
ans 1 3 4 size(any(a))
ans 1 1 4 any(a)1×1×4 logical 数组
ans(:,:,1) 0ans(:,:,2) 0ans(:,:,3) 1ans(:,:,4) 1
四、用处
查找数组中是否有满足每一条件的元素。
比如查找数组中是否有小于3的元素
clear
clc
rng(10)
A magic(3)
threshold3
any(A(:) threshold)
if any(A(:) threshold)%检查A中的数据是否有小于3disp A至少存在一个小于threshold的元素
elsedisp A所有的元素都大于threshold
end 运行结果 A 8 1 63 5 74 9 2
threshold 3 any(A(:) threshold)
ans logical1
A至少存在一个小于threshold的元素