diff --git a/p9/informe/p9.tex b/p9/informe/p9.tex
new file mode 100644
index 0000000..8dce0be
--- /dev/null
+++ b/p9/informe/p9.tex
@@ -0,0 +1,205 @@
+\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}
+
+\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},
+set thousands separator={\,}%,
+%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 9}
+\rfoot{\thepage}
+
+%%%% Title %%%%
+\title{\vspace{-2ex}Pràctica 9. Determinació de la conductivitat tèrmica d'un metall\vspace{-2ex}}
+\author{Adrià Vilanova Martínez (T1B)\vspace{-2ex} }
+\date{Tardor 2020}
+
+\begin{document}
+  \maketitle
+
+  \section{Objectiu de la pràctica}
+  L'objectiu és determinar la conductivitat tèrmica d'un metall. Això es farà escalfant dues barres de metalls diferents per un extrem. A partir de les equacions de difusió de calor i del fet que coneixem la conductivitat tèrmica d'un dels metalls, es deduirà amb les dades obtingudes per un tercer de l'experiment la conductivitat tèrmica de l'altre metall.
+
+  El tercer ha realitzat mesures de la temperatura a diferents punts de la barra en diferents moments. Després d'un temps, en un estat estacionari, ha fet mesures més precises de la temperatura a més punts de la barra. De fet, realment el que ha mesurat el tercer no és la temperatura directament, sinó el voltatge d'un termoparell, que és una propietat termomètrica a partir de la qual es pot obtenir la temperatura, a partir del calibratge del termoparell que també ha fet el tercer (la anàlisi d'aquest calibratge està tractada a l'informe de la pràctica 1).
+
+  La descripció completa i detallada de l'experiment es pot trobar al Guió de Pràctiques de Termodinàmica.
+
+  \section{Tractament de dades}
+  Les dades utilitzades són les del fitxer \texttt{Mesura 1.xslx}.
+
+  A partir del calibratge mesurat pel tercer ($\varepsilon = a T + b T^2$ on $a= (3.72 \pm 0.06) \cdot 10^{-2} \, \si{\milli\volt\per\celsius}$, $b= (2.8 \pm 0.6) \cdot 10^{-5} \, \si{\milli\volt\per\celsius\squared}$) es poden convertir els valors de voltatge en temperatura prenent l'arrel positiva de l'equació de segon ordre $- \varepsilon + a T + b T^2 = 0$. Així doncs, la temperatura es pot expressar com: \[ T = \frac{- a + \sqrt{a^2 + 4 b \varepsilon}}{2b} \]
+
+  Per tal d'obtenir les incerteses associades a la temperatura $t$ a partir de les incerteses de les constants $a$, $b$ i els voltatges $\varepsilon$, es pot fer-ho pensant $T \equiv T(a, b, \varepsilon)$, i per tant usant l'expressió de la incertesa per una funció multivariable: \[ \delta T = \left| \frac{\partial T}{\partial a} \right| \delta a + \left| \frac{\partial T}{\partial b} \right| \delta b + \left| \frac{\partial T}{\partial \varepsilon} \right| \delta \varepsilon \]
+
+  Si es calculen les derivades parcials s'arriba a les següents expressions: \[ \def\arraystretch{2.2} \left\{ \begin{array}{l}
+    \displaystyle \frac{\partial T}{\partial a} = \frac{a \Delta^{-1} - 1}{2b} \\
+    \displaystyle \frac{\partial T}{\partial b} = \frac{\varepsilon}{b \Delta} - \frac{\Delta - a}{2 b^2} \\
+    \displaystyle \frac{\partial T}{\partial \varepsilon} = \Delta^{-1}
+  \end{array} \right. \] on $\Delta := \sqrt{a^2 + 4 b \varepsilon}$ és el discriminant de l'equació de segon grau.
+
+  Això permet calcular els següents valors de la temperatura en funció del temps i la distància al forn de cada vareta, amb les seves incerteses associades:
+
+  \textbf{Barra de coure:}
+
+  \begin{center}
+    \begin{minipage}{\textwidth}
+      \begin{multicols}{2}
+        \begin{center}
+          \pgfplotstabletypeset[
+              columns/0/.style={column name=$t \, (\si{\second})$},
+              columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+              columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+              columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+              {../data/coure/10.dat}
+          \captionof{table}{Valors per la barra de coure al punt $x = \SI{10}{\centi\meter}$.}
+        \end{center}
+
+        \begin{center}
+          \pgfplotstabletypeset[
+              columns/0/.style={column name=$t \, (\si{\second})$},
+              columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+              columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+              columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+              {../data/coure/20.dat}
+          \captionof{table}{Valors per la barra de coure al punt $x = \SI{20}{\centi\meter}$.}
+        \end{center}
+      \end{multicols}
+    \end{minipage}
+  \end{center}
+
+  \begin{center}
+    \pgfplotstabletypeset[
+        columns/0/.style={column name=$t \, (\si{\second})$},
+        columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+        columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+        columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+        {../data/coure/30.dat}
+    \captionof{table}{Valors per la barra de coure al punt $x = \SI{30}{\centi\meter}$.}
+  \end{center}
+
+  \textbf{Barra de ferro:}
+
+  \begin{center}
+    \begin{minipage}{\textwidth}
+      \begin{multicols}{2}
+        \begin{center}
+          \pgfplotstabletypeset[
+              columns/0/.style={column name=$t \, (\si{\second})$},
+              columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+              columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+              columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+              {../data/ferro/10.dat}
+          \captionof{table}{Valors per la barra de ferro al punt $x = \SI{10}{\centi\meter}$.}
+        \end{center}
+
+        \begin{center}
+          \pgfplotstabletypeset[
+              columns/0/.style={column name=$t \, (\si{\second})$},
+              columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+              columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+              columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+              {../data/ferro/20.dat}
+          \captionof{table}{Valors per la barra de ferro al punt $x = \SI{20}{\centi\meter}$.}
+        \end{center}
+      \end{multicols}
+    \end{minipage}
+  \end{center}
+
+  \textbf{Règim estacionari:}
+
+  \begin{center}
+    \begin{minipage}{\textwidth}
+      \begin{multicols}{2}
+        \begin{center}
+          \pgfplotstabletypeset[
+              columns/0/.style={column name=$x \, (\si{\centi\meter})$},
+              columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+              columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+              columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+              {../data/estacionari/coure.dat}
+          \captionof{table}{Valors per la barra de \textbf{coure} un cop arribat al règim estacionari.}
+        \end{center}
+
+        \begin{center}
+          \pgfplotstabletypeset[
+              columns/0/.style={column name=$x \, (\si{\centi\meter})$},
+              columns/1/.style={column name=$\varepsilon \, (\si{\milli\volt})$, fixed, fixed zerofill, precision=2},
+              columns/2/.style={column name=$T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1},
+              columns/3/.style={column name=$\delta T \, (\si{\celsius})$, fixed, fixed zerofill, precision=1}]
+              {../data/estacionari/ferro.dat}
+          \captionof{table}{Valors per la barra de \textbf{ferro} un cop arribat al règim estacionari.}
+        \end{center}
+      \end{multicols}
+    \end{minipage}
+  \end{center}
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/coure.tex}
+    \captionof{figure}{Mesures de la barra de \textbf{coure} a mesura que passa el temps i la barra es va escalfant, amb les incerteses associades. Es pot observar com s'arriba a l'estat estacionari.}
+  \end{center}
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/ferro.tex}
+    \captionof{figure}{Mesures de la barra de \textbf{ferro} a mesura que passa el temps i la barra es va escalfant, amb les incerteses associades. Es pot observar com s'arriba a l'estat estacionari.}
+  \end{center}
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/estacionari.tex}
+    \captionof{figure}{Logaritme de la temperatura de les dues barres en l'estat estacionari, en funció de la distància al forn, restada de la temperatura ambient $T_0 = \SI{20}{\celsius}$.}
+  \end{center}
+
+  Segons la teoria desenvolupada al Guió de Pràctiques, en el règim estacionari es té que $\log \Theta_i = C - \alpha_i x$, i que a partir dels coeficients $\alpha_i$ es pot obtenir una relació entre els coeficients de conductivitat tèrmica d'ambdues barres: \[ \frac{k_F}{k_C} = \left(\frac{\alpha_C}{\alpha_F}\right)^2 \]
+
+  Per tant, fent un ajust lineal a les dades de l'estat estacionari podem obtenir els dos coeficients $\alpha_i$ i calcular $k_F$ tenint en compte que $k_C = \SI{3.97}{\watt\per\centi\meter\per\kelvin}$.
+
+  Pels ajusts lineals mostrats a la figura 3 obtenim els següents coeficients: \[ \begin{cases}
+    \alpha_C = (222 \pm 5) \cdot 10^{-4} \, \si{\per\centi\meter} \\
+    \alpha_F = (53 \pm 2) \cdot 10^{-3} \, \si{\per\centi\meter} \\
+  \end{cases} \]
+
+  \section{Conclusió}
+
+  A partir del desenvolupament anterior s'ha deduït que el coeficient de conductivitat tèrmica del ferro és $k_F = 0.70 \pm 0.05 \, \si{\watt \per \centi\meter \per \kelvin}$. No obstant, segons (CRC) el valor de la conductivitat tèrmica del ferro és de $\SI{0.802}{\watt \per \centi\meter \per \kelvin}$. El valor de la literatura cau aproximadament a 2 marges d'incertesa del valor experimental, i per tant no es pot determinar amb certa confiança si els valors són compatibles o no.
+
+  Un dels obstacles més grans a l'hora de deduïr el valor de la conductivitat tèrmica ha sigut fitar la corba del ferro a la figura 3, degut al fet que que el comportament lineal del nostre model només es dona experimentalment en valors petits d'$x$. El fet d'escollir quins punts presenten el comportament lineal ha afegit bastanta incertesa addicional (que no s'ha tingut en compte al calcular la incertesa) a la $k_f$.
+
+  És per aquesta font d'incertesa que probablement els dos valors siguin compatibles, però en tot cas s'hauria de reptir l'experiment per poder assegurar-ho.
+
+  Un altre punt fluix és el fet que el model utilitzat per l'experiment és un model ideal i per tant no correspon totalment amb la realitat, tal com es pot veure clarament a la figura 3.
+
+  \section{Bibliografia}
+
+  (CRC): David R. Lide (ed), \textit{CRC Handbook of Chemistry and Physics, 84th Edition}. CRC Press. Boca Raton, Florida, 2003; Secció 12, Properties of Solids; Thermal and Physical Properties of Pure Metals
+
+\end{document}
