\documentclass[main.tex]{subfiles}

\begin{document}


\slide{Free fall set-up}
{
\twocolumns
{0.3}
{\fig{1}{FreeFall}{Experiment set-up}{FreeFall}}
{0.5}
{Equation of motion:
\begin{align*}
F_{ext} &= -mg, \qquad \\ 
a &= F_{ext}/m  \\
dv/dt &= a\\
dx/dt &= v
\end{align*}
}}
\subsection{Spreadsheet} 
\slide{A spreadsheet approach}{
\Prescription \\~\\
\normalsize
Let us have a force in a cell L2, object mass in a cell I2, time advance in a cell I4, initial height in a cell E4 and initial velocity in a cell D4, then
\ExcelImplem
\\~\\
\normalsize
So it is possible to specify only row \#5 and then use copy row \#5 and paste special to the consequent rows  from \#6 to \#N.\\
\href{http://buon.fjfi.cvut.cz:5002/CTU4WP@ELAB/examples/Spreadsheets/1D_FreeFall_Basic/}{\beamergotobutton{\ButtonRef}}
}
\SlideWithFullFigureWithLink{Free fall (numerical and analytical comparison)}{examples/Spreadsheets/1D_FreeFall_NamedCells/Screenshot.png}{http://buon.fjfi.cvut.cz:5002/CTU4WP@ELAB/examples/Spreadsheets/1D_FreeFall_Basic/}  
\slide{A spreadsheet approach cont.}{
\ExcelImplem
\\~\\
\normalsize
A more convenient way is to name basic parameters, e.g.
Let us have a force in a cell L2 named $F$, object mass in a cell I2 named $m$, time advance in a cell I4 named $dt$, initial height in a cell E4  and initial velocity in a cell D4, then
\footnotesize
\begin{tabular}{|l|l|l|l|l|l|}\hline row& column A& column B&column C&column D&column E\\ \hline 
4&0 & -$F$ & B4/$m$ & any number  & any number \\
& & & & ($v_0$ initial cond.) & ($x_0$ initial cond.)\\ \hline
5&A4+$dt$&-$F$ &B5/$m$&D4+C5*$dt$&E4+D5*$dt$\\ \hline 
6&A5+$dt$&-$F$ &B6/$m$&D5+C6*$dt$&E5+D6*$dt$\\ \hline 
7..N-1&.. &.. &.. & ..& ..\\ \hline 
N&A(N-1)+$dt$&-$F$ &BN/$m$&D(N-1)+CN*$dt$&E(N-1)+DN*$dt$\\ \hline 
\end{tabular}
\href{http://buon.fjfi.cvut.cz:5002/CTU4WP@ELAB/examples/Spreadsheets/1D_FreeFall_Basic/}{\beamergotobutton{\ButtonRef}}
}
\subsection{Processing}
\slide{A processing approach}{
\twocolumns{0.7}{\scriptsize
\lstinputlisting{examples/Processing/FreeFall/sketch.js}
}{0.3}
{\includegraphics[width=\tw]{examples/Processing/FreeFall/FreeFallBaseP5.png}}
\href{https://editor.p5js.org/vojtech.svob/sketches/p_VGqDX5}{\beamergotobutton{\ButtonRef}} 
}
\SlideWithFullFigureWithLink{Free fall}{examples/Processing/FreeFall/Screenshot.png}{https://editor.p5js.org/vojtech.svob/sketches/p_VGqDX5}
\subsection{Python}
\slide{A python@Jupyter notebook approach}{
\twocolumns{0.7}{\scriptsize
\lstinputlisting[language=python]{examples/PythonJupyterNotebook/1D_Freefall_Num/model_adapt.py}
}{0.3} 
{\includegraphics[width=\tw]{examples/PythonJupyterNotebook/1D_Freefall_Num/model.png}}
\href{http://buon.fjfi.cvut.cz/raws/CTU4WP@ELAB/examples/PythonJupyterNotebook/1D_Freefall_Num/model.html}{\beamergotobutton{\ButtonRef}} 
}
\SlideWithFullFigureWithLink{Free fall}{examples/PythonJupyterNotebook/1D_Freefall_Num/Screenshot.png}{http://buon.fjfi.cvut.cz/raws/CTU4WP@ELAB/examples/PythonJupyterNotebook/1D_Freefall_Num/model.html}


\end{document}
