関数のプロットにはgnuplotを使用しています。これは現時点での私のスクリプトです:
set terminal png xffffff x222222
set output "Ausgleichszahlungen.png"
set title "Ausgleichszahlungen"
set xlabel 'F_MZ / A_MZ'
set ylabel 'Faktor F'
set xrange [0.5:1]
set yrange [0:1]
set key off
set xzeroaxis linetype -1 linewidth 0.5
set yzeroaxis linetype -1 linewidth 0.5
set xtics 0.1
set ytics 0.1
f(x) = 0.75 * (1-x) - 317.0 / 20000
g(x) = 5.0/26 * (1-x) ** 2 + 35.0/52 * (1-x) - 2121.0 / 260000.0
h(x) = 13.0/7 * (1-x) ** 2 + 11.0/25 * (1-x)
plot f(x), g(x), h(x)
f(x)、g(x)およびh(x)は1つの関数です:
-無限大<x <0.8:f(x)
0.8 <= x <0.93:g(x)
0.93 <= x <+無限大:h(x)
これどうやってするの?
最後の行をに変更します
plot f(x)*(x<0.8) + g(x) * (x>=0.8)*(x<0.93) + h(x)*(x>=0.93)
読みやすいと思いますが、すべてのf(x)、g(x)、h(x)が常に評価されるという欠点があります。 。三項条件演算子を使用することもできます。
condition ? case1 : case2
condition
がtrueの場合はcase1
に評価され、condition
がfalseの場合はcase2
に評価されます。あなたはそれらを入れ子にすることができるので
plot x < 0.8 ? f(x) : x < 0.93 ? g(x) : h(x)
あなたのために仕事をします。