我想知道如何操纵参数化1-D函数。例如,我想绘制参数a的不同值的高斯: F(X)= EXP(-a *(X-1)** 2)
我知道我可以为a的许多值创建不同的函数f(x),但我想知道是否有一种方法可以为a = 1,2,3等绘制此函数。
感谢。
答案 0 :(得分:3)
是的,只需定义您的函数,使其将变量参数作为输入:
f(x,a)=exp(-a*(x-1)**2)
然后循环它。它可以按顺序完成(“1至1间隔为1”):
plot for [a=1:3:1] f(x,a) t "a = ".a
或使用值列表:
plot for [a in "1 2 3"] f(x,a) t "a = ".a
答案 1 :(得分:1)
使用以下命令
gnuplot> f(x) = a*x
gnuplot> plot for [a = 1:3:1] f(x) title sprintf("a=%d",a)
我得到以下情节
您可能希望通过以下命令阅读可以获得的说明
gnuplot> help for
The `plot`, `splot`, `set` and `unset` commands may optionally contain an
iteration for clause. This has the effect of [...]
和
gnuplot> help sprintf
`sprintf("format",var1,var2,...)` applies standard C-language format specifiers
to multiple arguments and returns the resulting string. If you want to
use gnuplot's own format specifiers, you must instead call `gprintf()`.
For information on sprintf format specifiers, please see standard C-language
documentation or the unix sprintf man page.
HTH