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!