author | Puneeth Chaganti <punchagan@fossee.in> |
Sun, 10 Jan 2010 17:43:28 +0530 | |
changeset 346 | e9961fb16c58 |
parent 78 | ec1346330649 |
permissions | -rw-r--r-- |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
1 |
\documentclass[12pt]{article} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
2 |
\usepackage{amsmath} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
3 |
\title{Python Workshop\\Problems and Exercises} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
4 |
\author{Asokan Pichai\\Prabhu Ramachandran} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
5 |
\begin{document} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
6 |
\maketitle |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
7 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
8 |
\section{Matrices and Arrays \& 2D Plotting} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
9 |
\subsection{Matrices and Arrays} |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
10 |
\subsubsection{Basic Numpy} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
11 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
12 |
# Simple array math example |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
13 |
>>> import numpy as np |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
14 |
>>> a = np.array([1,2,3,4]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
15 |
>>> b = np.arange(2,6) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
16 |
>>> b |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
17 |
array([2,3,4,5]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
18 |
>>> a*2 + b + 1 # Basic math! |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
19 |
array([5, 8, 11, 14]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
20 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
21 |
# Pi and e are defined. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
22 |
>>> x = np.linspace(0.0, 10.0, 1000) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
23 |
>>> x *= 2*np.pi/10 # inplace. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
24 |
# apply functions to array. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
25 |
>>> y = np.sin(x) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
26 |
>>> z = np.exp(y) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
27 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
28 |
>>> x = np.array([1., 2, 3, 4]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
29 |
>>> np.size(x) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
30 |
4 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
31 |
>>> x.dtype # What is a.dtype? |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
32 |
dtype('float64') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
33 |
>>> x.shape |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
34 |
(4,) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
35 |
>>> print np.rank(x), x.itemsize |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
36 |
1 8 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
37 |
>>> x[0] = 10 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
38 |
>>> print x[0], x[-1] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
39 |
10.0 4.0 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
40 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
41 |
>>> a = np.array([[ 0, 1, 2, 3], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
42 |
... [10,11,12,13]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
43 |
>>> a.shape # (rows, columns) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
44 |
(2, 4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
45 |
# Accessing and setting values |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
46 |
>>> a[1,3] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
47 |
13 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
48 |
>>> a[1,3] = -1 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
49 |
>>> a[1] # The second row |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
50 |
array([10,11,12,-1]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
51 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
52 |
>>> b=np.array([[0,2,4,2],[1,2,3,4]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
53 |
>>> np.add(a,b,a) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
54 |
>>> np.sum(x,axis=1) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
55 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
56 |
>>> np.greater(a,4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
57 |
>>> np.sqrt(a) |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
58 |
\end{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
59 |
|
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
60 |
\subsubsection{Array Creation} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
61 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
62 |
>>> np.array([2,3,4]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
63 |
array([2, 3, 4]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
64 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
65 |
>>> np.linspace(0, 2, 4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
66 |
array([0.,0.6666667,1.3333333,2.]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
67 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
68 |
>>>np.ones([2,2]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
69 |
array([[ 1., 1.], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
70 |
[ 1., 1.]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
71 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
72 |
>>>a = np.array([[1,2,3],[4,5,6]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
73 |
>>>np.ones_like(a) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
74 |
array([[1, 1, 1], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
75 |
[1, 1, 1]]) |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
76 |
\end{verbatim} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
77 |
\subsubsection{Slicing, Striding Arrays} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
78 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
79 |
>>> a = np.array([[1,2,3], [4,5,6], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
80 |
[7,8,9]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
81 |
>>> a[0,1:3] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
82 |
array([2, 3]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
83 |
>>> a[1:,1:] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
84 |
array([[5, 6], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
85 |
[8, 9]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
86 |
>>> a[:,2] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
87 |
array([3, 6, 9]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
88 |
>>> a[...,2] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
89 |
array([3, 6, 9]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
90 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
91 |
>>> a[0::2,0::2] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
92 |
array([[1, 3], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
93 |
[7, 9]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
94 |
# Slices are references to the |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
95 |
# same memory! |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
96 |
\end{verbatim} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
97 |
\subsubsection{Random Numbers} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
98 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
99 |
>>> np.random.rand(3,2) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
100 |
array([[ 0.96276665, 0.77174861], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
101 |
[ 0.35138557, 0.61462271], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
102 |
[ 0.16789255, 0.43848811]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
103 |
>>> np.random.randint(1,100) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
104 |
42 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
105 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
106 |
|
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
107 |
\subsubsection{Problem Set} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
108 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
109 |
>>> from scipy import misc |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
110 |
>>> A=misc.imread(name) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
111 |
>>> misc.imshow(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
112 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
113 |
\begin{enumerate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
114 |
\item Convert an RGB image to Grayscale. $ Y = 0.5R + 0.25G + 0.25B $. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
115 |
\item Scale the image to 50\%. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
116 |
\item Introduce some random noise. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
117 |
\item Smooth the image using a mean filter. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
118 |
\\\small{Each element in the array is replaced by mean of all the neighbouring elements} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
119 |
\\\small{How fast does your code run?} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
120 |
\end{enumerate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
121 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
122 |
\subsection{2D Plotting} |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
123 |
\subsubsection{Basic 2D Plotting} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
124 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
125 |
$ ipython -pylab |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
126 |
>>> x = linspace(0, 2*pi, 1000) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
127 |
>>> plot(x, sin(x)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
128 |
>>> plot(x, sin(x), 'ro') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
129 |
>>> xlabel(r'$\chi$', color='g') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
130 |
# LaTeX markup! |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
131 |
>>> ylabel(r'sin($\chi$)', color='r') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
132 |
>>> title('Simple figure', fontsize=20) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
133 |
>>> savefig('/tmp/test.eps') |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
134 |
\end{verbatim} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
135 |
\subsubsection{Tweaking plots} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
136 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
137 |
# Set properties of objects: |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
138 |
>>> l, = plot(x, sin(x)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
139 |
# Why "l,"? |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
140 |
>>> setp(l, linewidth=2.0, color='r') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
141 |
>>> l.set_linewidth(2.0) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
142 |
>>> draw() # Redraw. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
143 |
>>> setp(l) # Print properties. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
144 |
>>> clf() # Clear figure. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
145 |
>>> close() # Close figure. |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
146 |
\end{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
147 |
|
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
148 |
\subsubsection{Working with text} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
149 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
150 |
>>> w = arange(-2,2,.1) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
151 |
>>> plot(w,exp(-(w*w))*cos) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
152 |
>>> ylabel('$f(\omega)$') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
153 |
>>> xlabel('$\omega$') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
154 |
>>> title(r"$f(\omega)=e^{-\omega^2} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
155 |
cos({\omega^2})$") |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
156 |
>>> annotate('maxima',xy=(0, 1), |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
157 |
xytext=(1, 0.8), |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
158 |
arrowprops=dict( |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
159 |
facecolor='black', |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
160 |
shrink=0.05)) |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
161 |
\end{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
162 |
|
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
163 |
\subsubsection{Legends} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
164 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
165 |
>>> x = linspace(0, 2*np.pi, 1000) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
166 |
>>> plot(x, cos(5*x), 'r--', |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
167 |
label='cosine') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
168 |
>>> plot(x, sin(5*x), 'g--', |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
169 |
label='sine') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
170 |
>>> legend() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
171 |
# Or use: |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
172 |
>>> legend(['cosine', 'sine']) |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
173 |
\end{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
174 |
|
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
175 |
\subsubsection{Multiple figures} |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
176 |
\begin{verbatim} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
177 |
>>> figure(1) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
178 |
>>> plot(x, sin(x)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
179 |
>>> figure(2) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
180 |
>>> plot(x, tanh(x)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
181 |
>>> figure(1) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
182 |
>>> title('Easy as 1,2,3') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
183 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
184 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
185 |
|
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
186 |
\subsubsection{Problem Set} |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
187 |
\begin{enumerate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
188 |
\item Write a function that plots any regular n-gon given n. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
189 |
\item Consider the logistic map, $f(x) = kx(1-x)$, plot it for |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
190 |
$k=2.5, 3.5$ and $4$ in the same plot. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
191 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
192 |
\item Consider the iteration $x_{n+1} = f(x_n)$ where $f(x) = |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
193 |
kx(1-x)$. Plot the successive iterates of this process. |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
194 |
\item Plot this using a cobweb plot as follows: |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
195 |
\begin{enumerate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
196 |
\item Start at $(x_0, 0)$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
197 |
\item Draw line to $(x_i, f(x_i))$; |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
198 |
\item Set $x_{i+1} = f(x_i)$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
199 |
\item Draw line to $(x_i, x_i)$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
200 |
\item Repeat from 2 for as long as you want |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
201 |
\end{enumerate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
202 |
\end{enumerate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
203 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
204 |
\section{Advanced Numpy} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
205 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
206 |
\subsection{Broadcasting} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
207 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
208 |
>>> a = np.arange(4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
209 |
>>> b = np.arange(5) |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
210 |
>>> a+b #Does this work? |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
211 |
>>> a+3 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
212 |
>>> c=np.array([3]) |
78
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
213 |
>>> a+c #Works! |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
214 |
>>> b+c #But how? |
ec1346330649
Minor edits to Day2 handout.
Puneeth Chaganti <punchagan@fossee.in>
parents:
72
diff
changeset
|
215 |
>>> a.shape, b.shape, c.shape |
72
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
216 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
217 |
>>> a = np.arange(4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
218 |
>>> a+3 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
219 |
array([3, 4, 5, 6]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
220 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
221 |
>>> x = np.ones((3, 5)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
222 |
>>> y = np.ones(8) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
223 |
>>> (x[..., None] + y).shape |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
224 |
(3, 5, 8) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
225 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
226 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
227 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
228 |
\subsection{Copies \& Views} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
229 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
230 |
>>> a = np.array([[1,2,3],[4,5,6]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
231 |
>>> b = a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
232 |
>>> b is a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
233 |
>>> b[0,0]=0; print a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
234 |
>>> c = a.view() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
235 |
>>> c is a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
236 |
>>> c.base is a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
237 |
>>> c.flags.owndata |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
238 |
>>> d = a.copy() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
239 |
>>> d.base is a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
240 |
>>> d.flags.owndata |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
241 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
242 |
>>> a = np.arange(1,9) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
243 |
>>> a.shape=3,3 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
244 |
>>> b = a[0,1:3] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
245 |
>>> c = a[0::2,0::2] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
246 |
>>> a.flags.owndata |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
247 |
>>> b.flags.owndata |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
248 |
>>> b.base |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
249 |
>>> c.base is a |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
250 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
251 |
>>> b = a[np.array([0,1,2])] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
252 |
array([[1, 2, 3], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
253 |
[4, 5, 6], |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
254 |
[7, 8, 9]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
255 |
>>> b.flags.owndata |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
256 |
>>> abool=np.greater(a,2) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
257 |
>>> c = a[abool] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
258 |
>>> c.flags.owndata |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
259 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
260 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
261 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
262 |
\section{Scipy} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
263 |
\subsection{Linear Algebra} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
264 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
265 |
>>> import scipy as sp |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
266 |
>>> from scipy import linalg |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
267 |
>>> A=sp.mat(np.arange(1,10)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
268 |
>>> A.shape=3,3 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
269 |
>>> linalg.inv(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
270 |
>>> linalg.det(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
271 |
>>> linalg.norm(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
272 |
>>> linalg.expm(A) #logm |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
273 |
>>> linalg.sinm(A) #cosm, tanm, ... |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
274 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
275 |
>>> A = sp.mat(np.arange(1,10)) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
276 |
>>> A.shape=3,3 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
277 |
>>> linalg.lu(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
278 |
>>> linalg.eig(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
279 |
>>> linalg.eigvals(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
280 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
281 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
282 |
\subsection{Solving Linear Equations} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
283 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
284 |
\begin{align*} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
285 |
3x + 2y - z & = 1 \\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
286 |
2x - 2y + 4z & = -2 \\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
287 |
-x + \frac{1}{2}y -z & = 0 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
288 |
\end{align*} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
289 |
To Solve this, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
290 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
291 |
>>> A = sp.mat([[3,2,-1],[2,-2,4] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
292 |
,[-1,1/2,-1]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
293 |
>>> B = sp.mat([[1],[-2],[0]]) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
294 |
>>> linalg.solve(A,B) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
295 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
296 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
297 |
\subsection{Integrate} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
298 |
\subsubsection{Quadrature} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
299 |
Calculate the area under $(sin(x) + x^2)$ in the range $(0,1)$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
300 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
301 |
>>> def f(x): |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
302 |
return np.sin(x)+x**2 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
303 |
>>> integrate.quad(f, 0, 1) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
304 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
305 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
306 |
\subsubsection{ODE Integration} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
307 |
Numerically solve ODEs\\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
308 |
\begin{align*} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
309 |
\frac{dx}{dt} &=-e^{-t}x^2\\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
310 |
x(0) &=2 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
311 |
\end{align*} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
312 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
313 |
>>> def dx_dt(x,t): |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
314 |
... return -np.exp(-t)*x**2 |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
315 |
>>> x=integrate.odeint(dx_dt, 2, t) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
316 |
>>> plt.plot(x,t) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
317 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
318 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
319 |
\subsection{Interpolation} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
320 |
\subsubsection{1D Interpolation} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
321 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
322 |
>>> from scipy import interpolate |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
323 |
>>> interpolate.interp1d? |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
324 |
>>> x = np.arange(0,2*np.pi,np.pi/4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
325 |
>>> y = np.sin(x) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
326 |
>>> fl = interpolate.interp1d( |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
327 |
x,y,kind='linear') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
328 |
>>> fc = interpolate.interp1d( |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
329 |
x,y,kind='cubic') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
330 |
>>> fl(np.pi/3) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
331 |
>>> fc(np.pi/3) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
332 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
333 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
334 |
\subsubsection{Splines} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
335 |
Plot the Cubic Spline of $sin(x)$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
336 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
337 |
>>> x = np.arange(0,2*np.pi,np.pi/4) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
338 |
>>> y = np.sin(x) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
339 |
>>> tck = interpolate.splrep(x,y) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
340 |
>>> X = np.arange(0,2*np.pi,np.pi/50) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
341 |
>>> Y = interpolate.splev(X,tck,der=0) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
342 |
>>> plt.plot(x,y,'o',x,y,X,Y) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
343 |
>>> plt.show() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
344 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
345 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
346 |
\subsection{Signal \& Image Processing} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
347 |
Applying a simple median filter |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
348 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
349 |
>>> from scipy import signal, ndimage |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
350 |
>>> from scipy import lena |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
351 |
>>> A=lena().astype('float32') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
352 |
>>> B=signal.medfilt2d(A) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
353 |
>>> imshow(B) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
354 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
355 |
Zooming an array - uses spline interpolation |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
356 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
357 |
>>> b=ndimage.zoom(A,0.5) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
358 |
>>> imshow(b) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
359 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
360 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
361 |
\section{3D Data Visualization} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
362 |
\subsection{Using mlab} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
363 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
364 |
>>> from enthought.mayavi import mlab |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
365 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
366 |
>>> mlab.test_<TAB> |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
367 |
>>> mlab.test_contour3d() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
368 |
>>> mlab.test_contour3d?? |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
369 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
370 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
371 |
\subsubsection{Plotting Functions} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
372 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
373 |
>>> from numpy import * |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
374 |
>>> t = linspace(0, 2*pi, 50) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
375 |
>>> u = cos(t)*pi |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
376 |
>>> x, y, z = sin(u), cos(u), sin(t) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
377 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
378 |
>>> x = mgrid[-3:3:100j,-3:3:100j] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
379 |
>>> z = sin(x*x + y*y) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
380 |
>>> mlab.surf(x, y, z) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
381 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
382 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
383 |
\subsubsection{Large 2D Data} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
384 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
385 |
>>> mlab.mesh(x, y, z) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
386 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
387 |
>>> phi, theta = numpy.mgrid[0:pi:20j, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
388 |
... 0:2*pi:20j] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
389 |
>>> x = sin(phi)*cos(theta) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
390 |
>>> y = sin(phi)*sin(theta) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
391 |
>>> z = cos(phi) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
392 |
>>> mlab.mesh(x, y, z, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
393 |
... representation= |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
394 |
... 'wireframe') |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
395 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
396 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
397 |
\subsubsection{Large 3D Data} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
398 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
399 |
>>> x, y, z = ogrid[-5:5:64j, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
400 |
... -5:5:64j, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
401 |
... -5:5:64j] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
402 |
>>> mlab.contour3d(x*x*0.5 + y*y + |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
403 |
z*z*2) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
404 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
405 |
>>> mlab.test_quiver3d() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
406 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
407 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
408 |
\subsection{Motivational Problem} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
409 |
Atmospheric data of temperature over the surface of the earth. Let temperature ($T$) vary linearly with height ($z$)\\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
410 |
$T = 288.15 - 6.5z$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
411 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
412 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
413 |
lat = linspace(-89, 89, 37) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
414 |
lon = linspace(0, 360, 37) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
415 |
z = linspace(0, 100, 11) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
416 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
417 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
418 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
419 |
x, y, z = mgrid[0:360:37j,-89:89:37j, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
420 |
0:100:11j] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
421 |
t = 288.15 - 6.5*z |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
422 |
mlab.contour3d(x, y, z, t) |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
423 |
mlab.outline() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
424 |
mlab.colorbar() |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
425 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
426 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
427 |
\subsection{Lorenz equation} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
428 |
\begin{eqnarray*} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
429 |
\frac{d x}{dt} &=& s (y-x)\\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
430 |
\frac{d y}{d t} &=& rx -y -xz\\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
431 |
\frac{d z}{d t} &=& xy - bz\\ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
432 |
\end{eqnarray*} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
433 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
434 |
Let $s=10,$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
435 |
$r=28,$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
436 |
$b=8./3.$ |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
437 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
438 |
\begin{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
439 |
x, y, z = mgrid[-50:50:20j,-50:50:20j, |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
440 |
-10:60:20j] |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
441 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
442 |
\end{verbatim} |
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
443 |
|
1c1d6aaa2be3
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff
changeset
|
444 |
\end{document} |