====== 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.
#!/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"
### 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" > $@