三元运算中的整数-GNUplot

时间:2013-09-27 08:27:05

标签: math integer gnuplot ternary-operator boolean-operations

我尝试在GNUplot中按部分编写一个函数,其中f(x)是一个常量(浮点数),当常量是一个整数时它才起作用。错误是

  

'非整数传递给布尔运算符'

这是我的代码:

R=53.
R0=40.
rho1=339.7
rho2=383.4
rhom=333.4

f1(x)=x<=R0 ? rho1 : rho2 && x>=R ? rhom : rho2
p f1(x)

有人能帮我解决这个(最有可能)愚蠢的问题吗?

谢谢

1 个答案:

答案 0 :(得分:0)

错误在f1(x)定义上。它有布尔结果。 功能

f1(x)= (x<=R0 ? rho1 : rho2) && (x>=R ? rhom : rho2)

for x = 40 return

f1(x)= (true) && (false) -> false

是布尔值。

如果您想为rho1制作x<=R0,为rho2制作x in (R0,R),为rhom制作x=>R,则必须使用:

f1(x)= (x<=R0 ? rho1 : (x>=R ? rhom : rho2) )
p [20:80] f1(x)

enter image description here