我想使用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)
答案 0 :(得分:1)
您收到错误是因为if
块的内容从未执行过(只有s
阻止执行if
块才会定义-100 < t < 0
。这是由于评估逻辑表达式t
的方式。而不是检查-100
和0
之间是否(-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);