2016-05-04 12 views
3

パラメトリックプロットの反復プロット関数plot forをgnuplotに使用します。私はin this Question学んだようgnuplotを使用した反復パラメトリックプロット

set parametric 
f(x) = x 
plot for [i=1:2] t,f(i*t) 

しかし、for反復はコンマの後に終了します。したがって、反復はtにのみ適用され、f(i*t)には適用されません。しかし、パラメトリックプロットはコンマで区切られた一対の関数を必要とするので、gnuplotにパラメトリックプロットを繰り返しプロットするように指示するにはどうすればよいですか?

+1

私は分かりませんが、 'Version 5.0 patchlevel 3'ではうまく動作しているようです。 – bibi

+0

残念ながら、gnuplot 4.6では動作しません。 – thyme

答えて

2

実際に試しましたか? gnuplotは、パラメトリック座標と、plot-elementの末尾のカンマを区別します(for -loopを含むことができます)。これは、与えられた座標の数を数えることによって簡単に行われます。

例えば、

set parametric 
set size ratio -1 
plot for [i=1:3] cos(t),i*sin(t) title "Ellipse ".i, \ 
    for [i=1:3] i*cos(t),i*sin(t) title "Circle ".i 

あなたは

plot for [i=1:3] cos(t),i*sin(t),i*cos(t),i*sin(t) 

を行うならば、あなたは((まあ、円i = 1の場合を含む)3つの楕円を維持し、1円はi=3に対してプロットしてい値iは、最後の座標のペアからforループの後に保持されます)。

+0

どのgnuplotバージョンを使用していますか?私はgnuplot 4.6を持っており、そこでは動作しないようです。 – thyme

+0

最新のバージョンに更新できますか? – bibi

+0

私はgnuplot 5を持っていますが、これはバージョン4.6(パッチレベル6)でも動作します。バージョン4.4以上で動作します。 「うまくいかない」と思われるものについて詳しく説明してください。 2番目のケースでは、最初のケース(楕円1と円1が同じ)で6つの楕円/円、3つの楕円(1つが円)、1つの大きな円(半径3)を取得する必要があります。 – Joce

関連する問題