# HG changeset patch # User Puneeth Chaganti # Date 1256566739 -19800 # Node ID c3acf025db80583beda5b2da488d00b4e1039495 # Parent 72bd110ab42ff8fccbe05180a8319a9052259046# Parent 29c0c504750cde5696a15edc115d0e26af7beef1 Merged with mainline. diff -r 29c0c504750c -r c3acf025db80 day1/session4.tex --- a/day1/session4.tex Mon Oct 26 16:48:14 2009 +0530 +++ b/day1/session4.tex Mon Oct 26 19:48:59 2009 +0530 @@ -210,8 +210,59 @@ \end{lstlisting} \end{frame} + \section{Integration} +\subsection{Quadrature} + +\begin{frame}[fragile] +\frametitle{Quadrature} +\begin{itemize} +\item We wish to find area under a curve +\item Area under $(sin(x) + x^2)$ in $(0,1)$ +\item scipy has functions to do that +\end{itemize} +\small{\typ{In []: from scipy.integrate import quad}} +\begin{itemize} +\item Inputs - function to integrate, limits +\end{itemize} +\begin{lstlisting} +In []: x = 0 +In []: integrate.quad(sin(x)+x**2, 0, 1) +\end{lstlisting} +\alert{\typ{error:}} +\typ{First argument must be a callable function.} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Functions - Definition} +\begin{lstlisting} +In []: def f(x): + return sin(x)+x**2 +In []: integrate.quad(f, 0, 1) +\end{lstlisting} +\begin{itemize} +\item \typ{def} +\item arguments +\item \typ{return} +\end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{More on functions} + \begin{itemize} + \item Support default and keyword arguments + \item Scope of variables in the function is local + \item Mutable items are \alert{passed by reference} + \item First line after definition may be a documentation string + (\alert{recommended!}) + \item Function definition and execution defines a name bound to the + function + \item You \emph{can} assign a variable to a function! + \end{itemize} +\end{frame} + + \subsection{ODEs} \begin{frame}[fragile] @@ -272,18 +323,5 @@ \end{lstlisting} \end{frame} -\subsection{Quadrature} - -\begin{frame}[fragile] -\frametitle{Quadrature} -Calculate the area under $(sin(x) + x^2)$ in the range $(0,1)$ -\small{\typ{In []: from scipy.integrate import quad}} - \begin{lstlisting} -In []: f(x): - return sin(x)+x**2 -In []: integrate.quad(f, 0, 1) - \end{lstlisting} -\end{frame} - \end{document}