{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Run these to import all of the necessary files\n", "import numpy as np\n", "import scipy as sp\n", "import scipy.io as spio\n", "import scipy.signal as sig\n", "import scipy.io.wavfile as wf\n", "import matplotlib as plt\n", "from pylab import *\n", "import os\n", "import re\n", "from random import random\n", "# Plots graphs in the \n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 535.39359326 31.05930018]\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhkAAAFkCAYAAACNTikJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xt0XVd94PHvD5VHSYtrYprA1DwaSyKUBmIHcLqaUIoG\nKTIwmXYNRX5AoVOaBdQed9HSMqUJ0CmQFkJSCDBDgYLK7VC6KBTbEhW0diEYUgsolMCVRYCUNGmC\nNAaSFBJlzx/nyJFupKvXPffcx/ez1l3RPfvc471jW/p579/+7UgpIUmS1GgPKLsDkiSpMxlkSJKk\nQhhkSJKkQhhkSJKkQhhkSJKkQhhkSJKkQhhkSJKkQhhkSJKkQhhkSJKkQhhkSJKkQhQaZETERRHx\n0Yj4dkTcGxHPrWl/T3594etwzT0Pjoi3RcTtEfG9iPhQRPxkkf2WJEkbV/RMxhnAF4CXAssdknIE\nOAs4O3+N1LS/BdgF/DJwMfAo4K+L6KwkSWqcHyny4SmlMWAMICJimdt+kFK6bamGiHgY8GLg+Sml\no/m1FwE3RMRTU0qfK6DbkiSpAVohJ+MXIuLWiPhqRFwbEQ9f0LaDLBD6xPyFlNLXgG8BFza5n5Ik\naQ0KnclYhSNkSx83AucArwcOR8SFKTuD/mzghyml79Z87ta8bUkRcSYwCHwD+I8C+i1JUqd6CPBY\nYDyl9J2NPKjUICOl9MEFb/8lIr4ETAO/APz9Bh49CPzFBj4vSVK32wN8YCMPKHsmY5GU0o0RcTuw\njSzIuAV4UEQ8rGY246y8bTnfABgdHeXcc88tqrst4eDBg1x11VVld6NwjrOzOM7O0y1j7YZx3nDD\nDezduxfyn6Ub0VJBRkT8FHAm8G/5pRPAPcAzgQ/n9/QDjwY+U+dR/wFw7rnnsn379sL62wo2bdrU\n8WMEx9lpHGfn6Zaxdss4cxtONyg0yIiIM8hmJeZ3lvx0RDwJmMlfl5PlZNyS3/dGoAqMA6SUvhsR\nfwa8OSJmge8B1wCfdmeJJEmtreiZjAvIlj1S/npTfv3PyWpnnAe8APgJ4Gay4OIPUkp3L3jGQWAO\n+BDwYLItsS8ruN+SJGmDiq6TcZT622SHVvGMHwC/mb8kSVKbaIU6GdqAkZHaAqmdyXF2FsfZebpl\nrN0yzkaJrBxFZ4mI7cCJEydOdFOCjiRJGzY5OcmOHTsAdqSUJjfyLGcyJElSIQwyJElSIVqqToYk\nSa2qWq0yPT3Ntm3b6O3tLbs7bcGZDEmS6piZmWFoaBf9/f0MDw/T19fH0NAuZmdny+5ayzPIkCSp\njt279zExcRwYJTsEfJSJieOMjOwtuWetz+USSZKWUa1WGR8/TBZg7Mmv7mFuLjE+vo+pqSmXTupw\nJkOSpFy1WuXIkSNMTU0BMD09nbdcXHPn0wE4efJk8zrXhgwyJEldb7m8iy1btuR3HKv5xFEAtm3b\n1tR+thuXSyRJXW9x3sXFwDEmJvYDVzA4OMzExH7m5hLZDMZRenoOMDAw7FLJCgwyJEltqVFbSlfK\nu7j++uuByxkf33f6MwMDw1QqoxvpflcwyJAktZWZmRl2796XBwaZwcHsh/7mzZvX/LyV8i5uu+02\nxsYOMTU1xcmTJ62TsQbmZEiS2kqjt5Sec845+Vf18y56e3u55JJLDDDWwCBDktQ25pc25uauIVva\n2Eq2tHE14+OHT+8KWYu+vj4GB4fp6dlPFrjcBIzS03OAwUHzLjbCIEOS1DaK2lJaqYwyMLAT2Ac8\nGtjHwMBO8y42yJwMSVLbWLy0sWdBy+KljbUmhW7evNm8iwIYZEiS2sb80sZyW0rPPPNMhoZ2rTsp\ntLe31+CigVwukSS1lXpLG54z0lqcyZAktZXlljY8Z6T1GGRIktpS7dLGapJCDTKay+USSVJHWG29\nCzWPQYYkqSNY76L1GGRIkjqG9S5aizkZkqSOYb2L1mKQIUnqONa7aA0ul0iSpEI4kyFJ6iprLTmu\n9XMmQ5LUFWZmZhga2kV/fz/Dw8P09fUxNLSL2dnZsrvWsQwyJEmlqlarHDlyZMlj2uu1rZUlx5vP\nIEOSVIp6MwuNnnWYLzk+N3cNWcnxrWQlx69mfPxwQ4IY3Z9BhiSpFPVmFho967CakuNqPBM/JUlN\nt9JhZpnGHXS2uOT4ngUtlhwvkjMZkqSmW2lmoV7bemYdLDleDoMMSVLTrXSYWb229c46WHK8+Vwu\nkSQ13fzMwsTEfubmEtksxVF6eg4wMDAMsGzbemcdLDnefAYZkqRSVCqjjIzsXZCDAQMDw6dnFuq1\nbYQlx5vHIEOStGqNrJa50syCsw7tzyBDkrSimZkZdu/el+8IyQwOZjMLmzdv3tCz680sOOvQ3kz8\nlCStyGqZWg9nMiRJda1U02I9dSvUHQqdyYiIiyLioxHx7Yi4NyKeu8Q9r42ImyPizoj4u4jYVtP+\n4Ih4W0TcHhHfi4gPRcRPFtlvSdJ9rJap9Sp6ueQM4AvAS4FU2xgRrwReDrwEeCpwBzAeEQ9acNtb\ngF3AL5P9CX8U8NfFdluSNG+lmhZWy9RyCl0uSSmNAWMAERFL3HIAeF1K6WP5PS8AbgUuBT4YEQ8D\nXgw8P6V0NL/nRcANEfHUlNLniuy/JGnlmhYulWg5pSV+RsTjgLOBT8xfSyl9F/gscGF+6QKyQGjh\nPV8jyzq6EElSU1gtU+tRZuLn2WRLKLfWXL81bwM4C/hhHnwsd48kqWCrqZZZr4ZGI+trqH109O6S\ngwcPsmnTpkXXRkZGGBkZKalHktTelqpbUa+GRkqpsPoa2rhKpUKlUll07dSpUw17fqR0v3zMQkTE\nvcClKaWP5u8fB0wDT04p/fOC+/4B+HxK6WBEPAOYADYvnM2IiG8AV6WUrl7m19oOnDhx4gTbt28v\nakiSJGBoaBcTE8eZm7uGLD//GD09+/PlFZZtGxs7VGKvtZzJyUl27NgBsCOlNLmRZ5U2k5FSujEi\nbgGeCfwzQJ7o+TTgbfltJ4B78ns+nN/TT7Yg+Jlm91mSOkWjli9WqqGRsb5Gtyq6TsYZEfGkiHhy\nfumn8/db8/dvAX4/Ip4TET8LvA/4V+AjcDoR9M+AN0fEL0TEDuDdwKfdWSJJazczM8PQ0C76+/sZ\nHh6mr6+PoaFdzM7Orut5K9XQqNdmfY3OV/TukguAz5PNSCTgTcAk8BqAlNKVwJ8C7yTbVfKjwCUp\npR8ueMZB4GPAh4B/AG4mq5khSVqjRpcHX6mGRr0262t0vqLrZBxlhUAmpXQFcEWd9h8Av5m/JEnr\nVER58JVqaADW1+hiHpAmSV2iqPLg9WpoWF+ju3X0FlZJ0n0WL23sWdCyseWLlWporFRfQ53LIEOS\nukTR5cGXqqGxmjZ1LpdLJKmLuHyhZnImQ5I61FK1MFZTHlxqFIMMSeow9cp8z5fydvlCzeByiSR1\nmEbXwpDWy5kMSeogRdTCkNbLmQxJ6iBF1cKQ1sMgQ5I6yEplvi3lrWYyyJCkDjJfC6OnZz/ZkslN\nwCg9PQcYHLSUt5rLIEOSOoy1MNQqTPyUpA5jLQy1CoMMSepQ1sJQ2QwyJEmLLFUpVFoPczIkSUBW\nKXRoaBf9/f0MDw/T19fH0NAuZmdny+6a2pRBhiQJsFKoGs/lEkmSlUJVCGcyJElWClUhDDIkSVYK\nVSEMMiSpSarVKkeOHGFqaqrsrtyPlUJVBIMMSSpYu+zasFKoGs3ET0kq2OJdGxcDx5iY2M/IyF7G\nxg6V3Lv7WClUjWaQIUkFasddG1YKVaO4XCJJBXLXhrqZQYYkFchdG+pmBhmSVCB3baibGWRIUsHc\ntaFuZeKnJBWsyF0bnpiqVmaQIUlN0shdGzMzM+zevS/fuZIZHBymUhll8+bNDfk1pI1yuUSS2pAn\npqodOJMhSW2mHWtvqDs5kyFJbcbaG2oXBhmS1GasvaF2YZAhSW3G2htqFwYZktSGrL2hdmDipyS1\nIU9MVTswyJCkNuaJqWplBhmS1ALqVe60qqfalTkZklSimZkZhoZ20d/fz/DwMH19fQwN7WJ2drZu\nm9QOSg8yIuLyiLi35vWVmnteGxE3R8SdEfF3EeH+LEkdoV7lTqt6qt21ynLJl4FnApG/v2e+ISJe\nCbwceAHwDeAPgfGIODel9MMm91OSGmalyp0Zq3qqfZU+k5G7J6V0W0rp3/PXzIK2A8DrUkofSyl9\nmSzYeBRwaSk9laQGWalyZ702q3qqHbRKkNEbEd+OiOmIGI2IrQAR8TjgbOAT8zemlL4LfBa4sJyu\nSlJjrFS5s16bVT3VDlphueQ48KvA14BHAlcAxyLiiWQBRgJurfnMrXmbJLWt+cqdExP7mZtLZLMU\nR+npOcDAwDDAsm0ulagdlB5kpJTGF7z9ckR8Dvgm8Dzgq+X0SpKao1IZZWRk74IcDBgYGD5dubNe\nm9TqSg8yaqWUTkVEFdgG/ANZMuhZLJ7NOAv4/ErPOnjwIJs2bVp0bWRkhJGRkYb1V5I2YqXKnVb1\nVJEqlQqVSmXRtVOnTjXs+ZFSatjDGiEifoxsr9arU0pvi4ibgT9OKV2Vtz+MLOB4QUrpr5Z5xnbg\nxIkTJ9i+fXuzui6pS1gcS51scnKSHTt2AOxIKU1u5FmlJ35GxB9HxMUR8ZiI+Dngw8DdwF/mt7wF\n+P2IeE5E/CzwPuBfgY+U02NJ3criWNLalB5kAD8FfIAs/+IvgduAnSml7wCklK4E/hR4J9mukh8F\nLrFGhqRmsziWtDal52SklFZMkEgpXUG260SSSrFS4SyLY0n31wozGZLU8lYqnGVxLOn+DDIkaRVW\nKpw1XxyrWq1y5MgRpqammtc5qUUZZEhqe/V+sDfqh/584ayenv1kSyY3AaP09BxgcHCYM88806RQ\nqYZBhqS2sFSw0Oxj0iuVUQYGdgL7gEcD+xgY2EmlMmpSqLSElquT0QjWyZA6x8zMDLt378uTLjOD\ng8OnK2VOTBxnbu4aslyJY/T07M8DAZZtGxs7tKE+1RbHqlar9Pf3szgplPz9PqrVqkmhahuNrJNR\n+u4SSapn8QxBFixMTOznuc+9lE996hhlHJPe29u76POrSQo1yFA3crlEUsua3zaazUbsAbaSBQtX\n5wEGtMIx6atNCpW6jUGGpJZRm3ex0gxBpvxj0ldKCnUWQ93KIENS6ZZL0tyyZUt+x9LBwkUXPX3Z\nH+zN/qFfLylU6lbmZEgq3XJ5F3AFg4PDTEzsZ24ukc1gHKWn58DpI89b5Zj0lU5TlbqRQYakUq1U\nrvv6668HLl8yWGjFY9Jrk0KlbmaQIalUK+Vd3HbbbSsGC/V+sPtDXyqPQYakUi3embGwxsTiJM0i\ngoVqtcr09PSSgUu9NkmrY+KnpFKVsTOj2ZVCpW5lkCGpdM3emVGvBLjlwaXGcblEUumauTNjpUTT\nTDGVQqVuY5AhqWU0I0lzdQW+LA8uNYLLJZK6ykolwOu1WR5cWhtnMiR1lflE0+UKfAHLtjmLIa2N\nQYakrtNKlUKlTmaQIanrtGKlUKkTGWRI6lpWCpWKZeKnJEkqhEGGJEkqhEGGJEkqhEGGJEkqhEGG\nJEkqhEGGJEkqhEGGJEkqhHUyJDVctVplenraQlZSl3MmQ1LDzMzMMDS0i/7+foaHh+nr62NoaBez\ns7Nld01SCQwyJK1LtVrlyJEjTE1Nnb62e/c+JiaOA6PAt4BRJiaOMzKyt6xuSiqRQYakNVlutuL6\n669nfPwwc3PXAHuArcAe5uauZnz88KJgRFJ3MMiQtCbLzVZcdtlL8zsurvnE0wE4efJk8zopqSWY\n+Clp1arVKuPjh8kCjD351T3MzSUmJ+ePRj+2oA3gKADbtm1rWj8ltQZnMiSt2vT0dP7V0rMV27c/\nhZ6e/WRByE3AKD09BxgcHHaXidSFDDIkrdo555yTf3WspiWbrXjnO69lYGAnsA94NLCPgYGdVCqj\nzeukpJbhcomkVevr62NwcJiJif3MzSWyGYyj9PQcYGBgmAsuuICxsUNMTU1x8uTJJetkWEND6h4G\nGZLWpFIZZWRkL+Pj+05fGxgYXjRb0dvbe78AYmZmht279+U5HZnBwexzmzdvLr7jkprOIEPSmmze\nvHnF2YqlLN6VcjFwjImJ/YyM7GVs7FDR3ZZUAoMMSeuy1GzFcurtShkf38fU1JRLJ1IHapvEz4h4\nWUTcGBF3RcTxiHhK2X2StDor7UqxhobUmdoiyIiIXwHeBFwOnA98ERiPiC2ldkzSqqy0K8UaGlJn\naosgAzgIvDOl9L6U0leBy4A7gReX2y2pdSx1lkirmN+VYg0Nqbu0fJAREQ8EdgCfmL+WUkrABHBh\nWf2SWkW7nHxaqYxaQ0PqMi0fZABbgB7g1prrtwJnN787Umtpl5NP53elVKtVDh8+TLVaZWzskNtX\npQ7W0btLDh48yKZNmxZdGxkZYWRkpKQeSY3Vjrs21rIrRVKxKpUKlUpl0bVTp0417PntEGTcDswB\nZ9VcPwu4pd4Hr7rqKrZv315Uv6TSrWbXhj/QJS1nqX94T05OsmPHjoY8v+WXS1JKdwMngGfOX4uI\nyN9fV1a/pFbQiF0brZwwKqm9tXyQkXsz8OsR8YKIeDzwDuChwHtL7ZVUso3s2miXhFFJ7astgoyU\n0geBVwCvBT4PnAcMppRuK7VjUgtY766NdkkYldS+2iEnA4CU0rXAtWX3Q2o16zlLpB0TRiW1n7YJ\nMiTVt5ZdGyaMSmqGtlgukdRYlvmW1AwGGVIXssy3pGYwyJC61GoSRt3eKmkjzMmQulS9hNGZmRl2\n796XJ4dmBgeHqVRGLQMuadWcyZC6XG9vL5dccsmiJRK3t0pqBGcyJC3i9lZJjeJMhqRFVrO9VZJW\nwyBD0iJub5XUKAYZkhZxe6ukRjHIkHQ/6z0PRZIWMvFTakHVapXp6elVnUNShPWchyJJtQwypBZS\nVH2K9QYtazkPRZJquVwitZBG16eYmZlhaGgX/f39DA8P09fXx9DQLmZnZxvZbUlakkGG1CLm61PM\nzV1DVp9iK1l9iqsZHz+8rtLeFtWSVCaDDKlFNLo+RRFBiySthUGGtEGNOkSs0fUpLKolqWwGGdI6\nNTrfodH1KSyqJalsBhnSOhWR79DI+hQW1ZJUNrewSutQ1CFija5PUamMMjKyl/HxfaevDQwMW1RL\nUlMYZEjrsJp8h97e3tLrU1hUS1KZDDKkVagNFhbnO+xZcGeW77BlyxaGhnbVLarVzKqeFtWSVAZz\nMqQ6lkvufMQjHlE33+HVr75i2XwNC2RJ6hYGGVId9ZI7l0vSfN3rrqhbn+LSS39p3QmjjdouK0nN\n4HKJtIyVkjtvv/32JfMdjhw5kt+7dL7GP/7j0WWfuVzCaFFnmkhSkZzJkJax2mJWvb29XHLJJaeD\ng5XqU6zmmbUsDy6pHRlkSMtYbzGrevUpfv7n54OL1T/T8uCS2pVBhrSMjRSzWi5f46Mf/Zs1P9Py\n4JLalUGGVMd6K3DO16eoVqscPnyYarXK2NghNm/evOZnWh5cUrsy8VOqY6PFrJaqT7HWZ87PqExM\n7GduLpHNYBylp+cAAwOWB5fUugwypFUoopjVWp5peXBJ7cggQ8o1swLnWlkeXFI7MshQ12unGhSW\nB5fUTkz8VNezBoUkFcOZDHW1oo5slyQ5k6EuZw0KSSqOQYa6mjUoJKk4Bhnqahup6ilJqs8gQ11v\nvVU9JUn1mfiprmcNCkkqhkGGlLMGhSQ1VqnLJRHxjYi4d8FrLiJ+p+aerRFxKCLuiIhbIuLKiHCZ\nR5KkFlf2TEYCfh/4P0Dk174335gHE4eBm4GdwKOA9wM/zD8nSZJaVCvMCHw/pXRbSunf89ddC9oG\ngccDe1JKX0opjQOvBl4WEWUHSJIkqY5WCDJ+NyJuj4jJiHhFRPQsaNsJfCmldPuCa+PAJuBnmtpL\nSZK0JmXPBlwNTAIzwM8BbwDOBl6Rt58N3FrzmVsXtH2xCX1Um2nl01QlqZs0PMiIiNcDr6xzSwLO\nTSlVU0pvWXD9yxHxQ+CdEfF7KaW7N9qXgwcPsmnTpkXXRkZGGBkZ2eij1YLa6TRVSWoFlUqFSqWy\n6NqpU6ca9vxIKTXsYQARcSZw5gq3fT2ldM8Sn30C8CXg8SmlqYh4DfCclNL2Bfc8Fvg6cH5KacmZ\njIjYDpw4ceIE27dvX+oWdaChoV1MTBxnbu4asrNIjtHTs5+BgZ2MjR0qu3uS1BYmJyfZsWMHwI6U\n0uRGntXwmYyU0neA76zz4+cD9wL/nr//DPCqiNiyIC/jWcAp4Csb6qhaXr1lj9o2T1OVpNZTWk5G\nROwEngb8Pdm21Z8D3gy8P6U0P1fzcbJg4v0R8UrgkcDrgLc2YjlFraneskdKacm2F7/4hfm75U9T\nNciQpOYqM/HzB8DzgcuBBwM3Am8Crpq/IaV0b0Q8G3g7cB1wB/De/DPqULt372Ni4jjZrES27DEx\nsZ+Rkb0AS7bdccf3808f476ZDPA0VUkqT2lBRkrp88CFq7jvJuDZxfdIrWClZY/M/ds+9al9XHTR\n07nuuv3MzSWyGYyj9PQcYGDA01QlqQxlb2GVFpmens6/WnrZo17by1/+Uh760D9fEIzAwMCwp6lK\nUkkMMtRSzjnnnPyrpZc96rWdf/75jI09z9NUJalFGGSopfT19TE4OMzExNLLHsCybfMBhaepSlJr\nMMhQy6lURhkZ2bvsske9NklS6zDIUMvZvHkzY2OHll32qNe2EkuOS1LzGGSoZdVb9ljrkoglxyWp\n+VrhFFapcItrb3wLGGVi4vjp2huSpMZzJkMdz5LjklQOZzJUuGq1ypEjR5iamirl11+p9sbJkyeb\n2h9J6hYGGSrMzMwMQ0O76O/vZ3h4mL6+PoaGdjE7O9vUfiyuvbGQJcclqUgGGSpMq+RBzNfe6OnZ\nn/flJmCUnp4DDA5aclySimKQoULM50HMzV1DlgexlSwP4mrGxw83femkUhllYGAnsA94NLCPgYGd\n1teQpAKZ+KlCrCYPopkzCCvV3pAkNZ5Bhgqx0hkkZeVBWHJckprH5RIVwjwISZJBhhpiqW2q5kFI\nUndzuUQbslK5bvMgJKl7OZOhDVnNNtXe3l4uueQSAwxJ6jLOZGjdLNctSarHmQytm+W6JUn1GGRo\n3SzXLUmqxyBDq1a7g8RtqpKkegwytKJ6B525TVWStBwTP7WixTtILgaOMTGxn5GRvYyNHXKbqiRp\nSQYZXaharTI9Pb2qgGC1O0gs1y1JquVySRept+yxHHeQSJLWyyCji6ymcFatoneQLFWOXJLUGQwy\nusT8ssfc3DVkyx5byZY9rmZ8/PCyP+SL2kGynlkVSVJ7McjoEhtZ9ihiB8l6ZlUkSe3FxM8usXjZ\nY8+ClpWXPRp90JnlyCWpOxhkdIn5ZY+Jif3MzSWyGYyj9PQcYGBgdcsejdpBsppZFYMMSWp/Lpd0\nkVYpnGU5cknqDs5kdJFGL3usVyNmVSRJrc8gowu1QuGsSmWUkZG9jI/vO31tYGDYcuSS1EEMMlSK\nVplVkSQVxyBDpWqFWRVJUjFM/JQkSYUwyJAkSYUwyJAkSYUwyJAkSYUoLMiIiFdFxKcj4o6ImFnm\nnq0RcSi/55aIuDIiHlBzz3kRcSwi7oqIb0bEbxfVZ0mS1DhFzmQ8EPgg8PalGvNg4jDZDpedwAuB\nXwVeu+CeHwfGgRuB7cBvA1dExH8vsN+SJKkBCtvCmlJ6DUBEvHCZWwaBxwPPSCndDnwpIl4NvCEi\nrkgp3QPsJQtWfi1/f0NEnA/8FvCuovouSZI2rsycjJ3Al/IAY944sAn4mQX3HMsDjIX39EfEpuZ0\nU5IkrUeZQcbZwK01125d0LbaeyRJUgtaU5AREa+PiHvrvOYioq+ozqp41WqVI0eOMDU1VXZXJElt\nbq05GX8CvGeFe76+ymfdAjyl5tpZC9rm/3vWCvcs6+DBg2zatHhVZWRkhJGRkVV2sXvMzMywe/c+\nxscPn742OJgdWLZ58+YSeyZJKkqlUqFSqSy6durUqYY9P1JKDXvYkr9Alvh5VUrp4TXXh4C/BR45\nn5cRES8B3gj8ZErp7oi4DPhD4KyU0lx+zx8Bl6aUnlDn19wOnDhx4gTbt28vZFydZmhoFxMTx5mb\nuwa4GDhGT89+BgZ2MjZ2qOzuSZKaZHJykh07dgDsSClNbuRZRdbJ2BoRTwIeA/RExJPy1xn5LR8H\nvgK8P6+FMQi8DnhrSunu/J4PAD8E3h0RT4iIXwH2A28qqt/dqFqtMj5+OA8w9gBbgT3MzV3N+Phh\nl04kSetSZOLna4FJ4HLgx/KvJ4EdACmle4FnA3PAdcD7gPfm95Pf813gWcBjgX8C/hi4IqX0ZwX2\nu+tMT0/nX11c0/J0AE6ePNnU/kiSOkORdTJeBLxohXtuIgs06t3zZeZ/2qkQ55xzTv7VMbKZjHlH\nAdi2bVuzuyRJ6gCeXSL6+voYHBymp2c/MArcBIzS03OAwcFhent7S+6hJKkdGWQIgEpllIGBncA+\n4NHAPgYGdlKpjJbcM0lSuypsuUTtZfPmzYyNHWJqaoqTJ0+ybds2ZzAkSRtikNHGqtUq09PTDQ0I\nent7DS4kSQ3hckkbmpmZYWhoF/39/QwPD9PX18fQ0C5mZ2fL7pokSacZZLSh3bv3MTFxnCxJ81vA\nKBMTxxkZ2Xv6HsuDS5LKZpDRZlYqnHX99dc7yyFJagkGGW1mpcJZl132shVnOSRJagaDjDazuHDW\nQlnhrMnJ6y0PLklqCQYZbaZe4azt2y/I77I8uCSpfAYZbWi5wlnveMe1+R1Lz3JYHlyS1EzWyWhD\n9QpnDQ4OMzGxn7m5RDaDcZSengMMDFgeXJLUXAYZbWypwlmVyigjI3sZH993+trAwLDlwSVJTWeQ\n0WEsDy5JahUGGR3K8uCSpLKZ+ClJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJ\nkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgph\nkCFJkgrDS29nAAAIsElEQVRhkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJkgphkCFJ\nkgphkCFJkgphkNHmKpVK2V1oCsfZWRxn5+mWsXbLOBulsCAjIl4VEZ+OiDsiYmaZe+6tec1FxPNq\n7jkvIo5FxF0R8c2I+O2i+tyOuuUPvOPsLI6z83TLWLtlnI3yIwU++4HAB4HPAC+uc98LgTEg8vf/\nb74hIn4cGAc+DvwG8LPAeyJiNqX0riI6LUmSGqOwICOl9BqAiHjhCreeSindtkzbXrJg5ddSSvcA\nN0TE+cBvAQYZkiS1sFbIyXhbRNwWEZ+NiBfVtO0EjuUBxrxxoD8iNjWvi5Ikaa2KXC5ZjVcDnwTu\nBJ4FXBsRZ6SU3pq3nw18veYzty5oO7XMcx8CcMMNNzS2ty3o1KlTTE5Olt2NwjnOzuI4O0+3jLUb\nxrngZ+dDNvywlNKqX8DrgXvrvOaAvprPvBCYWeXzrwC+ueD9OPD2mnvOzX+d/jrP2Q0kX758+fLl\ny9e6X7vXEiMs9VrrTMafAO9Z4Z7amYe1+Bzw6oh4YErpbuAW4Kyae+bf31LnOePAHuAbwH9soD+S\nJHWbhwCPJftZuiFrCjJSSt8BvrPRX7SO84HZPMCAbGfKH0ZET0ppLr/2LOBrKaXllkrm+/mBAvsp\nSVInu64RDyksJyMitgIPBx4D9ETEk/KmkymlOyLi2WSzEsfJZhueBfwecOWCx3wA+APg3RHxRrIt\nrPuBA0X1W5IkNUbkOQyNf3DEe4AXLNH0jJTSsYgYJMvxOIesRsZJ4Nra+hcR8UTgbcBTgNuBa1JK\nf1JIpyVJUsMUFmRIkqTu1gp1MiRJUgcyyJAkSYXo2CAjIh4UEV/ID147r6Zta0Qcyg9vuyUiroyI\ntvp/EREfyQ+Muysibo6I90XEI2vuaetxRsRjIuJdEfH1iLgzIqYi4oqIeGDNfW09Tlj1gYJtP06A\niHhZRNyY/9k9HhFPKbtPGxERF0XERyPi2/n3m+cucc9r87+nd0bE30XEtjL6uhER8XsR8bmI+G5E\n3BoRH46IviXua+uxRsRlEfHFiDiVv66LiKGae9p6jEuJiN/N//y+ueb6hsbadt+g1uBK4F/JCoqc\nln9TPky2s2YnWbGwXwVe2+T+bdQngf8G9AG/RJZA+1fzjR0yzseTJQX/OvAE4CBwGfC/5m/okHHC\nfQcKvn2pxk4ZZ0T8CvAm4HKyLetfBMYjYkupHduYM4AvAC+l5vsNQES8Eng58BLgqcAdZGN+UDM7\n2QAXAX8KPA0YIPsz+/GI+NH5GzpkrDcBrwS2AzvIvtd+JCLOhY4Z4yJ5oP8Ssr+PC69vfKwbrebV\nii/gEuBfyH5I3QucV9N2N7BlwbXfAGaBHym77xsY83OAe4CeDh/nK8i2QXfk7yfLVMjtlHGSbVm/\nesH7IPvHwO+U3bcGje9e4Lk1124GDi54/zDgLuB5Zfd3g2Pdko/357tgrN8BXtSJYwR+DPga8IvA\n3wNvbuTvZ8fNZETEWcD/JjvB9a4lbtkJfCmldPuCa+PAJuBniu9h40XEw8kqnH463Ve0rOPGmfsJ\nYOFyQqeOs1bbjzNf5toBfGL+Wsq+c00AF5bVryJFxOPIzllaOObvAp+l/cf8E2QzNzPQmWONiAdE\nxPOBhwLXdeIYyUpE/G1K6ZMLLzZqrB0XZJCVPb82pfT5ZdrP5r5D1uYtPHStbUTEGyLi+2T1Q7YC\nly5o7phxzsvXAl8OvGPB5Y4b5zI6YZxbgB6WHke7jGGtzib7QdxRY46IAN4CfCql9JX8cseMNSKe\nGBHfA34AXAv815TS1+igMQLkAdSTyQph1mrIWNsiyIiI1+cJKcu95iKiLyL2k039vHH+oyV2e81W\nO84FH7mS7A/IfyY7NO79pXR8jdYxTiLiPwFHgP+bUnp3OT1fm/WMU2oT15LlST2/7I4U5KvAk8jy\nEN4OvC8iHl9ulxorIn6KLFDck+47yqPhyj7qfbVWczDbjcAzyKZxfpAF2qf9U0T8RUrpRWQHq9Vm\ns6/m0LVmWNMBdCmlGbKpypMR8VXgpoh4Wkrps3TQOCPiUWTJV59KKf1GzX0dM84VtPI4V+t2smB4\nqUMP22UMa3UL2T92zmLxvwjPApabbW1pEfFWYBi4KKX0bwuaOmasKaV7uO/v5ucj4qlkx1lcSYeM\nkWzp8hHAZNz3A7MHuDgiXs59ifcbGmtbBBlplQezRcRvAv9zwaVHka1bP4/shFfIDl17VURsWbC+\n/SzgFPAVSrTacS6jJ//vg/P/dsQ48xmMTwLXAy9e4paOGOcqtOw4VyuldHdEnACeCXwUTk+7PxO4\npsy+FSWldGNE3EI2xn8GiIiHke3QeFuZfVuPPMD4L8DTU0rfWtjWaWOt8QDgwR02xgmy88AWei9w\nA/CGlNLXGzLWsjNbC86afQz3313yALJtOkeA84BBsijtdWX3dw3jeirwMrLpvEeTZQV/iixD+IEd\nNM5HAVPAx/Ovz5p/ddLvZz6Orfnv5x+QBQ5Pyl9ndNg4nwfcSXau0eOBd5IFYo8ou28bGNMZ+e/V\nk/PvN/8jf781b/+dfIzPIfum/jf5n+sHld33NY7zWrLdTBct/LsIPGTBPW0/VuCP8jE+Bngi2Rlb\n9wC/2CljrDP22t0lGx5r6YMq+H/YY8imZ8+rub4V+Bjw/fwb9RuBB5Td3zWM64lkGb+35d+wp4G3\nAo/ssHG+MP/9W/i6F5jrpHHmY3jPEmOdAy7upHHm43gp8A2y3V+fAS4ou08bHM/T5/9c1rzeveCe\nK8i2A95JNru6rex+r2OcS41xDnhBzX1tPVbgXWRLJXeRLQF9fD7A6JQx1hn7JxcGGY0YqwekSZKk\nQrTF7hJJktR+DDIkSVIhDDIkSVIhDDIkSVIhDDIkSVIhDDIkSVIhDDIkSVIhDDIkSVIhDDIkSVIh\nDDIkSVIhDDIkSVIh/j/GZcI/xXZXgAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-30, 30, num=51)\n", "\n", "#Generating a line with some randomness\n", "y = [4 * i + 30*random() for i in x]\n", "\n", "\n", "#Plotting the line\n", "plt.scatter(x, y)\n", "plt.figure()\n", "\n", "#Creating an array of values \n", "A = np.array([x, y])\n", "A = A.T\n", "\n", "#Performing SVD on those values\n", "[u, s, v] = np.linalg.svd(A)\n", "print(s)\n", "\n", "#Transforming the data values to a new basis\n", "c = np.dot(A, v[0].T)\n", "d = np.dot(A, v[1].T)\n", "\n", "#Plotting the values in the new basis\n", "A_new = [c, d]\n", "plt.scatter(A_new[0], A_new[1])\n", "\n", "#plt.axis([-200, 200, -30, 30])\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda root]", "language": "python", "name": "conda-root-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }