day1/session5.tex
changeset 269 9c9be698d7ad
parent 266 28d4714a9702
child 339 8ac5fe07810f
--- a/day1/session5.tex	Wed Nov 04 22:08:13 2009 +0530
+++ b/day1/session5.tex	Thu Nov 05 09:18:00 2009 +0530
@@ -74,7 +74,7 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Title page
-\title[Calculus]{Python for Science and Engg: Interpolation, Differentiation and Integration}
+\title[]{}
 
 \author[FOSSEE] {FOSSEE}
 
@@ -124,340 +124,6 @@
 %% %  \pausesections
 %% \end{frame}
 
-\section{\typ{loadtxt}}
-
-\begin{frame}[fragile]
-  \frametitle{Array slicing}
-  \begin{lstlisting}
-In []: A = array([[ 1,  1,  2, -1],
-                  [ 2,  5, -1, -9],
-                  [ 2,  1, -1,  3],
-                  [ 1, -3,  2,  7]])
-
-In []: A[:,0]
-Out[]: array([ 1,  2,  2, 1])
-
-In []: A[1:3,1:3]
-Out[]: 
-array([[ 5, -1],
-       [ 1, -1]])
-\end{lstlisting}
-\end{frame}
-
-\begin{frame}[fragile]
-  \frametitle{\typ{loadtxt}}
-  \begin{itemize}
-  \item Load data from a text file.
-  \item Each row must have same number of values.
-  \end{itemize}
-\begin{lstlisting}
-In []: data = loadtxt('pendulum.txt')
-In []: x = data[:, 0]
-In []: y = data[:, 1]
-\end{lstlisting}
-\end{frame}
-
-%% \begin{frame}[fragile]
-%%   \frametitle{\typ{loadtxt}}
-%% \end{frame}
-
-\section{Interpolation}
-\begin{frame}[fragile]
-\frametitle{Loading data (revisited)}
-\begin{itemize}
-  \item Given data file \typ{points.txt}.
-  \item It contains x,y position of particle.
-  \item Plot the given points.
-%%  \item Interpolate the missing region.
-\end{itemize}
-\begin{lstlisting}
-In []: x, y = loadtxt('points.txt',
-                       unpack = True)
-In []: plot(x, y, '.')
-\end{lstlisting}
-\end{frame}
-
-\begin{frame}
-  \frametitle{Plot}
-  \begin{center}
-    \includegraphics[height=2in, interpolate=true]{data/missing_points}
-  \end{center}
-\end{frame}
-%% \begin{frame}[fragile]
-%% \frametitle{Interpolation \ldots}
-%% \begin{small}
-%%   \typ{In []: from scipy.interpolate import interp1d}
-%% \end{small}
-%% \begin{itemize}
-%% \item The \typ{interp1d} function returns a function
-%% \begin{lstlisting}
-%%   In []: f = interp1d(L, T)
-%% \end{lstlisting}
-%% \item Functions can be assigned to variables 
-%% \item This function interpolates between known data values to obtain unknown
-%% \end{itemize}
-%% \end{frame}
-
-%% \begin{frame}[fragile]
-%% \frametitle{Interpolation \ldots}
-%% \begin{lstlisting}
-%% In []: Ln = arange(0.1,0.99,0.005)
-%% # Interpolating! 
-%% # The new values in range of old data
-%% In []: plot(L, T, 'o', Ln, f(Ln), '-')
-%% In []: f = interp1d(L, T, kind='cubic')
-%% # When kind not specified, it's linear
-%% # Others are ...
-%% # 'nearest', 'zero', 
-%% # 'slinear', 'quadratic'
-%% \end{lstlisting}
-%% \end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Spline Interpolation}
-\begin{small}
-\begin{lstlisting}
-In []: from scipy.interpolate import splrep
-In []: from scipy.interpolate import splev
-\end{lstlisting}
-\end{small}
-\begin{itemize}
-\item Involves two steps
-  \begin{enumerate}
-  \item Find out the spline curve, coefficients
-  \item Evaluate the spline at new points
-  \end{enumerate}
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{\typ{splrep}}
-To find the spline curve
-\begin{lstlisting}
-In []: tck = splrep(x, y)
-\end{lstlisting}
-\typ{tck} contains parameters required for representing the spline curve!
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{\typ{splev}}
-To Evaluate a spline and it's derivatives
-\begin{lstlisting}
-In []: Xnew = arange(0.01,3,0.02)
-In []: Ynew = splev(Xnew, tck)
-
-In []: y.shape
-Out[]: (40,)
-
-In []: Ynew.shape
-Out[]: (150,)
- 
-In []: plot(Xnew, Ynew)
-\end{lstlisting}
-
-\end{frame}
-
-%% \begin{frame}[fragile]
-%% \frametitle{Interpolation \ldots}
-%% \begin{itemize}
-%% \item 
-%% \end{itemize}
-%% \end{frame}
-
-\begin{frame}
-  \frametitle{Plot}
-  \begin{center}
-    \includegraphics[height=2in, interpolate=true]{data/interpolate}
-  \end{center}
-\end{frame}
-
-\section{Differentiation}
-
-\begin{frame}[fragile]
-\frametitle{Numerical Differentiation}
-\begin{itemize}
-\item Given function $f(x)$ or data points $y=f(x)$
-\item We wish to calculate $f^{'}(x)$ at points $x$
-\item Taylor series - finite difference approximations
-\end{itemize}
-\begin{center}
-\begin{tabular}{l l}
-$f(x+h)=f(x)+hf^{'}(x)$ &Forward \\
-$f(x-h)=f(x)-hf^{'}(x)$ &Backward
-\end{tabular}
-\end{center}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Forward Difference}
-\begin{lstlisting}
-In []: x = linspace(0, 2*pi, 100)
-In []: y = sin(x)
-In []: deltax = x[1] - x[0]
-\end{lstlisting}
-Obtain the finite forward difference of y
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Forward Difference \ldots}
-\begin{lstlisting}
-In []: fD = (y[1:] - y[:-1]) / deltax
-In []: print len(fD)
-Out[]: 99
-In []: plot(x, y) 
-In []: plot(x[:-1], fD)
-\end{lstlisting}
-\vspace{-.2in}
-\begin{center}
-  \includegraphics[height=1.8in, interpolate=true]{data/fwdDiff}
-\end{center}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Example}
-\begin{itemize}
-\item Given x, y positions of a particle in \typ{pos.txt}
-\item Find velocity \& acceleration in x, y directions
-\end{itemize}
-\small{
-\begin{center}
-\begin{tabular}{| c | c | c |}
-\hline
-$X$ & $Y$ \\ \hline
-0.     &  0.\\ \hline
-0.25   &  0.47775\\ \hline
-0.5    &  0.931\\ \hline
-0.75   &  1.35975\\ \hline
-1.     &  1.764\\ \hline
-1.25   &  2.14375\\ \hline
-\vdots & \vdots\\ \hline
-\end{tabular}
-\end{center}}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Example \ldots}
-\begin{itemize}
-\item Read the file
-\item Obtain an array of X, Y
-\item Obtain velocity and acceleration
-\item use \typ{deltaT = 0.05}
-\end{itemize}
-\begin{lstlisting}
-In []: data = loadtxt('pos.txt')
-In []: X,Y = data[:,0], data[:,1]
-In []: S = array([X, Y])
-\end{lstlisting}
-\end{frame}
-
-
-\begin{frame}[fragile]
-\frametitle{Example \ldots}
-\begin{lstlisting}
-In []: deltaT = 0.05
-
-In []: v = (S[:,1:]-S[:,:-1])/deltaT
-
-In []: a = (v[:,1:]-v[:,:-1])/deltaT
-\end{lstlisting}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Example \ldots}
-Plotting Y, $v_y$, $a_y$
-\begin{lstlisting}
-In []: plot(Y)
-In []: plot(v[1,:])
-In []: plot(a[1,:])
-\end{lstlisting}
-\begin{center}
-  \includegraphics[height=1.8in, interpolate=true]{data/pos_vel_accel}  
-\end{center}
-\end{frame}
-
-\section{Quadrature}
-
-\begin{frame}[fragile]
-\frametitle{Quadrature}
-
-\emphbar{$\int_0^1(sin(x) + x^2)$}
-
-\typ{In []: from scipy.integrate import quad}
-
-\begin{itemize}
-\item Inputs - function to integrate, limits
-\end{itemize}
-\begin{lstlisting}
-In []: quad(sin(x)+x**2, 0, 1)
-NameError: name 'x' is not defined
-In []: x = 0
-In []: quad(sin(x)+x**2, 0, 1)
-\end{lstlisting}
-\begin{small}
-\alert{\typ{error:}}
-\typ{First argument must be a callable function.}
-\end{small}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Functions - Definition}
-We have been using them all along. Now let's see how to define them.
-\begin{lstlisting}
-In []: def f(x):
-           return sin(x)+x**2
-In []: quad(f, 0, 1)
-\end{lstlisting}
-\begin{itemize}
-\item \typ{def}
-\item name
-\item arguments
-\item \typ{return}
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Functions - Calling them}
-\begin{lstlisting}
-In [15]: f()
----------------------------------------
-\end{lstlisting}
-\alert{\typ{TypeError:}}\typ{f() takes exactly 1 argument}
-\typ{(0 given)}
-\begin{lstlisting}
-In []: f(0)
-Out[]: 0.0
-In []: f(1)
-Out[]: 1.8414709848078965
-\end{lstlisting}
-More on Functions later \ldots
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Quadrature \ldots}
-\begin{lstlisting}
-In []: quad(f, 0, 1)
-\end{lstlisting}
-Returns the integral and an estimate of the absolute error in the result.
-\begin{itemize}
-\item \typ{dblquad}, \typ{tplquad} are available
-\end{itemize}
-\end{frame}
-
-\begin{frame}
-  \frametitle{Things we have learned}
-  \begin{itemize}
-  \item Interpolation
-  \item Differentiation
-  \item Functions
-    \begin{itemize}
-    \item Definition
-    \item Calling
-    \item Default Arguments
-    \item Keyword Arguments
-    \end{itemize}
-  \item Quadrature
-  \end{itemize}
-\end{frame}
 
 \end{document}