MATLAB中出现|| 和 && 运算符的操作数必须能够转换为逻辑标量值以及MATLAB中if语句中定义的变量不能使用的问题

MATLAB中出现|| 和 && 运算符的操作数必须能够转换为逻辑标量值以及MATLAB中if语句中定义的变量不能使用的问题

根据网上的解决方案:||和&&为值运算, |与&为向量运算,将||改为|,将&改为&
但是该完之后出现if语句中定义的变量不能使用的问题:代码如下
f=150:1350/34:1500;
hb=200;
hm=3;
if f>=150&f<=200
Ch=8.29*(log10(1.54hm)).^2-1.1;
else if f>200&f<=1500
Ch=3.2
(log10(11.75*hm))^2-4.97;
end
end
发现原因是f是非标量,而和f比较的值是标量,不能比较

具体解决办法:

f=150:1350/34:1500;
hb=200;
hm=3;
Ch=(f>=150&f<=200).(8.29(log10(1.54hm)).^2-1.1)+(f>200&f<=1500).(3.2*
(log10(11.75hm))^2-4.97);
注意是(f>=150&f<=200)点乘(8.29(log10(1.54*hm)).^2-1.1)*
编辑器有点问题
但是最后发现变量又可以用了:尴尬(只是会有警告)

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值