Initial release of Maemo 5 port of gnuplot
[gnuplot] / demo / electron.dem
diff --git a/demo/electron.dem b/demo/electron.dem
new file mode 100644 (file)
index 0000000..7394967
--- /dev/null
@@ -0,0 +1,92 @@
+#
+# $Id: electron.dem,v 1.7.2.1 2007/08/12 18:37:10 sfeam Exp $
+#
+# Electronics demo
+#
+# Bipolar Transistor (NPN) Mutual Characteristic
+Ie(Vbe)=Ies*exp(Vbe/kT_q)
+Ic(Vbe)=alpha*Ie(Vbe)+Ico
+alpha = 0.99
+Ies = 4e-14
+Ico = 1e-09
+kT_q = 0.025
+set dummy Vbe
+set grid
+set offsets
+unset log
+unset polar
+set samples 160
+set title "Mutual Characteristic of a Transistor"
+set xlabel "Vbe (base emmitter voltage)"
+set xrange [0 : 0.75]
+set ylabel "Ic (collector current)"
+set yrange [0 : 0.005]
+set key box
+set key at .2,.0045
+set format y "%.4f"
+plot Ic(Vbe)
+set format "%g"
+
+pause -1 "Hit return to continue"
+
+# Junction Field Effect Transistor (JFET) Mutual Characteristic
+# drain current above pinch off
+Ida(Vd)=Ido*(1-Vg/Vp)**2
+# drain current below pinch off
+Idb(Vd)=Ido*(2*Vd*(Vg-Vp)-Vd*Vd)/(Vp*Vp)
+# drain current
+Id(Vd)= (Vd>Vg-Vp) ? Ida(Vd) : Idb(Vd)
+# drain current at zero gate voltage
+Ido = 2.5
+# pinch off voltage
+Vp = -1.25
+# gate voltage
+Vg = 0
+set dummy Vd
+unset grid
+unset key
+#set offsets 0, 1, 0, 0
+set title "JFET Mutual Characteristic"
+set xlabel "Drain voltage Vd (V)"
+set xrange [0 : 4]
+set ylabel "Drain current Id (mA)"
+set yrange [0 : 5]
+set label "-0.5 Vp" at 4.1,0.625
+set label "-0.25 Vp" at 4.1,1.4
+set label "0" at 4.1,2.5
+set label "Vg = 0.5 Vp" at 4.1,3.9
+plot Vg=0.5*Vp,Id(Vd),Vg=0.25*Vp,Id(Vd),Vg=0,Id(Vd),Vg=-0.25*Vp,Id(Vd)
+unset label
+
+pause -1 "Hit return to continue"
+
+# show off double axes
+
+# amplitude frequency response
+A(jw) = ({0,1}*jw/({0,1}*jw+p1)) * (1/(1+{0,1}*jw/p2))
+p1 = 10
+p2 = 10000
+set dummy jw
+set grid x y2
+set logscale xy
+set log x2
+unset log y2
+set key default
+set key bottom center box
+set title "Amplitude and Phase Frequency Response"
+set xlabel "jw (radians)"
+set xrange [1.1 : 90000.0]
+set x2range [1.1 : 90000.0]
+set ylabel "magnitude of A(jw)"
+set y2label "Phase of A(jw) (degrees)"
+set ytics nomirror
+set y2tics
+set tics out
+set autoscale  y
+set autoscale y2
+plot abs(A(jw)), 180/pi*arg(A(jw)) axes x2y2
+
+pause -1 "Hit return to continue"
+
+# undo what we've done
+reset