# HG changeset patch # User Puneeth Chaganti # Date 1256302412 -19800 # Node ID ff22fae4fde567a513cc1ae988b5dda2e8d3a38a # Parent 058fad7c7d1db9a4861c33b1847b8526333f8709 Adding reading files and plotting to day1 session1. diff -r 058fad7c7d1d -r ff22fae4fde5 day1/session2.tex --- a/day1/session2.tex Fri Oct 23 17:18:58 2009 +0530 +++ b/day1/session2.tex Fri Oct 23 18:23:32 2009 +0530 @@ -224,10 +224,10 @@ \end{lstlisting} \end{frame} -\begin{frame}{So what did we learn here??} +\begin{frame}{New Concepts} \begin{itemize} \item lists - \item \alert{\kwrd{for}} + \item \typ{for} \end{itemize} \end{frame} @@ -283,39 +283,119 @@ \end{lstlisting} \end{frame} -\section{File Handling} \begin{frame}[fragile] - \frametitle{File and \kwrd{for}} -\begin{lstlisting} -In []: f = open('dummyfile') +\frametitle{Reading pendulum.txt} +\begin{itemize} + \item We now wish to repeat the plot using the values from a file + \item Given a file containing L vs. T values + \item Column1 - L; Column2 - T + \item Read the file + \item Plot points for L vs. $T^2$ +\end{itemize} +\end{frame} -In []: for line in f: - ...: print line - ...: +\begin{frame}[fragile] +\frametitle{Reading pendulum.txt} +\begin{lstlisting} +In []: L = [] +In []: T = [] +In []: for line in open('pendulum.txt'): + .... points = line.split() + .... L.append(float(points[0])) + .... T.append(float(points[1])) \end{lstlisting} -\inctime{5} +\begin{itemize} +\item We now have two lists L and T +\item Now, Repeat previous steps for plotting +\end{itemize} \end{frame} -\section{Strings} -\begin{frame}{Strings} -Anything within ``quotes'' is a string! +\begin{frame}[fragile] +\frametitle{Plotting from pendulum.txt} +\begin{lstlisting} +In []: TSq = [] + +In []: for t in T: + ....: TSq.append(t*t) + +In []: plot(L, TSq, '.') +\end{lstlisting} +\end{frame} + +\begin{frame}{New Concepts} + \begin{itemize} + \item File handling + \item Strings + \item Data-type conversion + \end{itemize} \end{frame} -\begin{frame}[fragile]\frametitle{Strings and \typ{split()}} +\begin{frame}[fragile] + \frametitle{Reading files \ldots} +\typ{In []: for line in open('pendulum.txt'):} +\begin{itemize} +\item opening file `pendulum.txt' +\item iterating through file using variable \typ{line} +\item \typ{line} is a \kwrd{string} variable +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Strings} +Anything within ``quotes'' is a string! +\begin{lstlisting} +' This is a string ' +" This too! " +""" This one too! """ +''' And one more! ''' +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Strings and \typ{split()}} \begin{lstlisting} -In []: a = 'hello world' +In []: line = 'hello world' In []: a.split() Out[]: ['hello', 'world'] \end{lstlisting} -Now try this: +This is what happens with \typ{line} \begin{lstlisting} -In []: b = 'KD, MCS, PC, SC, SV' +In []: line = '1.2000e-01 7.4252e-01' -In []: b.split(',') -Out[]: ['KD', 'MCS', 'PC', 'SC', 'SV'] +In []: line.split() +Out[]: ['1.2000e-01', '7.4252e-01'] \end{lstlisting} -\inctime{5} \end{frame} +\begin{frame}[fragile] +\frametitle{Getting floats from strings} + \begin{lstlisting} +In []: type(points[0]) +Out[]: + \end{lstlisting} +But, we need floating point numbers + \begin{lstlisting} +In []: t = float(point[0]) + +In []: type(t) +Out[]: + \end{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\begin{figure} +\includegraphics[width=3.5in]{data/L-Tsq.png} +\end{figure} +\vspace{-0.2in} +Coming up - \alert{Least Square Fit \ldots} +\end{frame} + + + + \end{document} + + + + diff -r 058fad7c7d1d -r ff22fae4fde5 day1/session3.tex --- a/day1/session3.tex Fri Oct 23 17:18:58 2009 +0530 +++ b/day1/session3.tex Fri Oct 23 18:23:32 2009 +0530 @@ -126,12 +126,11 @@ %% % You might wish to add the option [pausesections] %% \end{frame} + \begin{frame} \frametitle{Least Squares Fit} -In this session - \begin{itemize} -\item We shall plot a least squares fit curve for time-period(T) squared vs. length(L) plot of a Simple Pendulum. -\item Given a file containing L and T values +\item Plot a least squares fit line \end{itemize} \end{frame} @@ -148,22 +147,6 @@ \end{itemize} \end{frame} -\begin{frame}[fragile] -\frametitle{Reading pendulum.txt} -\begin{itemize} - \item The file has two columns - \item Column1 - L; Column2 - T -\end{itemize} -\begin{lstlisting} -In []: L = [] -In []: T = [] -In []: for line in open('pendulum.txt'): - .... ln, t = line.split() - .... L.append(float(ln)) - .... T.append(float(t)) -\end{lstlisting} -We now have two lists L and T -\end{frame} \begin{frame}[fragile] \frametitle{Calculating $T^2$}