前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab-使用逻辑值进行索引

Matlab-使用逻辑值进行索引

作者头像
用户9925864
发布2022-07-27 09:24:12
7980
发布2022-07-27 09:24:12
举报

使用 true 和 false 逻辑指示符可以对数组进行索引,在处理条件语句时尤其便利。例如,假设您想知道矩阵 A 中的元素是否小于另一个矩阵 B 中的对应元素。当 A 中的元素小于 B 中的对应元素时,小于号运算符返回元素为 1 的逻辑数组。

代码语言:javascript
复制
A = [1 2 6; 4 3 6]
A = 2×3

     1     2     6
     4     3     6


B = [0 3 7; 3 7 5]
B = 2×3

     0     3     7
     3     7     5


ind = A<B
ind = 2x3 logical array

   0   1   1
   0   1   0

现在已经知道满足条件的元素的位置,可以使用 ind 作为索引数组来检查各个值。MATLAB 将 ind 中值 1 的位置与 A 和 B 中的对应元素进行匹配,并在列向量中列出它们的值。

代码语言:javascript
复制
Avals = A(ind)
Avals = 3×1

     2
     3
     6


Bvals = B(ind)
Bvals = 3×1

     3
     7
     7

MATLAB 中的 is 函数还返回逻辑数组,指示输入中的哪些元素满足特定条件。例如,使用 ismissing 函数检查 string 向量中的哪些元素是缺失值。

代码语言:javascript
复制
str = ["A" "B" missing "D" "E" missing];
ind = ismissing(str)
ind = 1x6 logical array

   0   0   1   0   0   1

假设要查找非缺失值元素的值。将 ~ 运算符和索引向量 ind 结合使用即可实现此目的。

代码语言:javascript
复制
strvals = str(~ind)
strvals = 1x4 string
    "A"    "B"    "D"    "E"
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档