diff --git a/p1/informe/p1.pdf b/p1/informe/p1.pdf
new file mode 100644
index 0000000..1b25014
--- /dev/null
+++ b/p1/informe/p1.pdf
Binary files differ
diff --git a/p1/informe/p1.tex b/p1/informe/p1.tex
new file mode 100644
index 0000000..c61ed45
--- /dev/null
+++ b/p1/informe/p1.tex
@@ -0,0 +1,157 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage[utf8x]{inputenc}
+\usepackage[catalan]{babel}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage[labelfont=bf]{caption}
+\usepackage{siunitx}
+\usepackage{geometry}
+\geometry{top=25mm}
+\usepackage{amsmath}
+\usepackage{booktabs}
+\usepackage{chemformula}
+\usepackage{multicol}
+%\usepackage{hyperref} % @TODO: Remove when generating the PDF
+
+\usepackage{pgfplotstable}
+\pgfplotsset{compat=1.16}
+\pgfplotstableset{
+empty cells with={--}, % replace empty cells with ’--’
+every head row/.style={before row=\toprule,after row=\midrule},
+every last row/.style={after row=\bottomrule}%,
+%every even row/.style={
+%before row={\rowcolor[gray]{0.9}}}, % Add this for stylish tables ;)
+%begin table=\begin{longtable},
+%end table=\end{longtable}
+}
+
+\setlength{\parskip}{1em}
+
+\pagestyle{fancy}
+\fancyhf{}
+\rhead{Adrià Vilanova Martínez}
+\lhead{Pràctica 1}
+\rfoot{\thepage}
+
+%%%% Title %%%%
+\title{\vspace{-2ex}Pràctica 1. Calibratge d'un termoparell\vspace{-2ex}}
+\author{Adrià Vilanova Martínez (T1B)\vspace{-2ex} }
+\date{Tardor 2020}
+
+\begin{document}
+  \maketitle
+
+  \section{Objectiu de la pràctica}
+
+  L'objectiu de la pràctica és calibrar el termoparell C del laboratori de la facultat, a partir del fet que la força electromotriu $\varepsilon$ generada a causa de l'efecte Seebeck (explicat al guió de pràctiques) depèn de la temperatura de la sonda $T$ si la temperatura de la sonda de referència $T_0$ es manté constant a $\SI{0}{\celsius}$ i de la suposició que aquesta relació ve donada per un polinomi de segon grau amb terme independent nul: $\varepsilon(t) = a_1 t + a_2 t^2$ on $t = T - T_0$.
+
+  Així doncs, a partir de les dades experimentals recollides per un tercer al laboratori s'aproximarà el polinomi anterior per mínims quadrats. Les dades consisteixen de parelles $(\varepsilon, T)$, que es recullen posant la sonda del termoparell en fonts de les quals es coneix a priori la seva temperatura teòrica.
+
+  \section{Desenvolupament}
+
+  \begin{center}
+    \begin{minipage}{\textwidth}
+      \begin{multicols}{2}
+        \begin{center}
+          \centering
+          \vspace{-2em}
+          \input{../output/m3.tex}
+          \captionof{figure}{Mesura C3.}
+        \end{center}
+
+        \begin{center}
+          \centering
+          \vspace{-2em}
+          \input{../output/m5.tex}
+          \captionof{figure}{Mesura C5.}
+        \end{center}
+      \end{multicols}
+    \end{minipage}
+  \end{center}
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/m9.tex}
+    \captionof{figure}{Mesura C9.}
+  \end{center}
+
+  A partir de les mesures anteriors, podem obtenir les següents parelles $(T, \varepsilon)$:
+
+  \begin{center}
+    \centering
+    % \pgfplotstabletypeset[
+    %     columns/0/.style={column name=$T \, (\si{\celsius})$},
+    %     columns/1/.style={column name=$\varepsilon_1 \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=4},
+    %     columns/2/.style={column name=$\delta(\varepsilon_1) \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=4},
+    %     columns/3/.style={column name=$\varepsilon_2 \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=4},
+    %     columns/4/.style={column name=$\delta(\varepsilon_2) \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=4},
+    %     columns/5/.style={column name=$\varepsilon_3 \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=4},
+    %     columns/6/.style={column name=$\delta(\varepsilon_3) \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=4}
+    % ]
+    %     {../data/epsilons.dat}
+
+    \begin{tabular}{ccccccc}
+      \specialrule{.1em}{.05em}{.05em}
+      $T \, (\si{\celsius})$ & $\varepsilon_1 \, (\si{\milli\volt})$ & $\delta(\varepsilon_1) \, (\si{\milli\volt})$ & $\varepsilon_2 \, (\si{\milli\volt})$ & $\delta(\varepsilon_2) \, (\si{\milli\volt})$ & $\varepsilon_3 \, (\si{\milli\volt})$ & $\delta(\varepsilon_3) \, (\si{\milli\volt})$ \\
+      \hline
+      0 & 0.012 & 0.006 & -0.012 & 0.003 & -0.031 & 0.008 \\
+      100 & 4.019 & 0.004 & 4.014 & 0.002 & 4.004 & 0.010 \\
+      53 & 2.0739 & 0.0008 & 2.0825 & 0.0005 & 2.0465 & 0.0008 \\
+      \specialrule{.1em}{.05em}{.05em}
+    \end{tabular}
+
+    \captionof{table}{Dades experimentals.}
+  \end{center}
+
+  On les $\varepsilon_i$ han estat calculades com la mitjana dels valors de $\epsilon_i(t)$ que s'ha considerat que estaven a regions estables, i $\delta(\varepsilon_i)$ s'ha calculat com la desviació típica dels valors considerats per calcular la mitjana. La incertesa s'ha pres així perquè la incertesa de la mesura de l'aparell és menyspreable davant de l'altra incertesa, que és la que domina.
+
+  \begin{center}
+    \centering
+    \begin{tabular}{ccccccc}
+      \specialrule{.1em}{.05em}{.05em}
+      $T \, (\si{\celsius})$ & $\bar{\varepsilon} \, (\si{\milli\volt})$ & $\delta(\bar{\varepsilon}) \, (\si{\milli\volt})$ \\
+      \hline
+      0 & 0.010 & 0.006 \\
+      100 & 4.012 & 0.005 \\
+      53 & 2.0676 & 0.0007 \\
+      \specialrule{.1em}{.05em}{.05em}
+    \end{tabular}
+
+    \captionof{table}{Valors mitjos de les forces electromotrius depenent de la temperatura.}
+  \end{center}
+
+  S'ha calculat l'error de les mitjanes mitjançant la teoria de propagació d'errors: $\delta(\bar{\varepsilon}) = \delta\left(\frac{\sum \varepsilon_i}{n}\right) = \frac{\sum \delta(\varepsilon_i)}{n}$.
+
+  A continuació s'ajustarà la funció $\varepsilon(t) = a_1t + a_2t^2$ als darrers valors obtinguts mitjançant mínims quadrats, i recordant que $T_0 = \SI{0}{\celsius} \implies T = t$.
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/epsilons.tex}
+    \captionof{figure}{Gràfica de l'ajust de $\varepsilon(t)$. S'ha graficat amb un domini més gran que $[0, 100] \, (\si{\celsius})$ per poder mostrar la convexitat de l'ajust.}
+  \end{center}
+
+  Els valors dels paràmetres que s'han obtingut són els següents: \[ \begin{cases}
+    a_1 = 0.038 \\
+    a_2 = 2.4 \cdot 10^{-5}
+  \end{cases} \]
+
+  on les incerteses estadístiques donades pel gnuplot són: \[ \begin{cases}
+   \delta(a_1)_{est} = 0.0004 \\
+   \delta(a_2)_{est} = 6 \cdot 10^{-6}
+  \end{cases} \]
+
+  Com $a_1 \gg a_2$, es calcula la incertesa total de $a_1$ com \[ \delta(a_1) = \sqrt{\delta(a_1)_{est}^2 + \delta(a_1)_{sist}^2} = 0.008 \]
+
+  \section{Conclusió}
+
+  Els coeficients de calibració del termoparell amb les seves corresponents incerteses (tenint en compte que per $a_2$ no s'ha tingut en compte la incertesa sistemàtica) són: \[ \begin{cases}
+    a_1 = 0.038 \pm 0.008 \\
+    a_2 = (24 \pm 6) \cdot 10^{-6}
+  \end{cases} \]
+
+  A partir de les dades recollides s'ha comprovat que l'ajust és bó (la variància dels residus del procediment de mínims quadrats és de $3 \cdot 10^{-4}$), però això només es pot assegurar pels valors de temperatura dins del rang $[0, 100] \, (\si{\celsius})$, ja que fora d'aquest rang s'estarien extrapolant els resultats, i pot ser que allà el comportament sigui diferent.
+
+  Com a observació, els termoparells són aparells útils en quant al fet que es poden utilitzar en entorns molt diversos i permeten mesurar rangs grans de temperatura en oposició a dispositius que mesuren la temperatura a partir de propietats termomètriques com la dilatació d'un material.
+\end{document}
