Next: 10.3 User-defined
Up: 10.2 Operators
Previous: 10.2.2 Binary
一つだけ三項演算子があります:
三項演算子 |
記号 |
例 |
説明 |
?: |
a?b:c |
三項演算子 |
三項演算子は C のものと同じ働きをします。最初の引数 (a) は整数でなけれ
ばいけません。この値が評価され、それが真 (ゼロでない) ならば 2 番目の
引数 (b) が評価されその値が返され、そうでなければ 3 番目の引数 (c) が
評価され、その値が返されます。
三項演算子は、区分的に定義された関数や、ある条件が満たされた場合にのみ
点を描画する、といったことを行なう場合に有用です。
例:
0 = x 1 では sin(x) に、1 = x 2 では 1/x に等しくて、それ以外の
x では定義されない関数を描画:
f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0
plot f(x)
gnuplot は未定義値に対しては何も表示せずにただ無視するので、最後の場
合の関数 (1/0) は点を何も出力しないことに注意してください。また、この
関数描画の描画スタイルが lines (線描画) の場合、不連続点 (x=1) の所も
連続関数として線が結ばれてしまうことにも注意してください。その点を不連
続になるようにするには、関数を 2 つの部分それぞれに分けてください (こ
のような場合、媒介変数関数を使うのが便利です)。
ファイル 'file' のデータで、4 列目のデータが負でないときだけ、1 列目の
データに関する 2 列目と 3 列目のデータの平均値を描画:
plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
using の書式の説明に関しては plot data-file using を参照してくださ
い。
Next: 10.3 User-defined
Up: 10.2 Operators
Previous: 10.2.2 Binary
Shigeharu TAKENO
2003年 10月 21日