diff --git a/quad8/electro/lab/p8/graphs/fil_espira_foucault.gnu b/quad8/electro/lab/p8/graphs/fil_espira_foucault.gnu
new file mode 100755
index 0000000..bf17179
--- /dev/null
+++ b/quad8/electro/lab/p8/graphs/fil_espira_foucault.gnu
@@ -0,0 +1,27 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = '../output/fil_espira_foucault' # Nom de la imatge resultant (sense extensió)
+datafile = '../data/fil_espira_foucault.dat' # Nom del fitxer de dades que es vol usar
+error_sist_b = 0.2
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 10cm, 7cm
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel 'Temps ($\si{\second}$)'
+set ylabel 'Tensió ($\si{\milli\volt}$)'
+
+# Opcions per la llegenda:
+#set key above
+#set key spacing 1.5
+
+plot [0:3] datafile u 1:2 t "Fil" w l, datafile u (column(1) + 0.1):3 t "Espira" w l, datafile u (column(1) - 0.6):4 t "Foucault" w l
+
+# == CONFIGURACIÓ DE L'OUTPUT PER SVG ==
+# Això ho uso per generar també una imatge de previsualització que puc carregar
+# a l'ordinador per veure més o menys com a sortit el plot sense haver
+# d'inserir-ho al LaTeX per veure-ho.
+set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15"
+set output outputfile.'.svg'
+replot
diff --git a/quad8/electro/lab/p8/graphs/forca_velocitat.gnu b/quad8/electro/lab/p8/graphs/forca_velocitat.gnu
new file mode 100755
index 0000000..384c6e7
--- /dev/null
+++ b/quad8/electro/lab/p8/graphs/forca_velocitat.gnu
@@ -0,0 +1,59 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = '../output/forca_velocitat' # Nom de la imatge resultant (sense extensió)
+datafile = '../data/forca_velocitat.dat' # Nom del fitxer de dades que es vol usar
+error_sist_b = 0.2
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7cm, 5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel 'Força magnètica $(\si{\milli\newton})$'
+set ylabel 'Velocitat $(\si{\centi\meter \per \second})$'
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+# == CONFIGURACIÓ DEL FIT ==
+set fit quiet
+
+f(x) = a*x + b # Funció a fitar
+fit f(x) datafile u 1:3 via a, b # Fem el fit de les dades
+
+# Això s'usa per obtenir el valor del coeficient de correlació "r", que estarà
+# guardat a la var. "STATS_correlation"
+stats datafile u 1:3 name "STATS" nooutput
+
+# Funció per obtenir els dígits significatius d'una expressió
+f_sd(n, i) = (int(n) == 0 ? f_sd(n*10, i+1) : (int(n) == 1 ? i+1 : i))
+significant_digits(n) = f_sd(n - 10*int(n/10), 0)
+
+significant_digits_r(n) = (n == 1 ? 0 : significant_digits(1 - n))
+
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = sqrt(STATS_slope_err + error_sist_b)
+sd_error_b = significant_digits(error_b)
+r = STATS_correlation
+sd_r = significant_digits_r(r)
+
+print("=== ".datafile." ===")
+print(sprintf('delta(a) = %.'.sd_error_a.'f, sd=%.0f', error_a, sd_error_a))
+print(sprintf('delta(b) = %.'.sd_error_b.'f, sd=%.0f', error_b, sd_error_b))
+
+# Aquesta funció escriu, a partir dels valors del paràmetres a, b i r,
+# l'equació de la regressió:
+title_f(a, b, r) = sprintf('$V(F) = %.'.sd_error_a.'f F + (%.'.sd_error_b.'f)$, $r = %.'.sd_r.'f$', a, b, r);
+
+plot datafile u 1:3:2:4 t "Dades experimentals" w xyerr, f(x) t title_f(a, b, r)
+
+# == CONFIGURACIÓ DE L'OUTPUT PER SVG ==
+# Això ho uso per generar també una imatge de previsualització que puc carregar
+# a l'ordinador per veure més o menys com a sortit el plot sense haver
+# d'inserir-ho al LaTeX per veure-ho.
+set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15"
+set output outputfile.'.svg'
+replot
diff --git a/quad8/electro/lab/p8/graphs/generate.bash b/quad8/electro/lab/p8/graphs/generate.bash
new file mode 100755
index 0000000..3b40f03
--- /dev/null
+++ b/quad8/electro/lab/p8/graphs/generate.bash
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+mkdir -p ../output
+
+for i in fineta gruixuda; do
+  echo $i
+  ./velocitat.gnu "../data/velocitat_${i}.dat" "../output/velocitat_${i}"
+done
+
+./forca_velocitat.gnu
+./fil_espira_foucault.gnu
diff --git a/quad8/electro/lab/p8/graphs/velocitat.gnu b/quad8/electro/lab/p8/graphs/velocitat.gnu
new file mode 100755
index 0000000..70efa80
--- /dev/null
+++ b/quad8/electro/lab/p8/graphs/velocitat.gnu
@@ -0,0 +1,61 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+error_sist_b = 0.1
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 7cm, 5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$x \, (\si{\centi\meter})$'
+set ylabel '$t \, (\si{\second})$'
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+set key font ",8.5"
+
+# == CONFIGURACIÓ DEL FIT ==
+set fit quiet
+
+f(x) = a*x + b # Funció a fitar
+fit f(x) datafile u 1:2 via a, b # Fem el fit de les dades
+
+# Això s'usa per obtenir el valor del coeficient de correlació "r", que estarà
+# guardat a la var. "STATS_correlation"
+stats datafile u 1:2 name "STATS" nooutput
+
+# Funció per obtenir els dígits significatius d'una expressió
+f_sd(n, i) = (int(n) == 0 ? f_sd(n*10, i+1) : (int(n) == 1 ? i+1 : i))
+significant_digits(n) = f_sd(n - 10*int(n/10), 0)
+
+significant_digits_r(n) = (n == 1 ? 0 : significant_digits(1 - n))
+
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = sqrt(STATS_slope_err + error_sist_b)
+sd_error_b = significant_digits(error_b)
+r = STATS_correlation
+sd_r = significant_digits_r(r)
+
+print("=== ".datafile." ===")
+print(sprintf('delta(a) = %.'.sd_error_a.'f, sd=%.0f', error_a, sd_error_a))
+print(sprintf('delta(b) = %.'.sd_error_b.'f, sd=%.0f', error_b, sd_error_b))
+
+# Aquesta funció escriu, a partir dels valors del paràmetres a, b i r,
+# l'equació de la regressió:
+title_f(a, b, r) = sprintf('$t(x) = %.'.sd_error_a.'f x + (%.'.sd_error_b.'f)$, $r = %.'.sd_r.'f$', a, b, r);
+
+set ytics 0.5
+
+plot datafile u 1:2:(1):(error_sist_b) t "Dades experimentals" w xyerr, f(x) t title_f(a, b, r)
+
+# == CONFIGURACIÓ DE L'OUTPUT PER SVG ==
+# Això ho uso per generar també una imatge de previsualització que puc carregar
+# a l'ordinador per veure més o menys com a sortit el plot sense haver
+# d'inserir-ho al LaTeX per veure-ho.
+set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15"
+set output outputfile.'.svg'
+replot
