{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Here I import the relevant function libraries\n", "#This can be done in many ways\n", "#To import an entire library (e.g. scipy) so that functions accessed by typing \"lib_name.func_name\"\n", "%matplotlib inline\n", "import matplotlib\n", "\n", "#To import a subsection of a library\n", "import scipy.optimize\n", "\n", "#To import the whole library under a different name, so you can type \"diff_name.func_name\"\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "#To import just a particular function\n", "from time import time\n", "from math import sin\n", "#This may be confusing but I'm grabbing a function usually denoted with \"time.time\"" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#First of all we need to read the example data file into a list\n", "#I will create an empty list and append the data as I read the file\n", "#Note appending is a VERY inefficient opperation, however for less than a ~million repeats it's fine\n", "\n", "#Make an empty list:\n", "datalist = []\n", "\n", "#Open the file. Here the 'r' means 'read'\n", "f = open('ex_data.dat','r')\n", "\n", "#Now read all the lines of the file into a list called lines\n", "#For very large files this isn't always a good plan as you may not want to store the whole file in the memory, such files should be read line by line\n", "lines = f.readlines()\n", "\n", "#Now loop over ever line and record the value as a floating point number in datalist\n", "#Notice that python's loop functionality is very flexible\n", "for line in lines:\n", " datalist.append(float(line))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Now we want to we want to create a plot\n", "#Create a figure called 'fig' and a set of axes called 'ax'\n", "fig,ax = plt.subplots(figsize=(8,6))\n", "\n", "#Create a dummy list of numbers to plot along the x-axis\n", "#We will create a numpy array using the 'numpy.arange()' function\n", "#The syntax for this is (start_value,non_inclusive_end_value,step_size)\n", "#Here I also use the 'len()' function which returns the length of a list/array\n", "x_vals = np.arange(0,len(datalist),1)\n", "\n", "#Now plot the data on the axes\n", "#Here I choose to plot the data as blue dots\n", "ax.plot(x_vals,datalist,'b.')\n", "\n", "#Set the limits, and label the axes\n", "ax.set_xlim(0,100)\n", "ax.set_ylim(-5,50)\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('val')\n", "\n", "#Force the plot to be displayed\n", "plt.show()\n", "\n", "#Save the plot\n", "fig.savefig('ex_fig.jpg',dpi=300)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Now make a function of a gaussian distribution\n", "def gaussian(x,mean,sigma,A):\n", " \n", " #Set the normalisation\n", " norm = A/(sigma*np.sqrt(2.*np.pi))\n", " \n", " return norm*np.exp( -((x-mean)**2.) / (2.*sigma**2.) )" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A = 1010.0\n", "Mean = 56.0\n", "Sigma = 9.0\n", "A = 1010.0\n", "Mean = 56.0\n", "Sigma = 9.0\n" ] } ], "source": [ "#First we will fit this the bad, slow way\n", "\n", "#Start with an impossibly large value of least_sq\n", "least_sq = 1000000000.\n", "\n", "#Loop over each parameter and over each value of x and calculate where least_sq is minimised\n", "#Make some value approximate guesses of where the min/max values of the parameters are\n", "for mean in np.arange(50.,60.,1.):\n", " for sigma in np.arange(5.,15.,1.):\n", " for A in np.arange(500.,1500.,10.):\n", " least_sq_temp = 0.\n", " for i in range(0,len(x_vals),1):\n", " #Add the current deviations to the temp value of least_sq\n", " least_sq_temp += (datalist[i] - gaussian(x_vals[i],mean,sigma,A))**2.\n", " \n", " #If least_sq_temp is a better fit than your current stored value then update the fit\n", " if least_sq_temp < least_sq:\n", " least_sq = least_sq_temp\n", " A_fit = A\n", " mean_fit = mean\n", " sigma_fit = sigma\n", "\n", "print 'A = ',A_fit\n", "print 'Mean = ',mean_fit\n", "print 'Sigma = ',sigma_fit" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Reproduce the plot, but with the fit\n", "fig,ax = plt.subplots(figsize=(8,6))\n", "\n", "x_vals = np.arange(0,len(datalist),1)\n", "\n", "#Here I select the plot the fit as a green, dotted, 2pt line\n", "ax.plot(x_vals,gaussian(x_vals,mean_fit,sigma_fit,A_fit),lw=2,ls='dotted',color='green')\n", "ax.plot(x_vals,datalist,'b.')\n", "\n", "ax.set_xlim(0,100)\n", "ax.set_ylim(-5,50)\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('val')\n", "\n", "plt.show()\n", "\n", "#Save the plot\n", "fig.savefig('ex_fit1_fig.jpg',dpi=300)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean = 56.0803931592\n", "Sigma = 8.9931758567\n", "A = 1008.72516827\n", "Mean = 56.0803931592\n", "Sigma = 8.9931758567\n", "A = 1008.72516827\n" ] } ], "source": [ "#Now do the fit the smart way, by using a built in curve fitting function\n", "#The function returns the fit parameters and the covariances\n", "#The syntax is (function_to_fit, x_values, data_values, p0 = list_of_initial_guesses)\n", "fit,cov = scipy.optimize.curve_fit(gaussian, x_vals, datalist, p0 = [55.,10.,800.])\n", "\n", "print 'Mean = ',fit[0]\n", "print 'Sigma = ',fit[1]\n", "print 'A = ',fit[2]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Reproduce the plot, but with the new fit\n", "fig,ax = plt.subplots(figsize=(8,6))\n", "\n", "x_vals = np.arange(0,len(datalist),1)\n", "\n", "ax.plot(x_vals,gaussian(x_vals,fit[0],fit[1],fit[2]),lw=2,ls='dashed',color='red')\n", "ax.plot(x_vals,datalist,'b.')\n", "\n", "ax.set_xlim(0,100)\n", "ax.set_ylim(-5,50)\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('val')\n", "\n", "plt.show()\n", "\n", "#Save the plot\n", "fig.savefig('ex_fit2_fig.jpg',dpi=300)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#This is the end of the example, but below are some useful things to note" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loop time: 0.311264038086 sec\n", "Array arithmetic time: 0.0395338535309 sec\n", "Loop time: 0.311264038086 sec\n", "Array arithmetic time: 0.0395338535309 sec\n" ] } ], "source": [ "#Array Arithmetic\n", "\n", "#When dealing with large lists (the norm in astronomy) array arithmetic is nearly always namy times faster\n", "#You should write as much of your code using numpy arrays as you possibly can\n", "#The only real drawback of arrays is that you cannot append values to them, they have fixed length\n", "\n", "#Here I will take the sine of a million element array using a loop and using array arithmetic \n", "#Look at the difference in duration\n", "\n", "#Generate an array of 10 million numbers between 0 and pi\n", "val_arr = np.random.uniform(0.,np.pi,1E6)\n", "\n", "\n", "#Recast these arrays as lists\n", "val_list = list(val_arr)\n", "\n", "start_time = time()\n", "#Note I've used the shorthand version of range here (the default start is 0 and default step is 1)\n", "for i in range(1000000):\n", " #This will overwrite the current value with it's sine\n", " val_list[i] = sin(val_list[i])\n", "print \"Loop time: \",(time()-start_time),\"sec\"\n", "\n", "start_time = time()\n", "val_arr = np.sin(val_arr)\n", "print \"Array arithmetic time: \",(time()-start_time),\"sec\"" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "1.5\n" ] } ], "source": [ "#Integer Arithmetic\n", "\n", "#If you're not used to coding, I've got some bad news for you, computer are pretty dumb\n", "#Python will identify what a number you give is by how you write it\n", "#If the number doesn't have a decimal point it will assume it's an integer\n", "\n", "print 3/2\n", "\n", "print 3./2." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5] [1, 2, 3, 4, 5]\n", "[1, 2, 4, 5] [1, 2, 4, 5]\n" ] } ], "source": [ "#Pass by Reference vs Pass by Value\n", "\n", "#In most cases python defaults to passing by reference\n", "#This means that when you say 'a = b' you are essentially telling the computer that they are the same thing\n", "#Whatever you do to b is also done to a\n", "\n", "a = [1,2,3,4,5]\n", "b = a\n", "\n", "print a,b\n", "\n", "#Delete the value 3 from the list a\n", "a.remove(3)\n", "\n", "print a,b" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 4, 5] [1, 2, 3, 4, 5]\n", "[1, 2, 4, 5] [1, 2, 3, 4, 5]\n" ] } ], "source": [ "#To overcome this you have to trick the computer into duplicating the list\n", "\n", "a = [1,2,3,4,5]\n", "#This will copy the array from 'start_point:end_point', the default is the start/end of the list\n", "b = a[:]\n", "\n", "a.remove(3)\n", "\n", "print a,b" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5, 4, 3, 2, 1]\n", "[1, 3, 5]\n", "[5, 4, 3, 2, 1]\n", "[1, 3, 5]\n" ] } ], "source": [ "#There some other tricks you can play with this\n", "\n", "a = [1,2,3,4,5]\n", "\n", "#To return the list in reverse\n", "#This is saying go through the whole list, but stepping one place backwards each time\n", "print a[::-1]\n", "\n", "#To return every other value\n", "print a[::2]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5]\n", "[1, 2, 3, 4, 5]\n" ] } ], "source": [ "#Another python is to use sets\n", "#If you want to remove duplicates from a list you don't have to do a complicated algorithm\n", "\n", "a = [1,1,2,3,3,3,3,4,5,5,5]\n", "\n", "#To remove duplicates you can define the list as a set\n", "#Sets are mathematical objects that cannot have duplicates\n", "#Then you can redefine as a list\n", "#Doing this all at once\n", "\n", "print list(set(a))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "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.11" } }, "nbformat": 4, "nbformat_minor": 0 }