You are on page 1of 27

{

"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#youtube link : https://youtu.be/0cyrZ-jFdgk\n",
"\n",
"#Chaptert 5 Assignment \n",
"\n",
"#Vatsal Patel (186383)\n",
"\n",
"#CISC 504-90- O-2020/Late Summer - Principles of Programming Langu\n",
"\n",
"#Instructor: Muazzam Ali"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.6"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7\n",
" 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3. ]\n",
"[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7\n",
" 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8]\n",
"[0. 0.5 1. 1.5 2. 2.5 3. ]\n",
"[0.2 0.8 1.4 2. 2.6]\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"if __name__ == '__main__':\n",
" w = np.arange(0, 3.1, 0.1)\n",
" print(w[:]) # Prints all the array, the ':' by itself has no effect.\n",
" print(w[:-2]) # Prints the array, excluding the last two elements.\n",
" print(w[::5]) # Prints the array, but jumping 5 indices each time.\n",
" print(w[2:-2:6]) # Prints from the third element, excluding the last two
and jumping 6 indices.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.7"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Statics of sun light from 1919 to 2009 - Oxford, UK\n",
"\n",
"Jan average: 56.6\n",
"Feb average: 72.7\n",
"Mar average: 116.5\n",
"Apr average: 153.2\n",
"May average: 191.1\n",
"Jun average: 198.5\n",
"Jul average: 193.8\n",
"Aug average: 184.3\n",
"Sep average: 138.3\n",
"Oct average: 104.6\n",
"Nov average: 67.4\n",
"Dec average: 52.4\n",
"\n",
"Jun had more average sun hours (198.5)\n",
"\n",
"Decade 1930-1939: 1.5\n",
"Decade 1940-1949: 1.6\n",
"Decade 1950-1959: 1.7\n",
"Decade 1960-1969: 1.7\n",
"Decade 1970-1979: 1.4\n",
"Decade 1980-1989: 1.8\n",
"Decade 1990-1999: 1.6\n",
"Decade 2000-2009: 1.9\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"if __name__ == '__main__':\n",
" data = np.array([\n",
" [43.8, 60.5, 190.2, 144.7, 240.9, 210.3, 219.7, 176.3, 199.1, 109.2, 78.7,
67.0],\n",
" [49.9, 54.3, 109.7, 102.0, 134.5, 211.2, 174.1, 207.5, 108.2, 113.5, 68.7,
23.3],\n",
" [63.7, 72.0, 142.3, 93.5, 150.1, 158.7, 127.9, 135.5, 92.3, 102.5, 62.4,
38.5],\n",
" [51.0, 57.9, 133.4, 110.9, 112.4, 199.3, 124.0, 178.3, 102.1, 100.7, 55.7,
58.0],\n",
" [69.5, 94.3, 187.6, 152.5, 170.2, 226.9, 237.6, 242.7, 177.3, 101.3, 53.9,
59.0],\n",
" [65.9, 96.6, 122.5, 124.9, 216.3, 192.7, 269.3, 184.9, 149.1, 81.5, 48.7,
31.3],\n",
" [48.1, 62.0, 121.5, 127.3, 188.5, 196.3, 274.3, 199.9, 144.7, 102.6, 65.4,
48.9],\n",
" [43.4, 89.2, 71.4, 133.2, 179.5, 166.2, 119.2, 184.7, 79.3, 103.1, 48.9,
62.3],\n",
" [50.9, 66.6, 99.7, 103.1, 185.0, 181.3, 140.1, 202.3, 143.0, 79.1, 65.9,
41.2],\n",
" [41.2, 66.9, 172.3, 180.9, 144.9, 190.6, 133.5, 151.3, 110.9, 118.1, 70.0,
52.4],\n",
" [46.4, 104.9, 86.2, 171.7, 184.9, 227.9, 139.7, 153.7, 147.0, 94.3, 41.1,
46.0],\n",
" [83.1, 22.8, 128.3, 118.1, 215.4, 273.4, 165.1, 199.5, 179.5, 95.5, 76.8,
46.5],\n",
" [41.7, 67.9, 118.7, 106.9, 141.9, 210.3, 227.5, 163.7, 123.7, 120.2, 47.1,
46.9],\n",
" [45.1, 53.9, 69.4, 202.5, 209.4, 234.0, 150.1, 132.7, 124.5, 84.6, 57.8,
51.0],\n",
" [54.7, 79.3, 132.9, 166.6, 244.1, 192.9, 196.7, 178.3, 142.5, 84.9, 72.3,
49.5],\n",
" [41.2, 62.4, 142.7, 147.0, 235.6, 170.3, 97.5, 185.2, 143.8, 102.0, 49.3,
64.1],\n",
" [51.5, 65.7, 152.6, 209.1, 156.1, 182.4, 159.0, 144.8, 64.9, 111.7, 31.0,
46.6],\n",
" [49.9, 78.7, 107.2, 203.3, 162.9, 149.8, 197.6, 134.8, 98.5, 79.3, 42.9,
74.7],\n",
" [59.5, 26.3, 70.9, 150.5, 147.3, 185.9, 144.5, 274.9, 159.9, 107.3, 75.4,
37.9],\n",
" [45.7, 92.9, 160.2, 205.2, 237.1, 124.2, 174.7, 133.7, 146.4, 93.7, 68.6,
65.4],\n",
" [51.0, 115.1, 112.5, 182.5, 233.3, 242.1, 262.5, 210.3, 151.1, 125.0,
76.2, 65.4],\n",
" [40.6, 67.5, 138.8, 163.7, 174.1, 244.5, 174.0, 171.1, 112.7, 96.6, 56.9,
55.3],\n",
" [48.9, 58.6, 92.6, 200.4, 152.1, 251.9, 216.7, 174.7, 110.8, 105.6, 75.1,
69.8],\n",
" [94.1, 96.7, 105.0, 178.2, 207.0, 217.6, 194.0, 180.5, 140.3, 105.0, 72.1,
77.7],\n",
" [42.5, 75.9, 140.7, 183.3, 223.0, 139.7, 203.4, 237.4, 151.7, 84.1, 54.4,
28.4],\n",
" [75.7, 79.7, 107.9, 202.4, 145.9, 157.1, 157.1, 123.5, 168.8, 94.5, 60.1,
54.5],\n",
" [40.1, 86.3, 161.4, 173.7, 217.5, 155.3, 268.3, 188.0, 153.1, 119.7, 71.5,
47.3],\n",
" [50.3, 78.9, 149.7, 158.7, 246.6, 145.0, 168.0, 161.4, 94.3, 116.5, 77.9,
18.2],\n",
" [50.8, 83.1, 110.2, 168.0, 205.6, 297.1, 157.9, 170.5, 102.6, 92.9, 76.4,
62.3],\n",
" [54.6, 55.4, 110.7, 145.2, 196.0, 145.7, 188.1, 119.6, 118.0, 93.7, 51.8,
29.5],\n",
" [85.8, 65.5, 102.0, 153.8, 228.0, 226.3, 272.7, 245.6, 213.9, 144.2, 70.6,
45.0],\n",
" [37.8, 82.3, 78.0, 164.9, 182.3, 274.9, 129.7, 147.1, 122.8, 60.9, 73.4,
54.5],\n",
" [43.6, 65.1, 173.2, 86.9, 225.2, 231.2, 196.5, 185.7, 135.8, 118.2, 63.4,
76.5],\n",
" [70.0, 70.6, 126.3, 143.3, 177.5, 280.3, 137.3, 154.5, 142.3, 108.8, 32.7,
72.6],\n",
" [58.9, 66.4, 85.8, 119.1, 193.4, 199.4, 188.2, 142.6, 129.7, 78.8, 60.4,
49.8],\n",
" [37.2, 57.3, 65.9, 128.5, 190.8, 156.1, 214.7, 217.7, 210.4, 134.5, 55.0,
51.1],\n",
" [83.7, 31.1, 137.7, 141.6, 179.6, 188.7, 122.8, 181.2, 122.9, 109.9, 77.4,
71.9],\n",
" [42.5, 41.5, 121.5, 81.5, 234.9, 199.0, 149.7, 188.6, 168.0, 90.4, 61.0,
41.7],\n",
" [64.2, 88.2, 174.6, 130.8, 184.2, 232.0, 234.4, 167.1, 116.5, 95.1, 69.2,
70.6],\n",
" [50.0, 54.0, 148.5, 184.5, 155.0, 206.6, 136.2, 124.0, 114.9, 66.5, 47.9,
35.9],\n",
" [40.0, 78.1, 70.5, 221.3, 161.9, 276.9, 243.8, 157.5, 97.4, 112.0, 84.6,
35.6],\n",
" [34.5, 115.9, 120.8, 132.7, 224.8, 270.9, 192.4, 185.6, 157.3, 106.2,
64.7, 43.8],\n",
" [42.1, 69.5, 106.0, 122.9, 228.9, 143.5, 259.3, 134.2, 166.5, 135.2,
102.0, 29.8],\n",
" [41.8, 27.3, 144.0, 117.6, 141.9, 150.4, 168.7, 160.9, 129.1, 91.6, 80.6,
47.6],\n",
" [38.8, 74.1, 150.7, 167.7, 168.0, 249.5, 171.1, 192.0, 153.9, 95.1, 89.1,
62.9],\n",
" [56.3, 58.3, 101.7, 142.1, 191.4, 206.2, 187.8, 198.7, 146.5, 105.4, 52.9,
58.8],\n",
" [44.7, 57.8, 72.7, 131.4, 159.1, 301.0, 242.4, 218.6, 147.0, 120.7, 85.1,
34.4],\n",
" [70.3, 42.6, 107.8, 148.7, 172.0, 261.4, 254.2, 257.4, 118.2, 43.6, 54.1,
58.6],\n",
" [35.4, 74.4, 87.2, 157.9, 217.5, 123.2, 193.6, 123.4, 101.8, 107.3, 102.4,
45.2],\n",
" [53.6, 58.9, 128.1, 113.6, 202.8, 171.7, 146.4, 157.4, 159.3, 87.5, 77.3,
34.3],\n",
" [72.0, 67.3, 92.9, 126.4, 190.9, 166.6, 192.2, 167.4, 171.0, 117.0, 70.0,
59.7],\n",
" [84.0, 58.8, 86.7, 165.4, 228.7, 186.7, 168.9, 169.0, 136.4, 111.8, 61.4,
64.4],\n",
" [50.9, 75.3, 57.8, 110.4, 98.3, 122.8, 129.0, 199.8, 157.3, 101.9, 43.7,
57.5],\n",
" [55.0, 33.8, 144.7, 164.4, 187.2, 148.4, 151.4, 159.8, 141.0, 66.3, 68.5,
60.4],\n",
" [54.9, 74.0, 89.5, 150.5, 126.8, 180.3, 257.5, 214.5, 92.4, 119.7, 44.3,
62.9],\n",
" [86.1, 66.0, 48.8, 236.8, 143.4, 244.3, 249.4, 199.8, 99.6, 88.6, 53.8,
57.6],\n",
" [51.1, 78.0, 112.4, 138.3, 178.3, 165.0, 216.0, 164.9, 143.3, 100.8, 86.1,
44.2],\n",
" [76.4, 71.2, 127.3, 139.6, 205.6, 222.7, 201.2, 147.0, 171.6, 119.7, 77.9,
64.8],\n",
" [68.8, 67.8, 111.6, 158.7, 168.7, 129.3, 179.4, 158.2, 132.3, 109.5, 43.9,
42.9],\n",
" [47.7, 103.7, 85.2, 132.0, 178.1, 142.3, 138.8, 178.8, 136.9, 120.0, 91.4,
46.7],\n",
" [68.2, 107.0, 100.9, 133.9, 300.8, 244.4, 280.4, 269.5, 141.6, 90.8,
104.1, 26.5],\n",
" [58.3, 95.7, 144.1, 234.4, 285.0, 121.1, 268.5, 236.6, 164.7, 124.4, 83.7,
58.8],\n",
" [66.9, 60.0, 87.2, 156.6, 142.9, 150.0, 217.3, 241.4, 165.4, 79.4, 57.4,
58.4],\n",
" [46.8, 67.3, 73.3, 139.2, 262.7, 212.2, 164.0, 173.6, 120.2, 101.3, 61.5,
47.2],\n",
" [38.0, 54.7, 135.0, 111.9, 196.7, 231.4, 190.0, 238.3, 107.7, 120.0, 76.3,
55.0],\n",
" [87.0, 77.6, 127.6, 177.7, 162.1, 254.9, 248.3, 191.8, 113.1, 137.5, 46.7,
68.2],\n",
" [61.8, 74.9, 198.7, 190.1, 233.5, 194.4, 247.6, 285.1, 135.3, 139.9, 78.1,
40.9],\n",
" [29.3, 103.4, 76.4, 148.3, 185.7, 290.7, 256.6, 211.6, 125.3, 130.8,
101.0, 55.5],\n",
" [51.4, 64.2, 150.2, 189.9, 261.4, 137.1, 231.7, 172.0, 169.7, 153.8, 47.1,
55.7],\n",
" [64.0, 113.0, 77.5, 105.8, 199.8, 114.0, 157.0, 225.0, 133.8, 94.5, 66.3,
38.1],\n",
" [51.1, 81.3, 97.4, 147.6, 153.6, 202.1, 235.4, 159.2, 155.2, 144.8, 81.1,
60.9],\n",
" [82.1, 104.9, 112.6, 143.4, 189.8, 164.6, 161.2, 209.4, 126.1, 83.9, 69.2,
51.9],\n",
" [83.3, 85.0, 74.1, 148.2, 198.3, 226.8, 206.1, 184.1, 123.0, 100.9, 86.9,
79.2],\n",
" [44.4, 80.5, 101.1, 210.0, 177.5, 163.3, 178.8, 166.2, 167.1, 104.8, 52.3,
41.3],\n",
" [87.7, 94.4, 154.8, 169.8, 191.2, 213.6, 192.0, 228.4, 175.3, 134.8, 78.9,
53.6],\n",
" [62.7, 79.1, 101.5, 150.3, 195.5, 223.6, 169.5, 194.1, 174.4, 102.4, 52.4,
58.3],\n",
" [65.4, 66.3, 79.3, 136.3, 226.4, 177.6, 192.0, 235.7, 155.4, 92.0, 88.0,
55.7],\n",
" [54.9, 73.1, 95.5, 152.5, 165.7, 246.2, 303.7, 167.2, 156.5, 109.0, 101.2,
42.7],\n",
" [79.8, 67.6, 165.4, 210.7, 165.5, 149.0, 195.1, 209.2, 142.6, 102.5, 86.9,
57.2],\n",
" [62.4, 124.1, 115.2, 161.2, 173.2, 223.8, 198.5, 141.8, 113.5, 132.2,
67.0, 73.5],\n",
" [69.3, 64.5, 161.4, 168.4, 226.1, 203.3, 212.3, 190.6, 163.7, 109.7, 73.5,
61.5],\n",
" ]).reshape(81, 12)\n",
"\n",
" avrg_sun_hours = data.mean(axis=0)\n",
" month_names = np.array(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n",
" 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])\n",
" print(\"Statics of sun light from 1919 to 2009 - Oxford, UK\\n\")\n",
" for avrg, month in zip(avrg_sun_hours, month_names):\n",
" print(\"{} average: {:.1f}\".format(month, avrg))\n",
"\n",
" max = np.max(avrg_sun_hours)\n",
" month = month_names[avrg_sun_hours == max]\n",
" print(\"\\n{} had more average sun hours ({:.1f})\\n\"\n",
" .format(month[0], max))\n",
"\n",
" decade_avrg = np.zeros(9)\n",
" jandec_data = data[:-1, 11] + data[1:, 0]\n",
" jandec_data.shape = (8, 10)\n",
" decade_avrg = jandec_data.mean(axis=1) / (2.2 * 30)\n",
"\n",
" for i in range(len(decade_avrg)):\n",
" print(\"Decade {}-{}: {:.1f}\".format(1930 + i*10, 1939 + i*10,
decade_avrg[i]))\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.8"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"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
U+/HHHycuLo7nnnsOgAkTJjBixAi+
+uor4uLiOOecc37bfr9+/Zg8ebLH+9pTvmjhp3la8K2Fb6qrrExZuHU/ny/dwdfLd5GTX0xMVBhntk9gUKf
GnNm+MfHREY5k25WTz+yN2fy8LpOf12aSV1RKg7rhnHtKM65Ma0nXxDivHFwt3xp8/MtVrN55sEbX37l5LI
9dkFrp60uWLOGuu+7il19+cS3fuTPfffcdH3/8MQUFBTzyyCMAPPHEE9SpU4du3boxffr031rKhw8f5s477
6xWC/
+555475jYqtuTHjh3L22+/TWxsLGlpaTz//PM0aNCARx55hLS0NH788UdEhBtvvJFp06axYcMGxo0bx8qVK
+nevTtz585l//79NZb7iAsuuIArr7ySq6++
+qjn/b2Fr8D3IqLAOFUdX3EBERkNjAZISkrychwTaHLyi/lkUQbvzt3Klr2HqRMeytDUJlzUowWntWvkF63
oZnF1uKxXIpf1SqSguJRf1mfxzYpdfLo4gw/mbaNTs1iG927JxT1bEBtV/Ytq/E2PHj3IzMxk586dZGVl0a
BBA5KSkjhWI1NEGDx4MEOGDGHs2LGMGjXqmMt5qrJtVHTzzTfz6KOPIiI8+uij3HPPPbz55ps88cQTiAhLl
y79rV/
+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
VktIgsFJGFWVlZPt/
+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
+qn56jEWc/1x548BATd1w/QeyGde/
+kcO/KRWWOZWjj5o+7H7fipHH7TdTM0dtPUkVw9cB61SKjzfAIh0328EbKAGDmZ5mKlZufsXA3P1vweNtri
zNXDfj/dFJvdyHXAdTBNv76dy60+m8gORv+Pog2vzvbmfPMyUhOs4VP8Kz0cDMeXuzwGG1VQmD3I1PfJzw1
U8t7n3m0c/e29kcr9+pOEX7Yt95f6e3wFerGIZRz5XR2Xwxkpr+MN2Hq4j3puAP7uf+yuuVjNAFPAf9y/Df
KBNuff+2f2+dcC5Ps71A7AHWOq+TXE/3x9Y4f4FWAHc6MNMfwNWubf9M9Cx3HtvcO/DjcD1vsrkfjwWeKbC
+7y5nz4EdgHFuFpXNwJjgDHu1wV4xZ15BZDmg/10vEwTgP3lPk8L3c+3ce+jZe6f7Z9r+HN+vFy3lftMzaX
cH6Rj/ex9kcm9zHW4Ttoo/z6v7StcXWwKLC/3MzrP6c9VxZsNrWCMMUHC3/vwjTHG1BAr+MYYEySs4BtjTJ
Cwgm+MMUHCCr4xxgQJK/gmIIlIw3IjJu4WkR3lHs/x0jZ7iMiEKl5PEJHvvLFtYzzh70MrGFMt6roStTuAi
IzFNfLmc17e7MPAk1VkyhKRXSIyQFVnezmLMf/DWvgm6IjIIffXs0TkFxH5WFxj8T/jHnd+vnvM9Lbu5RJE
5BMRWeC+DTjGOmOArqq6zP34zHL/USxxvw6usWZG+uhbNeYoVvBNsOsG3AmcAlwDtFfVPriubL3dvcw/gf9
T1d7Ape7XKkoDyk/IcS9wq6p2B04H8t3PL3Q/NsbnrEvHBLsFqroLQEQ2Ad+7n1+BaxIbgMFAZ9c0CwDEik
iMusY9P6IZkFXu8WzgBRF5H/hUVTPcz2cCzWv+2zDm+Kzgm2BXWO5+WbnHZfz39yMEOFVV86lcPq5xnQBQ1
WdE5Gtc46nMFZHBqrrWvUxV6zHGa6xLx5jj+x7XIGEAiEj3YyyzBmhXbpm2qrpCVZ/F1Y3T0f1Se47u+jHG
Z6zgG3N8dwBp7pnCVuMaAfEo7tZ7XLmDs3e5J9BehqtFf2SGqoHA174IbUxFNlqmMTVERO4GclW1qnPxZ+C
awGR/ZcsY4y3Wwjem5rzK0ccEjiIiCcALVuyNU6yFb4wxQcJa+MYYEySs4BtjTJCwgm+MMUHCCr4xxgQJK/
jGGBMk/h8mFNtEyfdwhAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"\n",
"v0 = 10; g = 9.81\n",
"\n",
"\n",
"def y(t):\n",
" global v0, g\n",
" return v0*t - 0.5*g*t**2\n",
"\n",
"if __name__ == '__main__':\n",
" t = np.linspace(0, 2*v0/g, 500)\n",
" m = y(t)\n",
" plt.plot(t, m, '-', label=\"v0*t - 0.5*g*t^2\")\n",
" plt.legend()\n",
"\n",
" plt.xlabel('Time (s)')\n",
" plt.ylabel('Height (m)')\n",
" plt.title('Trajectory of a ball')\n",
" plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.9"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\vats3\\Anaconda2\\lib\\site-packages\\ipykernel_launcher.py:11:
MatplotlibDeprecationWarning: pyplot.hold is deprecated.\n",
" Future behavior will be consistent with the long-time default:\n",
" plot commands add elements without first clearing the\n",
" Axes and/or Figure.\n",
" # This is added back by InteractiveShellApp.init_path()\n"
]
},
{
"ename": "ValueError",
"evalue": "could not convert string to float: -f",
"output_type": "error",
"traceback": [

"\u001b[1;31m----------------------------------------------------------------------
-----\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback
(most recent call last)",
"\u001b[1;32m<ipython-input-13-23f4c9b9783a>\u001b[0m in
\u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 18\u001b[0m
\u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_ylabel\u001b[0m\u001b[1;33m(
\u001b[0m\u001b[1;34m'height
(m)'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m
19\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m
\u001b[0mvelocities\u001b[0m \u001b[1;33m=\u001b[0m
\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray\u001b[0m\u001b[1;33m(\u001
b[0m\u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0margv\u001b[0m\u001b[1;33m[\
u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;
33m,\u001b[0m
\u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001
b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u
001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m
22\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[1;32min\u001b[0m
\u001b[0mxrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u0
01b[0m\u001b[0mvelocities\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001
b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: could not convert string to float: -f"
]
},
{
"data": {
"image/png":
"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
Ez/9Rv35r7otzsQuA7YCEwsdt2L+HOxCrgJeHx/
+YmLXfci9sU64I3916uB7y923R31xYuA5wK3zrH9ZOAr9O5hez5wwzD7HdcRhdN/TJu3L6rq2qq6v7+4kd4
9K0vRMD8XAO8B3gf8cpTFjdgwffEG4NKqugegqraPuMZRGaYvCnhs//VBPPyeriWhqq6jfS/aqcAnqmcj8L
gkT5pvv+MaFLNN/3HIXG2qagewc/qPpWaYvhh0Dr2/GJaiefsiybHAYVX1pVEWtgiG+bk4EjgyyfVJNiZZM
7LqRmuYvrgIODPJFLABeMtoShs7u/r/CdDtFB67Y49N/7EEDP19JjkTmABe3GlFi6fZF0n2oTcL8VmjKmgR
DfNzsZze4aeX0BtlfiPJ0VX1s45rG7Vh+uIM4PKqen+S36V3/9bRVfVQ9+WNlQX9vzmuIwqn/5g2TF+Q5CT
gncApVfXAiGobtfn64kDgaODrSb5P7xjs+iV6QnvY35GrqupXVXU7cBu94FhqhumLc4ArAarqW8B+9CYM3N
sM9f/JTOMaFE7/MW3evugfbvkovZBYqsehYZ6+qKp7q+rgqjq8qg6nd77mlKpa8GRoY2yY35Ev0LvQgSQH0
zsUtW2kVY7GMH3xQ+BEgCTPpBcUd420yvGwHnht/
+qn5wP3VtWP53vTWB56qu6m/3jEGbIvLgEOAD7bP5//w6o6ZdGK7siQfbFXGLIvrgZelmQL8GvgvKr6yeJV
3Y0h+
+LtwMeS/CW9Qy1nLcU/LJN8mt6hxoP752PeDTwKoKo+Qu/8zMnAVuB+4Oyh9rsE+0qStAeN66EnSdKYMCgk
SU0GhSSpyaCQJDUZFJKkJoNCe7Ukj0vypoHlJyf5XEef9UdJLmxsf1aSy7v4bGl3eHms9mr96em/VFVHj+C
zvknvBsC7G22+BvxZVf2w63qkYTmi0N7uvcDTknw7ySVJDt85l3+Ss5J8IckXk9ye5Nz+sz9u6k+y91v9dk
9L8tUkNyb5RpKjZn5IkiOBB3aGRJJXJbk1yXeSXDfQ9Iss0ZtH9chlUGhvdz7wvap6TlWdN8v2o4HX0JvK+
m+A+6vqWOBbwGv7bdYBb6mq5wHvAD48y35OAP5rYPlC4A+q6tnA4F30k8ALd+P7kfa4sZzCQxoj11bVfcB9
Se6l9xc/wC3AMUkOAH6P6elTAB49y36exP+fW+h64PIkVwKfH1i/HXjyHqxf2m0GhdQ2OBPvQwPLD9H7/dk
H+FlVPWee/fyC3gzHAFTVXyQ5HvhD4NtJntOfh2m/fltpbHjoSXu7+
+hNT74gVfVz4PYkr4LfPJP42bM0/S7w9J0LSZ5WVTdU1YXA3UxP/XwkMOvzjqXFYlBor9b/K/76/onlSxa4
mz8FzknyHWAzsz+e9Trg2IHH9V6S5Jb+ifPr6D3nGXrTgn95gXVInfDyWGlEkvwD8MWq+toc2x8N/Afwgv7
jfaWx4IhCGp2/BR7T2L4SON+Q0LhxRCFJanJEIUlqMigkSU0GhSSpyaCQJDUZFJKkpv8DbDA+Li1LOqIAAA
AASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import sys\n",
"\n",
"g = 9.81\n",
"\n",
"def y(t, v0):\n",
" return v0 * t - 0.5 * g * t ** 2\n",
"\n",
"ax = plt.subplot(111)\n",
"plt.hold(1)\n",
"\n",
"def plot_trajectory(v0):\n",
" tlist = np.linspace(0, 2 * v0 / g, 100)\n",
" ax.plot(tlist, y(tlist, v0))\n",
"\n",
"ax.set_xlabel('time (s)')\n",
"ax.set_ylabel('height (m)')\n",
"\n",
"velocities = np.array(sys.argv[1:], dtype=np.float)\n",
"\n",
"for x in xrange(len(velocities)):\n",
" plot_trajectory(velocities[x])\n",
"plt.legend(['v0 = %g' % v0 for v0 in velocities])\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.10"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\vats3\\Anaconda2\\lib\\site-packages\\ipykernel_launcher.py:11:
MatplotlibDeprecationWarning: pyplot.hold is deprecated.\n",
" Future behavior will be consistent with the long-time default:\n",
" plot commands add elements without first clearing the\n",
" Axes and/or Figure.\n",
" # This is added back by InteractiveShellApp.init_path()\n"
]
},
{
"ename": "ValueError",
"evalue": "could not convert string to float: -f",
"output_type": "error",
"traceback": [

"\u001b[1;31m----------------------------------------------------------------------
-----\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback
(most recent call last)",
"\u001b[1;32m<ipython-input-6-4e2ee680c0c8>\u001b[0m in
\u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 18\u001b[0m
\u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_ylabel\u001b[0m\u001b[1;33m(
\u001b[0m\u001b[1;34m'height
(m)'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m
19\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m
\u001b[0mvelocities\u001b[0m \u001b[1;33m=\u001b[0m
\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray\u001b[0m\u001b[1;33m(\u001
b[0m\u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0margv\u001b[0m\u001b[1;33m[\
u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;
33m,\u001b[0m
\u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001
b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u
001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m
22\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[1;32min\u001b[0m
\u001b[0mxrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u0
01b[0m\u001b[0mvelocities\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001
b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: could not convert string to float: -f"
]
},
{
"data": {
"image/png":
"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
Ez/9Rv35r7otzsQuA7YCEwsdt2L+HOxCrgJeHx/
+YmLXfci9sU64I3916uB7y923R31xYuA5wK3zrH9ZOAr9O5hez5wwzD7HdcRhdN/TJu3L6rq2qq6v7+4kd4
9K0vRMD8XAO8B3gf8cpTFjdgwffEG4NKqugegqraPuMZRGaYvCnhs//VBPPyeriWhqq6jfS/aqcAnqmcj8L
gkT5pvv+MaFLNN/3HIXG2qagewc/qPpWaYvhh0Dr2/GJaiefsiybHAYVX1pVEWtgiG+bk4EjgyyfVJNiZZM
7LqRmuYvrgIODPJFLABeMtoShs7u/r/CdDtFB67Y49N/7EEDP19JjkTmABe3GlFi6fZF0n2oTcL8VmjKmgR
DfNzsZze4aeX0BtlfiPJ0VX1s45rG7Vh+uIM4PKqen+S36V3/9bRVfVQ9+WNlQX9vzmuIwqn/5g2TF+Q5CT
gncApVfXAiGobtfn64kDgaODrSb5P7xjs+iV6QnvY35GrqupXVXU7cBu94FhqhumLc4ArAarqW8B+9CYM3N
sM9f/JTOMaFE7/MW3evugfbvkovZBYqsehYZ6+qKp7q+rgqjq8qg6nd77mlKpa8GRoY2yY35Ev0LvQgSQH0
zsUtW2kVY7GMH3xQ+BEgCTPpBcUd420yvGwHnht/
+qn5wP3VtWP53vTWB56qu6m/3jEGbIvLgEOAD7bP5//w6o6ZdGK7siQfbFXGLIvrgZelmQL8GvgvKr6yeJV
3Y0h+
+LtwMeS/CW9Qy1nLcU/LJN8mt6hxoP752PeDTwKoKo+Qu/8zMnAVuB+4Oyh9rsE+0qStAeN66EnSdKYMCgk
SU0GhSSpyaCQJDUZFJKkJoNCe7Ukj0vypoHlJyf5XEef9UdJLmxsf1aSy7v4bGl3eHms9mr96em/VFVHj+C
zvknvBsC7G22+BvxZVf2w63qkYTmi0N7uvcDTknw7ySVJDt85l3+Ss5J8IckXk9ye5Nz+sz9u6k+y91v9dk
9L8tUkNyb5RpKjZn5IkiOBB3aGRJJXJbk1yXeSXDfQ9Iss0ZtH9chlUGhvdz7wvap6TlWdN8v2o4HX0JvK+
m+A+6vqWOBbwGv7bdYBb6mq5wHvAD48y35OAP5rYPlC4A+q6tnA4F30k8ALd+P7kfa4sZzCQxoj11bVfcB9
Se6l9xc/wC3AMUkOAH6P6elTAB49y36exP+fW+h64PIkVwKfH1i/HXjyHqxf2m0GhdQ2OBPvQwPLD9H7/dk
H+FlVPWee/fyC3gzHAFTVXyQ5HvhD4NtJntOfh2m/fltpbHjoSXu7+
+hNT74gVfVz4PYkr4LfPJP42bM0/S7w9J0LSZ5WVTdU1YXA3UxP/XwkMOvzjqXFYlBor9b/K/76/onlSxa4
mz8FzknyHWAzsz+e9Trg2IHH9V6S5Jb+ifPr6D3nGXrTgn95gXVInfDyWGlEkvwD8MWq+toc2x8N/Afwgv7
jfaWx4IhCGp2/BR7T2L4SON+Q0LhxRCFJanJEIUlqMigkSU0GhSSpyaCQJDUZFJKkpv8DbDA+Li1LOqIAAA
AASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import sys\n",
"\n",
"g = 9.81\n",
"\n",
"def y(t, v0):\n",
" return v0 * t - 0.5 * g * t ** 2\n",
"\n",
"ax = plt.subplot(111)\n",
"plt.hold(1)\n",
"\n",
"def plot_trajectory(v0):\n",
" tlist = np.linspace(0, 2 * v0 / g, 100)\n",
" ax.plot(tlist, y(tlist, v0))\n",
"\n",
"ax.set_xlabel('time (s)')\n",
"ax.set_ylabel('height (m)')\n",
"\n",
"velocities = np.array(sys.argv[1:], dtype=np.float)\n",
"\n",
"for x in xrange(len(velocities)):\n",
" plot_trajectory(velocities[x])\n",
"\n",
"# Plots generated in order with v0 increasing\n",
"# hence last tlist stores the list for the largest v0\n",
"\n",
"vmax = velocities.max()\n",
"\n",
"max_yval = y(np.linspace(0, 2 * vmax / g, 100), vmax).max()\n",
"\n",
"ax.set_xlim([0, 2 * velocities.max() / g])\n",
"ax.set_ylim([0, max_yval + 0.1])\n",
"plt.legend(['v0 = %g' % v0 for v0 in velocities])\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.11"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"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
QF+
+xqHX0UW1BjDf/c1oEqAHzOGNKVzPZ3LRKnc5Nbr6TTQQUS6Ak2ci38yxqx2eTKlrkdGGmyZDmsnQ9oljjX
8B0Oiu3Bgn/BQuxo817sBpX3y3MFGqWItT78pxpg1wBoXZ1EqfxxYZQ13PbuPtFo9eMPjEab9JtQK8uP7x5
rROjTQ7oRKFSr6TypVdMRFw7LRsHcxBNYivOM0Ht8SRFxSKv/XpRZPd6+rTfyU+hu0UKjC7/JF+HkqbHwXP
L25eNNYRp3syI+r4mhUxYfPH25Nk2raxE+pv8ttC4WI9AbeBjyBT4wxk22OpNyNMRA5G1aMhcQYTLN7WFTx
McasOseltHiG967PP26qpU38lLpOblkoRMQTeB/oCRzHGqa70BgTZW8y5TZifreGux7bDFVacLr3dJ7d7MO
GLadoHVqOyQObUTuotN0plSoS3LJQAG2AA8aYaAARmQX0B7RQFHdJZ2H1RAifAb7lcdz6Ll9e6sir3+1HSO
bF/o15oG0NPLSJn1L5xl0LRTXgWKbnx4G2mVcQkWHAMICQkJCCS6bskZEGWz+FtS9DahK0+z+iGz/J8EVH2
HZkD53qBfHygCYEl9MmfkrlN3ctFFn9c9Bc9cSY6cB0gLCwMJPF+qqoiF4LS0ZC7G6o3Y20ni8zfbcXb0+L
oJS3J2/c1Zw7WlbTJn5
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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def exact_conv(F):\n",
" return 5 / 9. * (F - 32)\n",
"\n",
"def approx_conv(F):\n",
" return 0.5 * (F - 30)\n",
"\n",
"Flist = np.linspace(-20, 120, 141)\n",
"\n",
"ax = plt.subplot(111)\n",
"\n",
"ax.plot(Flist, exact_conv(Flist))\n",
"ax.plot(Flist, approx_conv(Flist))\n",
"ax.set_xlabel('Farenheit')\n",
"ax.set_ylabel('Celsius')\n",
"\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5.15"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"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
F2mDe8dmgLgOQOdAJy9rovv/
+ZwTQHRGFspb4wPE0k3oJQYQ+l0A00t4yiJChkKOIseE3Xo8jo0mkAENvS2AbC9v4OpmSzDkzMVXmlMaRZQ
jPFhwg0UXSVqlXS6x2uZ6ZVI50oOyHvao/XJUA6NJBnobCUWcd5ve387APuGp2u+t1m5LKAY44M34F56llf
LvOuqkUhnZ6cGlxKPhWenF9fi0GiCTX1ts8+393cAsP/EVM33NiuXBRRjfJjLUEqPoUBtGUrSb4ZSh6qNgy
MJNvXGZ5+v62qltSXEfstQTA0soBjjw9wYSqkuLzdDWYwxlBozlHQ2z9GJFBv75gJKKCRsW93B/mHLUEz1L
KAY48NshlJyUL72Vex+xlA66jDL68hYElXY1Ns27/iWvjiHRpM13dusbBZQjPFhIplBBDpK7gTsLTqsZVDe
5xhKjbO8jow7QWNDz/yAsr6nzQ02RXcxMqYiCyjG+DCRytIZixAKFV+j4QWCqZoCSuUur3rM8vKmBq/pis0
7vr6nlUQ6x3iNK/7NymUBxRgfJlKl9/ECZwzCGd+o7sM+l1dmsvmKXV7xaIRUJk8uX30W4QWU/o7Wece9jO
XwmHV7mepYQDHGh4lk6X28PPFohKkqu6OSmfLVGj3tddggcnhqhmg4dMoEg/VuQDkyZrsOm+pYQDHGBydDK
T+
+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
wOMYbnl98Z54zBjq5Y99Jsrl82emypfgp/
+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
/
+JVZ3H2ui7+7Nt7+KsfPcyn3/A83/fP55X7nhnh4rMGfL9mbXdrFRlKlo29bb6vn53SGyRDyQTLUADi0Ujg
uitBxlDA6Sa8+8BIoPf49d4TAPx2hYAC8J5LdvDD+w/z6Z8/wRf+4MJA7wPOpqB37D3Bk0NTjEylCYeEjli
ETX1tbFnVzrbV7WxZFaczQJelqU2lP72OALuBK4D7Co5PAv+jxvfeABTOHRwEXljqGlXNisg4sMo9fteC12
6osT0lfeH2vTx8eBxvCYM6hSsLnjPv+dyRYtdo0dcsPL/w9UXft0J7KHG+8Jq8Ktmcks0rWXdPqUze2Qqkq
7WF7rYWeuNRNq+Ks22V8wu6bXU7/Z2xorOFDo8l+f59g3z9zqc5MZXmDc/fyJ9ffmbJab2vvWAD+4an+Pxt
e7n07AEuO2dt0esW2jc8xWgiw66tfb6uB1jX08ajRyZ8Xw/
+a6F4qslQUpkcIYFogK314wEzFFVlIhUsQ1nX08qxiRS5vJbtvip0x96TbOxtY/Oq4vuqFVrT2crbf2c7/3
DrU/zX3xnztdhRVfnJQ0e57lf7eXDQGUPrjbewuiNGXpWJVPaUtTOrO6JsWdXO5r443W0tdLU540Oqzv3y6
mztn3F/BzI5JZPLk805vwtZ93kmp+TyxXd4Xvi7UOy/VvHJdVLxGj/3kiJXLbzmo685h7XuWGKjVNpt+AHg
ARH5hqrWe45fsf9OC+dalrrGz2udG4hcA1wDsHnz5iDtm3VkLMm+4Sm3QeLe95T3mdfgwvPe9wtfKwsuWPj
auedzNzv1mvkXi/dwvxH3SKn2iEAkJETCodmvLSEhr8pkKst4MsOjRye46ZFjZAumwra1hNmyKs6GnjaikR
DJTI6nT0zztLu9ycvO6Oc9F+8ouaV8oT+9eAc3P3qcj/z4EV58+mo6fEzRvedp5y/nXdv8B5T13a3c8ujxQ
HVEgtRCgcJFh/5/XRJuPfkgtU3isUjggf9MTgNNMFjb3UYur5yYmpldl1LJ/YdG+a3txQfji7nmJdv
55t0H+eD3HuRH77qobJb2xLFJPvLjh7n7wAinr+ngY685m0vOHmBj7/zglUhnOTiSmP15fPrENAdOTHPPgR
EmUpnZbfwXagkLkVCIlrDQEg4RcZ9HI6F5vyML/zctXCurRT6Kiq2nPfV1xa6pPP286L2L3C0dsNxBNSp1e
X1HVd8I3C8ip7RQVc+r4b0HgcKd4jbiZETFrhkUkQjQDYz4fK3XxuuA6wB27txZ1fLcT7zu3Gpetqxkc3mO
jKU4cHKagyfnflGPjqfI5vNEIyHOXNvFH71oCxefNcC2ANvEt4RDfOJ15/L7/3gH1/1qP+
+99DkVX3PvgRH6O2Ns8fGXsGdtdxsz2TyjiQx97dGK1wethQKF26IE+7Bvi/oPWhB8DCXIPl6edV1zM+P8B
JRj4ymOT8zwvADbqnTEInzmjc/jqq/cw4d+8CCfeeP5p2RD48kMn7vlSb5+5zN0tkb4u9edy5tesKlk1hSP
RjhzbRdnri2eWebyTsYhAiFx/uQKhyRQQDfFVfopfo/79dUNeO97gR0isg04jDPI/gcLrrkBuApnbOT1wG2
qqiJyA/BNEfkMsB7YAdzTgDYaVyQcYvOquNuV0V/3+z9/Sy+vOnctX/r3/bz1t7awuqP0yndV5Z4DI+za2h
foQ2C9m+4fGUv6CihBa6FAwSyvgOtQ2qLB1hjHoxGOjPmfYBBkHy+P1z1ydCzpqztqjzvrLkhAAXjJc/p5/
2Vn8OmbniCRzvGxK85hQ08bo9NpvnffIP/7F3sZS2b4g12bef9lZ9Dr4/9dOeGQEA7ZHJ5GqNTlddT9+ky9
39gdE3k3cBPOtOHrVfUREfk4sFtVbwC+DPyzO+g+ghN0cK/7Ds4AfhZ4l6oGnyZklpT3XXYGNz1ynC/cvpe
PvuacktftG57iyHiKd57mv2sF5j4gj0+keO6GylONJ5LBtq6HKtehpP0X15p9n6AZSoB9vDzre5zJCH7X7j
wwOEZLWDg7wJiT510vP53WljCf+unj/PanbqM3HmU0kUYVLjp9FX/xqrM4Z33l/2emuSp1eU0yv2tPmBvDU
FUN/pNTQFVvBG5ccOwjBd+ngDeUeO0ngE/U8v5maTmtv4M37tzIN+46yH+5aBubShTMuu3xIQCoVU1XAAAb
pUlEQVRefuaaQPf3Asoxn4v1gtQP8UTdfvags7wCd3kFLDU8ngi2azI4g93RSMj3f68HDo1x1rquqncnvvq
3t3HZ2QPc8MARDo8lWdvVyqVnD3BWFQHKNEelDKVzsRpiDMB7Ln4OP/jNYT5785N85k3nF73mtseHOHNtJx
t6/E/nBejviBESfK+tCLp1PTgTKILWRHEylOBdXkHeo5oMxVnc2Oqray2fVx4cHOd1F9Q22XJTX5x3vfz0m
u5hmsf3T7GIXCgifyoi/11ELmhko8zKtba7lbddtI0f7jlcdIrvsfEU9xwY4dKz/a8/8UTCIVZ3xPwHlNni
WkGzh2BVG5OZ3CmbKFZ8j2iY6XTW93b84wG34fes6/a3uHHf8BRTM9nA4ydmefG7OeRHgK/hrAFZDXxVRP6
ykQ0zK9efvPQ0ulpb+PubHj/l3A/uHySv8PsXbqzq3uu6W3134VSToUDwqo3JTPAxlLZoBFWY8TkV1AuOnQ
HGg8DZpdnPGIo3IH/
+JhvnWMn8ZihvAV6gqh9V1Y8CLwL+sHHNMitZd7yFd738NH7xxDC3PX589ngml+ebdx9k19Y+tgaYllzIKW
3rN0MJPoYCwWuiJNPBqyK2B9xxeDzp7JocCbB4EmC9u7gxkysfuB4YHKMjFmH76o5A9zfLi9+frqeBwonoM
WBf3VtjjOuqF2/lzLWdfPD7D8324X/tjqcZHE3yjpdtr/q+a3124YCz7UqQWiieeMCqjU6XV9BZXsFqokyk
gu1J5tmyqp1cXjk8Wn4c5YFD45y3sdv3Nv9mefIbUGaAR0TkqyLyFeBhYEpE/mHBHl/G1EUsEuZzbz6fVDr
HG//pTj7+fx7lUz97nIvPXMPLzwg2u6vQQFcrE6ns7A6/5Uwkg9VC8QStK59IZwPvtuwFIL/vE3QfL88Wd6
bdMyOJktekMjkeOzph4yfG9/b1P3Qfnl/UvynGzHfm2i6+fvUu3vedB7j+1we45Kw1/M83nl/Tiua1XXNTh
yut5nf+qg/
+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
U9T4ReVmj388CygKlKk2KyLnANuABEQGn+
+Y3IrJLVY81q11FfBP4CYsUUCq1S0SuAl4NXKyLOEe9DhVDF0upyqSmBBFpwQkm31DVHzS7PQup6piI/AJn
DKrZkxouAq4QkVcBrUCXiPyLqv
5RI97Murx8UtWHVHWNqm5V1a04HwQXLkYwqUREdhQ8vQJ4vFltKSQil+MUQ7tCVRPNbs8SVbQyaZPbtGSJ8
9fcl4HHVPUzzW6PR0T6vVmMItIGXMIS+D1U1WtVdaP7mfVm4LZGBROwgLJcfFJEHhaRB3G65JbEVErgfwGd
wM3ulOb/v9kNgtIVQ5uhQmXSphGRfwXuBM4QkUERubrZbXJdBPxn4BXuz9Qe96/vZlsH3O7+Dt6LM4bS0Cm
6S5GtlDfGGFMXlqEYY4ypCwsoxhhj6sICijHGmLqwgGKMMaYuLKAYY4ypCwsoxhhj6sICijHGmLqwgGJME4
nIC9x6Ma0i0u7W0nhus9tlTDVsYaMxTSYif4uzz1IbMKiq/0+Tm2RMVSygGNNk7h5e9wIp4MXurrXGPOtYl
5cxzdcHdODse9ba5LYYUzXLUIxpMhG5AadS4zZgnaq+u8lNMqYqVg/FmCYSkbcCWVX9pltf/g4ReYWq3tbs
thkTlGUoxhhj6sLGUIwxxtSFBRRjjDF1YQHFGGNMXVhAMcYYUxcWUIwxxtSFBRRjjDF1YQHFGGNMXVhAMcY
YUxf/F4ujPqYzY+w3AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"def wave_packet(x, t):\n",
" return np.exp(-(x - 3 * t) ** 2) * np.sin(3 * np.pi * (x - t))\n",
"\n",
"xlist = np.linspace(-4, 4, 1001)\n",
"ylist = wave_packet(xlist, 0)\n",
"\n",
"plt.plot(xlist, ylist)\n",
"plt.xlabel('x')\n",
"plt.ylabel('amplitude')\n",
"plt.show()\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.16"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

You might also like