|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Exercise the special functions in external library libcerf.
|
|
Packit |
0986c0 |
# These are only present if libcerf was found during configuration/build
|
|
Packit |
0986c0 |
# of the current gnuplot executable.
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
if (!strstrt(GPVAL_COMPILE_OPTIONS,"+LIBCERF")) {
|
|
Packit |
0986c0 |
print "This copy of gnuplot was not linked against libcerf"
|
|
Packit |
0986c0 |
exit;
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
save_encoding = GPVAL_ENCODING
|
|
Packit |
0986c0 |
set encoding utf8
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set title "Voigt Profile VP(x,σ,γ)"
|
|
Packit |
0986c0 |
set xrange [-10:10]
|
|
Packit |
0986c0 |
set yrange [0.0:0.3]
|
|
Packit |
0986c0 |
set xtics out nomirror
|
|
Packit |
0986c0 |
set ytics in mirror format "%.2f"
|
|
Packit |
0986c0 |
set mxtics
|
|
Packit |
0986c0 |
set mytics
|
|
Packit |
0986c0 |
set sample 200
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
plot VP(x,1.53,0.0) title "σ=1.53 γ=0.00", \
|
|
Packit |
0986c0 |
VP(x,1.30,0.5) title "σ=1.30 γ=0.50", \
|
|
Packit |
0986c0 |
VP(x,1.00,1.0) title "σ=1.00 γ=1.00", \
|
|
Packit |
0986c0 |
VP(x,0.00,1.8) title "σ=0.00 γ=1.80"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "<cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set yrange [-1:1]
|
|
Packit |
0986c0 |
set title "Faddeeva/Voigt Function"
|
|
Packit |
0986c0 |
set key samplen 0.5
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
plot real( faddeeva(x) ) lw 2, \
|
|
Packit |
0986c0 |
imag( faddeeva(x) ) lw 2, \
|
|
Packit |
0986c0 |
real(cdawson(x)) lt -1 lw 0.5 title "Dawson's Integral"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "<cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
unset key
|
|
Packit |
0986c0 |
set view map
|
|
Packit |
0986c0 |
set bmargin at screen 0.1
|
|
Packit |
0986c0 |
set sample 200
|
|
Packit |
0986c0 |
set isosamples 200, 200
|
|
Packit |
0986c0 |
set size ratio 1 1,1
|
|
Packit |
0986c0 |
set cbtics ("0" -pi, "2π" pi)
|
|
Packit |
0986c0 |
set title "Complex error function cerf( x + iy )"
|
|
Packit |
0986c0 |
set auto xy
|
|
Packit |
0986c0 |
set urange [ -3 : 3 ]
|
|
Packit |
0986c0 |
set vrange [ -3 : 3 ]
|
|
Packit |
0986c0 |
set tics scale 0
|
|
Packit |
0986c0 |
set cblabel "Phase Angle"
|
|
Packit |
0986c0 |
set cblabel offset character -2, 0, 0 font "" textcolor lt -1 rotate by -270
|
|
Packit |
0986c0 |
set cbrange [ -pi : pi ] noreverse nowriteback
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set contour
|
|
Packit |
0986c0 |
set cntrparam levels discrete 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100, 200, 500
|
|
Packit |
0986c0 |
set cntrlabel onecolor
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set palette positive nops_allcF maxcolors 0 gamma 1.5 color model HSV
|
|
Packit |
0986c0 |
set palette defined ( 0 0 1 1, 1 1 1 1 )
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
Hue(x,y) = (pi + atan2(-y,-x)) / (2*pi)
|
|
Packit |
0986c0 |
phase(x,y) = hsv2rgb( Hue(x,y), sqrt(x**2+y**2), 1. )
|
|
Packit |
0986c0 |
rp(x,y) = real(f(x,y))
|
|
Packit |
0986c0 |
ip(x,y) = imag(f(x,y))
|
|
Packit |
0986c0 |
color(x,y) = hsv2rgb( Hue( rp(x,y), ip(x,y) ), abs(f(x,y)), 1. )
|
|
Packit |
0986c0 |
f(x,y) = cerf(x+y*{0,1})
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
splot '++' using 1:2:(color($1,$2)) with pm3d lc rgb variable nocontour, \
|
|
Packit |
0986c0 |
'++' using 1:2:(abs(cerf($1+$2*{0,1}))) with lines nosurf lt -1
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "<cr> to continue"
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
set encoding save_encoding
|