diff options
-rw-r--r-- | day2/data/cobweb.png | bin | 0 -> 29071 bytes | |||
-rw-r--r-- | day2/session1.tex | 133 |
2 files changed, 60 insertions, 73 deletions
diff --git a/day2/data/cobweb.png b/day2/data/cobweb.png Binary files differnew file mode 100644 index 0000000..073940b --- /dev/null +++ b/day2/data/cobweb.png diff --git a/day2/session1.tex b/day2/session1.tex index 91fc3d6..9fce148 100644 --- a/day2/session1.tex +++ b/day2/session1.tex @@ -70,7 +70,6 @@ % postbreak = \space\dots % } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Title page \title[]{Matrices and Arrays\\ \& \\2D Plotting} @@ -171,7 +170,6 @@ array([5, 8, 11, 14]) \item \alert{Note:} \typ{len(arr) != arr.size} in general \item \alert{Note:} By default array operations are performed \alert{elementwise} - \item Indices, slicing: just like lists \end{itemize} \end{frame} @@ -193,8 +191,6 @@ dtype('float64') >>> print x[0], x[-1] 10.0 4.0 \end{lstlisting} - -\inctime{10} \end{frame} \begin{frame}[fragile] @@ -224,10 +220,8 @@ array([10,11,12,-1]) \typ{less (<)}, \typ{greater (>)} etc. \item Trig and other functions: \typ{sin(x), arcsin(x), sinh(x), exp(x), sqrt(x)} etc. - \item \typ{sum(x, axis=0), product(x, axis=0)} - \item \typ{dot(a, bp)} + \item \typ{sum(x, axis=0), product(x, axis=0), dot(a, bp)} \inctime{10} \end{itemize} - \inctime{10} \end{frame} \subsection{Array Creation \& Slicing, Striding Arrays} @@ -258,6 +252,8 @@ array([[5, 6], [8, 9]]) >>> a[:,2] array([3, 6, 9]) +>>> a[...,2] +array([3, 6, 9]) \end{lstlisting} \end{frame} @@ -286,7 +282,17 @@ array([[ 0.96276665, 0.77174861], \end{frame} \begin{frame}[fragile] - \frametitle{Problem set 1.0} + \frametitle{Problem Set} + \begin{lstlisting} + >>> from scipy import misc + >>> A=misc.imread(name) + >>> misc.imshow(A) + \end{lstlisting} + \begin{enumerate} + \item Convert an RGB image to Grayscale. $ Y = 0.5R + 0.25G + 0.25B $ + \item Scale the image to 50\% + \item Introduce some random noise? + \end{enumerate} \inctime{15} \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -320,11 +326,12 @@ array([[ 0.96276665, 0.77174861], \begin{itemize} \item Also: PNG, PDF, PS, EPS, SVG, PDF \end{itemize} +\inctime{5} \end{frame} \subsection{Plots - Lines, Labels and Legends} \begin{frame}[fragile] - \frametitle{Basic plotting \ldots} + \frametitle{Tweaking plots} \begin{lstlisting} # Set properties of objects: >>> l, = plot(x, sin(x)) @@ -339,22 +346,30 @@ array([[ 0.96276665, 0.77174861], \end{frame} \begin{frame}[fragile] - \frametitle{Multiple figures} - + \frametitle{Working with text \ldots} +%\begin{itemize} +% \item We already saw LaTeX markup support! +%\end{itemize} \begin{lstlisting} ->>> figure(1) ->>> plot(x, sin(x)) ->>> figure(2) ->>> plot(x, tanh(x)) ->>> figure(1) ->>> title('Easy as 1,2,3') +>>> w = arange(-2,2,.1) +>>> plot(w,exp(-(w*w))*cos) +>>> ylabel('$f(\omega)$') +>>> xlabel('$\omega$') +>>> title(r"$f(\omega)=e^{-\omega^2} + cos({\omega^2})$") +>>> annotate('maxima',xy=(0, 1), + xytext=(1, 0.8), + arrowprops=dict( + facecolor='black', + shrink=0.05)) \end{lstlisting} \end{frame} \begin{frame}[fragile] - \frametitle{Legends and Annotation} + \frametitle{Legends} \begin{lstlisting} +>>> x = linspace(0, 2*pi, 1000) >>> plot(x, cos(5*x), 'r--', label='cosine') >>> plot(x, sin(5*x), 'g--', @@ -362,36 +377,22 @@ array([[ 0.96276665, 0.77174861], >>> legend() # Or use: >>> legend(['cosine', 'sine']) -# Annotation: ->>> text(1,0, '(1,0)') \end{lstlisting} \end{frame} \begin{frame}[fragile] - \frametitle{More commands \ldots} - \begin{lstlisting} -# semilog, loglog ->>> x = 10.**(-arange(100)*0.1) ->>> semilogx(x, x) ->>> semilogy(x, x) ->>> loglog(x, x) ->>> loglog(x, x*x) - \end{lstlisting} -\end{frame} + \frametitle{Multiple figures} + +\begin{lstlisting} +>>> figure(1) +>>> plot(x, sin(x)) +>>> figure(2) +>>> plot(x, tanh(x)) +>>> figure(1) +>>> title('Easy as 1,2,3') +\end{lstlisting} + -\begin{frame}[fragile] - \frametitle{More plots \ldots} - \begin{lstlisting} ->>> clf() ->>> t = arange(0.1, 4, 0.1) ->>> s = exp(-t) ->>> e = 0.1*abs(randn(len(s))) ->>> errorbar(t, s, e) -# Scatter plots ->>> clf() ->>> t = randn(len(e)) ->>> scatter(t, e, c=s) - \end{lstlisting} \end{frame} \begin{frame}[fragile] @@ -404,6 +405,7 @@ pylab.plot(x, pylab.sin(x)) # Can also use: from pylab import linspace, sin, plot \end{lstlisting} +\inctime{5} \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -696,11 +698,12 @@ title('triangular head; scale '\ \end{frame} \begin{frame}[fragile] \frametitle{Maps} - \includegraphics[height=2.5in, interpolate=true]{data/plotmap} + \includegraphics[height=2.3in, interpolate=true]{data/plotmap} \begin{center} \tiny For details see \url{http://matplotlib.sourceforge.net/screenshots/plotmap.py} \end{center} +\inctime{5} \end{frame} @@ -711,12 +714,10 @@ title('triangular head; scale '\ \item \url{http://matplotlib.sf.net/tutorial.html} \item \url{http://matplotlib.sf.net/screenshots.html} \end{itemize} - - \inctime{25} \end{frame} \begin{frame} - \frametitle{Problem set 1.0} + \frametitle{Problem Set} \begin{enumerate} \item Write a function that plots any n-gon given \typ{n}. \item Consider the logistic map, $f(x) = kx(1-x)$, plot it for @@ -724,9 +725,12 @@ title('triangular head; scale '\ \end{enumerate} \end{frame} -\begin{frame} - \frametitle{Problem set 1.1} - \begin{enumerate} +\begin{frame}[fragile] +\frametitle{Problem Set} + \begin{columns} + \column{0.6\textwidth} + \small{ + \begin{enumerate} \item Consider the iteration $x_{n+1} = f(x_n)$ where $f(x) = kx(1-x)$. Plot the successive iterates of this process. \item Plot this using a cobweb plot as follows: @@ -737,28 +741,11 @@ title('triangular head; scale '\ \item Draw line to $(x_i, x_i)$ \item Repeat from 2 for as long as you want \end{enumerate} - \end{enumerate} -\end{frame} - -\begin{frame} - \frametitle{Problem set 1.2} - \begin{enumerate} - - \item Plot the Koch snowflake. Write a function to generate the - necessary points given the two points constituting a line. - \pause - \begin{enumerate} - \item Split the line into 4 segments. - \item The first and last segments are trivial. - \item To rotate the point you can use complex numbers, - recall that $z e^{j \theta}$ rotates a point $z$ in 2D - by $\theta$. - \item Do this for all line segments till everything is - done. - \end{enumerate} - \item Show rate of convergence for a first and second order finite - difference of sin(x) -\end{enumerate} -\inctime{30} + \end{enumerate}} + \column{0.35\textwidth} + \hspace*{-0.5in} + \includegraphics[height=1.6in, interpolate=true]{data/cobweb} +\end{columns} +\inctime{20} \end{frame} \end{document} |