我想在gnuplot中绘制高斯波cos((0.1*x)*exp(-sqrt(x)/2*sqrt(t)))
。我定义了一个范围t
由:未定义t变量gnuplot
set trange [0.1:2]
plot cos((0.1*x)*exp(-sqrt(x)/2*sqrt(t)))
,但它与undefined variable t
停止错误。我该怎么办?
我想在gnuplot中绘制高斯波cos((0.1*x)*exp(-sqrt(x)/2*sqrt(t)))
。我定义了一个范围t
由:未定义t变量gnuplot
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)
设置一个范围只能使用变量,该地块命令理解的关键。由于t
不是其中之一(参数模式除外),所以在这种情况下,range命令不会执行任何操作。
谢谢。有效! – mary
你是否在某个地方定义过't'?在你的代码中,没有定义't',所以我同意这个错误。你预计它会使用什么't'的值? – e0k
[0.1:2]之间的一系列数据。我应该在定义t之前定义t吗? – mary
'set trange'用于参数图。那是你想要做什么? – e0k