我想画一个图形,但是当我在 Scilab 中运行程序时,我收到了这个法语错误:
给定操作数的未定义操作。检查或定义函数% b_1_s 是否过载。
这是代码:
for t=[0:9.69:19.38]
if 0<=t<9.69 then
v=0;
elseif 9.69<=t<14.45 then
v=1.548*t;
else
v=15;
end
end
plot(t,v)
错误消息说您需要重载<
才能使用布尔值和数字(实际上是双矩阵)。发生这种情况是因为在行中if 0<=t<9.69 then
并且elseif 9.69<=t<14.45 then
您尝试连续执行两个操作。这在数学符号中很好,但在这种情况下不是。
Scilab 解释
0<=t<9.69
作为(0 <= t) < 9.69
,和9.69<=t<14.45
作为(9.69 <= t) < 14.45
。因此,第一个括号返回一个布尔值,然后将该布尔值与一个数字进行比较,这是没有意义的。要解决它,您应该使用两个由and运算符分隔的不同比较&
:
0<=t<9.69
变成(0 <= t) & (t < 9.69)
,并且9.69<=t<14.45
变成(9.69 <= t) & (t < 14.45)
.本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句