{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Lab 01 - CoCalc introduction" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "### _Replace this text with your names!_" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Cocalc ([CoCalc.com](http://cocalc.com)) combines the capabilities of a word processor and a sophisticated calculator. This is a quick introduction to get you started. I assume you have already gone through the first two [mathphys CoCalc links](https://people.goshen.edu/~paulmr/physix/mathphys/) which show you how to sign up for an account and get started with a notebook.\n", "\n", " \n", "### Cells\n", "\n", "There's a dropdown menu above that lets you choose between `Markdown` and `Code`:\n", "+ This cell is a `Markdown` cell, used for **writing**.\n", "+ The cell below is a `Code` cell used for **calculations**, or more generally for coding. See the `sin(...)` example below,\n", "+ There's also a `Raw` option on that menu, which we'll ignore for the time being.\n", "\n", "The language (or 'kernel') that you're using for code cells is also shown in the menu bar above. Yours probably says \"**SageMath 8.3**\" right now, e.g.\n", "\n", "\n", "

\n", "  \n", "

\n", "\n", "## Calculations with `Code` cells\n", "\n", "The code cell below calculates $\\sin^2\\left(\\frac{2\\pi}{3}\\right)$ using the current kernel--**SageMath**. Observe that \n", "+ SageMath has names for many constants (`pi` for $\\pi$). \n", "+ Most of these are _case sensitive_. So you won't get the same effect from `Pi` as `pi`. \n", "+ You must use `*` for multiplication. The caret, `^`, for exponentiation. \n", "+ The square appears at the end because $\\sin^2(2\\pi/3)$ is shorthand for $\\left(\\sin(2\\pi/3)\\right)^2$. \n", "\n", "To carry out the calculation below, \n", "+ Click your mouse **anywhere in the cell** (not just at the end of the line) and \n", "+ then press the `Shift+Enter` keys together.\n", "\n", "A new \"output\" cell will be created with the answer.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3/4" ] }, "execution_count": 1, "metadata": { }, "output_type": "execute_result" } ], "source": [ "( \n", " sin( 2*pi/3 ) \n", ")^2" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "[By the way, work through the rest of this notebook, hitting `Shift+Enter` in each input cell in turn to see the result.]\n", "\n", "+ Notice in the cell above that you can add extra spaces and line breaks (use these for readability) and they'll be ignored for purposes of calculation.\n", "\n", "+ You get an **exact** answer (the fraction 3/4) unless you indicate otherwise. You can request an _approximate_ answer by placing your expression inside the brackets of the the `N(...)` function, or putting a decimal point in to any of the numbers. E.g., 3.0 indicates an approximate number whereas 3 indicates an exact number. \n", "+ Click your mouse anywhere in the cell below and press the `Shift+Enter` keys together. A new output cell will be created with the answer to _only the last expression_ of the 3 entered below:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.750000000000000" ] }, "execution_count": 2, "metadata": { }, "output_type": "execute_result" } ], "source": [ "# This is a comment in a code cell.\n", "#\n", "# There are 3 expressions here (each on their own line)\n", "# but only the last one should result in a printed, numerical value\n", "#\n", "(sin(2*pi/3))^2\n", "N( (sin(2*pi/3))^2 )\n", "N((sin(2.*pi/3))^2)\n", " " ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "### By default Sage only prints the output of the last command, if you have multiple commands.\n", "\n", "To print several results, enclose all your commands (separated with commas) within **sqare brackets**. This structure is called a _list_ and will print out a list of answers, one for each expression. Here are 3 results:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[3/4, 0.750000000000000, 0.750000000000000]" ] }, "execution_count": 3, "metadata": { }, "output_type": "execute_result" } ], "source": [ "[ (sin(2*pi/3))^2, N( (sin(2*pi/3))^2 ), N( (sin(2.*pi/3.))^2 ) ]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "**Exercise 1**: Explain in words what is being calculated in each of the 4 expressions below. You should explicitly recognize what _base_ is being used in each logarithmic expression. (For example, the first one is calculating the logarithm (base $e$) of the exponential constant $e$. That is to say, the answer is 1 because $e$ is equal to $e^1$):\n", "\n", "1. Use the plus button on the bottom toolbar, \"plus\", to insert a new cell.\n", "1. Make it a `Markdown` cell to write out your explanations. You will use the `Shift+Enter` key combination to \"render\" your markdown cell.\n", "1. Move your markdown cell after the calculations cell using the up and down arrow keys as necessary on the toolbar." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[1, 1, 4.60517018598809, 2.00000000000000]" ] }, "execution_count": 5, "metadata": { }, "output_type": "execute_result" } ], "source": [ "[ ln(e), log(e), log(100.), log(100.,10) ]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "\n", "In general, for each of the following exercises you'll need to insert one or more markdown and/or code cells to carry out a calculation and answer any questions posed.\n", "\n", "**Exercise 2**: Insert one or more `Code` cell(s) below and use them to calculate an exact expression for, and an approximate, numerical value for $\\sqrt{e^3+\\tan\\left(\\pi/6\\right)}$, where $e$ is the exponential constant. Hint: In the exact expression, $e^3$ cannot be simplified any further. But there is an exact numerical simplification for $\\tan\\left(\\pi/6\\right)$." ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "\n", "## Names in SageMath\n", "\n", "Any string of letters and numbers can represent a **named object** in SageMath. In the following cell the _value_ 7.4 is _assigned_ to the _named object_ `SomeNumber`. The second line, just the name, causes the contents of `SomeNumber` to be printed out:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "7.40000000000000" ] }, "execution_count": 6, "metadata": { }, "output_type": "execute_result" } ], "source": [ "SomeNumber=7.4\n", "SomeNumber" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "You can calculate with `SomeNumber`:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5.00000000000000" ] }, "execution_count": 7, "metadata": { }, "output_type": "execute_result" } ], "source": [ "SomeNumber-2.4" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Expressions\n", "\n", "You can also assign an \"expression\"--an abstract combination of symbols--to a named object. For example:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(x - 7.40000000000000)^2" ] }, "execution_count": 8, "metadata": { }, "output_type": "execute_result" } ], "source": [ "MyExpression = (x-SomeNumber)^2\n", "MyExpression" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "And you can plot an expression..." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 12, "metadata": { }, "output_type": "execute_result" } ], "source": [ "plot(MyExpression, 7, 8, figsize=4)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Variables\n", "\n", "The named object $x$ is different from `SomeNumber`. Instead of just having one value, it is a placeholder, that takes on different value in the `plot(...)` expression. It is a **variable**.\n", "\n", "In SageMath, $x$ is special in that it is already set up as a variable. That is to say, execute this next line which uses $t$ instead of $x$ and _you will get an error_:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "ename": "NameError", "evalue": "name 't' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mMyExpression\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mSomeNumber\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mInteger\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 't' is not defined" ] } ], "source": [ "MyExpression = (t-SomeNumber)^2" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Anything other than $x$ that you want to be treated as a variable has to be **declared as a variable** before you can use it in expressions / plot it / etc. \n", "\n", "Here's an example of declaring a couple of variables at one time, and then using one of them to make a plot:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 14, "metadata": { }, "output_type": "execute_result" } ], "source": [ "myx,y,t=var('myx,y,t')\n", "plot((myx)^3, -1,1, figsize=4)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "And now this assignment should work without a hitch:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "(t - 7.40000000000000)^2" ] }, "execution_count": 15, "metadata": { }, "output_type": "execute_result" } ], "source": [ "MyExpression = (t-SomeNumber)^2\n", "MyExpression" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "**Exercise 3**: Declare $u$ as a variable, then assign this expression a name and plot it for $u$ values from -10 to +10.\n", " $$\\frac{\\sin^2(u)}{u^2}$$" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 16, "metadata": { }, "output_type": "execute_result" } ], "source": [ "u=var('u')\n", "myf = (sin(u)/u)^2\n", "plot(myf,-10,10, figsize=4)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "\n", "#### Functions\n", "\n", "You are probably more used to plotting functions. This is how to declare a function: (You don't have to declare `f` ahead of time...)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "sin(x)/x" ] }, "execution_count": 17, "metadata": { }, "output_type": "execute_result" } ], "source": [ "f(x)= sin(x)/x\n", "f(x)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "You can evaluate the function for a particular $x$ value. Notice the different output with and without the decimal point:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[1/3*sin(3), 0.0470400026866224]" ] }, "execution_count": 18, "metadata": { }, "output_type": "execute_result" } ], "source": [ "[ f(3), f(3.0) ]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Plot the function over a particular domain..." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 19, "metadata": { }, "output_type": "execute_result" } ], "source": [ "plot(f(x),-10,10, figsize=4)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Change the plotting variable (to a different one _which you have previously declared to be a variable_):" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 20, "metadata": { }, "output_type": "execute_result" } ], "source": [ "plot(f(u),-10,10, figsize=4)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "And plot a _list_ of functions to have more than one function plotted on the same graph:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 21, "metadata": { }, "output_type": "execute_result" } ], "source": [ "plot( [f(u),myf],\n", " -10,10, figsize=4\n", " )" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Function composition\n", "\n", "Now, you can also do function composition. For example, defining $$\n", "g(x)=x^2$$\n", "We can get expressions for compositions..." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[sin(x)/x, x^2, sin(x^2)/x^2, sin(x)^2/x^2]" ] }, "execution_count": 22, "metadata": { }, "output_type": "execute_result" } ], "source": [ "g(x)=x^2\n", "[ f(x), g(x), f(g(x)), g(f(x))]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "**Exercise 3:** Define a function $h(x)$ to be\n", "$$h(x)=x+3.$$\n", "Calculate by hand what you expect for $h(g(x))$ and $g(h(x))$. Then calculate with SageMath what you'd get. Do they agree?" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[x + 3, x^2 + 3, (x + 3)^2]" ] }, "execution_count": 25, "metadata": { }, "output_type": "execute_result" } ], "source": [ "h(x)=x+3\n", "[h(x),h(g(x)),g(h(x))]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "\n", "#### *Lots* of plotting options\n", "\n", "You can get an example of `plot(...)` with *many* options from the \"Assistant\" (see the top right of the screen). Here's an example showing several of the things you can do with plots, including\n", "1. Using `show( pt+just3,...)` to combine named plots.\n", "1. Using LaTeX to print using math typesetting." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 26, "metadata": { }, "output_type": "execute_result" } ], "source": [ "pt = plot( x*sin(x^2), x, 0, 6*pi, rgbcolor=\"red\", linestyle = \"-\", fill=False, thickness=1, legend_label =\"$x\\,\\sin(x^2)$\" )\n", "\n", "just3 = plot( 3, x, 0, 6*pi, rgbcolor=\"blue\", legend_label=\"$y=3$\")\n", "\n", "show( pt+just3, aspect_ratio = 1, axes=true, frame=True, gridlines=false, figsize=5, xmin=-0, xmax=8*pi, ymin=-6, ymax=6 )" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### Equations...and solving them\n", "\n", "\n", "

 

\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "In SageMath the single '`=`' is actually the _assignment operator_. So `x=7` assigns 7 to the variable $x$. But assigning $x$ to 7 makes no sense so `7=x` will throw an error.\n", " \n", "The = in an equation such as\n", "$$x=7-x$$\n", "expresses a relationship, **equality**, between two _expressions_. So, this sense of '_equals_' gets a different symbol in SageMath, namely **`==`**. You can _solve_ the equation above for $x$ like this:\n" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[x == (7/2)]" ] }, "execution_count": 27, "metadata": { }, "output_type": "execute_result" } ], "source": [ "solve( x==7-x, x )" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "You can assign equations to named objects, and solve systems of equations (using lists...):" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[[x == 4, y == 6]]" ] }, "execution_count": 28, "metadata": { }, "output_type": "execute_result" } ], "source": [ "eq1= x+y==10\n", "eq2= y-x==2\n", "solve( [eq1, eq2], [x,y])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "**Exercise 4**: Use `solve(...)` to solve the quadratic equation\n", "$$x^2-5x= -6$$ \n", "for $x$. [Hint: '5x' will mean nothing to SageMath. Code that piece of the expression differently to express multiplication.] Does the answer (or answers) you get make sense?" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[x == 6, x == -1]" ] }, "execution_count": 29, "metadata": { }, "output_type": "execute_result" } ], "source": [ "solve(x^2-(5*x)==6,x)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "\n", "## Data\n", "\n", "Let's say that you're a forester and have some data on a set of 8 ponderosa pines: \n", "\n", "1. the waist high **circumference** (in inches) of each of the 8 pines.\n", "1. and the **usable lumber** (in board feet) of each.\n", "\n", "You'll start by making one _list_ for the circumference data, and another one for the usable lumber data." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
circumference (inches)
usable lumber (board feet)
\n", "
" ] }, "execution_count": 30, "metadata": { }, "output_type": "execute_result" } ], "source": [ "cdata=[5.4,6.4,7.3,8.9,10.2,11.5,12.1,13.1]\n", "udata=[190,320,570,1130,1230,1920,2520,2940]\n", "\n", "table( rows=[cdata,udata], header_column=['circumference (inches)', 'usable lumber (board feet)'])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Now, make a list of data points... the `zip(...)` command pairs each value from `cdata` with the corresponding value in `udata`." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[(5.40000000000000, 190),\n", " (6.40000000000000, 320),\n", " (7.30000000000000, 570),\n", " (8.90000000000000, 1130),\n", " (10.2000000000000, 1230),\n", " (11.5000000000000, 1920),\n", " (12.1000000000000, 2520),\n", " (13.1000000000000, 2940)]" ] }, "execution_count": 31, "metadata": { }, "output_type": "execute_result" } ], "source": [ "treedata=zip(cdata,udata)\n", "treedata" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Plot those points, and label the resulting graph axes." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 35, "metadata": { }, "output_type": "execute_result" } ], "source": [ "list_plot(treedata,axes_labels=[\"circumference (inches)\",\"usable lumber (board feet)\"], figsize=5)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "\n", "#### Fitting a model to data\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Let's fit the data to a linear model, that is...\n", "\n", "$$\\text{linearfit}(x) = m*x + b$$\n", "We'd like to find the best values for the slope, $m$, and $y$-intercept, $b$. " ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ] }, "execution_count": 37, "metadata": { }, "output_type": "execute_result" } ], "source": [ "# design a model with adjustable parameters m and b.\n", "m,b=var('m, b')\n", "linearmodel(x) = m*x + b\n", "\n", "# find the parameters that best fits the model\n", "solution = find_fit(treedata, linearmodel)\n", "show(solution)\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "`solution` is a _list_ with two elements. \n", "\n", "+ Element 0 (the first element) is \"b=(-1946.9....)\".\n", "+ The number that we'd like to use in our model is on the _right hand side_ of the equals sign in that first element.\n", "\n", "See how we use this in what follows to avoid re-typing the numbers for our fitted model..." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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nDlXLX66XFaSWrVq1TXbfv3117z99tvO1arOnTvHoEGDOHr0KNWqVXMuswjQvn17GjduTFpaGrGxsS63qxctWsQ//vEPAP72t785R3RZ1zV58mS2bNnibL97927uu+++XBWZ5aRDhw7ccccd/P777/Tv35+kpCTnvk8//ZQpU6bkab49Nxo1akSfPn04deoUHTt2ZPPmzS77MzIyWLZsGf369XNZCSu//WrWrAnA8uXLrxrX3r17OX78OHXr1qVatWrXe5kiIsVDfp6HmjFjhvH19TVJSUnGGGMOHjxo2rVrZwCzatUqs2fPHjN69GhjjDHh4eFm1KhRJjMz0/Tq1cu5KEduZGZmmptvvtmULl3aZWGOS5HNClyNGzc25cuXd65mtXz58iv67dmzx1StWtX5vHHDhg3NzTff7Dxe//79XZ4xvnDhgmnWrJlzta169eqZyMhI4+XlZapUqWJeeuklA5gBAwbkGOPV7NixwwQHBzufN27UqJHz2dy8rsCV5VqLfpw5c8Z07NjRGd9NN91kmjZtaho0aGD8/f2d28+dO3fd/WbMmOHcHhkZadq0aWPatGljNm/e7HLsrK/jhAkTcn2dIiLFXb6ScWZmphkzZozp2LGjefTRR83w4cNNUlKSGT16tGnfvr158MEHTXJysjHGWg6xSZMmJjY21ixdujTP58pKsm+//Xb2F3BJops5c6Zp3LixCQgIMEFBQaZ79+5m69atOR775MmT5plnnjG1a9c2fn5+pnz58qZ169bmk08+yXaxD4fDYYYPH27Cw8ONj4+PqVq1qnnkkUfM0aNHzbRp064rGRtjzC+//GL69u1rbrjhBlOmTBnToEED8+6775rMzMxCScbGGJORkWFmzpxpOnfubEJCQoyPj4+pUqWKadq0qRk9erT54YcfCqzf22+/bW699VaXhH35v4lbbrnF+Pj4ZLsMp4iIpyry7zNOSUmhVq1aBAcHs2vXrmLxKkDJn6VLl9K+fXuGDBnCe++9Z3c4IiJuU+QzW/ny5Xn++efZvXs38fHxdocjhWjcuHGUK1eOF154we5QRETcqmCrggrJ448/TkpKCpmZmXaHIoUkJSWFtm3bMmLECOdCLSIiJUWRv00tIiLi6Yr8bWoRERFPp2QsIiJiMyVjERERmykZi4iI2EzJWERExGZKxiIiIjZTMhYREbGZkrGI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Yho2bGjKli1rAFOuXDmza9euK453+vRp06JFC2f/iIgI06hRI1O5cmXn3wviPA6Hw7Ru3doAplSpUiYiIsJERkYaX19fA5h69eqZ45f94Nu/f78JCQkxgAkICDANGjQwt99+uwkODjaAue2223L8Ot1xxx0GMCtXrsyxTXaUjN2gKCfjzExjHn7YGD8/Y9avtzsaEbkeW7ZsMYCZOHFinvrVqFHDAGbDhg05trlWMg4ICDDTpk1zbk9JSTEdOnQwgLn//vuvOF6PHj0MYGrVqmXWrl3rsm/Pnj1mwoQJBXKemJgYA5gOHTqYffv2ObefPn3a9OrVywDm3nvvdekzbNgwA5gBAwaYM2fOuOzbtWvXVX9pefTRRw1gxo8fn2Ob7CgZu0FRTsZTphgDxkyfbnckInK5ixcvmunTp5vevXubESNGmBEjRpjx48ebixcvurSbPHmyiYqKMlWrVjWAiYyMNFFRUebhhx++5jkyMzONt7e3AcyRI0dybHetZDx8+PAr+mzbts0AJigoyGX7Dz/8YADj5+dndu/efc0Y83uerVu3OkfZKSkpV/RLTU011apVM15eXubAgQPO7Z07dzaA2bp1a65iu9SLL75oADN48OA89dOcsRu5ZdGPPPj+exgxAoYPhwcftDsaEbnUmTNn6Nq1K/Hx8cyYMYO3336b+vXr8+KLL7Jw4UKXto8//jgbNmygR48elCpVirVr17JhwwY++uija54nOTmZi38sFBQcHJzveB955JErtjVo0IAyZcrgcDg4deqUc3vWfHDPnj2pXbt2oZ0nISEBgD59+hAYGHhFv4CAAO68806MMaxcudK5vVq1agB89tlneX5MKetrePLkyTz106NNbuSWRT9y6cgR63Hk6Gh48027oxGRy8XGxrJ9+3a2b99OQEAAAKtXr8bX1zfHBLZ582bq1KlD2bJlc32e8+fPO//s6+ub73hr1aqV7fZKlSpx+PBhzp49yw1/vGlm165dADRr1qxQz7N9+3bASsqrV6/Ott/BgwcBOHLkiHPb0KFDmT59Ov/85z+ZMWMGd911F61ataJdu3aEh4dfNT5/f38Azp07l6frUjIugdLSrMppHx/49FPrvyJSdPznP//h66+/5t1336VixYrO7dOmTWPKlCnO5HwpYwxbt27N8+pPl46GHQ6Hy/nyIqdfALKqsy8dYWZV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" }, "execution_count": 41, "metadata": { }, "output_type": "execute_result" } ], "source": [ "# define a function, linfit(cf), the model with the parameters set to the fitted values\n", "linfit(x) = linearmodel(b=solution[0].rhs(),m=solution[1].rhs())\n", "\n", "# create an empty plot object\n", "linplot = plot([])\n", "# add a plot of the model, with respect to cf from 5 to 14\n", "linplot += plot(linfit(x),x,[5,14])\n", "\n", "# add a plot of the data, in red\n", "linplot += list_plot(treedata,color='red')\n", "show(linplot, \n", " axes_labels=[\"$cf$ (inches)\",\"$ul$ (board feet)\"], figsize=5\n", " )" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "#### How good is the fit? Error calculations...\n", "\n", "In order to compare this model to another model, we should calculate how far away the data points are from the fit line. And then do some statistics on those distances. In the graph below, we'll plot the predicted value according to the model (in blue) and the observed values (in red).\n", " " ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "execution_count": 42, "metadata": { }, "output_type": "execute_result" } ], "source": [ "# Make a list of the model value for y corresponding to each x value\n", "upredicted=[linfit(i) for i in cdata]\n", "\n", "# And then add another data set to the graph we already produced, showing the predicted values for each point\n", "linplot += list_plot(zip(cdata,upredicted))\n", "show(linplot, \n", " axes_labels=[\"$cf$ (inches)\",\"$ul$ (board feet)\"], figsize=5\n", " )" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "The 'error' for each data point is the distance from the u data point to the u value as predicted from the fit." ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "errors=list(vector(upredicted)-vector(udata))\n", "errors=[abs(i) for i in errors]\n", "errors" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "Look at the list of errors and compare to the graph. Does each error look about right?\n", "\n", "Below are three kinds of \"goodness of fit\" statistics. See if those seem to make sense by comparing to the list of errors." ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ "[\n", "# Here's the mean (or average) error:\n", " mean(errors),\n", "\n", "#Here's the root mean square error (square each error, average, then take the square root)\n", " sqrt(mean([i^2 for i in errors])),\n", " \n", "# And here is the maximum error value\n", " max(errors)\n", " \n", " ]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "**Exercise 5:** Go through the same procedures above to fit the data to a _quadratic_ function instead. That is:\n", " $$y(x) = a*x^2 + b*x +c.$$\n", "Graph the data along with the fit, and find the \"goodness of fit\" statistics for this model. Comment on which model (linear or quadratic) appears to fit the data better." ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "**Exercise 6:** Use whichever model you think works best to **predict** how many board feet you think you would get from a tree with a circumference at waist height of 15 inches!" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "


\n", "**Exercise 7:** Reflect a bit on what you have done. What is some practical advice that you could give to your \"earlier self\" to make it easier to do what you have now done?" ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "collapsed": false }, "outputs": [ ], "source": [ ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 8.3", "name": "sage-8.3" }, "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.15" } }, "nbformat": 4, "nbformat_minor": 0 }