Operands to the || and && operators must be convertible to logical scalar values error
2 次查看(过去 30 天)
显示 更早的评论
I get an operators error... Not sure why. Can you help out?
Here is the code:
while count<=i
mfg=G(count)
if mfg == 27 && mfgdate2 >= 1946 && mfgdate<= 1974 || mfg == 27 && mfgdate>= 1983 && mfgdate<= 1988
MfgScore(count,:)=3;
end
count=count+1;
end
0 个评论
采纳的回答
Walter Roberson
2017-11-13
Either mfgdate or mfgdate2 are not scalar. You probably need to index them with count
It is suspicious that you use mfgdate2 only once in the expression
0 个评论
更多回答(1 个)
Faustino Quintanilla
2017-11-13
1 个评论
Walter Roberson
2017-11-13
I find it suspicious that
elseif mfg == 27 && mfgdate2(count)>= 1946 && mfgdate(count)<= 1974 || mfg == 27 && mfgdate(count)>= 1983 && mfgdate(count)<= 1988
is the only place that uses mfgdate instead of mfgdate2, and that in the middle of the expression mfgdate2 is the lower bound but mfgdate is the upper bound. It would make more sense to me if you had
elseif mfg == 27 && mfgdate2(count)>= 1946 && mfgdate2(count)<= 1974 || mfg == 27 && mfgdate(count)>= 1983 && mfgdate(count)<= 1988
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!