summaryrefslogtreecommitdiff
path: root/day2/session1.tex
diff options
context:
space:
mode:
Diffstat (limited to 'day2/session1.tex')
-rw-r--r--day2/session1.tex133
1 files changed, 60 insertions, 73 deletions
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}