Add reports from the Electromagnetism Lab

Change-Id: I3a5abfa0b9ff7c834f4df7c03c710b0c5ee0fad2
diff --git a/quad8/electro/lab/p6/data/6_3_2_1.dat b/quad8/electro/lab/p6/data/6_3_2_1.dat
new file mode 100644
index 0000000..cc03894
--- /dev/null
+++ b/quad8/electro/lab/p6/data/6_3_2_1.dat
@@ -0,0 +1,13 @@
+# I (mA)	alpha (º)	B_b	tan(alpha)	delta tan(alpha)
+0.2	0	0.00016	0.00	0.03
+10.1	-12	0.00814	-0.21	0.04
+20.1	-31	0.01620	-0.60	0.05
+30.1	-41	0.02427	-0.87	0.06
+40	-49	0.03225	-1.15	0.08
+50.2	-55	0.04047	-1.43	0.11
+60.3	-60	0.04861	-1.73	0.14
+70	-63	0.05643	-1.96	0.17
+80.1	-66	0.06457	-2.2	0.2
+90.1	-68	0.07263	-2.5	0.2
+100.2	-70	0.08078	-2.7	0.3
+125.3	-74	0.10101	-3.5	0.5
diff --git a/quad8/electro/lab/p6/data/6_3_2_2.dat b/quad8/electro/lab/p6/data/6_3_2_2.dat
new file mode 100644
index 0000000..dd80a38
--- /dev/null
+++ b/quad8/electro/lab/p6/data/6_3_2_2.dat
@@ -0,0 +1,21 @@
+# I (mA)	t (s)	# oscil·lacions (anada i tornada)	T (s)	1/T^2	s*1/T^2	B_b	delta t	delta T	delta 1/T^2
+0	11.38	3	3.79	0.0695	0.0695	0.000	0.2	0.07	0.0001
+10.4	10.31	3	3.44	0.0847	0.0847	0.008	0.2	0.07	0.0001
+19.7	9.41	3	3.14	0.1016	0.1016	0.016	0.2	0.07	0.0002
+29.8	8.69	3	2.90	0.1192	0.1192	0.024	0.2	0.07	0.0002
+39.7	8.06	3	2.69	0.1385	0.1385	0.032	0.2	0.07	0.0003
+50.1	7.5	3	2.50	0.1600	0.1600	0.040	0.2	0.07	0.0003
+60.1	9.41	4	2.35	0.1807	0.1807	0.048	0.2	0.05	0.0001
+70.1	8.97	4	2.24	0.1989	0.1989	0.057	0.2	0.05	0.0001
+80.1	8.6	4	2.15	0.2163	0.2163	0.065	0.2	0.05	0.0002
+89.8	8.28	4	2.07	0.2334	0.2334	0.072	0.2	0.05	0.0002
+99.8	8.06	4	2.02	0.2463	0.2463	0.080	0.2	0.05	0.0002
+-9.8	14	3	4.67	0.0459	0.0459	-0.008	0.2	0.07	0.0000
+-20.4	10.59	2	5.30	0.0357	0.0357	-0.016	0.2	0.10	0.0002
+-42.9	7.25	1	7.25	0.0190	-0.0190	-0.035	0.2	0.20	0.0010
+-52.8	10.22	2	5.11	0.0383	-0.0383	-0.043	0.2	0.10	0.0002
+-64	12.56	3	4.19	0.0571	-0.0571	-0.052	0.2	0.07	0.0001
+-72.3	11.12	3	3.71	0.0728	-0.0728	-0.058	0.2	0.07	0.0001
+-80.6	10.09	3	3.36	0.0884	-0.0884	-0.065	0.2	0.07	0.0001
+-89.5	12.34	4	3.09	0.1051	-0.1051	-0.072	0.2	0.05	0.0001
+-100.7	14.16	5	2.83	0.1247	-0.1247	-0.081	0.2	0.04	0.0000
diff --git a/quad8/electro/lab/p6/graphs/6_3_2_1.gnu b/quad8/electro/lab/p6/graphs/6_3_2_1.gnu
new file mode 100755
index 0000000..7354047
--- /dev/null
+++ b/quad8/electro/lab/p6/graphs/6_3_2_1.gnu
@@ -0,0 +1,58 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = '../output/6_3_2_1' # Nom de la imatge resultant (sense extensió)
+datafile = '../data/6_3_2_1.dat' # Nom del fitxer de dades que es vol usar
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 10cm, 7.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$\tan(\alpha) =: x$'
+set ylabel '$B_b \, (\si{\milli\tesla)}$'
+
+# 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 4: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 4: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 - abs(n)))
+
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = STATS_intercept_err
+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('$B_b(x) = %.'.sd_error_a.'f x + (%.'.sd_error_b.'f)$, $r = %.'.sd_r.'f$', a, b, r);
+
+plot datafile u 4:3:5 t "Dades experimentals" w xerr, 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/p6/graphs/6_3_2_2.gnu b/quad8/electro/lab/p6/graphs/6_3_2_2.gnu
new file mode 100755
index 0000000..e2d4439
--- /dev/null
+++ b/quad8/electro/lab/p6/graphs/6_3_2_2.gnu
@@ -0,0 +1,62 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = '../output/6_3_2_2' # Nom de la imatge resultant (sense extensió)
+datafile = '../data/6_3_2_2.dat' # Nom del fitxer de dades que es vol usar
+b_mean_exp_err = 0.00014
+a_exp_err = 0.002
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 10cm, 7.5cm font ",10"
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel '$B_b \, (\si{\milli\tesla)}$'
+set ylabel '${\scriptstyle (-1)^s} \frac{1}{T^2} =: y \quad (\si{\per\second\squared})$'
+
+# 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 7:6 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 7:6 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 - abs(n)))
+
+error_a = sqrt(STATS_slope_err**2 + a_exp_err**2)
+sd_error_a = significant_digits(error_a)
+error_b = sqrt(STATS_intercept_err**2 + b_mean_exp_err**2)
+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('$y(B_b) = %.'.sd_error_a.'f B_b + (%.'.sd_error_b.'f)$, $r = %.'.sd_r.'f$', a, b, r);
+
+set xtics 0.03
+
+plot datafile u 7:6:10 t "Dades experimentals" w yerr, 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/p6/graphs/generate.bash b/quad8/electro/lab/p6/graphs/generate.bash
new file mode 100755
index 0000000..3467ba2
--- /dev/null
+++ b/quad8/electro/lab/p6/graphs/generate.bash
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+mkdir -p ../output
+
+./6_3_2_1.gnu
+./6_3_2_2.gnu
diff --git a/quad8/electro/lab/p6/informe/main.tex b/quad8/electro/lab/p6/informe/main.tex
new file mode 100644
index 0000000..e7907ad
--- /dev/null
+++ b/quad8/electro/lab/p6/informe/main.tex
@@ -0,0 +1,147 @@
+\input{../../preamble.tex}
+
+% Changing margins just so the tables fit nicely:
+\geometry{
+  margin=20mm,
+  includeheadfoot,
+  heightrounded
+}
+
+% Hack because we added fancyhdr in the preamble before setting the margins
+% and therefore it doesn't pick up the new margins:
+% (this is easier than redefining the preamble, which is already used by
+% all the other documents and this is the last one)
+\setlength{\headwidth}{\textwidth}
+
+\graphicspath{ {./img/} }
+
+% Electric field colors
+\definecolor{fieldBlue}{HTML}{3c78d8}
+\definecolor{fieldGreen}{HTML}{6aa84f}
+
+\usepackage{biblatex}
+\addbibresource{references.bib}
+
+\pagestyle{fancy}
+\fancyhf{}
+\rhead{Víctor Rubio Español, Adrià Vilanova Martínez}
+\lhead{Pràctica 6}
+\rfoot{\thepage}
+
+%%%% Title %%%%
+\title{Pràctica 6. Mesura del camp magnètic terrestre}
+\author{Víctor Rubio Español, Adrià Vilanova Martínez (4b, grup C1)}
+\date{Primavera 2020}
+
+\begin{document}
+  {\parskip=0pt
+    \maketitle
+  }
+
+  \section{Determinació de la direcció de $B$ amb la ``brúixola d'inclinacions''}
+
+  La inclinació que hem determinat és de:
+  \[ D = \SI{50(4)}{\degree}. \]
+
+  \section{Determinació de la component horitzontal del camp magnètic terrestre}
+  \subsection{Mètode de la brúixola de tangents}
+
+  \textsc{Nota}: A l'informe s'ha fet el desenvolupament amb els eixos $x$ i $y$ intercanviats respecte del que demana el guió de pràctiques degut a un malentès llegint el guió. Tot i així, el desenvolupament és molt similar i el resultat hauria de ser el mateix.
+
+  \begin{figure}[ht]
+    \centering
+    \begin{minipage}{0.35\textwidth}
+      \centering
+      \pgfplotstabletypeset[
+          columns={0, 1, 2, 3},
+          columns/0/.style={column name=$I \, (\si{\milli\ampere})$, fixed, fixed zerofill, precision=1},
+          columns/1/.style={column name=$\alpha \, (\si{\degree})$, fixed, fixed zerofill, precision=0},
+          columns/2/.style={column name=$B_b \, (\si{\milli\tesla})$, fixed, fixed zerofill, precision=3},
+          columns/3/.style={column name=$\tan(\alpha)$, fixed, fixed zerofill, precision=2}
+      ]{../data/6_3_2_1.dat}
+      \captionof{table}{Direcció del camp total $\alpha$ en funció de la intensitat del corrent $I$, i els seus valors derivats $B_b = \left( \frac{4}{5} \right)^{\frac{3}{2}} \frac{\mu_0 N I}{R}$ i $\tan{\alpha}$.}
+    \end{minipage}\hfill
+    \begin{minipage}{0.6\textwidth}
+      \centering
+      \input{../output/6_3_2_1.tex}
+      \captionof{figure}{Regressió lineal de $B_b$ en funció de $\tan(\alpha)$.}
+    \end{minipage}
+  \end{figure}
+
+  L'ajust de $B_b(\tan(\alpha)) = a \cdot \tan(\alpha) + b$ per residus quadrats ens dona els següents coeficients:
+  \[ \begin{cases}
+    a = \SI{-0.0291(19)}{\milli\tesla}, \\
+    b = \SI{-0.0004(7)}{\milli\tesla}.
+  \end{cases} \]
+  Observant que el 0 s'inclou dins de l'interval de confiança de $b$ (que és el valor teòric de $b$), es pot concloure que
+  \[ B_h = \frac{B_b}{\tan(\alpha)} = a = \SI{-0.0291(19)}{\milli\tesla}. \]
+
+  \subsection{Mètode del pèndol magnètic}
+  \begin{figure}[ht]
+    \centering
+    \begin{minipage}{0.4\textwidth}
+      \centering
+      \pgfplotstabletypeset[
+          columns={3, 0, 5, 6},
+          columns/3/.style={column name=$T \, (\si{\second})$, fixed, fixed zerofill, precision=2},
+          columns/0/.style={column name=$I \, (\si{\milli\ampere})$, fixed, fixed zerofill, precision=1},
+          columns/5/.style={column name=${\scriptstyle (-1)^s} \cdot \frac{1}{T^2} \, (\si{\per\second\squared})$, fixed, fixed zerofill, precision=4},
+          columns/6/.style={column name=$B_b \, (\si{\milli\tesla})$, fixed, fixed zerofill, precision=3}
+      ]{../data/6_3_2_2.dat}
+      \captionof{table}{Període d'oscil·lació del pèndol magnètic $T$ en funció de la intensitat de corrent $I$, i els seus valors derivats $(-1)^s \frac{1}{T^2}$ i $B_b$.}
+    \end{minipage}\hfill
+    \begin{minipage}{0.55\textwidth}
+      \centering
+      \input{../output/6_3_2_2.tex}
+      \captionof{figure}{Regressió lineal de $(-1)^s \dfrac{1}{T^2}$ en funció de $B_b$.}
+      \label{fig:grafica2}
+    \end{minipage}
+  \end{figure}
+
+  L'ajust de $\left((-1)^s \dfrac{1}{T^2}\right)(B_b) = a B_b + b$ per residus quadrats ens dona els següents coeficients:\footnote{A l'expressió $(-1)^s \dfrac{1}{T^2}$, la variable $s$ pren els valors $0$ o $1$ depenent de $T$, de tal forma que les dades graficades a la figura \ref{fig:grafica2} quedin en línia recta.}
+  \[ \begin{cases}
+    a = \SI{2.341(14)}{\per\milli\tesla\per\second\squared}, \\
+    b = \SI{0.0649(7)}{\per\second\squared}.
+  \end{cases} \]
+
+  Sabem per la teoria desenvolupada al guió de pràctiques que
+  \[ (-1)^s \frac{1}{T^2} = \frac{1}{(2 \pi)^2} \frac{M}{A} [B_h + B_b], \]
+  d'on podem identificar
+  \[ \left.\begin{array}{l}
+    \displaystyle a = \frac{1}{2 \pi}^2 \frac{M}{A}, \\[1em]
+    \displaystyle b = \frac{1}{2 \pi}^2 \frac{M}{A} B_h
+  \end{array}\right\} \implies B_h = \frac{b}{a} = \SI{0.028(3)}{\milli\tesla}. \]
+
+  \textbf{(Resposta a la pregunta (c))} Observem que a la gràfica de la figura \ref{fig:grafica2} el punt en què la recta talla l'eix de les abscisses ($\frac{1}{T^2} = 0$) és, degut a la fórmula anterior, el punt en què la component horitzontal del camp magnètic de la Terra i el creat artificialment tenen el mateix mòdul:
+  \[ |B_h| = |B_b|. \]
+  És al voltant d'aquest punt on no hem pogut prendre mesures, ja que al voltant d'aquests punts el període és massa gran i per tant la fricció fa que l'agulla no completi cap oscil·lació, o si en fa 1 no podem negligir aquests efectes de fricció.
+
+  \section{Conclusió}
+  \textbf{(Resposta a la pregunta (d))} Segons les dades del \textit{World Magnetic Model for 2020-2025},\cite{https://doi.org/10.25923/ytk1-yx35} la component horitzontal del camp magnètic al voltant de Barcelona és de $\SI{2.5e-5}{\tesla}$. Vegem si els valors que hem trobat són compatibles entre ells, i si ho són també amb el valor de la bibliografia.
+
+  Primer de tot, establim el següent test d'hipòtesi, on la hipòtesi nul·la (el que ens agradaria acceptar o rebutjar) és el fet que les dues mesures siguin compatibles:
+  \[ \begin{cases}
+    H_0: |B_h^\text{(1)}| - |B_h^\text{(2)}| = 0, \\
+    H_1: |B_h^\text{(1)}| - |B_h^\text{(2)}| \neq 0.
+  \end{cases} \]
+  Veiem que $|B_h^\text{(1)}| - |B_h^\text{(2)}| = \SI{1(5)e-5}{\tesla}$ i, com el $0$ està dins de l'interval de confiança, acceptem la hipòtesi nul·la, és a dir, acceptem que les dues mesures siguin compatibles.
+
+  Ara establim el següent test d'hipòtesi per veure si cadascuna de les mesures és compatible amb el valor de la bibliografia:
+  \[ \begin{cases}
+    H_0: |B_h^\text{(i)}| = B_h^\text{(WMM)}, \\
+    H_1: |B_h^\text{(i)}| \neq B_h^\text{(WMM)}.
+  \end{cases} \]
+
+  Veiem que per la primera mesura tenim l'interval de confiança $|B_h^\text{(1)}| \in (2.53, 3.29) \, \times 10^{-5} \si{\tesla}$ (prenent dues desviacions tipus per tenir una confiança de $1 - \alpha = 0.95$). El valor de la bibliografia no cau dins de l'interval de confiança així que hauríem de rebutjar que els valors siguin compatibles, però donat que cau molt a prop del límit inferior (amb una confiança lleugerament més alta cauria dins), sota un criteri més lax podríem acceptar aquesta compatibilitat.
+
+  Per la segona mesura tenim l'interval de confiança $|B_h^\text{(2)}| \in (2.2, 3.4) \, \times 10^{-5} \si{\tesla}$ (calculat de la mateixa manera que abans), i el valor de la bibliografia aquest cop sí que cau dins així que són compatibles ambdós valors.
+
+  Per tant, podem concloure que amb aquests 2 experiments hem conseguit una bastant bona aproximació de la component horitzontal del camp magnètic terrestre.
+
+  \textbf{(Resposta a la pregunta (e))} A partir de la component horitzontal calculada al segon experiment i la inclinació mesurada al principi, podem calcular el mòdul del camp magnètic terrestre amb trigonometria:
+  \[ ||\vec{B}|| = \frac{B_h}{\cos(D)} = \SI{4.4(6)e-5}{\tesla}. \]
+  Com a referència, la intensitat total del camp magnètic segons les dades del mateix model és d'aproximadament $\SI{4.55e-5}{\tesla}$ al voltant de Barcelona,\cite{https://doi.org/10.25923/ytk1-yx35} valor que cau dins d'una desviació tipus del valor calculat a partir de les nostres observacions.
+
+  \printbibliography
+
+\end{document}
diff --git a/quad8/electro/lab/p6/informe/references.bib b/quad8/electro/lab/p6/informe/references.bib
new file mode 100644
index 0000000..020f810
--- /dev/null
+++ b/quad8/electro/lab/p6/informe/references.bib
@@ -0,0 +1,8 @@
+@article{https://doi.org/10.25923/ytk1-yx35,
+  doi = {10.25923/YTK1-YX35},
+  url = {https://repository.library.noaa.gov/view/noaa/24390},
+  author = {Chulliat,  Arnaud and Alken,  Patrick and Nair,  Manoj},
+  title = {The US/UK World Magnetic Model for 2020-2025: Technical Report},
+  publisher = {National Centers for Environmental Information (U.S.); British Geological Survey},
+  year = {2020}
+}