我试图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.19
t的范围为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] 删除。
我来说两句