|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Demo of plotting piecewise functions
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
unset border
|
|
Packit |
0986c0 |
set key center top reverse Left
|
|
Packit |
0986c0 |
set xzeroaxis
|
|
Packit |
0986c0 |
set yzeroaxis
|
|
Packit |
0986c0 |
set xtics axis out scale 1,8
|
|
Packit |
0986c0 |
set xtics add (1.00000 1, 6.28319 1)
|
|
Packit |
0986c0 |
set ytics axis
|
|
Packit |
0986c0 |
set title "Piecewise function sampling" font ",15"
|
|
Packit |
0986c0 |
set xrange [ -2 : 10 ] noreverse nowriteback
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
plot sample [*:1] x, [1:2.*pi] cos(x), [2.*pi:10] (x-8)**2
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# This example taken from
|
|
Packit |
0986c0 |
# http://amca01.wordpress.com/2012/05/29/a-piecewise-polynomial-approximation-to-the-normal-cdf/
|
|
Packit |
0986c0 |
# Original approximation from John Hoyt (1962), The American Statistician 22:25-26.
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
set termopt enhanced
|
|
Packit |
0986c0 |
set termopt dash
|
|
Packit |
0986c0 |
save_encoding = GPVAL_ENCODING; set encoding utf8
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set title "Piecewise approximation to the\nNormal Cumulative Distribution Function"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set format "%.1f"
|
|
Packit |
0986c0 |
set key left Left reverse invert
|
|
Packit |
0986c0 |
set style data lines
|
|
Packit |
0986c0 |
set xtics nomirror
|
|
Packit |
0986c0 |
set xrange [ 0 : 4 ]
|
|
Packit |
0986c0 |
set yrange [ 0.5 : 1.1 ]
|
|
Packit |
0986c0 |
set style line 1 lt 0 lw 3
|
|
Packit |
0986c0 |
set style line 2 lt 0 lw 3 lc rgb "red"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
part1(x) = 0.5 + (9.*x-x**3)/ 24.
|
|
Packit |
0986c0 |
part2(x) = 1.0 + (x-3.0)**3 / 48.
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
part1 = "part1: for x < 1 norm(x) ≈ ½ + (9x-x^3) / 24"
|
|
Packit |
0986c0 |
part2 = "part2: for x > 1 norm(x) ≈ 1 + (x-3)^3 / 48"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set label 1 at 1.0, 0.62
|
|
Packit |
0986c0 |
set label 1 "plot norm(x), [0:1] part1(x), [1:4] part2(x)"
|
|
Packit |
0986c0 |
set arrow 1 from 1.,.7 to 1.,.9 nohead
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
plot norm(x) lt -1, \
|
|
Packit |
0986c0 |
[1:4] part2(x) ls 2 title part2, \
|
|
Packit |
0986c0 |
[0:1] part1(x) ls 1 title part1
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set termopt solid
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set border 16
|
|
Packit |
0986c0 |
unset xtics
|
|
Packit |
0986c0 |
unset ytics
|
|
Packit |
0986c0 |
set xyplane at 0
|
|
Packit |
0986c0 |
set style data lines
|
|
Packit |
0986c0 |
set key center at screen 0.5, screen 0.15
|
|
Packit |
0986c0 |
set title font ",15"
|
|
Packit |
0986c0 |
set title "Piecewise function of one parameter in 3D"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
splot [-2:2][-2:2] sample \
|
|
Packit |
0986c0 |
[h=1:5] '+' using (cos(h)):(sin(h)):(h) lw 2, \
|
|
Packit |
0986c0 |
[h=5:10] '+' using (cos(h)):(sin(h)):(h) lw 4, \
|
|
Packit |
0986c0 |
[h=10:15] '+' using (cos(h)):(sin(h)):(h) lw 2
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set encoding save_encoding
|
|
Packit |
0986c0 |
reset
|