我如何在 gnuplot 中表达这个等式?

how can I express this equation in gnuplot?

在 gnuplot 中,我将如何表达这样的内容:

为了表达不等式,我们将使用三元运算符,其中(在伪代码中)

if CONDITION:
    DO_A
else:
    DO_B

表示为

CONDITION ? DO_A : DO_B

所以在我们的例子中,

if a != x:
    f(x) = (a - x)**(0.04)
else:
    f(x) = 0

表示为

f(x,a) = (a != x) ? (a - x)**(0.04) : 0

请注意,我们将 25 次方根或 n^(1/25) 表示为 n^(0.04)。

绘制此等式将如下所示:

reset
f(x,y) = (y != x) ? (y - x)**(0.04) : 0
unset colorbox
set isosample 300, 300
set xlabel 'x'
set ylabel 'y'
set title '(y - x)^{0.04} != 0'
set sample 300
set pm3d map
splot [-500:500] [-500:500] f(x,y)

产生

另一种表达方式是简单地做

reset
f(x,y) = (y - x)**(0.04) != 0
unset colorbox
set isosample 300, 300
set xlabel 'x'
set ylabel 'y'
set title '(y - x)^{0.04} != 0'
set sample 300
set pm3d map
splot [-500:500] [-500:500] f(x,y)

产生

在第二张图片中,Gnuplot 正在绘制方程的虚部(即,当 x > a 时)。