{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 13\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-Introduction: [>>](#Introduction) \n", "-Propagating errors: [>>](#Propagating-errors) \n", "-Fitting by minimising chi squared: [>>](#Fitting-by-minimising-chi-squared) \n", "-Electron diffraction experiment: [>>](#Electron-diffraction-experiment) \n", "--Electron diffraction apparatus: [>>](#Electron-diffraction-apparatus) \n", "--Measuring the diffraction rings at variable electron momentum: [>>](#Measuring-the-diffraction-rings-at-variable-electron-momentum) \n", "-Results: [>>](#Results) \n", "-More plots: [>>](#More-plots) \n", "--Lines: [>>](#Lines) \n", "--Points with errorbars: [>>](#Points-with-errorbars) \n", "--Histograms (with mean and standard deviation): [>>](#Histograms-(with-mean-and-standard-deviation)) \n", "--Multiple plots in one figure: [>>](#Multiple-plots-in-one-figure) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "This week we will remind ourselves how to propagate errors and look again at fitting and plotting data. As an example of how to do a fit (and some plots!), we will use results from an experiment to measure Planck's constant. We will then look at a few additional plots." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Propagating errors\n", "\n", "Supposing we have measured $x$ and $y$, and their errors, $\\delta x$ and $\\delta y$. We now want to use these to calculate another quantity, $z = z(x, y).$ What is the error on $z$? \n", "\n", "The variation in $z$ for a small change in $x$ is:\n", "\n", "$$\\delta z = \\frac{\\partial z}{\\partial x} \\delta x.$$\n", "\n", "Similarly, the change in $z$ for a small variation in $y$ is:\n", "\n", "$$\\delta z = \\frac{\\partial z}{\\partial y} \\delta y.$$\n", "\n", "Assuming that $x$ and $y$ are independent, the total variation in $z$ resulting from changes in both $x$ and $y$ is then:\n", "\n", "$$\\delta z = \\sqrt{ \\left( \\frac{\\partial z}{\\partial x} \\delta x \\right)^2 + \\left( \\frac{\\partial z}{\\partial y} \\delta y \\right)^2 }.$$\n", "\n", "All the rules you see about calculating errors (e.g. in the case that $z = ax + by$ or $z = kxy$) are derived using this expression.\n", "\n", "## Fitting by minimising chi squared\n", "\n", "Here, we look at fitting a straight line $y = mx + c$ to a set of data points$(x_i, y_i)$, with $i = 1 \\dots N$. \n", "The separation between the line and the data point $(x_i, y_i)$ is given by:\n", "\n", "\\begin{align}\n", "s_i &= y_i - y(x_i) \\\\\n", " &= y_i - (mx_i + c).\n", "\\end{align}\n", "\n", "If we want to find the values of $m$ and $c$ which ensure the line is as close as possible to the points, taking into account the errors involved, we want to minimise something like \n", "\n", "$$\\frac {s_i}{\\delta s_i},$$\n", "\n", "for all the data points. This means that large separations are \"allowed\" if the error involved is large, but not if the error is small, so well constrained points are more significant than poorly constrained ones.\n", "\n", "The total error on $s_i$ is:\n", "\n", "\\begin{align}\n", "\\delta s_i &= \\sqrt{ \\left( \\frac{\\partial s_i}{\\partial y_i} \\delta y_i \\right)^2 + \n", " \\left( \\frac{\\partial s_i}{\\partial x} \\delta x_i \\right)^2} \\\\\n", " &= \\sqrt{ (\\delta y_i)^2 + (m \\delta x_i)^2}.\n", "\\end{align}\n", "\n", "So we want to minimise something like\n", "\n", "$$\\chi_i = \\left| \\frac {y_i - (mx_i + c)}{\\sqrt{ (\\delta y_i)^2 + (m \\delta x_i)^2}} \\right|$$\n", "\n", "for all $N$ data points.\n", "\n", "Many fit programs minimise a closely related quantity defined by:\n", "\n", "\\begin{align}\n", "\\sum_{i = 1}^N \\chi_i^2 &= \\sum_{i = 1}^N \\left( \\frac {y_i - (mx_i + c)}{\\sqrt{ (\\delta y_i)^2 + (m \\delta x_i)^2}} \\right)^2\\\\\n", " &= \\sum_{i = 1}^N \\frac {\\left( y_i - (mx_i + c)\\right)^2}{(\\delta y_i)^2 + (m \\delta x_i)^2}. \n", "\\end{align}\n", "\n", "More complicated fitting functions lead to more complicated expressions for $\\chi_i$, but the principle remains the same!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Electron diffraction experiment\n", "\n", "The electron is a fundamental particle which was discovered in 1897 by J.J. Thompson. Its discovery marked the first step in particle physics and was a key stepping stone in the development of quantum theory. One of the prediction of quantum theory is that particles may act like waves. According to de-Broglie’s equation, an electron can be assigned a wavelength, $\\lambda$, that is related to its momentum, $p$, by the equation\n", "\n", "$$\\lambda =h/p,$$\n", "\n", "where $h$ is Planck’s constant. \n", "\n", "When electrons are incident on graphite, due to the their wave-like behaviour, interference can occur as the electrons are reflected by the atomic layers in the graphite. The electrons are diffracted in accordance with the Bragg condition, which relates the angle of diffraction to the wavelength of the incoming waves: \n", "\n", "$$2d\\sin \\theta = n\\lambda.$$\n", "\n", "Here, $d$ is the spacing between the planes of carbon atoms, $\\theta$ is the Bragg angle (the angle between the electron beam and the lattice planes), $\\lambda$ is the wavelength of the incoming waves and $n$ is a positive integer.\n", "\n", "\n", "### Electron diffraction apparatus\n", "\n", "Electrons are generated from a heated cathode at the end of a cathode ray tube and accelerated by an electric field. The electron beam is focussed and then hits a thin piece of graphite. The electrons are diffracted by the lattice planes of the graphite with different intensities. They then hit the fluorescent layer on the front end of the tube causing it to fluoresce. We can observe the fluorescence as a concentric ring pattern. \n", "\n", "![](ElectronsExptOne.png)\n", "\n", "**Figure 1**: *Electron diffraction apparatus showing faint green fluorescence rings generated by electrons hitting the screen.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Measuring the diffraction rings at variable electron momentum\n", "\n", "Keep the voltage across and the current through the filament in the cathode constant. Vary the voltage betwen the cathode and the anode.\n", "Observe how the fluorescence rings generated by the diffracted electrons change size. Measure the diameters of the inner ring and the outer rings. As the rings have finite width, measure the inner and outer diameter of each ring and take the average. Repeat each reading several times and determine the error on your measurements. \n", "\n", "Calculate the wavelength of the electrons for each ring. The spacings between the atomic layers in graphite are 213 pm and 123 pm. These spacings correspond to the diffraction of the electrons in the inner and outer rings, respectively. \n", "\n", "Measure the radius of the cathode ray tube.\n", "\n", "Use de Broglie’s equation and the relationship between the electron's kinetic and potential energy to derive a relationship between the wavelength of the electron and its potential energy. \n", "\n", "Plot a graph of the wavelength versus the inverse momentum and carry out a fit to the functional form $y = mx + c$ and determine the gradient and intercept of the line. Repeat this for the outer ring. \n", "\n", "If the charge of the electron is $1.6 \\times 10^{-19} {\\rm C}$ and the mass of the electron is $9.11 \\times 10^{-31} {\\rm kg},$ find the values the two datasets give for Planck’s constant. If the values are consistent, combine them to give a better estimate of the value of $h$. Check if this agrees with the accepted value." ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Number of voltages in dataset 8\n", " \n", "sinTheta1 [0.037 0.039 0.044 0.045 0.047 0.054 0.062 0.078]\n", "sinTheta2 [0.034 0.035 0.036 0.042 0.047 0.054 0.061 0.078]\n", " \n", "Measurements\n", "Potential (V) \t Radius 1 (cm) \t Radius 2 (cm)\n", "10000.00 \t 1.18 \t\t 1.06\n", "9000.00 \t 1.23 \t\t 1.10\n", "8000.00 \t 1.40 \t\t 1.13\n", "7000.00 \t 1.43 \t\t 1.32\n", "6000.00 \t 1.47 \t\t 1.49\n", "5000.00 \t 1.71 \t\t 1.70\n", "4000.00 \t 1.96 \t\t 1.94\n", "3000.00 \t 2.46 \t\t 2.45\n", " \n", "Calculated wavelengths and momenta\n", "Lamda 1 (m) \t\t Lamda 2 (m) \t\t p (kg*m/s) \t\t 1/p (s/(kg*m))\n", "1.59e-11 +- 1.34e-13 \t 8.25e-12 +- 7.76e-14 \t 5.40e-23 +- 5.40e-25 \t 1.85e+22 +- 1.85e+20\n", "1.66e-11 +- 1.34e-13 \t 8.54e-12 +- 7.76e-14 \t 5.12e-23 +- 5.69e-25 \t 1.95e+22 +- 2.17e+20\n", "1.88e-11 +- 1.34e-13 \t 8.76e-12 +- 7.76e-14 \t 4.83e-23 +- 6.04e-25 \t 2.07e+22 +- 2.59e+20\n", "1.92e-11 +- 1.34e-13 \t 1.03e-11 +- 7.76e-14 \t 4.52e-23 +- 6.45e-25 \t 2.21e+22 +- 3.16e+20\n", "1.98e-11 +- 1.34e-13 \t 1.16e-11 +- 7.76e-14 \t 4.18e-23 +- 6.97e-25 \t 2.39e+22 +- 3.99e+20\n", "2.30e-11 +- 1.34e-13 \t 1.32e-11 +- 7.76e-14 \t 3.82e-23 +- 7.64e-25 \t 2.62e+22 +- 5.24e+20\n", "2.64e-11 +- 1.34e-13 \t 1.51e-11 +- 7.76e-14 \t 3.41e-23 +- 8.54e-25 \t 2.93e+22 +- 7.32e+20\n", "3.32e-11 +- 1.34e-13 \t 1.91e-11 +- 7.76e-14 \t 2.96e-23 +- 9.86e-25 \t 3.38e+22 +- 1.13e+21\n" ] } ], "source": [ "from scipy import stats\n", "from scipy.optimize import least_squares\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "%matplotlib inline\n", "#\n", "def sinTheta(D, r):\n", " x = (D - np.sqrt(D**2 - 4*r**2))/2\n", " h = np.sqrt(r**2 + (D - x)**2)\n", " sT = r/h\n", " return sT\n", "#\n", "# load csv file as an array, assign columns to variables\n", "# Units are:\n", "# V, cm, cm, cm, cm.\n", "Voltage, inner1avg, inner2avg, outer1avg, outer2avg = np.loadtxt('ElectronDiffraction.csv',\n", " delimiter = ',', unpack = True) \n", "#\n", "errorVoltage = 200 # volts\n", "#\n", "nLen = len(Voltage)\n", "print(\" \")\n", "print(\"Number of voltages in dataset\",nLen)\n", "#\n", "radius1 = (inner1avg + outer1avg)/4 # cm, radius measurement for first ring\n", "radius2 = (inner2avg + outer2avg)/4 # cm, radius measurement for second ring\n", "#\n", "errorRadius1 = 0.01 # cm\n", "errorRadius2 = 0.01 # cm\n", "#\n", "sphereRad = 15.85 # cm\n", "sphereDiam = 2*sphereRad # cm\n", "#\n", "sinTheta1 = sinTheta(sphereDiam, radius1)\n", "sinTheta2 = sinTheta(sphereDiam, radius2)\n", "print(\" \")\n", "print(\"sinTheta1\",sinTheta1)\n", "print(\"sinTheta2\",sinTheta2)\n", "#\n", "d1 = 213*10**-12 # metres\n", "d2 = 123*10**-12 # metres\n", "#\n", "Lambda1 = 2*d1*sinTheta1 # m\n", "Lambda2 = 2*d2*sinTheta2 # m\n", "#\n", "Lambda1error = 2*d1/(2*sphereRad)*errorRadius1 # m\n", "Lambda2error = 2*d2/(2*sphereRad)*errorRadius2 # m\n", "#\n", "lambdaarray = np.ones(nLen)\n", "Lambda1error = Lambda1error*lambdaarray\n", "Lambda2error = Lambda2error*lambdaarray\n", "#\n", "e = 1.6e-19 # Coulombs\n", "me = 9.11e-31 # kilogrammes\n", "#\n", "# Electron momentum\n", "p = np.sqrt(2*e*me*Voltage) # kg m/s\n", "#\n", "pError = errorVoltage/np.sqrt(Voltage)*np.sqrt(me*e/2) # kg m/s\n", "#\n", "invP = 1/p \n", "invPerror= pError/p**2\n", "#\n", "print(\" \")\n", "print(\"Measurements\")\n", "print(\"Potential (V) \\t Radius 1 (cm) \\t Radius 2 (cm)\")\n", "for n in range (0, nLen):\n", " print(\"{:3.2f} \\t {:3.2f} \\t\\t {:3.2f}\".format(Voltage[n], radius1[n], radius2[n]))\n", "#\n", "print(\" \")\n", "print(\"Calculated wavelengths and momenta\")\n", "print(\"Lamda 1 (m) \\t\\t Lamda 2 (m) \\t\\t p (kg*m/s) \\t\\t 1/p (s/(kg*m))\")\n", "for n in range (0, nLen):\n", " print(\"{:.2e} +- {:.2e} \\t {:.2e} +- {:.2e} \\t {:.2e} +- {:.2e} \\t {:.2e} +- {:.2e}\"\n", " .format(Lambda1[n], Lambda1error[n], Lambda2[n], Lambda2error[n], p[n], pError[n], invP[n], invPerror[n]))" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Choose appropriate scale factors for data before performing fit\n", "Max(1/p) = 3.381467323321354e+22\n", "Max(Lambda 1) = 3.3193186902161997e-11\n", " \n", "Scaling factor x data 1e+22\n", "Scaling factor y data 1e-10\n", " \n", "Fit data set 1\n", " \n", "Fit quality:\n", "chisq per point = \n", " [ 0.343 0.416 8.114 0.331 10.585 0.84 0.046 3.247]\n", "chisq = 23.92, chisq/NDF = 3.99.\n", " \n", "Parameters returned by fit:\n", "Intercept = -2.85e-12 +- 9.12e-13 m.\n", "Gradient = 1.00e-33 +- 4.32e-35 Js.\n", " \n" ] }, { "data": { "image/png": "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XJgZLl+K4aqS88/U/3fh/1g9e/U2+8v2bf5+M3j5Y6UlpcwbNI+Pzv+Ixh23vY3euGNj9rt5v7hjmDVrFh988AE/+clP6NWrF9OmTeN3v/sdN954I6+//jq77747K1as4JprruHVV19lxx135Prrr+fGG29k5MiRABQUFDB16lSWL19O586deeONN2jVqhUrV64EYNSoUfzyl7/kvvvuY9WqVXTs0pEzTzoTgHfeeYf333+fRo0a0bVrV4499liuu+463n//fWbPnh13P0REMklJSZiz/c47oUMHePTR3JkZrrZyPqlXy2u4vxa6detG8+bNAejYsSOLFi2id+/e5dpMnz6dDz/8kF69egGwYcMGevbsueX4KaecsqXdoYceSqtWrQC2jKZfeeUVxo0bx5gxYwBYv349S5YsAeCII46gSZMmAJx44olMnTqV448/PnEdFBFJsXwuhqtKzif16kbUb7V8i/WLt107vWGLhvRc1DPGK2quYdR/afXr12fTpk3btHF3jjjiiJjzuANbFnNxdyzGZzLcnSeffJI2bdoAYe73A/Y4gLfffnub9rFeLyKSDUpL4Z//hBEjYLfdQjFcPj47r0zeP1NvPao19RqV/zHUa1SP1qNaJ/29o5da7dGjB9OmTWPhwoUAlJSU8NFHH23zmp49ezJ58mQ+/fRTgC2334866ihuvfVW3MMthnlz5215zYQJE1i5ciVr167lmWeeoVevXtss8yoiUmfFxdCyJdSrF/4tLk7o6aOL4Y46KiyTqoReXt4n9WaFzWhT1AZrGEav9ZrXo01RG5oVNkv6ew8dOpSjjz6avn37sscee3D//fczYMAA2rdvT48ePZg/f/42r9ljjz0oKirixBNPpEOHDltuy19xxRVs3LiR9u3b065dO2697tYtr+nduzeDBg2iY8eOnHTSSRx88ME0adKEXr160a5du5iFclrOVURqpLgYhg6FxYvBPfw7dGjCEvvzz4diuDfegDvugGefhT32SMipc0rO336PR7PCZiy7exkQJp9ptkfdE3pZ5XqfPn3o06fPlv233Xbblu8vuOACLrjggi3bv/zlL5kxY8Y251q0aFG57aOPPpqjjz663L4ddtiBsWPHbtmOXnq1adOm5d63zCOPPFJp/JU9BhCRPBX1eyym6dNhfYVHmSUlMGTIlqWtKzWw8kNr14Zi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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def fitLine(p, x):\n", " '''\n", " Straight line\n", " '''\n", " f = p[0] + p[1]*x\n", " return f\n", "#\n", "def fitLineDiff(p, x):\n", " '''\n", " Differential of straight line\n", " '''\n", " df = p[1]\n", " return df\n", "#\n", "def fitChi(p, x, y, xerr, yerr):\n", " '''\n", " Cost function\n", " '''\n", " e = (y - fitLine(p, x))/(np.sqrt(yerr**2 + fitLineDiff(p, x)**2*xerr**2))\n", " return e\n", "#\n", "# Set initial values of fit parameters, run first fit\n", "print(\" \")\n", "print(\"Choose appropriate scale factors for data before performing fit\")\n", "print(\"Max(1/p) =\",np.amax(invP))\n", "print(\"Max(Lambda 1) =\",np.amax(Lambda1))\n", "scaleX = 1.0e22\n", "scaleY = 1.0e-10\n", "print(\" \")\n", "print(\"Scaling factor x data\",scaleX)\n", "print(\"Scaling factor y data\",scaleY)\n", "print(\" \")\n", "print(\"Fit data set 1\")\n", "#\n", "xData = invP/scaleX\n", "yData = Lambda1/scaleY\n", "xError = invPerror/scaleX\n", "yError = Lambda1error/scaleY\n", "#\n", "nPoints = nLen\n", "#\n", "pInit = [1.0, 1.0]\n", "out = least_squares(fitChi, pInit, args=(xData, yData, xError, yError))\n", "#\n", "fitOK = out.success\n", "#\n", "# Test if fit failed\n", "if not fitOK:\n", " print(\" \")\n", " print(\"Fit failed\")\n", "else:\n", " #\n", " # get output\n", " pFinal = out.x\n", " #\n", " # Apply scale factors to get values of intercept and gradient in same units as input data\n", " cVal1 = pFinal[0]*scaleY\n", " mVal1 = pFinal[1]*scaleY/scaleX\n", " #\n", " # Calculate chis**2 per point, summed chi**2 and chi**2/NDF\n", " chiarr = fitChi(pFinal, xData, yData, xError, yError)**2\n", " chisq = np.sum(chiarr)\n", " NDF = nPoints - 2\n", " redchisq = chisq/NDF\n", "#\n", " np.set_printoptions(precision = 3)\n", " print(\" \")\n", " print(\"Fit quality:\")\n", " print(\"chisq per point = \\n\",chiarr)\n", " print(\"chisq = {:5.2f}, chisq/NDF = {:5.2f}.\".format(chisq, redchisq))\n", " #\n", " # Compute covariance\n", " jMat = out.jac\n", " jMat2 = np.dot(jMat.T, jMat)\n", " detJmat2 = np.linalg.det(jMat2)\n", " #\n", " if detJmat2 < 1E-32:\n", " print(\"Value of determinat detJmat2\",detJmat2)\n", " print(\"Matrix singular, error calculation failed.\")\n", " print(\" \")\n", " print(\"Parameters returned by fit:\")\n", " print(\"Intercept = {:5.2f}\".format(cVal))\n", " print(\"Gradient = {:5.2f}\".format(mVal))\n", " print(\" \")\n", " cErr1 = 0.0\n", " mErr1 = 0.0\n", " else:\n", " covar = np.linalg.inv(jMat2)\n", " #\n", " # Apply scale factors to get errors of intercept and gradient in same units as input data\n", " cErr1 = np.sqrt(covar[0, 0])*scaleY\n", " mErr1 = np.sqrt(covar[1, 1])*scaleY/scaleX\n", " #\n", " print(\" \")\n", " print(\"Parameters returned by fit:\")\n", " print(\"Intercept = {:5.2e} +- {:5.2e} m.\".format(cVal1, cErr1))\n", " print(\"Gradient = {:5.2e} +- {:5.2e} Js.\".format(mVal1, mErr1))\n", " print(\" \")\n", " #\n", " # Calculate fitted function values\n", " nPlot = 2\n", " xPlot = np.linspace(0.0, 1.2*np.max(xData), nPlot)\n", " fitPlot1 = fitLine(pFinal, xPlot)\n", " #\n", " # Make plots\n", " fig = plt.figure(figsize = (8, 6))\n", " plt.title('Data set 1 with fit')\n", " plt.xlabel('1/p (s/(kg $\\\\times$ m)) $\\\\times$ ' + str(scaleX))\n", " plt.ylabel('$\\\\lambda_1$ (m) $\\\\times$ ' + str(scaleY))\n", " plt.errorbar(xData, yData, xerr = xError, yerr = yError, marker = 'o', color = 'r', \n", " linestyle = '', label = \"Data 1\") \n", " plt.errorbar(0.0, cVal1/scaleY, xerr = 0.0, yerr = cErr1/scaleY, marker = 'o', color = 'm', label = \"Intercept 1\") \n", " plt.plot(xPlot, fitPlot1, color = 'b', linestyle = '-', label = \"Fit 1\")\n", " plt.grid(color = 'g')\n", " plt.legend()\n", " plt.show() " ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Fit data set 2\n", " \n", "Fit quality:\n", "chisq per point = \n", " [6.209e+00 1.720e-02 1.019e+01 5.305e-02 1.749e-04 8.171e-02 8.773e-02\n", " 9.967e-01]\n", "chisq = 17.63, chisq/NDF = 2.94.\n", " \n", "Parameters returned by fit:\n", "Intercept = -4.74e-12 +- 6.00e-13 m.\n", "Gradient = 6.81e-34 +- 2.85e-35 Js.\n", " \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#\n", "# Set initial values of fit parameters, run second fit\n", "print(\" \")\n", "print(\"Fit data set 2\")\n", "#\n", "xData2 = invP/scaleX\n", "yData2 = Lambda2/scaleY\n", "xError2 = invPerror/scaleX\n", "yError2 = Lambda2error/scaleY\n", "#\n", "pInit = [1.0, 1.0]\n", "out = least_squares(fitChi, pInit, args=(xData2, yData2, xError2, yError2))\n", "#\n", "fitOK = out.success\n", "#\n", "# Test if fit failed\n", "if not fitOK:\n", " print(\" \")\n", " print(\"Fit failed\")\n", "else:\n", " #\n", " # get output\n", " pFinal = out.x\n", " #\n", " # Apply scale factors to get values of intercept and gradient in same units as input data\n", " cVal2 = pFinal[0]*scaleY\n", " mVal2 = pFinal[1]*scaleY/scaleX\n", " #\n", " # Calculate chis**2 per point, summed chi**2 and chi**2/NDF\n", " chiarr = fitChi(pFinal, xData2, yData2, xError2, yError2)**2\n", " chisq = np.sum(chiarr)\n", " NDF = nPoints - 2\n", " redchisq = chisq/NDF\n", "#\n", " np.set_printoptions(precision = 3)\n", " print(\" \")\n", " print(\"Fit quality:\")\n", " print(\"chisq per point = \\n\",chiarr)\n", " print(\"chisq = {:5.2f}, chisq/NDF = {:5.2f}.\".format(chisq, redchisq))\n", " #\n", " # Compute covariance\n", " jMat = out.jac\n", " jMat2 = np.dot(jMat.T, jMat)\n", " detJmat2 = np.linalg.det(jMat2)\n", " #\n", " if detJmat2 < 1E-32:\n", " print(\"Value of determinat detJmat2\",detJmat2)\n", " print(\"Matrix singular, error calculation failed.\")\n", " print(\" \")\n", " print(\"Parameters returned by fit:\")\n", " print(\"Intercept = {:5.2e}\".format(cVal))\n", " print(\"Gradient = {:5.2e}\".format(mVal))\n", " print(\" \")\n", " cErr2 = 0.0\n", " mErr2 = 0.0\n", " else:\n", " covar = np.linalg.inv(jMat2)\n", " #\n", " # Apply scale factors to get errors of intercept and gradient in same units as input data\n", " cErr2 = np.sqrt(covar[0, 0])*scaleY\n", " mErr2 = np.sqrt(covar[1, 1])*scaleY/scaleX\n", " #\n", " print(\" \")\n", " print(\"Parameters returned by fit:\")\n", " print(\"Intercept = {:5.2e} +- {:5.2e} m.\".format(cVal2, cErr2))\n", " print(\"Gradient = {:5.2e} +- {:5.2e} Js.\".format(mVal2, mErr2))\n", " print(\" \")\n", " #\n", " # Calculate fitted function values\n", " nPlot = 2\n", " xPlot = np.linspace(0.0, 1.2*np.amax(xData), nPlot)\n", " fitPlot2 = fitLine(pFinal, xPlot)\n", " #\n", " # Make plot\n", " fig = plt.figure(figsize = (8, 6))\n", " plt.title('Data set 2 with fit')\n", " plt.xlabel('1/p (s/(kg $\\\\times$ m)) $\\\\times$ ' + str(scaleX))\n", " plt.ylabel('$\\\\lambda_2$ (m) $\\\\times$ ' + str(scaleY))\n", " plt.errorbar(xData2, yData2, xerr = xError2, yerr = yError2, marker = 'o', color = 'r', \n", " linestyle = '', label = \"Data 2\") \n", " plt.errorbar(0.0, cVal2/scaleY, xerr = 0.0, yerr = cErr2/scaleY, marker = 'o', color = 'c', label = \"Intercept 2\") \n", " plt.plot(xPlot, fitPlot2, color = 'b', linestyle = '-', label = \"Fit 2\")\n", " plt.grid(color = 'g')\n", " plt.legend()\n", " plt.show() " ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Combined plot \n", " \n" ] }, { "data": { "image/png": "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zfOvpcqLyUvu+Q0e7B+AA3hu8lo6NSn/nMTBRtN52rdvz7Jly/a/fvjhhwGoUaMGM2bMOGDdYOvl169fP4I9N6iucSJSyL59fu71f/7T3yOfPRv69g13VFKBYj6hw2/3y1fqYTIRiUaLF8OQIbBihX8A7tFHoV69cEclFSymL7mLiES17Gx46CE/7/r27fDJJ/D880rmUUojdBGRaPTDD3D55fDNN3DhhfDcc9CoUbijkkqkEbqISDRxzo/CExNh1Sp4+214910l8xigEbqISLTYsMFPdTltmp/CdcIEOKJQY0uJUhqhA/0XL6b/4sXhDkNEpOzeeQeOOQa+/NJfXp86Vck8xiihV4J6JXjg5IknniAtLS0E0RS2c+dOnnvuuaDvJScnM2DAADp27Ejnzp158sknQxydiJTK9u1w8cUwaBB06ABLlsC112oe9hgU8wl90pYtzN29my927eLUNduYtGVLSPZbloR+sPr20jhYQq9evTr//Oc/WbVqFXPnzuXZZ59l5UrVtYtEoj7Ld0GXLvDee36Kyy+/hPbtwx2WhElMJ/RJW7YwYvVqMgKTs2zKymXE6tUVltRnzZpF//79Of/88zn66KMZPHgwzjmeeuopNm7cyIABAxgwYAAAn376KX369KF79+5ccMEF7N27F4A2bdrwwAMP0K9fPyZPnszUqVPp3r073bp145RTTgHg119/5YorruC4447j2GOP5fP/fQ7AxIkTOfvssznjjDPo0KED999/P+Bbtf74448kJiYyatSoA2JWS1aRKmDvXrj2Wp5+ei0cdpif7e1vf4PqeiwqlkX12b/phx9YEkiM+eUt252TQ8F51tJycxmyahXXr1lDYpBL54n16vFEKf4CXrx4MStWrKBFixb07duXOXPmcOONN/L4448zc+ZMGjduzLZt23jwwQf57LPPqFu3LmPHjuXxxx/n3nvvBSA+Pp6vvvqK1NRUunfvzuzZs2nbti3bt28HYPTo0Zx88slMmDCBnTt3ktgjkWHnDQNg3rx5LF++nDp16nDcccdx5plnMmbMGJYvX86SJUsOGnv+lqwiEiG+/houuwx++onXT2vGZVMWQBHNmyS2xPQIvahm6xXZhP34448nISGBatWqkZiYyLp16wqtM3fuXFauXEnfvn1JTEzktddeY32+NnAXXXTR/vVOPPFE2rZtC8Bh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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#\n", "# Make combined plot\n", "print(\" \")\n", "print(\"Combined plot \")\n", "print(\" \")\n", "fig = plt.figure(figsize = (8, 6))\n", "plt.title('Data sets 1 and 2 with fits')\n", "plt.xlabel('1/p (s/(kg $\\\\times$ m)) $\\\\times$ ' + str(scaleX))\n", "plt.ylabel('$\\\\lambda$ (m) $\\\\times$ ' + str(scaleY))\n", "plt.errorbar(xData, yData, xerr = xError, yerr = yError, \n", " marker = 'o', color = 'r', linestyle = '', label = \"Data 1\") \n", "plt.plot(xPlot, fitPlot1, color = 'r', linestyle = '-', label = \"Fit 1\")\n", "plt.errorbar(0.0, cVal1/scaleY, xerr = 0.0, yerr = cErr1/scaleY, marker = 'o', color = 'm', label = \"Intercept 1\") \n", "plt.errorbar(xData2, yData2, xerr = xError2, yerr = yError2, \n", " marker = 'o', color = 'b', linestyle = '', label = \"Data 2\") \n", "plt.errorbar(0.0, cVal2/scaleY, xerr = 0.0, yerr = cErr2/scaleY, marker = 'o', color = 'c', label = 'Intercept 2') \n", "plt.plot(xPlot, fitPlot2, color = 'c', linestyle = '-', label = \"Fit 2\")\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "plt.savefig('ElectronDiffractionPlot.png')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Intercept values are compatible.\n", "Combined intercept -4.17e-12 +- 5.01e-13 m.\n", "The intercept is not compatible with zero.\n", "Gradient values not compatible.\n" ] } ], "source": [ "#\n", "# Compare values from two datasets and combine if appropriate\n", "sigC = abs(cVal1 - cVal2)/(np.sqrt(cErr1**2 + cErr2**2))\n", "sigM = abs(mVal1 - mVal2)/(np.sqrt(mErr1**2 + mErr2**2))\n", "#\n", "sigTest = 5\n", "if sigC < sigTest:\n", " cVal = (cVal1/cErr1**2 + cVal2/cErr2**2)/(1/cErr1**2 + 1/cErr2**2)\n", " cErr = 1/np.sqrt(1/cErr1**2 + 1/cErr2**2)\n", " print(\" \")\n", " print(\"Intercept values are compatible.\")\n", " print(f\"Combined intercept {cVal:.2e} +- {cErr:.2e} m.\")\n", " sigZero = abs(cVal/cErr)\n", " if sigZero < sigTest:\n", " print(\"The intercept is compatible with zero.\")\n", " else:\n", " print(\"The intercept is not compatible with zero.\")\n", "else:\n", " print(\"Intercept values not compatible.\")\n", "#\n", "if sigM < sigTest:\n", " mVal = (mVal1/mErr1**2 + mVal2/mErr2**2)/(1/mErr1**2 + 1/mErr2**2)\n", " mErr = 1/np.sqrt(1/mErr1**2 + 1/mErr2**2)\n", " print(\" \")\n", " print(\"Gradient values are compatible.\")\n", " print(f\"Combined gradient {mVal:.2e} +- {mErr:.2e} Js.\")\n", " #\n", " # Compare with expected value\n", " hBook = 6.625e-34\n", " sigResult = abs(hBook - mVal)/mErr\n", " print(f\"The accepted value of Planck's constant is {hBook:.3e} Js.\")\n", " print(f\"The two values differ by {sigResult:.1f} times the measured error.\")\n", " if sigResult < sigTest:\n", " print(\"The measurements here can be considered compatible with the standard result.\")\n", " else:\n", " print(\"The measurements here cannot be considered compatible with the standard result.\")\n", "else:\n", " print(\"Gradient values not compatible.\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Results\n", "\n", "The value of Planck's constant obtained here is $(7.8 \\pm 0.5) \\times 10^{-34}$ Js. This is compatible with the accepted value \n", "$h = 6.626 \\times 10^{-34}$ Js." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More plots\n", "\n", "### Lines" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "xArr = np.linspace(1, 6, 51)\n", "yArr05 = np.sqrt(xArr)\n", "yArr2 = xArr**2\n", "yArr3 = xArr**3\n", "plt.figure(figsize = (6, 4))\n", "plt.title(\"Some functions\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr05, linestyle = '-', color = 'c', label = \"sqrt\")\n", "plt.plot(xArr, yArr2, linestyle = ':', color = 'b', label = \"quadratic\")\n", "plt.plot(xArr, yArr3, linestyle = '--', color = 'r', label = \"cubic\")\n", "plt.legend()\n", "plt.grid(color = 'g')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize = (6, 4))\n", "plt.title(\"Some functions, log y axis\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr05, linestyle = '-', color = 'c', label = \"sqrt\")\n", "plt.plot(xArr, yArr2, linestyle = ':', color = 'b', label = \"quadratic\")\n", "plt.plot(xArr, yArr3, linestyle = '--', color = 'r', label = \"cubic\")\n", "plt.yscale('log')\n", "plt.legend()\n", "plt.grid(color = 'g')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Points with errorbars" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#\n", "# nPoints is the number of data points\n", "nPoints = 10\n", "#\n", "# Define numpy arrays, initially filled with zeros, to store x and y values\n", "xData = np.zeros(nPoints)\n", "yData = np.zeros(nPoints)\n", "#\n", "# Define arrays to store the errors in x and y\n", "xError = np.zeros(nPoints)\n", "yError = np.zeros(nPoints)\n", "#\n", "# Enter the data\n", "xData[0] = 1.50\n", "xData[1] = 2.31\n", "xData[2] = 2.78\n", "xData[3] = 3.58\n", "xData[4] = 4.08\n", "xData[5] = 4.76\n", "xData[6] = 5.62\n", "xData[7] = 7.02\n", "xData[8] = 8.45\n", "xData[9] = 9.65\n", "#\n", "yData[0] = 14.3\n", "yData[1] = 20.2\n", "yData[2] = 30.1\n", "yData[3] = 36.5\n", "yData[4] = 42.7\n", "yData[5] = 47.1\n", "yData[6] = 52.9\n", "yData[7] = 68.8\n", "yData[8] = 85.2\n", "yData[9] = 99.4\n", "#\n", "# Enter the errors\n", "xError[0] = 0.21\n", "xError[1] = 0.11\n", "xError[2] = 0.43\n", "xError[3] = 0.13\n", "xError[4] = 0.17\n", "xError[5] = 0.18\n", "xError[6] = 0.15\n", "xError[7] = 0.19\n", "xError[8] = 0.17\n", "xError[9] = 0.11\n", "#\n", "yError[0] = 2.1\n", "yError[1] = 1.7\n", "yError[2] = 3.3\n", "yError[3] = 1.1\n", "yError[4] = 0.9\n", "yError[5] = 1.1\n", "yError[6] = 1.5\n", "yError[7] = 0.9\n", "yError[8] = 1.2\n", "yError[9] = 2.9\n", "#\n", "# Plot data\n", "fig = plt.figure(figsize = (8, 6))\n", "plt.title('Data with errors')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.errorbar(xData, yData, xerr = xError, yerr = yError, color = 'r', \n", " marker = '+', linestyle = '', label = \"Data\") \n", "plt.xlim(1.0, 11.0)\n", "plt.ylim(10.0, 110.0)\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "plt.savefig(\"ErrorBarPlot.png\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Histograms (with mean and standard deviation)\n", "\n", "A histogram shows the frequency with which values occur in a dataset. The data are split into \"bins\", the lower and upper limits of which are indicated by the edges of the bars in the plot. The area of each of the bars is proportional to the number of data points that fall within the bin. (Most histograms use bins of equal width, in which case the height of the bin indicates the number of entries it contains.) Here, a histogram is plotted using defined, rather than accepting those calculated by matplotlib. (A complete description of `plt.hist` is provided [here](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html).)\n", "\n", "The mean and standard deviation of the distribution are also calculated and displayed on the plot." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "gaussArr\n", " [ 3.501 5.479 6.768 5.229 3.83 10.654 6.862 6.865 4.04 4.736\n", " 7.155 5.75 7.958 9.19 3.596 3.247 8.109 5.922 7.361 8.658\n", " 8.567 2.483 7.229 9.033 5.608 4.366 4.108 6.441 4.799 5.695\n", " 3.625 6.598 4.104 2.313 7.621 4.495 5.127 6.095 5.498 6.334\n", " 7.331 9.394 8.107 6.585 4.351 6.202 6.497 9.431 5.245 1.803\n", " 4.794 4.962 1.575 5.188 5.407 6.543 5.082 6.928 3.945 6.345\n", " 7.187 5.384 4.153 4.594 8.027 9.057 7.052 9.378 6.025 7.681\n", " 5.818 8.064 6.968 5.22 5.796 9.695 7.349 3.214 4.842 5.503\n", " 4.954 6.94 4.159 5.94 6.163 8.071 3.523 5.809 2.616 7.319\n", " 6.732 6.121 7.118 2.56 6.821 4.766 9.242 6.503 9.556 9.467\n", " 5.061 4.749 4.759 6.978 9.18 4.651 5.62 2.469 8.745 6.662\n", " 12.211 4.865 5.729 4.675 6.623 5.843 8.017 5.903 5.347 4.104\n", " 5.465 4.441 5.358 4.93 7.49 8.439 4.319 7.216 6.859 3.971\n", " 3.705 9.736 8.673 2.48 4.591 6.99 5.839 3.619 6.939 5.181\n", " 9.829 9.407 3.157 5.746 4.773 1.779 4.491 6.465 3.288 6.942\n", " 6.025 5.832 9.285 3.981 4.45 7.08 5.502 7.005 4.307 6.729\n", " 9.311 3.968 4.407 7.583 6.509 4.378 4.62 4.975 6.674 6.11\n", " 2.828 4.471 3.714 4.883 3.972 8.306 7.667 10.861 7.494 8.885\n", " 2.344 5.938 3.178 11.319 8.202 8.116 3.119 2.521 5.646 6.015\n", " -0.354 5.07 4.113 2.907 7.56 5.218 3.773 6.298 5.901 5.581\n", " 5.314 7.076 2.205 8.397 5.726 4.866 7.333 4.92 7.663 5.871\n", " 8.209 2.922 3.285 5.325 4.949 6.844 6.463 7.637 5.401 3.609\n", " 6.564 9.051 4.395 8.109 6.643 5.543 9.829 7.736 5.825 9.994\n", " 1.882 4.939 6.328 4.961 2.762 6.371 4.212 8.454 3.092 5.579\n", " 4.276 8.263 6.508 7.398 3.576 6.471 3.742 5.07 8.728 0.788\n", " 8.671 8.745 2.525 6.692 5.23 3.511 6.853 8.167 6.488 4.903\n", " 7.451 8.079 5.308 5.76 6.334 7.615 2.862 3.362 3.064 6.268\n", " 3.217 7.349 7.339 4.834 6.353 7.384 5.814 6.784 1.493 7.34\n", " -0.276 5.032 7.896 2.971 5.631 2.391 7.096 6.012 8.051 6.855\n", " 6.131 6.341 1.957 9.503 4.893 7.172 3.262 5.604 4.512 7.244]\n", " \n", "Histogram bins start at -1.0 finish at 13.0\n", "Number of bins is 14 and width of bins is 1.0\n" ] }, { "data": { "image/png": "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3qV8Nhm6+dDC+2m0sowzM1myZAnz589n++23r/l1HiqXpAZ54403GDhwYF1CW2ufiGDgwIGrfcTF4JakBjK0e7d38v03uCWpF4sIjj322NblZcuWsfnmmzN+/PgGVgVXXHEFP/rRjwC45pprWLhwYeu6pqYmFi9e3OXrZ86cySmnnALA9OnT+d3vfldcsXVmcEtSWVx7LTQ1wTrrVB6vvfZdv+X666/PnDlzeP311wGYNm0agwcPftfv+26ddNJJfPaznwVWDe5aNDc3c8kllwDFBHdm8vbbb3e63Jnly5e/674Nbkkqg2uvhYkT4YknILPyOHHiGgnvj33sY9xxxx0AXHfddRx11FGt61599VUmTJjArrvuyujRo7ntttsAaGlpYe+992bMmDGMGTOmNRinT5/OPvvsw2GHHcbOO+/MMcccQ2au1N8zzzzD2LFjAXjwwQeJCJ588kkA3ve+9/Haa69xzjnncOGFF3LTTTcxc+ZMjjnmGEaNGtX6B8all17KmDFjGDFiBH/+859XGdP06dMZP348LS0tXHHFFXzve99j1KhRzJgxgxtvvJHhw4czcuRIxo0b1+G/yQUXXMCuu+7KLrvswtlnn9065qFDh/L5z3+eMWPGMGPGjJWWn3rqKb7yla8wfPhwRowYwQ033NBay7777svRRx/NiBEj3tk3qQ1nlUvS2uC002D27FXbV7S99FIlsNt67TU49lj4whdg1KhVXztqFFx8cbddH3nkkXzzm99k/PjxPPTQQ0yYMIEZM2YAcO6557Lffvtx9dVX88ILL7DbbrvxkY98hC222IJp06bRv39/5s2bx1FHHdV6aeoHHniARx55hG222YY999yT3/72t+y1116t/W2xxRa88cYbvPTSS8yYMYPm5mZmzJjBXnvtxRZbbMGAAQNatz3ssMO47LLLuPDCC2lubm5tHzRoEPfffz/f//73ufDCC7nqqqs6HFtTUxMnnXQSG2ywAWeccQYAI0aM4Be/+AWDBw/mhRdeWOU1d911F/PmzePee+8lMznkkEO455572G677Xj00Uf54Q9/yPe//31aWlpWWr755puZPXs2Dz74IIsXL2bXXXdt/cPg3nvvZc6cOas1e7wzBrcklUH70O6ufTXssssutLS0cN111/Hxj398pXV33XUXU6dO5cILLwQqM+GffPJJttlmG04++WRmz55Nnz59eOyxx1pfs9tuuzFkyBAARo0aRUtLy0rBDfDBD36Q3/72t9xzzz18/etf58477yQz2XvvvWuq+VOf+hQAY8eO5ZZbblmt8e65554cf/zxHHHEEa3v037Md911F6NHjwbglVdeYd68eWy33Xa8973vZffdd2/dtu3yb37zG4466ij69OnDlltuyYc+9CHuu+8+NtpoI3bbbbc1EtpgcEvS2qG7PeOmpsrh8fbe+15oaXnX3R9yyCGcccYZTJ8+nSVLlrS2ZyY333wzO+2000rbn3POOWy55ZY8+OCDvP322/Tv3791Xb9+/Vqf9+nTh2XLlq3S3957782MGTN44oknOPTQQ/nOd75DRNQ8KW5FH529f1euuOIK/vjHP3LHHXcwatQoZs+ezcCBA1ca85lnnsmJJ5640utaWlpYf/31V2pru9z+lEBn271bBrekTj284EWaJt1R1z5bzjuorv2VxrnnVs5pv/ba/7YNGFBpXwMmTJjAxhtvzIgRI5g+fXpr+wEHHMCll17KpZdeSkTwwAMPMHr0aF588UWGDBnCOuusw5QpU1Z70tW4ceP4xje+wbhx41hnnXXYbLPN+NnPfsa3v/3tVbbdcMMNefnll9/x2DbccENeeuml1uW//vWvfOADH+ADH/gAP/3pT3nqqadWCu4DDjiAs846i2OOOYYNNtiABQsW1HRls3HjxnHllVdy3HHH8dxzz3HPPfdwwQUXdHgO/t1wcpoklcExx8DkyZU97IjK4+TJlfY1YMiQIZx66qmrtJ911lksXbqUXXbZheHDh3PWWWcB8PnPf54pU6aw++6789hjj632HmVTUxNA6zngvfbai0022YRNN910lW2PP/54TjrppJUmp62Ogw8+mFtvvbV1ctpXvvIVRowYwfDhwxk3bhwjR45cafuPfvSjHH300eyxxx6MGDGCww47rKY/HD75yU+yyy67MHLkSPbbbz/OP/98ttpqq9WutzvR1a792qK5uTm9H3c5OM6epd/ZO7L1mxfXtc9G7HE36vs5d+5chg6t36U5//Tsn3j/5u+vW3+NUrZxdvRzEBGzMrO5o+3d45YkqUQMbkmSSsTgliSpRJxVLpVEvWd3A9Cv+00k1Zd73JIklYjBLUlSiRjcktSL9enTh1GjRjF8+HAOPvjg1mt3t7S0EBGtn9sGWLx4MX37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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#\n", "# Read in an array\n", "gaussArr = np.loadtxt(\"normDistArr.csv\")\n", "print(\" \")\n", "print(\"gaussArr\\n\",gaussArr)\n", "#\n", "binBot = -1.0\n", "binTop = 13.0\n", "binNumber = 14\n", "binEdges = np.linspace(binBot, binTop, binNumber + 1)\n", "binWidth = (binTop - binBot)/binNumber\n", "print(\" \")\n", "print(\"Histogram bins start at\",binBot,\"finish at\",binTop)\n", "print(\"Number of bins is\",binNumber,\"and width of bins is\",binWidth)\n", "#\n", "nEvents = len(gaussArr) # determine length of gaussArr\n", "mu = np.mean(gaussArr) # calculate arithmetic mean of numbers in array\n", "sigma = np.std(gaussArr) # calculate standard deviation (error on single value)\n", "muError = sigma/np.sqrt(nEvents) # calculate error of mean\n", "yMu = nEvents/20\n", "ySigma = 1.2*nEvents/20\n", "#\n", "plt.figure(figsize = (8, 6))\n", "plt.title('Normal distribution', fontsize = 14)\n", "plt.xlabel('Data')\n", "plt.ylabel('Relative frequency')\n", "plt.hist(gaussArr, bins = binEdges)\n", "plt.errorbar(mu, yMu, xerr = muError, marker = 'o', color = 'r', \n", " label = 'Mean with its error')\n", "plt.errorbar(mu, ySigma, xerr = sigma/2, marker = '', color = 'b', label = 'RMS')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiple plots in one figure" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "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jB07Nsepqt+O5C4sLKRTp040aNCgmlNJkraGtWrzrFOS8lmta7BmzpxJ8+bN6dq1KyGELT4/Loj02rlXDSSrXtubO8bIokWLmDlzJt26dctBMknSllirNvMa65SkPFfrpgiuXbuWNm3abFXBqotCCLRp02arvzWVJFU/a1XVrFOS8l2ta7AAC9YW+PlIUvr8u7hqfjaS8lmtbLAkSZIkKQ02WLXMNddcQ+fOnWnWrFnaUSRJ2sTq1as5+uij2WuvvejTpw9XXXVV2pEkqVrZYGVIaWnpDh/j2GOP5d13362GNJIkbao6atUVV1zBuHHj+PDDD3n77bd5/vnnqyGZJGWDDVYOPPzww/Tv358BAwZw5plnAnDWWWcxbNiwT5+zfoTp9ddf5+CDD+a0006jX79+XHnlldx1112fPu/666/ntttuA+AXv/gF++67L/379+eOn99R6Xvvv//+tG/fPle/miSplkirVjVp0oSDDz4YgIYNG7L33nszc+bMnP2eklTTat0y7Rs76KBN7/v61+Hb34bVq+GsE3ajyUbbbJx1VnJZuBBOOWXDx15/ffPvN3r0aG666Sbefvtt2rZty+LFi7eY8d1332XUqFF069aNDz/8kEsvvZRvf/vbADz++OO88MILvPTSS0ycOJF3332XGCNfOeIrvPnmm3zpS1/a4vElSRl30EGfFZ/iYjjsMDj3XDjjDFi9mt1OOAsuvhz+7/9g2TI4/ni4+GI46aTPitXll8Oxx8LcudCu3WbfLiu1aunSpfzjH//gkksu2bbPS5IyzBGsavbqq69yyimn0LZtWwBat269xdfst99+n+71MWjQIObPn8/s2bMZMWIErVq1okuXLrz00ku89NJLDBo0iL333pvJEyczceLEnP4ukrQt5s+HL34RPvgg7STakizUqpKSEk499VQuvvhiunfvXn2/nCRtzosvwuzZOX2LWj+CtbkRpyZN4MG/T6P3zr0rfbxt2y2PWG0sxljp8rL169enrKzs0+cUFRV9+ljTpk03eO4pp5zCsGHDmDt3LkOGDPn0NVdffTUXXHABAGMWjKkytySl4bbb4H//S/5u1TaqWGwaNNjwdpMmTPv7g5/9nd+y5YaPb1ystjB6BdmoVeeffz49evTg0ksv3WJeSaoWa9fC0KFw4IHwxBM5extHsKrZIYccwuOPP86iRYsA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SqKwsJCzzjqL6tWr8/DDD7s0UJKkBLhEUJIqibvvvpt///vfPPHEE+ywww5Jx5EkqUpyBkuSKoHJkydzzTXX0LVrV0477bSk40iSVGVZsCQpzRUUFHDmmWeSm5vLgw8+6NJASZIS5BJBSUpzd9xxBx988AHDhg2jcePGSceRJKlKcwZLktLYZ599xnXXXUf37t056aSTko4jSVKVZ8GSpDSVn59Pr169qFOnDv3793dpoCRJKcAlgpKUpm699VbGjx/P8OHDadiwYdJxJEkSzmBJUlr65JNPuOGGGzjllFM44YQTko4jSZJKWLAkKc2sW7eOXr160aBBA+69996k40iSpA24RFCS0syNN97IhAkTeOGFF2jQoEHScSRJ0gacwZKkNDJu3DhuvvlmzjjjDLp27Zp0HEmS9CMWLElKE2vXrqVXr140atSIe+65J+k4kiRpI1wiKElp4vrrr2fSpEm89NJL1KtXL+k4kiRpI5zBkqQ08J///IfbbruN3r1706VLl6TjSJKkTbBgSVKKW716NWeeeSZNmzblrrvuSjqOJEnaDJcISlKK+8tf/sKUKVMYPXo0derUSTqOJEnaDGewJCmFvfvuu9x1113069ePI488Muk4kiRpCyxYkpSiVq1axZlnnsmOO+7I7bffnnQcSZJUCi4RlKQUddVVV/Hll18yZswYateunXQcSZJUCs5gSVIKeuutt7jnnnu48MILOfTQQ5OOI0mSSsmCJUkpZsWKFZx11lnsvPPO3HrrrUnHkSRJW8ElgpKUYi6//HJmzpzJW2+9RW5ubtJxJEnSVnAGS5JSyBtvvEH//v25+OKLOfjgg5OOI0mStpIFS5JSxHfffUfv3r3Zdddduemmm5KOI0mSfgaXCEpSivjDH/7AnDlzeOedd6hZs2bScSRJ0s/gDJYkpYBhw4YxcOBArrjiCg488MCk40iSpJ/JgiVJCZs+fTp9+/blwAMP5Prrr086jiRJ2gYWLElK0Lp16zjllFOoVq0aQ4cOJSsrK+lIkiRpG3gOliQl6JprruGDDz7gH//4By1atEg6jiRJ2kbOYElSQkaNGsXtt99Ov3796N69e9JxJElSGbBgSVIC5s+fT8+ePWnbti1333130nEkSVIZcYmgJFWwoqIievbsyXfffceYMWOoUaNG0pEkSVIZsWBJUgW74447eO2113jw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225TxsmLJtMmr802PUYS0jF3OmYGc1eEBW8uYPaw2WTun0m73u0IISQdaauk09f6e6meeVy/ceNijB2SziFJ0tZKlU0uNvZsaqPNL8Y4ABgA0KFDh/hR34+26RN3GNCBbX2MJKRj7nTMDOYub8899xzdn+5O165dmd15NuP6jUs60lZLl6/1hlI9c+iXXiVbkqTvVfQ27d+EEJoAlLxfUHJ8DtB8g/s1A+ZWcDZJFezdd9/ltNNOo2PHjgwdOpRQzSfVkiQpvVV0wRoB9Cq53At4cYPjPUII1UMILYHWwAcVnE1SBfriiy847rjjaN68Of/85z+pWbNm0pEkSZK2WbktEQwhPAUcAuSFEOYA1wG3As+EEPoAXwEnAsQYJ4UQngE+BwqAC2KMheWVTVKy5s+fT+fOncnMzOTVV18lLy8v6UiSJEllotwKVozxlE3cdPgm7n8TcFN55ZGUGpYvX87RRx/NggULeOutt9h5552TjiRJklRmUmWTC0lVQH5+PieeeCKffvopI0aMoEMHN4mTJEmViwVLUoWIMdKvXz9GjRrFww8/TJcuXZKOJEmSVOYqepMLSVXUtddey6BBg7j22ms5++yzk44jSZJULixYksrdjTfeyI033kifPn24/vrrk44jSZJUbixYksrVLbfcwl/+8hfOOOMMHnroIULwta4kSVLlZcGSVG5uu+02rrrqKk477TQGDRpERkZG0pEkSZLKlQVLUrm44447uPzyy+nRoweDBw+2XEmSpCrBgiWpzN19991cdtllnHTSSTzxxBNkZrphqSRJqhosWJLK1D333MOll15K9+7dGTJkiOVKkiRVKRYsSWXmvvvu45JLLuF3v/sdQ4cOtVxJkqQqx4IlqUz079+fiy66iG7duvHUU0+RlZWVdCRJkqQKZ8GStM0eeughLrjgAo477jiefvppsrOzk44kSZKUCAuWpG3y8MMPc+6553L00UfzzDPPWK4kSVKVZsGS9LM9+uij9O3bly5duvDss89SvXr1pCNJkiQlyoIl6WcZPHgw55xzDp07d7ZcSZIklbBgSdpqjz/+OL179+aII47g+eefJycnJ+lIkiRJKcGCJWmrPPnkk5x55pkcfvjhvPjii5YrSZKkDViwJJXa0KFD6dWrF4ceeigvvvgiNWrUSDqSJElSSrFgSSqVp59+mjPOOINOnToxYsQIatasmXQkSZKklGPBkrRF//jHPzjttNM46KCDGDlyJLm5uUlHkiRJSkkWLEmb9eyzz3LKKadw4IEH8tJLL1muJEmSNsOCJWmTnn/+eXr06EHHjh15+eWXqVWrVtKRJEmSUpoFS9JGvfjii5x00kl06NCBV155hdq1aycdSZIkKeVZsCT9xD//+U9OPPFE9ttvP1599VW22267pCNJkiSlBQuWpB94+eWX6d69O3vvvTejRo2iTp06SUeSJElKGxYsSeu9+uqrHH/88ey1116MHj2aunXrJh1JkiQprViwJAEwatQounXrRtu2bRk9ejT16tVLOpIkSVLasWBJYsSIEXTr1o3dd9+d1157jfr16ycdSZIkKS1ZsKQq7qGHHuL444+nXbt2vP766zRo0CDpSJIkSWnLgiVVUTFGrr32Ws4991yOOuooxowZQ15eXtKxJEmS0lpm0gEkVbz8/Hz69evHoEGD6NOnDw8++CCZmf46kCRJ2lbOYElVzIoVK+jatSuDBg3iuuuu4+GHH7ZcSZIklRGfVUlVyIIFCzj66KMZP348AwYM4Jxzzkk6kiRJUqViwZKqiC+//JLOnTszd+5cXnjhBY499tikI0mSJFU6FiypCvjwww85+uijKSoqYsyYMRxwwAFJR5IkSaqUPAdLquReeeUVDjnkEHJzc3n33XctV5IkSeXIgiVVYoMGDeLYY49lt91247333mO33XZLOpIkSVKlZsGSKqEYI/Nemkfv3r057LDDeOutt2jcuHHSsSRJkio9C5ZUyRQWFnL++eczd8RcTj/9dEaOHEnt2rWTjiVJklQluMmFVImsWrWKU089lRdffJHGnRvz+OOPE0JIOpYkSVKV4QyWVEksXryYI444ghEjRnDvvffS9PimlitJkqQKZsGSKoGZM2fyq1/9ivHjxzN8+HAuvPDCpCNJkiRVSS4RlNLcxx9/TJcuXVizZg2vv/46Bx10UNKRJEmSqixnsKQ09vrrr/PrX/+arKws3n33XcuVJElSwixYUpoaMmQIRx11FC1atOC9995jjz32SDqSJElSlWfBktJMjJHbbruN008/nYMOOoixY8fStGnTpGNJkiQJC5aUVgoLC7nkkku4/PLLOfnkk3n11VepU6dO0rEkSZJUwoIlpYk1a9bQo0cP/v73v/OHP/yBoUOHUr169aRjSZIk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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "xArr = np.linspace(0, 15, 15)\n", "yArr = xArr**2\n", "#\n", "fig = plt.figure(figsize = (12, 16)) # opens a figure \n", "fig.suptitle('Overall title', fontsize=20) # overall title\n", "#\n", "plt.subplot(3, 2, 1) # creates 3 row, 2 column grid, starts in top left square \n", "plt.title(\"Plot 1\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr, linestyle = '--', color = 'b', label = 'curve 1')\n", "plt.legend()\n", "plt.grid(color = 'g')\n", "#\n", "plt.subplot(3, 2, 2) # second square, reading from left to right, top to bottom\n", "plt.title(\"Plot 2\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr, linestyle = ':', color = 'r', label = 'curve 2')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "#\n", "plt.subplot(3, 2, 3) # plot in third square\n", "plt.title(\"Plot 3\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr, linestyle = '-.', color = 'c', label = 'curve 3')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "#\n", "plt.subplot(3, 2, 4) # plot in fourth square\n", "plt.title(\"Plot 4\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr, linestyle = '-', color = 'm', label = 'curve 4')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "#\n", "plt.subplot(3, 2, 5) # plot in fifth square\n", "plt.title(\"Plot 5\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.plot(xArr, yArr, linestyle = '-', color = 'k', label = 'curve 5')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "#\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.8.8" } }, "nbformat": 4, "nbformat_minor": 4 }