matlab中any()函数用法

本文详细解释了Matlab中any函数如何在数组中沿指定维度进行逻辑OR运算,验证不同维度和向量的情况,并展示了其在查找特定条件元素时的实际用途。
摘要由CSDN通过智能技术生成

一、帮助文档中的介绍

B = 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     0
     0     0     0     1
     0     0     1     0

>> size(a)
ans =
     3     4

 1、维度:第一维不等于 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 =
  logical
   0
>> size([0 0 1])%注意第一个不等于1维度
ans =
     1     3

>>  size(any([0 0 1]))%说明方向
ans =
     1     1

>> any([0 0 1])%说明运算规则——全0为0,否则为1
ans =
  logical
   1

2 、列向量

>> size([0;0;0])
ans =
     3     1

>> size(any([0;0;0]))
ans =
     1     1

>> any([0;0;0])
ans =
  logical
   0

3 、三维数组

>> a(1,:,:)=[0 0 0 0;0 0 0 1;0 0 1 0]
a(:,:,1) =
     0     0     0

a(:,:,2) =
     0     0     0

a(:,:,3) =
     0     0     1

a(:,:,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) =
   0

ans(:,:,2) =
   0

ans(:,:,3) =
   1

ans(:,:,4) =
   1

四、用处

查找数组中是否有满足每一条件的元素。

比如查找数组中是否有小于3的元素

clear
clc
rng(10)
A = magic(3)
threshold=3
any(A(:) < threshold)
if any(A(:) < threshold)%检查A中的数据是否有小于3
    disp "A至少存在一个小于threshold的元素"
else
    disp "A所有的元素都大于threshold"
end

 运行结果

>> 
A =
     8     1     6
     3     5     7
     4     9     2

>> 
threshold =
     3

>> any(A(:) < threshold)
ans =
  logical
   1

>> 
"A至少存在一个小于threshold的元素"

>> 

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值