在涉及到一些下标运算时,经常会遇到布尔值与数值型的相互转换。

数值型转化为逻辑值

在MATLAB中常采用函数logical()将数值型数据转换成逻辑型数据。数值型数据转换成逻辑型的数据一般遵循这样的规则:非0的数值型数据转换成逻辑真,即1;等于0的数值转换成逻辑假,即0。那么按照这个规则,我们也可以自己编写代码实现,很简单

num=5;
bnum=~(num==0);

或者利用logical函数

bnum=logical(num);

简单一行代码即完成了转换。

逻辑值转化为数值型

两种方法

  • 强制转换:double(x)
  • 自动转换:当逻辑值参与数学运算时会自动转为数值型
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐