Matlab中布尔值/逻辑值与数值型类型的相互转换

版权声明:版权归作者祝枫所有,欢迎保留原文链接进行转载。 https://blog.csdn.net/Vince_ZHU/article/details/83662665

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

数值型转化为逻辑值

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

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

或者利用logical函数

bnum=logical(num);

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

逻辑值转化为数值型

两种方法

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

猜你喜欢

转载自blog.csdn.net/Vince_ZHU/article/details/83662665