Blame demo/nonlinear2.dem

Packit 0986c0
# This example shows how a nonlinear axis definition can be used to 
Packit 0986c0
# set up log-scale axes.  This meachanism is an alternative to the 
Packit 0986c0
# logscale implementation provided by previous versions of gnuplot.
Packit 0986c0
# E.g.
Packit 0986c0
#	set nonlinear x via log10(x) inverse 10**x
Packit 0986c0
#	set xtics log
Packit 0986c0
# rather than the original command "set logscale x"
Packit 0986c0
#
Packit 0986c0
# This plot is the same as plot #2 in electrom.dem showing log-scaled axes.
Packit 0986c0
#
Packit 0986c0
set title "Log-scaled axes defined using 'set nonlinear'"
Packit 0986c0
set label 1 "Same as plot #2 in 'electron.dem'\nexcept that the axes are set up using\n'set nonlinear' rather than 'set logscale'" at graph 0.5, 0.85, 0 center norotate back nopoint
Packit 0986c0
Packit 0986c0
set dummy jw, y
Packit 0986c0
set grid xtics ytics
Packit 0986c0
set key inside center bottom vertical Right noreverse enhanced autotitle box 
Packit 0986c0
set samples 160, 160
Packit 0986c0
set style data lines
Packit 0986c0
set xtics border out scale 1,0.5 nomirror
Packit 0986c0
set mxtics 10.000000
Packit 0986c0
set ytics border out scale 1,0.5 nomirror
Packit 0986c0
set ytics  norangelimit 0.1 textcolor rgb "dark-violet" 
Packit 0986c0
set y2tics border out scale 1,0.5 nomirror
Packit 0986c0
set y2tics  norangelimit autofreq  textcolor rgb "#56b4e9" 
Packit 0986c0
set xlabel "jw (radians)" 
Packit 0986c0
set ylabel "magnitude of A(jw)" 
Packit 0986c0
set y2label "Phase of A(jw) (degrees)" 
Packit 0986c0
#
Packit 0986c0
set xrange [ 1.1 : 90000.0 ] noextend
Packit 0986c0
set yrange [ 0.1 : 1.0 ]
Packit 0986c0
#
Packit 0986c0
set nonlinear x via log10(x) inverse 10**x 
Packit 0986c0
set nonlinear y via log10(y) inverse 10**y 
Packit 0986c0
set xtics log
Packit 0986c0
#
Packit 0986c0
A(jw) = ({0,1}*jw/({0,1}*jw+p1)) * (1/(1+{0,1}*jw/p2))
Packit 0986c0
p1 = 10
Packit 0986c0
p2 = 10000
Packit 0986c0
#
Packit 0986c0
plot abs(A(jw)) lt 1, 180/pi*arg(A(jw)) axes x1y2 lt 3
Packit 0986c0
Packit 0986c0
pause -1 "<cr> to continue"
Packit 0986c0
reset