A Full Featured Plotting Example
Usage: Throw both files (*.gnuplot and Makefile) in the same folder. From this folder open a terminal. At the prompt type 'make'. That s it.
- vi_characteristic.gnuplot
#!/usr/bin/env gnuplot ### Strom/Spannungs Charakteristik eines Varistors (Modell nach M. Reisch) I(v) = sgn(v) * Iv * (abs(v)/Vv)**gamma V(i) = sgn(i) * Vv * (abs(i)/Iv)**beta ### Parameter für EPCOS Varistor S20k115 print "\nParameters from datasheet:" # Ansprechspannung (varistor voltage) Vv = 180.0 # [V] Iv = 0.001 # [A] print "Varistor voltage Vv = ", Vv, "V @ Iv = ", Iv, "A" # Klemmspannung (clamping voltage) Vc = 300.0 # [V] Ic = 100.0 # [A] print "Clamping voltage Vc = ", Vc, "V @ Ic = ", Ic, "A" print "\nComputation:" # Stromindex (current index) beta = log10(Vv/Vc)/log10(Iv/Ic) print "Current index 'beta': ", beta # Spannungsindex (voltage index) gamma = 1/beta print "Voltage index 'gamma': ", gamma print "" ### Diagramm Erscheinungsbild festlegen set title "SPICE Varistor Modell nach M. Reisch" set grid # Diagrammhintergrund mit Gitternetz set style data lines # Daten als Kurvenzug zeichnen set style function lines ### x-Achse festlegen set xlabel "Strom [A]" # Benennung der x-Achse set xrange [-10E3:10E3] # Wertebereich der x-Achse #set xtics 2000 set xtics format "%.0s%c" ### y-Achse festlegen set ylabel "Spannung [V]" ### Ausgabe am Bildschirm plot V(x) call 'export.gp' figure_001 pdf pause mouse keypress "Weiter mit Eingabe-Taste im Plot Fenster.\n" ### x-Achse festlegen set xrange [0.0001:1000] # Wertebereich der x-Achse set logscale x set grid mxtics # Diagrammhintergrund mit Gitternetz set mxtics 10 ### y-Achse festlegen set logscale y set grid mytics # Diagrammhintergrund mit Gitternetz #set ytics add ("Vc" 300) #set ytics add ("Vv" 180) ### Ausgabe am Bildschirm plot V(x) call 'export.gp' figure_002 pdf pause mouse keypress "Weiter mit Eingabe-Taste im Plot Fenster.\n"
- Makefile
### Source files EXT := gnuplot GPLT := $(wildcard *.$(EXT)) all: export.gp plots plots: $(GPLT) gnuplot $< new: clean all clean: @echo "$(MAKE): Clean up workspace..." @rm -fv *.pdf @rm -fv *.png @rm -fv *.emf @rm -fv *.log @rm -fv export.gp @echo "$(MAKE): Done." define EXPORT_GPLT ### Ausgabe im Datei exportieren set terminal $$1 # Neues Ausgabemedium festlegen set output "$$0".".$$1" # Dateiname festlegen replot # Diagramm ins Ausgabemedium zeichnen set terminal pop # Ursprüngliches Ausgabemedium wiederherstellen endef export EXPORT_GPLT export.gp: @echo "$$EXPORT_GPLT" > $@