gnuplot中未定义的t变量

玛丽

我试图cos((0.1*x)*exp(-sqrt(x)/2*sqrt(t)))在gnuplot中绘制高斯波。t通过以下方式定义范围

set trange [0.1:2] 
plot cos((0.1*x)*exp(-sqrt(x)/2*sqrt(t)))

但它因undefined variable t错误而停止我该怎么办?

马修

plot命令与单个变量的功能一起使用。因此它将填充该x值,但是当遇到时t,它不知道该如何处理。

如果您先前已定义t,它将使用该值。因此

t = 0.5
plot cos((0.1*x)*exp(-sqrt(x)/2*sqrt(t)))

将t的值设置为0.5即可正常工作。

如果您希望为t值范围绘制多条曲线,则可以使用如下plot for语法

plot for [t=0:10] cos((0.1*x)*exp(-sqrt(x)/2*sqrt(0.1+t*0.19)))

它将绘制一系列值的曲线。由于for语法适用于整数,因此我们需要为循环使用一个整数值,然后计算公式的值(0.1+t*0.19t的范围为0到10时,根据需要,范围为0.1到2)。您可以使用

plot for [t=0:10] cos((0.1*x)*exp(-sqrt(x)/2*sqrt(0.1+t*0.19))) title sprintf("t=%f",0.1+t*0.19)

设置范围仅适用于plot命令可以理解的变量。由于t不是其中之一(在参数模式下除外),在这种情况下,range命令不执行任何操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章