2016-11-09 6 views
1

私はgnuplotスクリプトを掘り下げています。私は変数の扱いに問題があります。gnuplot isstring関数が利用できますか?

私の計算された変数は時には実数であり、時には文字列( "outrange"など)です。

次のステップ私はいくつかの計算の後で長い文字列に入れたいですが、私はできません。例えば

my_return_var="1.2 3.4 5 outrange 9 20 3 4" 
newstr="" 
do for [tmp in my_return_var]{ 
    newstr=newstr.sprintf("%7.3f ",tmp*4) 
    print newstr 
} 

4番目の値が「outrange」、sprintfのリターンエラーですので:gnuplotはかどうかをチェックする機能を持っている場合は、数値形式で印刷文字列値への試み

したがって:f_sprintf入力が文字列かどうかを返し、1または0を返します.Cのisstring()のように、私はこれをスキップできます。

他にもありますか?

答えて

1

いいえ、gnuplotには文字列検査機能がありません。しかし、あなたは固定プレースホルダに対してチェックするeqまたはneと文字列の比較を行うことができます。このため

my_return_var="1.2 3.4 5 outrange 9 20 3 4" 
newstr="" 
do for [tmp in my_return_var] { 
    if (tmp ne "outrange") { 
     newstr=newstr.sprintf("%7.3f ",tmp*4) 
     print newstr 
    } 
} 
+0

おかげで、これは簡単で、素晴らしいです。私は想像しませんでした。 – aroman

関連する問題