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
