我想在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