为什么我的if语句没有按预期运行

时间:2017-02-28 02:04:12

标签: matlab

我想使用t来计算s,但我的代码抱怨变量s未定义。为什么会这样?

以下是代码:

a=1;
b=2;
t=input('输入');

if (-100<t<0) 
      T=t+100
      c1=20
      s=T*t
end
fprintf('输出%f\n',s)

1 个答案:

答案 0 :(得分:1)

您收到错误是因为if块的内容从未执行过(只有s阻止执行if块才会定义-100 < t < 0。这是由于评估逻辑表达式t的方式。而不是检查-1000之间是否(-100 < t) < 0; ,它等同于以下

true

由于-100 < t可以是true(1)或false(0),但两者都不会评估为1 0< 0 t

要检查(-100, 0)是否在and范围内,您需要将条件分为两部分并将其与逻辑&&if t > -100 && t < 0 合并)。

s

此外,您需要确保将t设置为某个默认值,这样如果s = NaN; if t > -100 && t < 0 T = t + 100; c1 = 20; s = T * t; end 超出指定范围,您将无法获得您所看到的错误

downview = (GraphView) findViewById(R.id.downgraph);
 upview = (GraphView) findViewById(R.id.upgraph);