當使用sqrt(x)
時,Gnuplot只使用正平方根值。有沒有辦法在同一個函數中繪製正值和負值。如何在一個函數中繪製±sqrt(x)?
我知道一個黑客,它將使用f(x) = sqrt(x)
和並將它們繪製在一起,然後調整這兩個函數以使用相同的線條顏色,但有沒有更好的方法?
當使用sqrt(x)
時,Gnuplot只使用正平方根值。有沒有辦法在同一個函數中繪製正值和負值。如何在一個函數中繪製±sqrt(x)?
我知道一個黑客,它將使用f(x) = sqrt(x)
和並將它們繪製在一起,然後調整這兩個函數以使用相同的線條顏色,但有沒有更好的方法?
您可以繪製一個參數化曲線:
set parametric
set trange [-10:10]
set samples 1000
plot abs(t), (t > 0 ? 1: -1) * sqrt(abs(t))
來實現這一目標:
在數學上,函數是一個數學對象,對於函數域內的每個x,只有一個相應的f(x)值。 Gnuplot處理數學「功能」。所以這不是一個「黑客」,也不是gnuplot的「問題」。
如果使用參數表示(由克里斯托夫的答案),你也可以用逆功能sqrt(t)
,這將是t**2
,例如
set parametric
set trange [-10:10]
set samples 1000
plot t**2,t
我從來沒有說過這是一個「問題」...... – user80551
Gnuplot一般處理情節,不僅功能。在任何情況下,你的推理都有點遲鈍,因爲對於這種特殊情況,x是y的函數。它被表示爲相對於它們的標準表示旋轉的軸不會使它少於一個功能。 – Miguel
這不是一個意見問題,或者是一個定義。所以是的,如果一個「x」有2個「y」,這不是一個函數。參數圖是一個函數,因爲給定t只有一個f(t)。 https://en.wikipedia.org/wiki/Function_%28mathematics%29 – Sebastien