2013-10-09 4 views
5

sqrt(x)を使用すると、Gnuplotは正の平方根値のみを使用します。同じ関数に正の値と負の値の両方をプロットする方法はありますか?1つの関数で±sqrt(x)をプロットするにはどうすればよいですか?

私は、f(x) = sqrt(x)と​​を使用してそれらを一緒にプロットし、両方の機能を同じ線色を使用するよう調整するが、より良い方法があるということを知っていますか?

答えて

6

あなたはパラメータ化曲線をプロットすることができますsqrt(t)の機能、t**2となります。

set parametric 
set trange [-10:10] 
set samples 1000 
plot t**2,t 
0

数学的には、関数は、関数のドメイン内のすべてのxに対して1及びf(x)の値を対応する一方のみが存在した数学的対象です。 Gnuplotは数学的な "関数"を扱います。したがって、gnuplotでは "ハック"でもなく "問題"でもありません。

enter image description here

+2

私は決して "問題"とは言わなかった... – user80551

+0

Gnuplotは一般的にプロットを処理します。そして、どんな場合でも、この特定のケースでは、xはyの関数なので、あなたの推論はやや鈍いです。標準的な表現に対して軸を回転させて表現されていても、それほど機能が低下しません。 – Miguel

+0

それは意見の問題ではなく、あいまいであるという定義です。だから、もしあなたが1つの "x"に対して2 "y"を持っていれば、それは関数ではありません。パラメトリックプロットは、与えられたtに対してただ1つのf(t)が存在するため、関数である。 https://en.wikipedia.org/wiki/Function_%28mathematics%29 – Sebastien

3

あなたは(クリストフの答えによってとして)パラメトリック表現を使用している場合、あなたはまた、逆を使用することができます。

set parametric 
set trange [-10:10] 
set samples 1000 
plot abs(t), (t > 0 ? 1: -1) * sqrt(abs(t)) 

は、これを達成するために:

関連する問題