diff --git a/p7/graphs/sensibilitat.gnu b/p7/graphs/sensibilitat.gnu
new file mode 100755
index 0000000..036707c
--- /dev/null
+++ b/p7/graphs/sensibilitat.gnu
@@ -0,0 +1,51 @@
+#!/usr/bin/env gnuplot -c
+outputfile="../output/sensibilitat"
+datafile="../data/sensibilitat.dat"
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 11cm, 8cm
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$T \, (\si{\kelvin})$'
+set ylabel '$S \, (\si{\milli\volt\per\watt})$'
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+
+# == FIT ==
+set fit quiet
+
+# 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 - abs(n)))
+
+f(x) = a*x + b
+fit f(x) datafile u 1:2 via a, b
+stats datafile u 1:2 name "STATS" nooutput
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = STATS_slope_err
+sd_error_b = significant_digits(error_b)
+r = STATS_correlation
+sd_r = significant_digits_r(r)
+title_f(a, b, r) = sprintf('$S(T) = %.'.sd_error_a.'f T + %.'.sd_error_b.'f$, $r = %.'.sd_r.'f$', a, b, r);
+
+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))
+print(sprintf('r = %.'.sd_r.'f, sd=%.0f', r, sd_r))
+
+plot datafile u 1:2 t "Dades", \
+     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
