parts-gnuplot定义的函数绘图中出现意外行

parts-gnuplot定义的函数绘图中出现意外行,plot,gnuplot,Plot,Gnuplot,我想画一个分段定义的函数 在gnuplot中实现,如下所示 h(x)=0 g(x)=(4/3)*(1-x**3) plot h(x)*(x<0) + g(x)*(x>0)*(x<1) + h(x)*(x>1) h(x)=0 g(x)=(4/3)*(1-x**3) 地块h(x)*(x0)*(x1) 问题是从h(x)到g(x)的线不是垂直线,而是倾斜线。我真的需要一个垂直的 如何修复它? 您必须提高采样率,例如 set samples 1000 还要注意,您可能必须将

我想画一个分段定义的函数

在gnuplot中实现,如下所示

h(x)=0
g(x)=(4/3)*(1-x**3)
plot h(x)*(x<0) + g(x)*(x>0)*(x<1) + h(x)*(x>1)
h(x)=0
g(x)=(4/3)*(1-x**3)
地块h(x)*(x0)*(x1)
问题是从
h(x)
g(x)
的线不是垂直线,而是倾斜线。我真的需要一个垂直的

如何修复它?

您必须提高采样率,例如

set samples 1000
还要注意,您可能必须将函数g(x)的定义更改为

因为您以其他方式计算
(4/3)
,它等于1而不是1.333

从数学上讲,非连续部分之间不能有连接线,因为这意味着那里有实际的函数值

您应该这样做:

plot sample [:0]  h(x) lc 1 title "f(x)", \
            [0:1] g(x) lc 1 notitle, \
            [1:]  h(x) lc 1 notitle

我不知道更改样本值的选项。非常有用。谢谢
plot sample [:0]  h(x) lc 1 title "f(x)", \
            [0:1] g(x) lc 1 notitle, \
            [1:]  h(x) lc 1 notitle