巧妙利用try,catch语句解决Operands to the || and && operators must be convertible to logical scalar values

84db646273f34a1fb126e8640a429d16.png

如图所示,在用if语句做逻辑“与 ”和逻辑“或”运算时,会出现“Operands to the || and && operators must be convertible to logical scalar values”的报错,报错的文字意思是用逻辑运算与和或时,参与运算的数据类型必须是逻辑型的,但是我用logical函数强制转换还是会同样的报错,如下图所示5ca9d3c80bc74f518096908a93b2204f.png

所以这个应该是一个bug,或者是我水平浅理解不到位。但是我们是利用Matlab解决问题的,我们用if和逻辑运算与和或,无非是把目标分成两类,那我们有没有办法在使用逻辑运算与和或的前提下还能满足 分类要求?

        答案是有的。通过分析,我们知道这个代码是判断“2003-g”在不在字符串x里,如果在,输出“111yes”,如果不在,输出“111no”,本人发现如果查找在字符串里的字符,就不会报错,可以输出“111yes”。查找字符串不在的时候才会报错。那么我们就可以利用try-catch语句,把报错的时候需要执行的功能放到catch上,不报错需要执行的功能放到try上,就可以完美的实现分类。这个是我在处理数据的时候碰到问题拿出来单独做的功能试验,大家如果碰到类似问题(仅限类似问题),欢迎评论区留言(注释:Matlab版本是Matlab12,别问我为什么版本那么低,懂的都懂😂😂)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值