Multiple conditions in an IF statement and they are not logical scalar values
6 次查看(过去 30 天)
显示 更早的评论
Here is the sample code that I have written and keep getting this error:
n=input('Enter the values: ');
xmax=input('Enter the Maximum: ');
xmin=input('Enter the Minimum: ');
delx=(xmax-xmin)/(n-1);
for i=1:n
x(i)=xmin-(i-1)*delx;
if ((x>=0) && (x<=2))
m(i)=20*x-4.5*x^2;
elseif ((x>=2) && (x<=4))
m(i)=20*x(i)-18*(x(i)-1);
else
m(i)=20*x-30-18*(x(i)-1);
end
end
plot(x,m)
The Matlab output is below:
>> PracticeExamME1905
Enter the values: 101
Enter the Maximum: 6
Enter the Minimum: 0
Operands to the || and && operators must be
convertible to logical scalar values.
Error in PracticeExamME1905 (line 7)
if ((x>=0) && (x<=2))
0 个评论
采纳的回答
KALYAN ACHARJYA
2021-2-25
编辑:KALYAN ACHARJYA
2021-2-25
Replace x with x(i) in all data, then code execute without any error.
More: read about preallocation and logical indexing (MATLAB)
0 个评论
更多回答(0 个)
另请参阅
类别
在 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!