Gnuplot:在循环中绘制不同的函数

Gnuplot: Plotting different functions in a loop

我想在同一张图中绘制 Hermite 多项式,而不必使用循环将它们一一键入。我试过这样的事情:

    H0(x) = 1 
    H1(x) = 2*x 
    H2(x) = 4*x*x-2 
    H3(x) = 8*x**3-12*x 
    H4(x) = 16*x**4-48*x**2+12 
    H5(x) = 32*x**5-160*x**3+120*x

    plot for[i=0:5] H.i(x)

但它不起作用,它会说:undefined variable: H。我已经看到变量 i 可以用作字符串,但我一直无法找到在调用函数时是否有办法将它用作字符串。

尝试不同的方法,包括索引 i 作为函数的参数:

H(i,x) = (i == 0 ? 1 : \
          i == 1 ? 2*x : \
          i == 2 ? 4*x*x-2 : \
          i == 3 ? 8*x**3-12*x : \
          i == 4 ? 16*x**4-48*x**2+12 : \
          i == 5 ? 32*x**5-160*x**3+120*x : 1/0)

plot for[i=0:5] H(i,x)

可以改进

set term wxt persist

set xrange[-1:1]

H(i,x) = (i == 0 ? 1 : \
      i == 1 ? 2*x : \
      i == 2 ? 4*x*x-2 : \
      i == 3 ? 8*x**3-12*x : \
      i == 4 ? 16*x**4-48*x**2+12 : \
      i == 5 ? 32*x**5-160*x**3+120*x : 1/0)

plot for[i=0:5] H(i,x) title sprintf("H(").sprintf('%d',i).sprintf(",x)")

Hermite

enter image description here