在涉及到一些下标运算时,经常会遇到布尔值与数值型的相互转换。
数值型转化为逻辑值
在MATLAB中常采用函数logical()将数值型数据转换成逻辑型数据。数值型数据转换成逻辑型的数据一般遵循这样的规则:非0的数值型数据转换成逻辑真,即1;等于0的数值转换成逻辑假,即0。那么按照这个规则,我们也可以自己编写代码实现,很简单
num=5;
bnum=~(num==0);
1
2
或者利用logical函数
bnum=logical(num);
1
简单一行代码即完成了转换。
逻辑值转化为数值型
两种方法
强制转换:double(x)
自动转换:当逻辑值参与数学运算时会自动转为数值型
原文:https://blog.csdn.net/vince_zhu/article/details/83662665