【发布时间】:2015-07-04 17:52:40
【问题描述】:
这是我的代码:
friendly_output = num2str(std(counts_channel),'%.4f');
if friendly_output > 0 && friendly_output <= 1000
variable = 100
elseif friendly_output > 1000 && friendly_output <= 1500
variable = 500
这里的变量friendly_output 是一个十进制数。但是,当我执行此代码时,这会提示我错误:
|| 的操作数和 && 运算符必须可转换为逻辑 标量值
我尝试通过将&& 替换为& 来解决此问题,程序可以运行,但变量friendly_output 未能捕获正确的if 语句。
我尝试输出friendly_output的值,该值是正确的,但它进入的语句是错误的。
谢谢。
【问题讨论】:
-
不清楚你为什么首先使用
num2str。如果你打印出你的friendly_output变量和size(friendly_output),你会发现它不是一个标量。现在在命令行窗口中尝试help &和help &&。另请参阅this answer。 -
移除 num2str 或在友好输出上使用 str2num。如果要比较字符串,请使用 strcmp。
标签: matlab