From 67cefadaf84ccd19aaf0d78f40f9fb95987e8265 Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Tue, 31 Jan 2017 14:41:31 -0500 Subject: [PATCH 01/15] updated lecture 05 --- HW2/projectile.svg | 7 +- lecture_05/gp_image_01.png | Bin 0 -> 170 bytes lecture_05/lecture_05.ipynb | 389 +++++++++++++++++- lecture_05/lecture_05.md | 245 ++++++++++- lecture_05/lecture_05.pdf | Bin 28490 -> 133523 bytes .../lecture_05_files/lecture_05_11_0.png | Bin 0 -> 19333 bytes .../lecture_05_files/lecture_05_25_0.png | Bin 0 -> 29601 bytes lecture_05/my_caller.m | 23 ++ lecture_05/my_function.m | 21 + lecture_05/nitrogen_pressure.m | 10 + lecture_05/octave-workspace | Bin 158 -> 153 bytes lecture_05/q1.png | Bin 0 -> 38940 bytes lecture_05/q2.png | Bin 0 -> 40186 bytes lecture_05/setdefaults.m | 3 + 14 files changed, 662 insertions(+), 36 deletions(-) create mode 100644 lecture_05/gp_image_01.png create mode 100644 lecture_05/lecture_05_files/lecture_05_11_0.png create mode 100644 lecture_05/lecture_05_files/lecture_05_25_0.png create mode 100644 lecture_05/my_caller.m create mode 100644 lecture_05/my_function.m create mode 100644 lecture_05/nitrogen_pressure.m create mode 100644 lecture_05/q1.png create mode 100644 lecture_05/q2.png create mode 100644 lecture_05/setdefaults.m diff --git a/HW2/projectile.svg b/HW2/projectile.svg index bb33043..dc73374 100644 --- a/HW2/projectile.svg +++ b/HW2/projectile.svg @@ -16,7 +16,10 @@ id="svg2" version="1.1" inkscape:version="0.91 r13725" - sodipodi:docname="projectile.svg"> + sodipodi:docname="projectile.svg" + inkscape:export-filename="/home/ryan/Documents/UConn/ME3255/me3255_S2017/course_git/HW2/projectile.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> image/svg+xml - + diff --git a/lecture_05/gp_image_01.png b/lecture_05/gp_image_01.png new file mode 100644 index 0000000000000000000000000000000000000000..ef291b593f623b8b543ea653c733167f14e20882 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^OhD|w0V4Oi7>WQXwj^(N7l!{JxM1({$v}~KPZ!4! ziK$D^t>!yyAmDoN<_WI8|2yh)*jZR|8#@>83pLrbn%OLGLC*Y@3f~;{0&>J(ZGL?I zWQ?1fK>9k3yJi=!9DiKzxu#M{rgKq${H)5okGqTf4o%`H6Zy3u_L}#*wM7PU-tvF0 Q0Ig#1boFyt=akR{05-`#_y7O^ literal 0 HcmV?d00001 diff --git a/lecture_05/lecture_05.ipynb b/lecture_05/lecture_05.ipynb index c04b9f5..66fcbe9 100644 --- a/lecture_05/lecture_05.ipynb +++ b/lecture_05/lecture_05.ipynb @@ -1,5 +1,303 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%plot --format svg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Questions from last class" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you execute the given function \n", + "\n", + "my_function.m:\n", + "\n", + "```matlab\n", + "function [x,y] = my_function(max_time)\n", + " N=100;\n", + " t=linspace(0,max_time,N);\n", + " x=t.^2;\n", + " y=2*t;\n", + "end\n", + "```\n", + "\n", + "as \n", + "\n", + "```>> [x,y] = my_function(20);```\n", + "\n", + "What variables are saved to your workspace?\n", + "\n", + "![responses](q1.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How do you write a help description for a function?\n", + "\n", + "![responses to question 2](q2.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n", + "How to keep our forked ME3255S page up to date with the original\n", + "pretty tired this morning\n", + "\n", + "How do I use the Github Desktop?\n", + "\n", + "whats your favorite football team?\n", + "\n", + "Will UConn's github get updated to the newest version of github?\n", + "As u said in class trail and error is the best way of learning.\n", + "\n", + "I believe the % is the same as matlab where it de-links your code into text\n", + "\n", + "Does the @ symbol designate a pointer? \n", + "\n", + "Given the change of air pressure as altitude increases, how fast would a frisbee have to travel (and spin) to hit an airplane?\n", + "\n", + "What is a gui?\n", + "\n", + "\n", + "could you go over a nested for loop example\n", + "\n", + "Can't seem to get this function to produce any graph and am not sure why\n", + "\n", + "When are these google forms due?\n", + "\n", + "how do I create a new function using Github on my desktop?\n", + "\n", + "Can you explain the first question more in class?\n", + "\n", + "What is the meaning of life?\n", + "\n", + "Should I just know how or what these topics are or will we learn them in the future?\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f = \n", + "\n", + " @(x)x.^2\n" + ] + } + ], + "source": [ + "f =@(x) x.^2\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans =\n", + "\n", + " 1 9 25 49 81\n", + "\n", + "\n", + "ans =\n", + "\n", + " 16\n" + ] + } + ], + "source": [ + "f([1:2:10])\n", + "f(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i=1 and j=1\n", + "i=1 and j=2\n", + "i=1 and j=3\n", + "i=2 and j=1\n", + "i=2 and j=2\n", + "i=2 and j=3\n", + "i=3 and j=1\n", + "i=3 and j=2\n", + "i=3 and j=3\n", + "i=4 and j=1\n", + "i=4 and j=2\n", + "i=4 and j=3\n", + "i=5 and j=1\n", + "i=5 and j=2\n", + "i=5 and j=3\n", + "i=6 and j=1\n", + "i=6 and j=2\n", + "i=6 and j=3\n" + ] + } + ], + "source": [ + "% nested for loop example\n", + "for i = [1:6]\n", + " for j = [1:3]\n", + " fprintf('i=%i and j=%i\\n',i,j)\n", + " end\n", + "end\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# From last class " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help documentation of \"my_function\"\n", + " This function computes the velocity in the x- and y-directions given\n", + " three vectors of position in x- and y-directions as a function of time\n", + " x = x-position\n", + " y = y-position\n", + " t = time\n", + " output\n", + " vx = velocity in x-direction\n", + " vy = velocity in y-direction\n" + ] + } + ], + "source": [ + "help my_function" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help documentation of \"my_caller\"\n", + " This function computes the acceleration in the x- and y-directions given\n", + " three vectors of position in x- and y-directions as a function of time\n", + " x = x-position\n", + " y = y-position\n", + " t = time\n", + " output\n", + " ax = acceleration in x-direction\n", + " ay = acceleration in y-direction\n" + ] + } + ], + "source": [ + "help my_caller" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nePDg2rVr2Q7NyS5dunTlypUHH3xw8+bNX3/99ddff/3iiy+KxeLc3Nz33nuP7ehc66WXXpJK7beK\n8SbPPPPMrl27Ro0atWnTpm+++earr756++2377nnHrbjcr7Vq1efOHFi4sSJO3fuPH369OHDh596\n6im9Xv/MM890/ceWZykuLj516lRUVNTcuXMdnOY7P1ndsHi7RYsWJSSGCTwSAAAKrklEQVQkfPPN\nN9aWpqamO++8MyEhQaVSsReX8126dKm+vt6u8fDhwwkJCbfffrvJZGIlKjfIzc1NSEg4ePBgQkJC\nQkIC2+E43+eff56QkPDwww+3t7ezHYtrXb16NSEhYfTo0Tqdzrb9iSeeSEhIyM3NZSswpzh79qz1\nT9DB/1d95yerKy9/Qqqurj516pREIpk3b561MTg4eP78+UT07bffshea88XExERERNg1Tps2TSgU\nGgwGps/a+1y4cOHtt99esGDB3XffzXYsrrJt2zYieuWVVwQC+42SvczZs2eJKCwsLCzshn2cmREU\nlUrFTlhOMnLkyF7/BH3qJ6srL09IZWVlRDR58mS79uTkZCI6c+YMCzG5l9lsNpvNRGT3N9xrvPrq\nq0FBQWvWeO2mVuXl5bW1tcOHD09MTCSijo4Og8HAdlCukpyc7O/v39zc3NHRYdteWVlJv6Ql7+bj\nP1lenpDOnTtHRBKJ/Qrf0dHRRFRSUsJCTO518ODB9vb2hIQErxwO3bFjR2Fh4UsvveSt6ZaIqqqq\niGjs2LGFhYXz588fO3bs+PHjk5KS3njjjebmZrajczKBQPD0008bjcYXXnihsbGRiMxm865du77+\n+uvRo0fPmTOH7QBdzsd/sry87Pvy5ctENHz4cLv22NhYIvK+v892tFptZmYmET3//PNsx+J89fX1\nGzZsmD59OtOb4a2qq6uJqLKyMj09PT4+fvHixWaz+T//+c+nn356/PjxvLw8L/unRkZGRnR09Mcf\nfzx16lShUNjR0REYGLhixYqVK1d6fY8l+fxPlpcnJJPJREQhId0vhcv0ZXmr1tbWjIyMhoaGFStW\nzJgxg+1wnO8vf/mL2Wx+44032A7EtbRaLRGdO3du5syZW7ZsYRpbW1sfeeSRM2fObN269dlnn2U1\nQCe7fPny119/fe7cuZiYmISEhMbGxhMnTnz77bd33HFHamoq29G5nC//ZJHXd9kx/6TqWi3K/Lny\n+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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "t=linspace(0,10,100)'; \n", + "x=t.^3; % vx = 3*t^2\n", + "y=t.^2/2; % vy = t\n", + "[vx,vy]=my_function(x,y,t);\n", + "[ax,ay]=my_caller(x,y,t);\n", + "yyaxis left\n", + "plot(t(1:10:end),ax(1:10:end),'o',t,6*t)\n", + "ylabel('a_{x}')\n", + "yyaxis right\n", + "plot(t(1:10:end),ay(1:10:end),'s',t, 1*t./t)\n", + "ylabel('a_{y}')\n", + "xlabel('time')\n", + "axis([0,10,0,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[0;31mUndefined function 'diff_match_dims' for input arguments of type 'double'.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "diff_match_dims(x,t)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -36,11 +334,20 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[0;31mError: Function definitions are not permitted in this context.\n", + "\u001b[0m" + ] + } + ], "source": [ "function i=code(j)\n", " % Example of bad variable names and bad function name\n", @@ -52,7 +359,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -61,18 +368,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "'code' is a command-line function\n", - "\n", - " Example of bad variable names and bad function name\n", - "\n", + "code not found.\n", "\n", - "Additional help for built-in functions and operators is\n", - "available in the online version of the manual. Use the command\n", - "'doc ' to search the manual index.\n", - "\n", - "Help and information about Octave is also available on the WWW\n", - "at http://www.octave.org and via the help@octave.org\n", - "mailing list.\n" + "Use the Help browser search field to search the documentation, or\n", + "type \"help help\" for help command options, such as help for methods.\n" ] } ], @@ -89,9 +388,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -108,7 +407,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -155,8 +454,8 @@ "1. Clone your homework_1 to your computer\n", "2. open Matlab (cli, jupyter or gui)\n", "3. Change working directory to homework_1 *e.g.* Windows:`cd('C:\\Users\\rcc02007\\Documents\\Github\\homework_1')`, Mac: `cd('/Users/rcc02007/Documents/Github/homework_1')`\n", - "4. You have already created your first script `myscript.m` (if not see lecture_4)\n", - "5. Run `>> my_script.m`\n", + "4. You have already created your first script `setdefaults.m` (if not see lecture_4)\n", + "5. Run `>> setdefaults.m`\n", "6. Create a new m-file called nitrogen_pressure.m\n", "7. Create a function based upon the ideal gas law for nitrogen, Pv=RT\n", " 1. R=0.2968 kJ/(kg-K)\n", @@ -174,6 +473,58 @@ " " ] }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "Now, use this function to plot the range of pressures that a pressure vessel would experience if it is 1000 gallons (3.79 m^3) with 10-20 kg of Nitrogen and temperatures range from -10 to 35 degrees C. \n", + "\n", + "```matlab\n", + "v=0.379/linspace(50,20,10);\n", + "T=273.15+linspace(-10,35,10);\n", + "[v_grid,T_grid]=meshgrid(v,T);\n", + "P = nitrogen_pressure(v,T);\n", + "pcolor(v_grid,T_grid,P)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAIAAACgjIjwAAAACXBIWXMAABcSAAAXEgFnn9JSAAAA\nB3RJTUUH4QEfDxsqXQdJjwAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJ\nbmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAzMS1KYW4tMjAxNyAxMDoyNzo0MkGstPEAACAA\nSURBVHic7N15XFNX2jjwYxKWCMQNRGF4QQYFRAoiLoOoiPuOoIMVN1S0KJYRHa1KHewoFuu840Kh\niqUKVGwRQaFqVaxMlbEKBlxQFCuUnwISsA0EAskNvz9O3zuZbOTeJCSQ5/vxj0PuPQu0Hx7uPec8\np09nZycCAAAA9I2h7wEAAAAACEFAAgAAYCAgIAEAADAIEJAAAAAYBAhIAAAADAIEJAAAAAYBAhIA\nAACDAAEJAACAQYCABAAAwCBAQAIAAGAQICABAAAwCBCQAAAAGAQISAAAAAwCBCQAAAAGAQISAAAA\ngwABCQAAgEGAgAQAAMAgQEACAABgECAgAQAAMAgQkAAAABgECEgAAAAMAkuTyiKRqLm5WSQSEQRh\nYmJiYmLC4XAYDAhyAAAAKKMckGpqao4dO1ZSUtLY2CgUCuVvsLCwGDx48Jw5c5YtW2Zra6uNQQIA\nAOj9+nR2dqpz35s3b3bs2PHgwQOCINRvnc1mz507NyYmxtramu4IAQAAGIWuA9KNGzf27t3b2Nio\nSTf29vanTp1ydnbWpBEAAAC9mKqAdOPGjY8++qi5uVnmcw6HY2Nj4+vru3TpUgsLCyaTyWAwCIIQ\ni8XNzc2JiYnV1dU8Hq+trU2mop2dXVpamoODg/a/DwAAAD2c4oBUX1+/ZMmSt2/fkp8wmUxnZ+d/\n/vOf9vb2ffv2Vafppqam0tLS+Pj4mpoa6c/9/f2/+OILExMTDYcOAACgN1EQkNrb29977z3yS3t7\n+3/+859eXl60+xCJRPn5+Z999hn53m/AgAF3796l3SAAAIDeR9USbT8/vzt37ty8eVOTaIQQMjEx\nWbx4cVFR0ZUrV+zt7TVpCgAAQG+lOCB5e3v/9NNPX331lXZXxzk7O9+8eTM/Px8W3QEAAJCh7rJv\nAAAAQKc0ytQAVAjwtSwsEeh7FAAYIzab3draqkkLrq6u2hoMPRUVFfodgF5AQNKVwhKBqMSTUpXm\n1oEDJxVWfx9MozvHWRcuFGykUZFUj9iR04785WacJo2QjgTGeV5J10pT0n4TWfyyMNj0m0Kttyyj\nI3SK5fEyXfcir08rs3nnqP4fPe/+rpX59dMR/cJe6nsU1Pz29R81b+TRkzrNG6HH02OIvrrWL8g7\nBwAAwCBAQAIAAGAQVL2ya21tnTFjBi7PmDEjLi5O/XYPHz6ck5ODy99//72lpSXdEQIAgB4QQti8\n391UPSGtWLGCx+PxeLyOjg5K0QghtH37djabjauHh4drNEYAAABGQGlA4vF4T548weXLly/TaPrC\nhQu48PDhw/r6ehotAAAAMB5KA9KePXtwISAgwMbGhkbTHA5n3rx5uLx3714aLQAAADAeSgPS/fv3\nceGTTz6h3XpsbCwuQOY6AAAAqile1MDn8wUCAULIwsJCk1NfBw4cOGDAgHfv3gmFwqampoEDB9Ju\nCgAAulMnLGrodoqfkHg8Hi4MHjxYww7I130aHvEHAACgd1MckMhD+fr166dhB2QL8gf9AQAAACTF\nAYkgCFzQ/Bi90NBQXDh9+rSGTQEAAOjFFM8hMZlMXBCJRBp2kJ+fjwtLly7VsCkAAOg+7TCH1N0U\nPyGZm5vjgubv2RoaGnChf//+GjYFAACgF1MckKysrHDh7du3GnZQV1cn0yYAAAAgT3FAIpd6Nzc3\nk484NLS0tJCL64YOHUq7HQAAAL2e4oDEZDLt7e1xWZMkC/v27cOFwYMHm5mZ0W4HAABAr6c0U0NM\nTAwu3Lx588cff6TRdHFx8aVLl3B506ZNNFoAAAC96WDp7Z+xUvqdz58/PzY2tq2tDSG0fv369PT0\ncePGqd/uo0ePwsLCfu+DxXr//fc1HGiXJBLJkydP6uvrf/vtNz6fb2Vl1bdvXwcHB09PCse2SiSS\nu3fv1tfX19XV2dnZ2djYTJgwgcGAU6MAAEDnVIXiEydOrFq1CpdXrlwZGhr6t7/9jVwRroxEIklI\nSJDedZSQkKDxOFU5e/Zsfn5+WVmZWCyWvzpo0KDly5dHRER0+c4wIyMjKSlJJqOEtbX15s2bly9f\nrs0RAwAAkKPqb//x48evWbOG/PKbb74ZOXLkokWLKioqmpqaJBIJeUkikfz6668vXrxYunSpu7u7\ndDQKDQ2dP3++9gcupbCwsKSkRGE0Qgg1NjYeP3580aJFqo/AiI6O/vvf/y6f34jH4+3bt2/79u1a\nGy4AAGiVSCQqLi4uLCy8fft2VVWV9C9n3eFyuYWFhQ8ePNBid128rNy1a5dIJPr666/JT549e7Zw\n4cLfK7NYJiYmBEF0dHQorB4cHKxJsnD1MZlMHx8fNzc3T09PDofDYDAIgqipqcnNzS0vL0cIvXr1\nasOGDTk5OQrfvyUmJl69ehWX16xZExQU5OTkVFVVlZ2dnZ6ejhDKy8tzdnaGmTAAjAejw6A3xkok\nkjNnznC53KKiIpkNo6amprNnz16/fr2rq6vCujExMUVFRSoa79+/P/krUR6Px0tMTMzMzMRfslis\nOXPmxMTE2NnZUf8+/kvXs2d79+718/PbvHmz/CWxWKzsuQQh9Omnny5evFij0anngw8+OHLkCJvN\nlr+0evXq5OTkI0eOIISePXt28eJF+SFVVVUlJSXhcnx8fEhICC67u7vHxsYOHz4crzNMTExcsGCB\ng4ODDr8TAABQD0EQn376qcJLHR0dly5dunTp0u7du1evXi1/g0AgePfuHb1+KyoqwsPDpV8micXi\nvLy8wsLCEydO+Pj40GsWU2s5x/Tp0ysqKo4ePZqamioUClXfbGpqumzZso8++qjL2SZtGT16tIqr\nkZGRd+7cwcc73blzRz4gpaam4tx9EyZMIKMRKTQ0ND8//969ewRBpKWlkecWAgCA3rm5uXl5eY0d\nO9bS0tLMzKy9vb2uri43N7e0tBQhFB8fP3To0JkzZyqsy2QyFyxYoPCShYWFws/5fP769etxNDp/\n/ryLi0tVVVV6enp2djafz9+4ceOVK1esra1pfzsU1hdGR0dHR0e/efPmm2++uXLlSltbW1tbm1gs\nZrFYZmZmFhYWU6ZMWbVqlQE+Q0ycOBEHJPlMSBKJhMy2t3btWoXVw8PD7927hxDKycnZtWsXLLoD\nAOgdk8m8deuWwoQD77///sGDB/Fc/pEjR1QEJKorzk6ePInT9wQHB+MFzO7u7vHx8QMHDkxJSeHz\n+UeOHNm/fz/V74VEecG7nZ3d1q1bt27dSrvL7te3b19ckH9oKy4uxkcRslisSZMmKaw+ZcoUFosl\nFoubm5sfPXrk5eWl09ECAECXGAyGivQ3O3fu/Oabb9ra2l6+fCkSiTQ/twEhRBBERkYGQojNZsu8\nK9q6dWteXl5dXd2FCxdiYmJon8VqFH/sk9N38lN8z549w4VRo0Ype/RhMpnkZibyfgBA78YUsfT1\nT/PBMxiM8ePH47Im6d+kFRQU4J2pM2bMsLS0lL5Evv0jCOL69eu0u+j9Aeny5cu3bt1CCFlYWCxb\ntkzm6pMnT3CBTJWkELl65NGjR9ofIgAAaNvr168RQkwmkzy2W0PkX/ZTp06VvzpmzBhcwPMj9PSq\nHBVNTU3kE4xEInn37l1ubu7t27cRQubm5seOHSOTxpLIWSUOh6OiZfIqnHsLADB8P/3004sXLxBC\nEydOVPG+rrKy8vnz5yKRiMFgcDgcPz8/FTfX1tbiwrBhw+Sv+vv74wLeaUNPrwpIDx48kF+ezmKx\nFi1aFBkZqXC1BXkCoaOjo4qWyf8AynZcAQCAIeDz+bm5uXivy4ABA1Rkx+7o6Jg3b570JywWa+HC\nhVu2bFG4o6isrAwXRowYIX/VxMQEz7XjJzN6FAekX3/9Vafn6dXU1HTbYjy8P6m9vV3hVXIflerj\nmshFkJT2JPcRUZtIlEhYCCER6kOpFol2xd+r92EghDq09xZXLNH+un9CwkQIdUq641Uzg+iGTuQQ\nfRBCEolG/ym1zlzjk6O72W/aaIShjbkcupTu71Ro0qRJeHGWRCLB0zwIoYCAgNjYWEq/acVi8YUL\nF77//vvExEQ/Pz+Zq/j9EIvFUralh81mNzc3C4VCiURCbzWygp94e3v7+PHjZ8+effDgQXJ9mrbU\n19eHh4c3NTXdvXtXuy0jhEaOHHngwAGEkEgkqqqqqq2tLSwsbG5uzs7Ozs3N/fjjj7shx6s01oQH\nNGq5zMqm113otC/oVZSWFEj/tBEZT+fpKgGg6H3F6yG1i/8XvS2n5B8arq+uFar/1k3fQwCqCAQC\nHJBIo0ePnj9/vrJoZG5uHhISEhAQ4OXlhWeYfvnll8LCwlOnTr19+1YgEERGRubk5Dg7O0vXwn++\nq4g0LNbvAYUgCK0FJOzq1atXr16dNWtWXFwc7TV80n7++ef169fjp7kBAwZo3qA8Ozu7JUuWSH/S\n2tp66NChzMxMgiDi4uKGDBkiMx1H/gRVTw6RVyn9lCU/jlf/ZoRQo6ifTeC1Z9eWUqqFuc3M+vqm\nRpmN6lDfbYGH1988oEkjpFOBe4bnf6OVpqS1iCxqF883Oasq64lWiJb79f/fh7ruRZ6klcWPHWm5\nvbL7u1am5bCLY3APW8tTfYFCjv9eIDQ0FL8E6ujoaGhouH37NpfL5XK5GRkZycnJ8r/Ajx49KvOJ\nk5OTk5PT4sWLN2zYwOVyhULhwYMHU1JSuukb+D8KApKZmdmwYcNevXqFEPr++++///57e3v73bt3\nT5w4UWF6HtWamprS09PT09Olf+NTOslCE3379o2Li+vo6MjOzkYIHTx4UCYgkTN41dXVKtohr5qa\nmupmpAAAYzdyWRd5cJTZuXOn9JcNDQ2xsbG3bt0qLS2Njo7GCTnVweFwjh8/HhAQIBaL//Wvf9XX\n10svBMNTRCqmLXDKG6Rox6eaFP+9f/Xq1eTkZHNzc/zl69evN2/e7O3tPWXKlJ07d/788898Pl9F\nozwer6KiIjQ01M/P709/+lNSUhIZjYYMGXLr1q1jx47RGy490dHRuFBdXU2u88bIqSPV3xF5VfVU\nEwAA0FZ+zhz/07AdGxub5OTkkSNHIoTu3buHVxqrX3f69Om4LLPLBT+QqIhJOLEci8Winc5G6Su7\nwMDAsrKytLS0hIQEcuYfZ0nKzc1FCDGZTAsLC0tLSyaTyWKxOjo6CIJobm6WeZVJGjRo0Oeff646\n75yO2NrastlsPNdXX1/v4eFBXvLw8MDfTk1NjYoWyHUjlI77AwD0XIyefHIrg8EICwvD+RRu3LhB\nrslWx5AhQ3Dht9/+a3WIp6cn3opUVVUlM72EEBKJRHgRsg5z2a1atWrVqlXXrl37+9//jlMYkQiC\n4PP5qh8sMAcHh1OnTjk5OdEepRbJxHY3t99na8vLywmCUPikSRDE48ePZe4HAABDRu6HVee3tDRl\nD0CDBw/GhcrKSvmAxOVyccHb25tSd9LUerCaOXPmjz/+eOfOnYiICPWjn729fVxcHJfLvXHjhn6j\nUVNTE7kUUmY5u6+vL17SLRaLCwoKFFYvKCjAz4gcDgcS2QEAegRyrwvVRHbkC6F+/fpJf05m+1R4\nllJxcTEuaHICBYVnUmtr6+3bt2/fvr2tre3t27cPHjxIT09vaWkRi8X42cLU1LRfv34xMTEODg62\ntrbddvxEl7788ktcsLCwkPlhMRiMhQsX4pOmTp8+rTAtbmpqKi4EBwfreKQAAKAd5F/YeDJJTXi3\nDC7LzFBMnjyZyWQSBHHt2rU9e/bIxDny2ITAwEDaY6bzkpTNZjs6Ojo6OnbP+Xuq3b59u7GxccGC\nBQqn0SQSSUpKyqlTp/CXy5cvl78tPDz822+/JQiipKQkLS1t1apV0lczMjLwoyiLxVJ41BUAoFei\nurG9mz158sTd3V3Z8oGrV6+Sk/0zZsyQvvT06VNXV1eFFX/99dfNmzfjF0L+/v4yudY4HE5QUFB2\ndnZjY2NSUhK5WAwhlJmZ+fLlS4RQYGCgJkkPevCsHVZXV7dnz559+/YFBAR4e3vb2dnhuC0QCMrK\nyq5fv04+fv7xj39UeAa5o6NjVFQUXph/4MCB58+fBwcHu7m5lZeX5+bmZmVl4duioqI0P6AXAAC0\nIjk5+dGjRzNnzhw/fvzw4cPxb6e6urqnT5/m5OTcvHkT3/bBBx/I/OJKSUkpKSnBFT08PPAszLNn\nz4qKitLS0ng8HkKIzWbv2rVLvtPo6OirV68KBIKkpKSIiIi+ffu2t7dnZGQcOnQIIWRqarpt2zZN\nvqkeH5AwgUDw3Xfffffdd8pu8Pb2Tk5OVpZ4YtOmTdXV1fgPiqysLDIIkUJCQiIjI7U4YAAA0FBd\nXV1aWlpaWpqyG1auXPnhhx9SrcjhcBITE11cXOQv2draHjt2LDIysqOjw9fX19zcXCgUktuPEhIS\nFNZSX48/fmL8+PGhoaEqHhJHjx796aeffvPNN6rzTSQkJHzyySfkekeSnZ1dfHx8fHy8doYLAADa\nEBISMm3aNIVb9ZlMpr+/f2ZmZmxsrPxVPz8/Dw8PhXP8VlZWa9euvXLlCnmWkjx/f//z58+PHj2a\nIAiBQICj0ciRIzMzM+fOnavBN4RQL3hCcnBw+OSTT7TSVGhoaGhoqFaaAgD0dBKRQadlmTp1Ks47\nU1lZ+csvv7S2tnZ2dpqZmfXr18/X11fFmrIlS5YsWbJEIpGUlpY2NTUJhcLOzk42m21vb+/u7q5O\n166urufOnbtx44ZAIDAzMxsxYoT8KnB6enxAAgAAY+bi4kLjRRmDwdBkfTZCiEzooEU9/pUdAACA\n3gECEgAAAIMAAQkAAIBBgDkkAABQQESY6XsIRgeekAAAABgECEgAAAAMAgQkAAAABgHmkAAAQIF2\niUFvjO2V4AkJAACAQYCABAAAwCBo9MqusrJyz5497969E4lEEonExcWFPAoPAAAAoIRmQIqLi8On\nrEqzsrKS+cTHx0cgECCEfvrpJ5mzwwEAAABplF/ZSSQSHx8f+WikUExMDC4kJydT7QgAAPRIiFj6\n+qfvb11vKAckT09P/NCDEGIymY6Ojt7e3spuDgkJwQXyuHUAAABAIWqheNOmTfi4dYTQ7t27V69e\njcve3t5tbW3y9+MzNl6/fs3j8UQiET5cHAAAAJBH4QmppaWloKAAl0+dOkVGI9WGDRuGCw0NDVQH\nBwAAwHhQeEK6d+8eLkybNm3SpElq1oqJibl9+zZC6N27d3Z2dlTHBwAAemHMczn6QuEnfvz4cVzY\ntWuX+rUsLCxwob29Xf1avQNj0k80arnNzKLXXVhgEr2K0k4F7tG8EezFfF2dBy9a7qejlqX9GvNe\nN/SiUMthygeA6lT1BU99DwEYBQoBiZwlGjBgAI2eTp8+reGJuT2O8No0SvfXIUunmRfvXl9Bo68J\nMzKO3oyhUZH0ptMyYdonC24c1aQRUt706D9cuqCVpqS1dfRtXDLbJJ1OpKdEtHL8oISHuu5FnriN\n9VvcSPO//Nz9XSsjPOLsMbdI36Og5snl7viTBWidzjM1kGEsLCxM130BAADouSgEJDabjQvNzc3q\n1zp8+DAuwMZYAAAAKlB4ZRcUFFReXo4Qys3NjYyMVLMWl8vFBRsbG6qDAwAAfRH2gUUN3Y3CE9Ls\n2bNx4YsvvlCzSnZ2Nt5Fy2azBw4cSHVwAAAAjAeFgGRra2ttbY0QEgqFGzdu7PL+4uLi3bt34/La\ntWvpjQ8AAICRoLaoISnp94XFt27dmjhxYmVlpcLb2tvbDxw4QK5iYLFYH374oSajBAAA0OtRe0nq\n5eW1du3a1NRUhBCPx5s3bx6bzba2tsZL6V68eLF48eKmpqa6ujrpWufOndPiiAEAoBsI+zD1PQSj\nQ3nWbufOnUwmMyUlBX/Z1tZWU1NDXsWrHqR99dVXnp6wqw4AAHRFJBKVlZUJBAImk/mHP/zhf/7n\nfxgMdd9+SSSSsrIyPp9vZWXl7e2tfkUul0ujlmp0lpFs3749ODh45cqVPB5PxW0jRozIzMy0tLSk\nOzYAAACKSSSSM2fOcLncoqIima04pqams2fPXr9+vaurq4oWeDxeYmJidnZ2R0cH/oTFYs2ZMycm\nJkZ1mjdckTyESM1a6qC5rtHZ2fnOnTu1tbVZWVmXLl1qaWnBb+1MTU2trKwWLVoUFhaGV0AAAADQ\nOoIgPv30U4WXOjo6Ll26dOnSJekzGWRUVFSEh4c3NjZKfygWi/Py8goLC0+cOKEssY58RXVqqUmj\nhfZDhw798MMPYcECAKD3aesJ+5Dc3Ny8vLzGjh1raWlpZmbW3t5eV1eXm5tbWlqKEIqPjx86dOjM\nmTNlavH5/PXr1+Oggp+lXFxcqqqq0tPTs7Oz+Xz+xo0br1y5Iv9QIV3x/PnzatZSXw/4iQMAAJDB\nZDJv3bo1dOhQ+Uvvv//+wYMHT58+jRA6cuSIfEA6efLk27dvEULBwcEHDx7EH7q7u8fHxw8cODAl\nJYXP5x85cmT//v0qKuLFAerUUh+FmaiGhoaGhob6+vr6+nra/QEAANAcg8FQGI2wnTt34mRvL1++\nFIlE0pcIgsjIyEAIsdnsPXtks/tv3bp1yJAhCKELFy40NTWpWVFFLWrflPq3rl271t/ff/LkyeQS\nOwAAAAaIwWCMHz8el2UORy0oKMBT/jNmzJBfdMZkMhcsWIAQIgji+vXralZUUYvasNW/lTzQaMUK\nOucjAAAA6DavX79GCDGZTJk8okVFvx8mMnXqVIUVx4wZgwv3799Xv6KyWpRQmEMyNTWVKQAAQG8l\nRD14Y+xPP/304sULhNDEiRNNTEykL9XW1uLCsGHDFNb19/fHBZl9paorKqtFCYUnJA8PD1wgF60D\nAAAwKHw+Py0tDR/IMGDAgL1798rcUFZWhgsjRoxQ2IKJiQmLxUL/94ylZkVltSih8IQUFRWVm5uL\nEMrIyIiNjaXdpe68efOmvLz8t99+a2lpsbS07Nevn6+vL6VzmCQSyd27d+vr6+vq6uzs7GxsbCZM\nmKCtTcgAAKALkyZNwucqSCQS8kzUgICA2NhYBwcHmZvxLloWi8VkKn0EZLPZzc3NQqFQIpGQvwC7\nrKiwFiUUApKDg8OgQYMaGxvPnj1rUAGJy+Vevny5oKBAYWT28/PbsWOHu7t7l+1kZGQkJSXJ7BSz\ntrbevHnz8uXLtTZcAADQKoFAgAMSafTo0fPnz5ePRgghsViMEFIdMPCzDkKIIAjyzi4rKqxFCbV9\nSJmZmTNnziQIYvny5WfPnqXRn9bl5eVt375dxQ1FRUVBQUEqdixj0dHRV69elf+cx+Pt27fvwYMH\n5NG3AABj0CM2xmKhoaF40VlHR0dDQ8Pt27e5XC6Xy83IyEhOTu5BZ9FR+4k7OjpmZma+//77JSUl\nXl5en3322fTp0/X7RksikeACi8WaNm3auHHj7OzsmEymSCS6e/duVlaWUChECMXHxw8aNGj+/PkK\nG0lMTCSj0Zo1a4KCgpycnKqqqrKzs9PT0xFCeXl5zs7OmzZt6pbvCQBgjKIj/0Wv4s6dO6W/bGho\niI2NvXXrVmlpaXR0NP4lRmKxWGKxmPzNqRBBELgg/Xauy4oKa1FCISDV1taGh4cjhBwcHGpqaoRC\n4ZYtWxBC1tbWZmZmqpfeMRiMy5cv0xtil+zt7devX7948WK8EYw0ffr0lStXrlmz5s2bNwihgwcP\nzpkzR/4nVVVVRZ7zFB8fHxISgsvu7u6xsbHDhw/Hs4KJiYkLFixQ+AgMAACaO5o8GRdoRybMxsYm\nOTk5JCSkvLz83r17t2/fJpfAof+b6cGhRdnjBP47nsViSd/QZUWFtSihVu3Vq1evXr2SPm8CIcTj\n8V6/fv1KpaqqKnrj69KECRNu3LixfPlymWiEOTo6ksGGx+P98MMP8vekpqbiwD5hwgQyGpFCQ0PH\njRuHECIIIi0tTcujBwAAHWAwGOQRqTdu3JC+RJ4HpOzXskgkwkupZbLSqa6orBa1YdOuaSBsbW1V\nR2N3d3c3NzdcfvbsmcxViUSSn5+Py8rOWcfPhQihnJwc1c+5AABgIMj9sHw+X/rzwYMH44KyI7+5\nXC4ueHt7q19RWS1KqM0hkb/ZqdLvPJODgwMORfJJloqLi/HqFBaLNWnSJIXVp0yZgl+eNjc3P3r0\nyMvLS9cDBgDoXVsPPzGWzK0jszF20qRJeANPUVGRfN5VhFBxcTEuyJwlobqislqUUAhIQ4cOvXjx\nIu2e9IjMBis/A0Q+M40aNUpZ1GQymZ6enjj+P3v2DAISAMDwFRQU4MLIkSOlP588eTKTySQI4tq1\na3v27JEJVwgh8qVRYGCg+hWV1aKkx7+y61Jtbe3Dhw9xWT6WPHnyBBfs7e1VNEKehPjo0SNtDxAA\nACh78uSJihmEq1ev4qcZJpM5Y8YM6UscDicoKAgh1NjYSE6xkzIzM1++fIkQCgwMlPkLXkVFFbUo\n6f0B6fPPP8eFYcOGyT9Lkkf/cjgcFY2QV2WOCgYAAL1ITk6eOnXqgQMHbty4UV1dLRKJRCJRTU3N\ntWvXIiMjo6Oj8W0ffPCB/Mni0dHRFhYWCKGkpKSjR4+2trYihNrb27/88su4uDiEkKmp6bZt2+Q7\nla6ofi319ZidX/TcvHkzKysLlxVmlyBPCnF0dFTRDplMEPL4AWAk2gz+12NdXV1aWpqK1b8rV65U\neKK3ra3tsWPHIiMjOzo6kpKSTpw4YW5uLhQKyY1ECQkJLi4uqiv6+vqqWUt9hv4T10RlZeWOHTtw\neenSpdIr8Uk4GQZCyMrKSkVT+I8CJLUPVx0dFH+84j5MhBCB+lCq9Z/qdCtKVxd1au2hWSTR/v9d\nhISJEEJEtzzZ62VBpaQPQkgi0eg/pdYxCFHXN4HuFRISIpFIfvzxR/m/kplM5p/+9KfNmzerWF/g\n7+9//vz5v/3tb1wulyAIMvPQyJEjP/74YzUrql9LTdR+ZeBnNHr69u1Luy4Nr0cq1wAAIABJREFU\nDQ0N69atw2/YxowZs2/fvu7sHePM/J5GrYkz0ru+SZFtgf+gV1Ha1RlbNG8Eqw9aqK2mZIjWjNVR\ny9Iad73XDb0o1HFM8bkA+vLo+yn6HgKQNXXqVHwuUWVl5S+//NLa2trZ2WlmZoaTSquTK8HV1fXc\nuXM4J7VAIDAzMxsxYoSzs7OaFW/cuEGpljqoZWoICAig1w2TydTkkAyqmpqawsLC6urqEELe3t4n\nT55U9p+HzAaoenKIvEpp/Xr999R+Izf0YY+a+c0PN9ZQqoVNnX764A87aFQkvZFYHp+2d+q1ZE0a\nIf0wM7LfBQW5ATVEtLNb3p9ieoqr9ZZldKwfbb1fDwtYOtpM+AfcWFFV3d+1MuJEp9HT6PxppUfc\ngln6HkL3cXFx0eRFmZ2dnfwkkzqmT59Ou1NleuGihqampuXLl1dXVyOE3NzcTpw4IX9ML4lcuYjv\nV4a8CocTAgCAjvS2OaSmpqbVq1e/evUKITRs2LCvvvpK9XlI5NSRzGZmGeRV1VNNAIBeowdl++41\nqG2MvXXrlup7Ojs7hUJhVlZWVlYWfs114MCBiRMnajJE9TU1NYWHhz9//hwh5ODgkJGR0WXedQ8P\nD7xaXyZBnwzypCUymxMAAADtovYnwNChQ9W5befOnTt37kxOTj5y5MiePXt27Nixbt06WsOjgM/n\nh4eH48wLdnZ2mZmZ6uT4I5MhlZeXEwShcKqJIIjHjx/L3A8AAEC7dDiHFBkZ+dFHHyGEDh06RCZE\n0BE+n79u3TocjQYPHnz27FkysaBqvr6+eEm3WCwmM23IKCgowKvDORwO5A0CAAAd0e2ihvDw8AED\nBiCEIiIidNdLS0tLREQEzg80ePDgb7/9Vs0nOYQQg8FYuPD3tXCnT59WeE9qaiouBAcHazpWAEAP\n0YpY+vqn729db3S+yg6vlG9sbGxoaNBF+62trRs2bCgtLUUIDRo0KCMjQ/1ohIWHh+M3dSUlJfJ7\nnjMyMnBaVRaLpfoQdAAAAJrQeShesWLFhQsXEEJv375V8zUaJUePHi0pKcFlW1vbzz77TMXNY8aM\nIQ83Ijk6OkZFRR09ehQhdODAgefPnwcHB7u5uZWXl+fm5pKZh6Kiouit1gcAAKAOnQckcifpDz/8\n4OHhofX2ydwVCKHy8nLV22+V7SLatGlTdXU1Xm6HlwjK3BASEhIZGanxYAEAACil84CUkpKCCwa+\nPi0hIcHHxycpKQnndyDZ2dlFRUXJH20OAABAu3QekL777jtcUJ1Om7b9+/fv379fK02FhoaGhoZq\npSkAQE8nMOLFBfqiw0UNTU1NY8f+Jwnm//zP/+iuLwAAAD0dtT8ByFPTVcjOzq6srHz79q30u69Z\ns2aZmZlRHh0AAACjQS3bd1hYGI0+Bg8efOzYMRoVAQAAGA+dvyRdsGDB4cOHdd0LAABoF8whdT9q\nP3GcdqFLbDabw+Fs2bLFz8+vm8/lAwAA0ENRy/Z99+5d3Q0FAACAMeuFB/QBAADoieAlKQAAKCBA\nJvoegtGh8IRUW1u7aNGiRYsW/fzzz+rX2rhx46JFixYvXkx9bAAAAIwItSckfOAQ1Sp1dXUKD74D\nAAAASDCHBAAAwCBAQAIAAGAQdL6oQSKRIIT69Omj644AAECLWjoVn1YDdEfnT0h8Ph8hBInsAAAA\nqKbbgHTmzBmhUIgQ6t+/v047AgAA0NOpemU3depU/MJNhvwp4PLEYvG7d+8IgsBfvv/++/TGBwAA\nQDWRSFRWViYQCMzNzd977z02m90NnXK5XD6fb2Vl5e3tTZ4MriFVAam+vp6MKNJkzlRVR0REBNUq\nAACgR4Y/h8Tlci9fvvzvf//7xYsX0p87OjouXbp0zZo1JiaK9/bGxMQUFRWpaLl///5Xr15VdpXH\n4yUmJmZmZuIvWSzWnDlzYmJi7OzsqH8T/0Xnixqsra2vXLmi614AAMCo7Nq168KFCwovVVdXHz58\nOCsr68yZM0OHDpW/QSAQvHv3jl6/FRUV4eHhjY2N5CdisTgvL6+wsPDEiRM+Pj70msX6dHZ2Kru2\nYsUKmVd2JSUlCKExY8Z02e6UKVMmT55sY2NjbW2tyfh6LlhYCIAeqfjNpg5XV9cxyRu0NRiqSiJP\nVlRUqL4nJibmu+++QwiNGzcuMDDQycnJzMxMKBSWlZWlp6cLBAKEkIODw6VLl+SPXNi4ceOtW7eY\nTOaCBQsUNm5hYbF37175z/l8/rx5896+fYsQOn/+vIuLS1VVVXp6enZ2NkKIw+FcuXJFk9/5qp6Q\nMjIypL+sra0NCAhACO3fv9/Z2Zl2l8aj+vtgSve/YfT904yMCwUbafQVPO3EX27G0ahIapBYfD39\nr+OvfqlJI6SfZq9jZxVopan/0m7WtsLf/Isy7bf834QfeA2Ke6LrXuS1t7FaElz7fFDd/V0r0/mF\n41j/8/oeBTX3by/R9xB0zsTEZP369StWrJB5BgoMDFyyZMmyZct4PF5NTc3XX3+tbMaEyWQmJCRQ\n6vTkyZM4GgUHB3t6eiKE3N3d4+PjBw4cmJKSwufzjxw5sn//frrfE8VVdkwmE5IAAQCA3h08ePCv\nf/2rwjdyDg4OO3bswOVr165pq0eCIPBTCpvN3rNnj/SlrVu3DhkyBCF04cKFpqYm2l1QOw+pvLyc\ndk8AANCDGPiiBtUL2+bOnYtjksx6B00UFBS0tbUhhGbMmGFpaSl9Cb/9S0lJIQji+vXroaGh9LqA\n1EEAANDb6OJVFrkwb+rUqfJXybUF9+/fp90FnIcEAAC9zZMnv8+Aurm5qbitsrLy+fPnIpGIwWBw\nOBw/Pz9lK8URQrW1tbgwbNgw+av+/v64oMmLNAhIAADQ25w5cwYXZs2apeyejo6OefPmSX/CYrEW\nLly4ZcsWhTuKysp+X0w0YsQI+asmJiYsFkssFr9+/Zr2sDUKSARB8Hg8oVCocP+sDFiYBwDoQQSG\nPYekQmFhYV5eHkJo8ODBy5YtU7+iWCy+cOHC999/n5iY6OfnJ3O1ubkZIcRisZS9D2Sz2c3NzUKh\nUCKR0MvdQDMgffPNN4mJiXj9nzqYTCYsiAAAAF178+bNzp07cTkhIUFhGiFzc/OQkJCAgAAvLy8b\nGxuE0C+//FJYWHjq1Km3b98KBILIyMicnByZpwixWIxULqZgsX4PKARBdFNAampqmjlzJg6VAAAA\nDEdTU9OqVatwFoaYmBj5pxzs6NGjMp84OTk5OTktXrx4w4YNXC5XKBQePHgwJSVF5yP+b9QCUnt7\n+5/+9CcdDQUAAIzZ/9v8v5pUb2pqWr16dU1NDUIoIiJi40bKW+w5HM7x48cDAgLEYvG//vWv+vp6\nW1tb8iqeIlKYcRsj525or/Gj9lS1evVqshwcHHz79u3Hjx/b29sjhKytrSsqKh4+fHj79u1PP/2U\nw+Hg28LCwioqKuB9HQAAqPaHz2PwPxp1+Xx+eHj48+fPEUJhYWHbt2+nNwYbG5vp06fj8qNHj6Qv\n4bd/KmISPmyIxWLRTv5N4QmJz+dzuVxc/sc//jF//nz5e8zMzGxsbBYvXrx48eKkpKSjR49+/fXX\ntbW1ycnJ9MYHAAB60SrpMYsa+Hz+unXrnj17hhAKCgpSmIZOfTjnAkLot99+k/7c09MTb0WqqqqS\nX6QmEok6OjoQQprksqMQx8g1fw4ODgqjkYxNmzbhrcI3b948e/YsvfEBAABQgc/nR0REPHz4ECG0\ncOFCqunp5Cl7ABo8eDAuVFZWyl8lH1e8vb1pd00hIB07dgwX5CfElFm3bh2OlocOHaI6MgAAAKq1\ntLRERESUlpYihGbNmvXZZ59p3ia5kahfv37Sn0+aNAkXFJ6lVFxcjAuanEBBISCRK+sUpvNTthVp\nzZo1CKG2trb6+nrKowMAAKBEa2vrhg0bcDSaMWMG+cygidra2sLCQlzG+bxJkydPxqsVrl27JhKJ\nZCrm5+fjQmBgIO3eKQQk8jnO3Nz8v5pgMND/TWfJmzFjBi7weDw6AwQAAH1olZjq6586w2tvb9+w\nYQM+oy4gIED9F1dPnz5V9lLu119/3bx5M95v5O/vL73EDiHE4XCCgoIQQo2NjUlJSdKXMjMzX758\niRAKDAx0cHBQcyTyKCxqMDMzwwWZb8bU1BQh1NbWpnB3Lrn+7+nTpx4eHrQHCgAAgLRv3z6cxpTD\n4QQEBOTk5Ci7Mzg4WPo3c0pKSklJycyZM8ePH+/h4YFnVZ49e1ZUVJSWloafHNhs9q5du+Sbio6O\nvnr1qkAgSEpKioiI6Nu3b3t7e0ZGBp6UMTU13bZtmybfFIWAZGFhgQtCoVA69/jw4cNxbGxoaJCJ\nqEhqKYTMcxUAAADayEPE+Xx+XFycijsXLVok86hQV1eXlpaWlpam8H4Oh5OYmOji4iJ/ydbW9tix\nY5GRkR0dHb6+vubm5tKp4xISEhTWUh+FV3bkiUzSp6kjhLZs2YILp0+flq9FTrIpTBCrIwRBiEQi\nkUikTpI9aRKJpKioKCcnJzk5+eLFi0VFRSp2gQEAQI/j5+fn4eGhcO+qlZXV2rVrr1y5Mn78eGXV\n/f39z58/P3r0aIIgBAIB/h07cuTIzMzMuXPnajg2agf04cLhw4elU0qQbwxTU1NnzJghvcTiwIED\ndXV1MrfpgkgkKioqqqysfPjwYWlpKdlpUFCQ+osgMzIykpKSZMKttbX15s2bly9fruURAwAMW5tE\n6UEMutZHjXtOnDhBr/ElS5YsWbJEIpGUlpY2NTUJhcLOzk42m21vb+/u7q5OC66urufOnbtx44ZA\nIDAzMxsxYoS2cmdTCEjW1tb4Ae3u3bvSn5uZmQUGBt68eRMh9P7779vb29vY2IhEopqaGj6fj+9x\ncHAgczdo3bVr18inNNrwu1H5z3k83r59+x48eHD48GENuwAAAAPBYDA0WZ+NECITOmgRtQQPEydO\nRAh1dHTcuHFD+vPPP/+cLL9+/bq0tPTJkydkNEIIXbp0SbNxqoLXhEijmkkpMTGRjEZr1qzJzc0t\nLS3Nzc1duXIl/jAvL09mVQkAAADtopZcNSkpqbq6Wv5zBoNRUlIydepU6SCEWVhY5Ofn9+3bl/4Y\n1TBkyBBvb+9Ro0a5uLhMmDDhwIEDWVlZatatqqoig018fHxISAguu7u7x8bGDh8+HOfhSExMXLBg\ngU5fPAIAgDGjfPyEo6Ojws8tLS3v37//4sWL7du3Nzc3MxgMCwuLQ4cOubq6ajzILsydO1eTybTU\n1FQ8LzdhwgQyGpFCQ0Pz8/Pv3btHEERaWhq5sgMAAIB2afkI8+HDh1+8eFG7beqURCIhNxivXbtW\n4T3h4eH37t1DCOXk5OzatYt2IlsAQA8i1F9yVQVn6hkHCr9bGxoaGhoa6uvre1MSoOLiYoFAgBBi\nsVhkpiYZU6ZMwSchNjc3y+RjBwAAoC0UAtLatWv9/f0nT57c/ccI6g5O2I4QGjVqlLJHHyaTSeZ0\nIu8HAACgXRQCUnt7Oy6sWLFCN4PRgydPnuACPmZQGTs7O1yAJyQAANARCnNIOGeddKEXIFOYq94m\nRV4l7wcA9G5C/W2MhTmkrpGpUfGxgL0DmURd2epBjMx71Ju+dwAAMCgUnpCioqJyc3MRQhkZGbGx\nsTobUrciN9VaWVmpuI1MLEsptZ2Y4r5jfL+IYi0SoVbCkS6qizqp7SlWobNTo/EoabQPQqhPp/Yb\nVtCVRAfj77pTBkIIGVoCRQm1nJAA0EMhIDk4OAwaNKixsfHs2bO9JiDp1B9nnadRK3RaMr3ujgf+\njV5FaQ/mrNG8EUz4Z/rndKnWFumlo5alNX0ysht6UajzpKrn9e53vyhU30MARoHaPqTMzMyZM2cS\nBLF8+fKzZ8/qaEzdCa/nRl1NDpFXKW1CKr32PqXBvGb0nTf9y5SbH1KqhUUEHlt/8wCNiqQ6sVX+\nzA+H53+jSSOkF/NDTb8p1EpT0hhCU+HqP1keL9N6yzJatnj1/+i5rnuRJxIyBEdcGGurur9rZSSp\nTuPGfaXvUVBz7164vocA6KD2dsjR0TEzMxMhVFJS4uXlde3atZ5+OoOJye/zlgpTIpHIq71pQQcA\nQIUOwkRf//T9resNhSek2tra8PBwhJCDg0NNTY1QKMQ5tq2trc3MzFT/pmYwGJcvX9ZwrLpATh3J\nZ+GTRl5VPdUEAACANmqv7F69eiX/IT7yVjWq6be7jYeHB16pUVNTo+K2169f4wK5QxYAAIB2GXta\nNjc3N1woLy9XdrwsQRCPHz+WuR8AAIB2UXtCov3r2GATkvr6+lpYWAgEArFYXFBQMHPmTPl7CgoK\n8OpwDofj5dUd67sAAHon0t/GWKNF7QjznpXJWx0MBmPhwoV4pcbp06cVBqTU1FRcCA4O7tbBAQCA\nMTHQB5fuFB4ejqe4SkpK0tLSZK5mZGRwuVyEEIvFWr16tR7GBwAAxkHL5yHpy/bt24VCIflleXk5\nLty7dy8qKor8nMlkHj16VKauo6NjVFQU/vzAgQPPnz8PDg52c3MrLy/Pzc0lT56NiooiU6wCAADQ\nul4SkG7evImPNZLx5s2bN2/ekF8qW5u+adOm6upqvNwuKytL/vjzkJCQyMhI7Y0XAACArF4SkDSX\nkJDg4+OTlJRUV1cn/bmdnV1UVJT80eYAgN6NIODXY3fT6CdeWVm5Z8+ed+/eiUQiiUTi4uLy5Zdf\namtklDx48EDzRkJDQ0NDIWcXAADoB82AFBcXh1emSZPPYuDj44PfpP3000/9+/en1xcAAABjQHmV\nnUQi8fHxkY9GCsXExOBCcjLNDNYAAACMBOWA5OnpSS4fYDKZjo6O3t7eym4mp17y8/PpjQ8AAPSi\nU8LS1z99f+t6Q+0737RpE3mi3e7du8l9Od7e3m1tbfL3s9lse3v7169f83g8kUhEptYGAAAAZFAI\nSC0tLQUFBbh86tSpSZMmqVNr2LBhODNpQ0MD7OMBAACtE4lEZWVlAoHA3Nz8vffeY7PZ6teVSCRl\nZWV8Pt/Kysrb21v9NG9cLpdGLdUoBKR79+7hwrRp09SMRgihmJiY27dvI4TevXsHAQkAALSFy+Ve\nvnz53//+94sXL6Q/d3R0XLp06Zo1a1S/lOLxeImJidnZ2R0dHfgTFos1Z86cmJgY1b+rcUVyJYGa\ntdRBIawdP34cF3bt2qV+LQsLC1xob29XvxYAAAAVdu3atWzZsrS0NJlohBCqrq4+fPjwvHnzamtr\nlVWvqKjAaTzJaIQQEovFeXl5ixYtUrGRhqxIqZaaKDwhkbNEAwYMoNHT6dOnfXx8aFQEAAA9MOyN\nseSf+OPGjQsMDHRycjIzMxMKhWVlZenp6QKBoLq6euXKlZcuXerbt69MXT6fv379+sbGRoTQ7Nmz\n169f7+LiUlVVlZ6enp2dzefzN27ceOXKFWtraxUVz58/r2Yt9ek8uSoZxsLCwnTdFwAAGAkTE5P1\n69ffunUrPT09PDx86tSpfn5+gYGBW7duvXjxIo4KNTU1X3/9tXzdkydPvn37FiEUHBx89OhRT09P\nNpvt7u4eHx8fERGBEOLz+UeOHFFdUf1a6qMQkMiJsubmZvVrHT58GBdgYywAAGjLwYMH//rXvw4d\nOlT+koODw44dO3D52rVrMlcJgsjIyEAIsdnsPXv2yFzdunXrkCFDEEIXLlxoampSs6KKWpRQCEhB\nQUG4gJOQqgmf3YAQsrGxUb8WAAAAFVQvbJs7dy4uyM8wFRQU4BdXM2bMsLS0lLnKZDIXLFiAECII\n4vr162pWVFGLEgoBafbs2bjwxRdfqFklOzsb76Jls9kDBw6kOjgAANAbMVNv/zSGz3hTqKioCBem\nTp2q8IYxY8bgwv3799WvqKwWJRQCkq2tLX4vKRQKN27c2OX9xcXFu3fvxuW1a9fSGx8AAACqnjx5\nggtubm4yl8ild8OGDVNY19/fHxfIg+XUqaisFiXUFjUkJSXhwq1btyZOnFhZWanwtvb29gMHDpCr\nGFgs1ocffkh7iAAAACg5c+YMLsyaNUvmUllZGS6MGDFCYV0TExMWi4UQwjkN1KyorBYl1NY1enl5\nrV27NjU1FSHE4/HmzZvHZrOtra3xi8UXL14sXry4qalJ5kihc+fO0R4fAAAASgoLC/Py8hBCgwcP\nXrZsmcxVvCqNxWKpeK3HZrObm5uFQqFEIiEnq7qsqLAWJZQX2u/cuZPJZKakpOAv29raampqyKvy\nD2tfffWVp6cnjZEBAIAe9RHrfFeMLrx582bnzp24nJCQIJ9GCOcjVR0w8LMOQoggCPLOLisqrEUJ\nnTrbt29XZ/fTiBEjSkpK/Pz8aHQBAACAqqamplWrVr179w4hFBMT0+N+/dLciuzs7Hznzp3a2tqs\nrKxLly61tLTgt3ampqZWVlaLFi0KCwvTZL8uAAAYG8dDGp1Y3dTUtHr1avzKKiIiQtnSMxaLJRaL\nJRKJiqYIgsAF6bdzXVZUWIuSPp2dnfRqAtX69Omj7yEAYLw0/M3m6upaveMbbQ2GKsdDoRUVFZSq\n8Pn8lStXPnv2DCEUFha2d+9eZXf6+vri2aCnT58qe7Hm6enZ0dHBYrHI1XrqVFRYixKDTtbU0/1w\nYw2l++v7sJdNSz56M4ZGX9GB/7vgxlEaFUlNYos7s9f/4dIFTRoh/b+FwSbpP2mlKWksIbMtwrf/\n/z7Uessyfo15z3K74kWkOtWnDTV/7tIv7GX3d63Mb1//caz3cX2Pgpr7pVv0PYRuxefz161bh6NR\nUFCQimiEEPL09MQ7iqqqqpydneVvEIlEOOOqzFsu1RWV1aIEAhIAACjA6CGLGvh8fkRExMOHDxFC\nCxcuTEhIUH3/4MGDcaGyslJhQCLT68icBq66orJalPSMnzgAAAB5LS0tERERpaWlCKFZs2Z99tln\nXVYhT7MjMy/IKC4uxgWZ8xlUV1RWixJNAxKfz6+urn706NGDBw+4XO7Tp0/fvHkDRx8BAICutba2\nbtiwAUejGTNmHDt2TJ1akydPxosOrl27JhKJ5G/Iz8/HhcDAQPUrKqtFCc1XdgRBfP7552fPnsXr\nC+XZ2dlt27Zt/vz5tEcGAABAmfb29g0bNpSUlCCEAgICjh5VdwqZw+EEBQVlZ2c3NjYmJSVFR0dL\nX83MzHz58iVCKDAw0MHBQc2KKmpRQicgXbx4kcxtrsybN2+2bdsWGxublZU1fPhwWmMDAAC9YYoM\neqHsvn37cBpTDocTEBCQk5Oj7M7g4GCZRXHR0dFXr14VCAQ4G1xERETfvn3b29szMjIOHTqEEDI1\nNd22bZt8U9IV1a+lPsoB6fDhw2Sahi61tbXNnz//+PHjM2fOpNoRAAAAZfCxrQghPp8fFxen4s5F\nixbJBCRbW9tjx45FRkZ2dHQkJSWdOHHC3NxcKBSSG4kSEhJcXFzkm5Ku6Ovrq2Yt9VGbQ8rJyZGO\nRvb29snJybdv3378+HFFRcXTp08fPnz4ww8/fPTRR4MGDSJv27JlS0NDgyajBAAAoEX+/v7nz58f\nPXo0QoggCIFAgOPKyJEjMzMzyeOUVFSkVEtN1J6QpE8JzM3NdXd3l77KYDDMzMzs7OzCw8PDw8Pz\n8vK2b9+OLwUHB//4448ajhUAAAB24sQJDVtwdXU9d+7cmzdvysvLBQKBmZnZiBEjFC4EV1jxxo0b\nlGqpg0JAunfvHvlo9vjxYxMTE9X3L1iwYNCgQeHh4Qiht2/fNjU1wRl9AABgUOzs7Ozs7GhUnD59\nutYHQyEgffrpp7jw0UcfdRmNMD8/vz/+8Y949UVtbS0EJABAT8FSsCIa6BaFOaTW1lZcWLx4sfq1\n9u/fjwuXLl1SvxYAAABjQyEgkes0LCws1K81ZMgQXCB3+QIAAADyKAQkcuEcpUQM5HMVGZkAAAAA\neRQC0t///ndcoJRa/B//+Acu2Nvbq18LAAD0iynqo69/+v7W9YZCQHJycsKn4UZFRalZpbW19ebN\nmwih0aNHy5+kCwAAAJCobYw9c+YMQojP5y9fvrzLm/l8Pt51hRD6+uuvaQwOAACA8aAWkLy8vE6e\nPIkQKikpcXV1TU5OJqeIpDU0NPz1r38dO3YsQsjc3PzOnTu0T7QFAABgJCjsQ6qtrcW7XO3s7N68\neYMQOnLkyJEjRywsLPr3789isSQSCUEQPB4PnxuIDR06dMWKFcraHDZsWHJysgbj1zKJRHL37t36\n+vq6ujo7OzsbG5sJEyYoO+UXAACAFlFLHfTq1Sv5DwUCgUAgoFTFMGVkZCQlJZEpCzFra+vNmzer\n84oSANCb9BEb7+ICfYEjzH+H06rLf87j8fbt2/fgwYPDhw93/6gAAMB4UAtIbm5u2u3eyclJuw3S\nk5iYSEajNWvWBAUFOTk5VVVVZWdnp6enI4Ty8vKcnZ03bdqk12ECAEBvRiEgDR069OLFi7obir5U\nVVXhU6oQQvHx8SEhIbjs7u4eGxs7fPjwvXv3IoQSExMXLFigyWGIAAAAVIDpepSamoqzmE+YMIGM\nRqTQ0NBx48YhhAiCSEtL08P4AAB6IWbo7Z+xMt7vHJNIJPn5+bi8du1ahffgtYUIoZycHIlE0k0j\nAwAAI2PsAam4uBgvEWSxWMrSv06ZMoXFYiGEmpubHz161K3jAwAAo2HsAenZs2e4MGrUKGX7jZhM\npqenp8z9AAAAtMvYAxKZKFZ17lfyREV4QgLASEjEDH390/e3rjc09yHV1tYeO3aspKREIBC0t7eL\nxWLV9zMYjAcPHtDrS6eam5txgcPhqLiNvEreDwAAQLsoB6T6+vrg4GAej0eplsHmshOJfj+m2NHR\nUcVtw4YNwwXprEgAAAC0iFpA4nK5y5Yt09FQ9IJ8trOyslJxG3lILqVVdp0UB4PvJxDNhCUSuhWl\nq0s6DTxdSh+EqP9kaensll5k9OnsgxBi6KVvFTphcSnoDtQCUlhY2H+DkT1vAAAgAElEQVRqsljO\nzs5BQUE+Pj54ERqQETj9NI1aMYH/oNfdd9M/pFdR2ptFizVvBBOtHK+tpv7TJkIIoV+3vaf1luUJ\n/uHSDb0o9O6s3rpW6H5ZtL6HAIwChUBSVFSEN5AihDZt2hQd3Rv+HyVDqerJIfIqpczfV26sozSY\nX/pYbpx2NPaHPZRqYfunHph6TaO86Y0iy4fzVva7oCChHw2/Bc82PV2slaakmbQxBJE+gxIear1l\nGY073zP/y8+67kUeWyB+lzLCMdiA1s5UX/AcOzJe36Og5n75bs0bMebFBfpC4Sf+2Wef4cKECRN6\nRzRCCJmYmOBCdXW1itvIq6ampjofEwAAGCUKAYk8Y2L//v26GYwekFNHfD5fxW3kVdVTTQAAAGij\nEJDIt1tsNls3g9EDDw8PXKipqVFx2+vXr3GB3CELAABAuyjMIY0bN+7ly5eody19Jg/UKC8vJwhC\n4fJ0giAeP34scz8AoHcjYA5JJS6Xy+fzraysvL29tXWsNoWAtGHDhszMTITQjz/+GBoaqpXu9c7X\n19fCwkIgEIjF4oKCgpkzZ8rfU1BQgFeHczgcLy+vbh8jAAAoRhDEv//9759//vnhw4cPHz7Ekwu7\ndu1atGiRiloxMTFFRUUqbujfv7/CA0sxHo+XmJiIwwFCiMVizZkzJyYmhsxoQxuFgGRnZzdkyJC6\nurqEhIReE5AYDMbChQvxT/b06dMKA1JqaiouBAcHd+vgAABAud27d+fm5pKLn0nkfn9lBALBu3fv\n6HVaUVERHh7e2NhIfiIWi/Py8goLC0+cOOHj40OvWYza/qHvvvtuzJgxAoEgKioqMTFRk44NR3h4\n+LfffksQRElJSVpa2qpVq6SvZmRkcLlchBCLxVq9erWexggAALL4fD4ZjZhMpoWFherFWTKYTOaC\nBQsUXiJTAcj3uH79ehyNzp8/7+LiUlVVlZ6enp2dzefzN27ceOXKFWtra4rfx39QC0iWlpbffffd\nvHnzrl+/7ufnl5yc7Onpqa23h/ri6OgYFRV19OhRhNCBAweeP38eHBzs5uZWXl6em5ublZWFb4uK\nitL8gRQAALRl+PDhbDbb19d32LBhY8aMyc/P37Fjh/rVmUxmQkICpR5Pnjz59u1bhFBwcDBe4eXu\n7h4fHz9w4MCUlBQ+n3/kyBFNlmFTzrDg4uLy9OnTJUuWPHny5M9//jNCaMCAAWZmZqprMRiMH374\ngeYYdW/Tpk3V1dW5ubkIoaysLDIIkUJCQiIjI/UxNACAfogMflFDN+8HJQgiIyMDIcRms/fs+a/9\n+1u3bs3Ly6urq7tw4UJMTMzAgQPpdUE5ILW3ty9btqy8vJz8RJ13kQabXJWUkJDg4+OTlJRUV1cn\n/bmdnV1UVJT80eYAAGBUCgoK2traEEIzZsywtLSUvoTf/qWkpBAEcf36ddqLDKgFpIaGBn9/f3o9\nGb7Q0NBes1gDAAC0i1yYN3XqVPmrY8aMSUlJQQjdv3+/mwLS3Llzpb+0s7Pr37+/qalplw9APX2e\nCQAAep/Kysrnz5+LRCIGg8HhcPz8/MhsavJqa2txgTyORxr5rCL9/owqCgHp6dOn5BKOpUuXfvzx\nx11OHQEAQA8lNvg5JA11dHTMmzdP+hMWi7Vw4cItW7YoXMBVVlaGCyNGjJC/amJiwmKxxGIxmdeG\nBgo/cXIWa8SIEfv374doBAAAvYlYLL5w4cL8+fMVbpvFhx6wWCxlr8RwVjmhUEjp3DhpFJ6QWltb\nceH48eP0OgMAAKB35ubmISEhAQEBXl5eNjY2CKFffvmlsLDw1KlTb9++FQgEkZGROTk5zs7O0rVw\nwhoV8y9kvlOCIOhN01AISGQHMusrAAAA9CB426U0JycnJyenxYsXb9iwgcvlCoXCgwcP4kUK3YlC\nELO3t8eFLvNSAAAAoMr5+5n4n74GwOFwjh8/jh90/vWvf9XX10tfxZ+reB0nnTaC3gAoBKTY2Fhc\nwKl0AACgF5OI+nTzv8rA6/ifHr9rGxub6dOn4/KjR/91cjGeIhKLxcpiklAoRAixWCzay6opVHN0\ndORwOAihTz75hF5nAAAADNyQIUNw4bfffpP+nDwNrqqqSr6WSCTCJxNpksuOWhzDOXXevXu3e7cW\njqwHAABgaJQ9AA0ePBgXKisr5a+Sb868vb1pd00tIDk5OX377bcIoezs7Llz575584Z2xwAAAAwQ\nuZGoX79+0p9PmjQJFxQuCi8uLsYFTU6goLDKrra2Njw8HCHk6OhYXV398uXLqVOnmpubDxo0yNTU\nVHVdBoNx+fJl2qMEAIBu1scoF2/V1tYWFhbiMvmODps8eTKTySQI4tq1a3v27JHJ6ZCfn48LgYGB\ntHunljro1atXMp8IhUJ19uUafnJVAAAwBk+fPnV1dVW47uDXX3/dvHkz3m/k7+9va2srfZXD4QQF\nBWVnZzc2NiYlJUnnGs/MzHz58iVCKDAw0MHBgfbYKGf7BgAAYAhqa2vv3LlDfvngwQNcuH//vvRt\nfn5+0qmAUlJSSkpKZs6cOX78eA8PD7wG4dmzZ0VFRWlpaTweDyHEZrN37dol32N0dPTVq1cFAkFS\nUlJERETfvn3b29szMjIOHTqEEDI1Nd22bZsm3xG1gOTm5kavG0iuCgAA2vX8+XOZc4mw3NxcfLob\n9vnnn8vkpqurq0tLS0tLS1PYLIfDSUxMdHFxkb9ka2t77NixyMjIjo4OX19fc3NzoVBIbj9KSEhQ\nWEt9FALS0KFDL168qElnAAAA9MvPz6+qqurZs2dkICFZWVktXbp03bp1KpZu+/v7nz9//m9/+xuX\nyxUIBPjDkSNHfvzxx5osZ8DglR0AAChg2S7W9xC6MGXKlIqKCqq1lixZsmTJEolEUlpa2tTUJBQK\nOzs72Wy2vb29u7u7Oi24urqeO3fuxo0bAoHAzMxsxIgRMlnvaIOABAAARofBYGj4QEMmdNAimNoB\nAABgEPp0dnbSrlxZWblnz553796JRCKJROLi4vLll19qcXA9Wp8+ffQ9BACMlya/2RBCrq6u9eOu\naGswVNnem0PjXVwvQPOVXVxcXGZmpsyHVlZWMp/4+PjgWa+ffvqpf//+9Prqub6+uYnS/a+RxY7A\nz/5yM45GX0cC4zyvpNOoSOKL+lYvDGFnFWjSCKlt6TTTU9pPwmsiYAiivQbFPdF6yzIa4zxYUVW6\n7kVev+bWxjMjPeYq2AmvL08u+40dGa/vUVBzv1wLuc0GtLVp3gighPIrO4lE4uPjIx+NFIqJicGF\n5ORkqh0BAAAwKpQDkqenJ7nUj8lkOjo6qkilFxISggtkVgkAAABAIWqv7DZt2oSzSiCEdu/evXr1\nalz29vZuU/R4i5cSvn79msfjiUQimdxHAAAAAIlCQGppaSko+H2C4dSpU2TmV9WGDRuGk901NDTI\n7BYGAACDZdnWrK+uO/TVsb5ReGV37949XJg2bZqa0QhJTSO9e/eO0sgAAAAYFQoB6fjx47igMOme\nMhYWFrjQ3t6ufi0AAADGhkJAImeJBgwYQKOn06dP06gFAADASOg8UwMZxsLCwnTdFwAAgJ6LwqIG\nNpuNC83NzZaWlmrWOnz4MC4Y4cZYAEDPZdoOixq6G4UnpKCgIFyQPmmjS1zu79v1bWxs1K8FAADA\n2FAISLNnz8aFL774Qs0q2dnZeBctm80eOHAg1cEBAAAwHhQCkq2tLT61SSgUbty4scv7i4uLd+/+\nPaPU2rVr6Y0PAACAkaCWqSEpKenPf/4zQujWrVsTJ048c+aMwgNr29vbDx8+TJ6Py2KxPvzwQ83H\nCgAA3YbZobc5JKNFLSB5eXmtXbs2NTUVIcTj8ebNm8dms62trfFSuhcvXixevLipqamurk661rlz\n57Q4YgAAAL0S5eMndu7cyWQyU1JS8JdtbW01NTXk1fLycpn7v/rqK09PT02GCAAAwBjQ2Ye0ffv2\nK1eu4PkkFUaMGFFSUuLn50drYAAAAIwLzQP6nJ2d79y5U1tbm5WVdenSpZaWFvzWztTU1MrKatGi\nRWFhYV1GLAAAAIBEMyBhQ4cO/fDDDw1wwQJBEBKJBCHEYDCYTKb6FSUSyd27d+vr6+vq6uzs7Gxs\nbCZMmMBg6DyfBQDA0PSBRQ3dTqOAZDhEIlFRUVFlZeXDhw9LS0vJVRVBQUEJCQlqNpKRkZGUlNTY\n2Cj9obW19ebNm5cvX67lEQMAAPhvSgPS3Llz8UPGxYsXzczMunFIlF27dm3Lli0aNhIdHX316lX5\nz3k83r59+x48eEDmQAIAAKALSgNSVVUVQRDdORTayENsSUwmk9LgExMTyWi0Zs2aoKAgJyenqqqq\n7Ozs9PR0hFBeXp6zs/OmTZu0NWYAAAAyeskruyFDhnh7e48aNcrFxWXChAkHDhzIyspSs25VVVVS\nUhIux8fHh4SE4LK7u3tsbOzw4cP37t2LEEpMTFywYIGDg4Muxg8AMDj6S65qtHpDQJo7d+7cuXNp\nV09NTcWPUxMmTCCjESk0NDQ/P//evXsEQaSlpe3Zs0ejsQIAAFDC2NePSSSS/Px8XFaWcC88PBwX\ncnJy8LwaAAAArTP2gFRcXIzzkbNYrEmTJim8Z8qUKSwWCyHU3Nz86NGjbh0fAAAYDWMPSM+ePcOF\nUaNGKdtvxGQyyexH5P0AAAC0qzfMIWniyZMnuGBvb6/iNjs7O3zS4KNHj0JDQ7tjZAAAversaNH3\nEIyOsT8hNTf/vpCGw+GouI28St4PAABAu7p+QuLz+VrZGKv6N76+iEQiXHB0dFRx27Bhw3Cho8No\nT7sHAADd6jog+fv7a94Nk8mUP5nCEJCbaq2srFTcZmFhgQuwyg4AAHTE2OeQdIfNZocFJtGoeCQw\njl6Pj+aspFdRWtvSaZo3gnWsH62tpv7TJkIIocY4D623LE+c6NQNvcjAiRSfXDasQ1vul+/W9xCo\nYbPZmjfym/grzRsBlBhuQKqtrcXrCOSNHTvWxsZGK73g9dyoq8kh8qr6mb9bW1s1GRgAQI8qKir0\nPQRj1HVAGjdunObd0DjBgcvlbt26VeGlkydPTpkyReNBIYSQiYkJLlRXV6u4jbxqamqqlX4BAADI\n6DognTp1ysCzfWuCnDri8/kqbiOvqp5qAgAAQJvhvrIbO3bsyZMnFV4it6lqzsPDIzc3FyFUU1Oj\n4rbXr19rvWsAAADSDDcg2djYaOu9nApubm64UF5eThCEwuNlCYJ4/PixzP0AAAC0y9g3xvr6+uIl\n3WKxuKCgQOE9BQUFeHU4h8Px8vLq1vEBAIDRMPaAxGAwFi5ciMunT59WeE9qaiouBAcHd8+oAADA\nCBl7QEIIhYeH4zd1JSUlaWlpMlczMjLw6nMWi7V69Wo9jA8AAIyD4c4hUbJ9+3bh/2/vzOOaOrYH\nPpKQgEiksqj00Sj6IosWQUGkilqx9lVEkVqeaJ+CK4KirbVPbPuwn2Lr0mJsBWkriLulIihoraDi\nwkMUEBBUqhXKR5YqUcMOufH3x/w6n7wsNyF75Hz/4DPcmTv33Mzce+6cOXOms5P8S6JCFBUVRUdH\nk+MMBoPP50udy+Vyo6Oj8fH4+Pjq6up58+a5uLhUVVVlZmaSnWejo6MdHR11exsAAAB9mH4vXryQ\nm+Hm5ob3US0vLzd+t28vLy+8rRE9LBZL0YZGH3/8MXa3k0tISMjWrVvVlw8AAABQxksyQtKcbdu2\neXl5JSYmNjY2Sh53dHSMjo6W3docAAAA0C4KR0gk8k3//v31KA8AAADQR1GokAAAAABAn4CXHQAA\nAGAUgEICAAAAjAJQSAAAAIBRAF522kcsFhcWFjY1NTU2Njo6Otrb2/v6+qqxAYcs9fX1VVVVz58/\nb21tHTBgwMCBA8ePH29jY6N5zYBSdNSsYrG4srKyqanp+fPnQqHQ2tq6f//+Tk5OEMYX6IOAQtIy\nhw4dSkxMbG5uljxoZ2cXFRUVFhamXp2lpaVnzpzJy8sjQccl8fPz27hxo6urq3qVA6qgi2Y9cuRI\ndnZ2WVkZjpQoha2tbVhY2PLly41/FSAAaAvwstMmMTExv/zyi6Lc2bNn79y5s7d1nj59esOGDUqL\nxcbGQmQjHaGLZkUIrVy58tKlS/Rlhg8fnpaWNnjwYDXqBwCTA0ZIWuO7774jr60lS5bMnTt32LBh\nNTU1J06cOHjwIELo9OnTzs7Oq1ev7lW1YrEYJ5hM5vTp0318fBwdHRkMRk9PT2FhYXp6Oo6ZtHXr\nVltb28DAQK3eE6CrZsUwGAwvLy8XF5cxY8ZwOBwzMzOKourq6jIzM3H4q4cPH65YseLkyZNaMfkC\ngLHzAtAGDx8+dHV15fF4PB7v559/lso9duwYznJ1df3jjz96VXNmZua0adMOHz7c3t4um1tTUzN1\n6lRcuZ+fn0gkUv8eABl016wvXrwoKSmR26aYxMRE3l9kZGT0WnQAMEHgs0s7pKSk4NB/vr6+snGG\nQkNDfXx8EEIURckGFKfH19c3Nzc3LCzM0tJSNpfL5SYmJuL0kydPLl68qI70gAJ016wIIU9PT7lt\niomMjPT29sbpa9eu9bZyADBFQCFpAbFYnJ2djdMRERFyy4SHh+PEyZMniRVOFQYPHkxvrnF1dSX7\n2N69e1f1mgF6dNqsqvDGG2/gREtLi3ZrBgDjBBSSFrh58yaONc5kMidPniy3zJQpU5hMJkKopaVF\nUcRxtXFycsIJgUCg3Zr7MgZvVhJGEu/XBQAvPaCQtAAZl4wePVrRaIbBYJCVJVofxzQ1NeEE0UyA\n5hi8WQsKCnBi1KhR2q0ZAIwTUEhaoLKyEideffVVmmJkfz/tfko3NDSUl5fjtIeHhxZr7uMYtlnP\nnDmDncKtrKz++c9/arFmADBawO1bCxATP4fDoSlGcrU7JbBnzx6cGD58uJeXlxZr7uPorVkFAgEZ\nXYnF4qdPn2ZmZl69ehUhZGFhsXv3bliHBPQRQCFpgZ6eHpzgcrk0xYYPH44T3d3d2rr0hQsXyCbr\nn3zyibaqBZAem7WkpCQqKkrqIJPJnDNnTmRkJJhhgb4DmOy0AAn9Ym1tTVPMysoKJ7TljnX//v2N\nGzfi9Pz58ydNmqSVagGMoZoVgz3Cu7q6tFgnABg5MEIyVR4/frx06VJsJho3btyWLVsMLRGgJm5u\nbvHx8Qihnp6empqahoaG/Pz8lpaWEydOZGZmfvrppwsWLDC0jACgD0AhaQHs+IuUzSKQXM3DwAgE\ngoULFzY2NiKExo4d+/3334NnsNbRW7M6Ojq+++67kkfa29u3b99+9OhRiqLi4uKGDBkybdo09SoH\nABMCTHZawNzcHCdqa2tpipFcFoulyeUEAkFYWBiuzcXFJTk5ecCAAZpUCMhFz80qSf/+/ePi4khs\niC+//FJbNQOAMQMKSQuQOQahUEhTjOTSz0nQIxAIFi9e/PDhQ4TQ8OHDU1NTYT8kHaHPZpVLTEwM\nTtTW1hIfdAB4iQGFpAXc3d1xoq6ujqYY2c1I7b3XBAJBeHh4dXU1QsjJyenQoUODBg1SrypAKXpr\nVkUMHjyYBLsja58B4CUGFJIWIKHkqqqqcCxOWSiKun37tlT5XiEUCsPDw/GCFUdHx6NHj9rZ2akl\nL6AS+mlWFdF6oDwAMEJAIWmB8ePHY99fkUiUl5cnt0xeXh52I+ZwOGrEUxAKhUuXLsXayMHB4ciR\nI/b29ppJDShBD81Kj0Ag6OjowGkwzAJ9AVBIWsDMzCwoKAin9+/fL7dMSkoKTsybN08qSywW9/yF\n3HNbW1uXL1+O4wM5ODj89NNPQ4cO1YrkAA26blal7Nu3DyesrKwgBgfQFwCFpB3Cw8Ox43VxcbHs\n1jiHDh0qLS1FCDGZTNmNxjMyMkaPHj169OgJEybI1tze3r5ixYpbt24hhGxtbQ8dOgTaSG/orlmv\nXr2alZWlyBAnFouTk5N//PFH/G9YWBjsGAv0BWAdknbgcrnR0dF8Ph8hFB8fX11dPW/ePBcXl6qq\nqszMTBLdJzo6msTiVBE+n19cXIzTgwcP3rFjB03hcePGkR16AM3RXbM2NjZu3rx5y5YtU6dOHTt2\nrKOjI/Yyb2trKysrO3/+PPGVGDFihHr7owOAyQEKSWusXr26trY2MzMTIZSenk7eVoSQkJDIyMje\nVou35MFUVVVVVVXRFNbiUhgAo6NmxbS1teXk5OTk5CgqMHbs2KSkJLIxEgC83IBC0ibbtm3z8vJK\nTEzEMRQIjo6O0dHRsntgAyaBLpp1woQJoaGhBQUFinzKPT09Q0NDg4OD1ZEYAEyTfi9evDC0DC8h\nZWVlf/zxR1dXF5vNfu2112CbopcDXTSrUCgsLS1taWnBvg/m5ubW1tbe3t4wKgL6IKCQAAAAAKMA\nXHcAAAAAowAUEgAAAGAUgEICAAAAjAJQSAAAAIBRAAoJAAAAMApAIQEAAABGASgkAAAAwCgAhQQA\nAAAYBaCQAAAAAKMAFBIAAABgFIBCAgAAAIwCUEgAAACAUQAKCQAAADAKQCEBAAAARgFs0AcAgLEg\nEAguXLhw/fr16urqmpqazs5OhJCVlZWnp2dAQEBoaKiZGXxDv8zAfkgAABgLubm5UVFRinJ5PF5K\nSoq9vb0+RQL0CYyQAAAwIhwcHHx9ff38/GxsbNhsNkVRTU1Nx48fLy8vr66uXrZsWVZWlqFlBHQF\njJAAADAWKIpiMBhys9auXXvu3DmE0N69e6dNm6ZfuQA9AQZZAACMBUXaCCEUGRmJE8XFxfoSB9A3\noJAAADABuFwuTvT09BhWEkB3gEICAMAEuHHjBk5MmDDBsJIAugMUEgAAxs79+/fj4uIQQjweb+rU\nqQaWBtAZ4GUHAIDRkZWVVVBQgBASi8WPHj3C80Y+Pj58Ph+WIr3EgEICAMDoKCsry8zMlDwye/bs\n2NjYQYMGGUokQA+A27exc+TIkaqqKoRQSEiIp6enomJisfjKlStVVVWPHj3CR5hMJrZyqFjDS0bf\nvGsN6enpiY+PF4lEbm5uYWFhBpQkOzu7sLAQi/To0aOSkhKKoiwtLb/66qu3335bvTpTU1MfPHiA\nEFq4cKGrq6s2xVVGV1dXfHy8WCx2d3dfsGCBPi9tWsAIydgpKCg4f/48Qsjb21vRizU/P/+zzz5r\nbGyUPMhisbBCUqWGl4++edcakpycfPToUYQQ/mtAAgMDAwMDyb+1tbXr16+vrKyMiYk5duyY0gZ9\n/PhxUlISQmjUqFGhoaH44OXLl7EZcOrUqXpWSGw228zM7Pjx4xkZGd7e3iNHjtTn1U0IsMaaPHfu\n3Fm9erWUNgKA3lJXV5ecnIwQ8vPz8/LyMrQ4/wOXy01OTmYymQihvXv3Ki2fm5t7+PDhw4cPC4VC\n3UunElFRUUwmk6KoLVu2GFoW4wUUksnz7bffikQihNDYsWMzMjLu3Llz7969e/fuVVRUGFo0wJTY\nvXt3d3c3QmjdunWGlkUO9vb2OEADHuXQc+nSJZyYPn26TqVSHXt7e2ysKyoqunr1qqHFMVLAZGfs\nREREvPPOOwihsWPHyuaKxeL8/Hyc/uKLL/7+97/3tgYAQAjV1NScOnUKITR27FgPDw9DiyMfFouF\nEKIoir5YV1fXlStXEEJcLtfZ2VkfkqnG+++/f/DgQYQQn8+fNGmSocUxRkAhGTv0xpP29nY8PGIw\nGHK1kdIaAAAhtH//fpx47733DCoIHXV1dQghGxsb+mJ5eXlYac2YMUMfYqkMl8udNGnS1atXy8vL\nb968OX78eENLZHSAyc60uXv3Lk7QBAEDAHpaW1vT09MRQiwWKygoyICS0Ix+Ll68WF5ejhBSujA2\nNzcXJwICArQnmnaYO3cuTuChEiCFSY6QsIvz77///vDhQ7FYbGZm5uDg4OzsPGLEiFGjRsmW7+rq\nwh2dzWbjF7dAICgsLCwqKhKJRAMHDvT09Jw2bZqK73SxWHzjxo27d+8+ePBALBZbW1t7eHj4+Pj0\naoVEaWlpdXV1ZWUlln/kyJHOzs4TJ06UlUFWeIQQRVFdXV0IIbyDGaa9vV3yxP79+9PUoLlgNBBJ\nVLkiEY/BYLDZbLllHj9+XFxcXFxc3NHRgaUaM2aMJr5zRELyK/W2mOyv2traevny5ZKSks7OzoED\nB44fP37KlCmyqzhv3rx548aNR48emZmZvf7661OnTrWzs1NFZq10PLmcOnUKj7NnzJhhbm6uqJge\nbnn27NmBgYEzZsyQHO43NTWlp6djhwsWi7Vs2TKaexGLxXgCydbWVo0eQp4spLhDFhQUlJSUNDY2\nmpmZubq6Tpw4cdiwYThLab96++23//3vf4tEovPnzz979kzpaK+vYXoKKSkpKSUlRZHzjK2t7Ucf\nfRQcHCx5cNWqVXgidM+ePdOmTUtISEhNTcVPIMHOzm7Tpk2SnqZySU1NTUlJ+fPPP6WOMxiM9957\nb926dUp72IEDB/bt2yfXKY7JZAYFBcXHx0s+0h9++CF2X96+ffucOXPwwevXr4eHh0ue293dLfX4\nXb9+HQsjtwbNBaPhww8/vHDhAkJowYIF2PWchlmzZmFTTFxcnOwSjaampq1bt54/f17225nL5X7w\nwQfqrUohv1Vpaamid0d7ezspdu/ePalcyU4VEBCQlJS0d+9eye+DH3/8ccSIEQkJCeQjqaysbNOm\nTXgpDOb48eNMJnPdunXLly+nF1jzjkfD2bNnceLNN9+kKaaHW25sbOTz+Xw+n8ViWVhYMBiM7u7u\ntrY2nGthYZGQkEA/LXTjxg1cXo0IQw0NDeHh4Q8fPkQIOTk5HThwwNHRUbJAQUFBXFxcbW2t1Ikz\nZsz4/PPPLSwsaDoMxtzc3N/f/8KFCxRFnT17FtYkSWFiJrvVq1fv2rWLxpWzubmZ3rts1apVP/zw\ng5Q2Qgg9efLkww8/3L17t6IThULhokWLvvrqK9mXAkKIoqijR4ZSi8cAABK+SURBVI8GBwc3NDQo\nquHZs2eLFi2Kj49X5KItEokyMjKUztlqHa0LRj4ITp06RX/WzZs3sTZiMpmzZ8+Wyi0tLQ0MDPzl\nl1/kVlJbWxsTE/Pll1+qKJXu2LRp065duyRfzZgHDx4sWrQIv78uXrwYFhYm+WrGiESinTt3/vDD\nD4oq17zj0dPe3k42dPDz81PxLB3d8pIlS/DYqLu7WygUPn36FGsXJpMZEhKSlZVFrzIRQvjbCylT\nrrJUVlaGhIRgbTRu3LiffvpJShtlZWWFh4fLaiN80ffee6+5uVmVC02cOBEnsOcFIIkpjZB+/vnn\nvLw8nA4JCXnnnXe8vb3ZbDaOdnXnzp3CwkK8hZcikpOTy8vLLSwsli5dGhQU9Nprr3V2dp4/fz45\nORk/Nnv27OHxeLIf3WKxeNWqVeS5nTdv3ltvvTVhwgRzc/O6urq8vLzvv/9eKBTW19cvXrz49OnT\nsiP9np6e5cuXYyM4QsjT03PRokUeHh5DhgwRi8UVFRUVFRXnzp0rLS1V5adwc3P7/vvvEULV1dU7\nd+5ECDGZzMTERMkyVlZWqlSlXcEwAQEBHA5HKBS2tbWdPXuWZtyZkZFBThkwYIBkVkNDw4oVK/DH\nB4vFioiIePvtt0eOHNnW1nbx4sV9+/b99ttvCKH9+/cPGjRo5cqVqounXdLS0oqKijgczuLFi319\nfV1cXB48eHDp0qXk5GSKooRC4SeffLJly5Z169aJRKKZM2cGBQWNGTMGIVRQUJCUlIRfcAkJCbNm\nzZJ6AyJtdDylXL16Fet7BwcHFa1/urvltWvXrl27tqen58aNG62trWKxmMViDR482NXVVcXROX5F\nMJnMXm3id+XKlTVr1nR0dCCEpk+fnpCQIPVLVlRUbNq0Caft7Oyio6Nnzpw5aNCgZ8+e5eXlJSUl\n1dXVxcbGqnItMny8cuUKNoyrLufLzwvTYdGiRTwej8fj7d27V1EZiqJ+++03qYNLlizh/YWHh8et\n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\nONp5CLqPAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "setdefaults;\n", + "v=3.79./linspace(10,20,10);\n", + "T=273.15+linspace(-10,35,10);\n", + "[v_grid,T_grid]=meshgrid(v,T);\n", + "P = nitrogen_pressure(v_grid,T_grid);\n", + "pcolor(v_grid,T_grid-273.15,P-100)\n", + "xlabel('specific volume (m^3/kg)')\n", + "ylabel('Temperature (C)')\n", + "%zlabel('Pressure (kPa)')\n", + "\n", + "%colormap winter\n", + "%colormap summer\n", + "%colormap jet\n", + "colorbar()" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/lecture_05/lecture_05.md b/lecture_05/lecture_05.md index e0bea24..11c2894 100644 --- a/lecture_05/lecture_05.md +++ b/lecture_05/lecture_05.md @@ -1,4 +1,193 @@ + +```octave +%plot --format svg +``` + +## Questions from last class + +When you execute the given function + +my_function.m: + +```matlab +function [x,y] = my_function(max_time) + N=100; + t=linspace(0,max_time,N); + x=t.^2; + y=2*t; +end +``` + +as + +```>> [x,y] = my_function(20);``` + +What variables are saved to your workspace? + +![responses](q1.png) + +How do you write a help description for a function? + +![responses to question 2](q2.png) + + +How to keep our forked ME3255S page up to date with the original +pretty tired this morning + +How do I use the Github Desktop? + +whats your favorite football team? + +Will UConn's github get updated to the newest version of github? +As u said in class trail and error is the best way of learning. + +I believe the % is the same as matlab where it de-links your code into text + +Does the @ symbol designate a pointer? + +Given the change of air pressure as altitude increases, how fast would a frisbee have to travel (and spin) to hit an airplane? + +What is a gui? + + +could you go over a nested for loop example + +Can't seem to get this function to produce any graph and am not sure why + +When are these google forms due? + +how do I create a new function using Github on my desktop? + +Can you explain the first question more in class? + +What is the meaning of life? + +Should I just know how or what these topics are or will we learn them in the future? + + + +```octave +f =@(x) x.^2 + + +``` + + f = + + @(x)x.^2 + + + +```octave +f([1:2:10]) +f(4) +``` + + ans = + + 1 9 25 49 81 + + + ans = + + 16 + + + +```octave +% nested for loop example +for i = [1:6] + for j = [1:3] + fprintf('i=%i and j=%i\n',i,j) + end +end + +``` + + i=1 and j=1 + i=1 and j=2 + i=1 and j=3 + i=2 and j=1 + i=2 and j=2 + i=2 and j=3 + i=3 and j=1 + i=3 and j=2 + i=3 and j=3 + i=4 and j=1 + i=4 and j=2 + i=4 and j=3 + i=5 and j=1 + i=5 and j=2 + i=5 and j=3 + i=6 and j=1 + i=6 and j=2 + i=6 and j=3 + + +# From last class + + +```octave +help my_function +``` + + Help documentation of "my_function" + This function computes the velocity in the x- and y-directions given + three vectors of position in x- and y-directions as a function of time + x = x-position + y = y-position + t = time + output + vx = velocity in x-direction + vy = velocity in y-direction + + + +```octave +help my_caller +``` + + Help documentation of "my_caller" + This function computes the acceleration in the x- and y-directions given + three vectors of position in x- and y-directions as a function of time + x = x-position + y = y-position + t = time + output + ax = acceleration in x-direction + ay = acceleration in y-direction + + + +```octave +t=linspace(0,10,100)'; +x=t.^3; % vx = 3*t^2 +y=t.^2/2; % vy = t +[vx,vy]=my_function(x,y,t); +[ax,ay]=my_caller(x,y,t); +yyaxis left +plot(t(1:10:end),ax(1:10:end),'o',t,6*t) +ylabel('a_{x}') +yyaxis right +plot(t(1:10:end),ay(1:10:end),'s',t, 1*t./t) +ylabel('a_{y}') +xlabel('time') +axis([0,10,0,3]) +``` + + +![png](lecture_05_files/lecture_05_11_0.png) + + + +```octave +diff_match_dims(x,t) +``` + + Undefined function 'diff_match_dims' for input arguments of type 'double'. +  + # Good coding habits ## naming folders and files @@ -24,23 +213,18 @@ function i=code(j) end ``` + Error: Function definitions are not permitted in this context. +  + ```octave help code ``` - 'code' is a command-line function - - Example of bad variable names and bad function name - + code not found. - Additional help for built-in functions and operators is - available in the online version of the manual. Use the command - 'doc ' to search the manual index. - - Help and information about Octave is also available on the WWW - at http://www.octave.org and via the help@octave.org - mailing list. + Use the Help browser search field to search the documentation, or + type "help help" for help command options, such as help for methods. ## Choose variable names that describe the variable @@ -85,8 +269,8 @@ help counting_function 1. Clone your homework_1 to your computer 2. open Matlab (cli, jupyter or gui) 3. Change working directory to homework_1 *e.g.* Windows:`cd('C:\Users\rcc02007\Documents\Github\homework_1')`, Mac: `cd('/Users/rcc02007/Documents/Github/homework_1')` -4. You have already created your first script `myscript.m` (if not see lecture_4) -5. Run `>> my_script.m` +4. You have already created your first script `setdefaults.m` (if not see lecture_4) +5. Run `>> setdefaults.m` 6. Create a new m-file called nitrogen_pressure.m 7. Create a function based upon the ideal gas law for nitrogen, Pv=RT 1. R=0.2968 kJ/(kg-K) @@ -96,14 +280,45 @@ help counting_function 9. After file is 'committed', 'push' the changes to your github account for the command-line git user, this is steps 8 and 9: - 1. `$ git add *` 2. `$ git commit -m 'added file nitrogen_pressure.m'` 3. `$ git push -u origin master Username for 'https://github.uconn.edu':rcc02007 - ` + Password for 'https://rcc02007@github.uconn.edu': ` +Now, use this function to plot the range of pressures that a pressure vessel would experience if it is 1000 gallons (3.79 m^3) with 10-20 kg of Nitrogen and temperatures range from -10 to 35 degrees C. + +```matlab +v=0.379/linspace(50,20,10); +T=273.15+linspace(-10,35,10); +[v_grid,T_grid]=meshgrid(v,T); +P = nitrogen_pressure(v,T); +pcolor(v_grid,T_grid,P) +``` + + +```octave +setdefaults; +v=3.79./linspace(10,20,10); +T=273.15+linspace(-10,35,10); +[v_grid,T_grid]=meshgrid(v,T); +P = nitrogen_pressure(v_grid,T_grid); +pcolor(v_grid,T_grid-273.15,P-100) +xlabel('specific volume (m^3/kg)') +ylabel('Temperature (C)') +%zlabel('Pressure (kPa)') + +%colormap winter +%colormap summer +%colormap jet +colorbar() +``` + + +![png](lecture_05_files/lecture_05_25_0.png) + + ```octave diff --git a/lecture_05/lecture_05.pdf b/lecture_05/lecture_05.pdf index b12565972dde9f1c8eb63539b25a1aa1ea4c4127..589a8543a277078c257f8aae0319eb69448e4e09 100644 GIT binary patch literal 133523 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

RVeW%i8_6+C)>yrM&{Qf!YJSF$n3_iodT_}Ze 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�V*RKu{B+g+Eb9UM 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

sMNe(`Tm+b2)+ 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 delta 118 zcmbQqIFE6HgcBPB14C|NNl|9SzyJULGXi-mK+F!rK=8pHLNho(XbvbX-~dvPms*~j vpOQM!PFhnH$W>LS%r7lc00}ANrKYA71DUzGsd**EF?j_!`6U_^I+dCL?>Zc8 diff --git a/lecture_05/q1.png b/lecture_05/q1.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc10e596262fa949cf867761f3696a185f07a9c GIT binary patch literal 38940 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 literal 0 HcmV?d00001 diff --git a/lecture_05/q2.png b/lecture_05/q2.png new file mode 100644 index 0000000000000000000000000000000000000000..db02f0ce6f68097bccca3e5cc6a42856a0a226c3 GIT binary patch literal 40186 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 literal 0 HcmV?d00001 diff --git a/lecture_05/setdefaults.m b/lecture_05/setdefaults.m new file mode 100644 index 0000000..8c3c5c8 --- /dev/null +++ b/lecture_05/setdefaults.m @@ -0,0 +1,3 @@ +set(0, 'defaultAxesFontSize', 16) +set(0,'defaultTextFontSize',14) +set(0,'defaultLineLineWidth',3) From 908bbf1e62e5b4fad1685c9e0921313fb305b061 Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Thu, 2 Feb 2017 09:30:03 -0500 Subject: [PATCH 02/15] updated lecture 06 --- lecture_06/bisect.m | 37 + lecture_06/falsepos.m | 39 + lecture_06/incsearch.m | 37 + lecture_06/lecture_06.ipynb | 834 ++++++++++++++++++ lecture_06/lecture_06.md | 373 ++++++++ .../lecture_06_files/lecture_06_18_0.svg | 144 +++ .../lecture_06_files/lecture_06_5_0.svg | 145 +++ 7 files changed, 1609 insertions(+) create mode 100644 lecture_06/bisect.m create mode 100644 lecture_06/falsepos.m create mode 100644 lecture_06/incsearch.m create mode 100644 lecture_06/lecture_06.ipynb create mode 100644 lecture_06/lecture_06.md create mode 100644 lecture_06/lecture_06_files/lecture_06_18_0.svg create mode 100644 lecture_06/lecture_06_files/lecture_06_5_0.svg diff --git a/lecture_06/bisect.m b/lecture_06/bisect.m new file mode 100644 index 0000000..c09ffbf --- /dev/null +++ b/lecture_06/bisect.m @@ -0,0 +1,37 @@ +function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) +% bisect: root location zeroes +% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): +% uses bisection method to find the root of func +% input: +% func = name of function +% xl, xu = lower and upper guesses +% es = desired relative error (default = 0.0001%) +% maxit = maximum allowable iterations (default = 50) +% p1,p2,... = additional parameters used by func +% output: +% root = real root +% fx = function value at root +% ea = approximate relative error (%) +% iter = number of iterations +if nargin<3,error('at least 3 input arguments required'),end +test = func(xl,varargin{:})*func(xu,varargin{:}); +if test>0,error('no sign change'),end +if nargin<4|isempty(es), es=0.0001;end +if nargin<5|isempty(maxit), maxit=50;end +iter = 0; xr = xl; ea = 100; +while (1) + xrold = xr; + xr = (xl + xu)/2; + iter = iter + 1; + if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end + test = func(xl,varargin{:})*func(xr,varargin{:}); + if test < 0 + xu = xr; + elseif test > 0 + xl = xr; + else + ea = 0; + end + if ea <= es | iter >= maxit,break,end +end +root = xr; fx = func(xr, varargin{:}); \ No newline at end of file diff --git a/lecture_06/falsepos.m b/lecture_06/falsepos.m new file mode 100644 index 0000000..0a3477c --- /dev/null +++ b/lecture_06/falsepos.m @@ -0,0 +1,39 @@ +function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) +% bisect: root location zeroes +% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): +% uses bisection method to find the root of func +% input: +% func = name of function +% xl, xu = lower and upper guesses +% es = desired relative error (default = 0.0001%) +% maxit = maximum allowable iterations (default = 50) +% p1,p2,... = additional parameters used by func +% output: +% root = real root +% fx = function value at root +% ea = approximate relative error (%) +% iter = number of iterations +if nargin<3,error('at least 3 input arguments required'),end +test = func(xl,varargin{:})*func(xu,varargin{:}); +if test>0,error('no sign change'),end +if nargin<4|isempty(es), es=0.0001;end +if nargin<5|isempty(maxit), maxit=50;end +iter = 0; xr = xl; ea = 100; +while (1) + xrold = xr; + xr = (xl + xu)/2; + % xr = (xl + xu)/2; % bisect method + xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); % false position method + iter = iter + 1; + if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end + test = func(xl,varargin{:})*func(xr,varargin{:}); + if test < 0 + xu = xr; + elseif test > 0 + xl = xr; + else + ea = 0; + end + if ea <= es | iter >= maxit,break,end +end +root = xr; fx = func(xr, varargin{:}); diff --git a/lecture_06/incsearch.m b/lecture_06/incsearch.m new file mode 100644 index 0000000..bd82554 --- /dev/null +++ b/lecture_06/incsearch.m @@ -0,0 +1,37 @@ +function xb = incsearch(func,xmin,xmax,ns) +% incsearch: incremental search root locator +% xb = incsearch(func,xmin,xmax,ns): +% finds brackets of x that contain sign changes +% of a function on an interval +% input: +% func = name of function +% xmin, xmax = endpoints of interval +% ns = number of subintervals (default = 50) +% output: +% xb(k,1) is the lower bound of the kth sign change +% xb(k,2) is the upper bound of the kth sign change +% If no brackets found, xb = []. +if nargin < 3, error('at least 3 arguments required'), end +if nargin < 4, ns = 50; end %if ns blank set to 50 +% Incremental search +x = linspace(xmin,xmax,ns); +f = func(x); +nb = 0; xb = []; %xb is null unless sign change detected +%for k = 1:length(x)-1 +% if sign(f(k)) ~= sign(f(k+1)) %check for sign change +% nb = nb + 1; +% xb(nb,1) = x(k); +% xb(nb,2) = x(k+1); +% end +%end +sign_change = diff(sign(f)); +[~,i_change] = find(sign_change~=0); +nb=length(i_change); +xb=[x(i_change)',x(i_change+1)']; + +if isempty(xb) %display that no brackets were found + fprintf('no brackets found\n') + fprintf('check interval or increase ns\n') +else + fprintf('number of brackets: %i\n',nb) %display number of brackets +end diff --git a/lecture_06/lecture_06.ipynb b/lecture_06/lecture_06.ipynb new file mode 100644 index 0000000..f44f84c --- /dev/null +++ b/lecture_06/lecture_06.ipynb @@ -0,0 +1,834 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%plot --format svg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "my_caller.m\n", + "```matlab\n", + "function [vx,vy] = my_caller(max_time)\n", + " N=100;\n", + " t=linspace(0,max_time,N);\n", + " [x,y]=my_function(max_time);\n", + " vx=diff(x)./diff(t);\n", + " vy=diff(y)./diff(t);\n", + "end\n", + "```\n", + "\n", + "my_function.m\n", + "```matlab\n", + "function [x,y] = my_function(max_time)\n", + " N=100;\n", + " t=linspace(0,max_time,N);\n", + " x=t.^2;\n", + " y=2*t;\n", + "end\n", + "```\n", + "\n", + "In order to use `my_caller.m` where does `my_function.m` need to be saved?\n", + "![responses](q1.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "What cool personal projects are you working on?\n", + "While we delve deeper into Matlab functions, could we review some of the basic logic\n", + "operators it uses and command codes. \n", + "\n", + "I still dont know when these forms are technically due. \n", + " \n", + " -by the following lecture\n", + "\n", + "I'm having trouble interfacing Atom with GitHub. Is there a simple tutorial for this?\n", + " \n", + " -Mac? Seems there could be a bug that folks are working on\n", + "\n", + "What are the bear necessities of life? \n", + "please go over how to \"submit\" the homeworks because it is still confusing\n", + "\n", + "Do you prefer Matlab or Octave?\n", + " \n", + " -octave is my preference, but Matlab has some benefits\n", + "\n", + "Would you consider a country to be open-source?\n", + " \n", + " -??\n", + "\n", + "Is there a way to download matlab for free?\n", + " \n", + " -not legally\n", + "\n", + "how do you add files to current folder in matlab?\n", + " \n", + " -you can do this either through a file browser or cli\n", + "\n", + "How should Homework 2 be submitted? By simply putting the function into the homework_1\n", + "repository?\n", + " \n", + " -yes\n", + " \n", + "How can we tell that these forms are being received?\n", + " \n", + " -when you hit submit, the form says \"form received\"\n", + " \n", + "can you save scripted outputs from matlab/octave as an excel file?\n", + " \n", + " -yes, easy way is open a file with a .csv extension then fprintf and separate everything with commas, harder way is to use the `xlswrite`\n", + " \n", + "\n", + "Also, can you update your notes to show what happens when these things are run, as you do\n", + "in class?\"\n", + " \n", + " -I always update the lecture notes after class so they should display what we did in class\n", + " \n", + "I have a little difficulty following along in class on my laptop when you have programs\n", + "pre-written. Maybe if you posted those codes on Github so I could copy them when you\n", + "switch to different desktops I would be able to follow along better.\n", + "\n", + "Kirk or Picard?\n", + " \n", + " -Kirk\n", + " \n", + "Who is our TA?\n", + " \n", + " -Peiyu Zhang peiyu.zhang@uconn.edu\n", + "\n", + "Can we download libraries of data like thermodynamic tables into matlab?\n", + " \n", + "-YES! [Matlab Steam Tables](http://bit.ly/2kZygu8)\n", + "\n", + "Will we use the Simulink addition to Matlab? I found it interesting and useful for\n", + "evaluating ODEs in Linear systems.\n", + " \n", + " -not in this class, everything in simulink has a matlab script/function that can be substituted, but many times its hidden by the gui. Here we want to look directly at our solvers\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Roots and Optimization\n", + "## Bracketing ch. 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you are given a function, numerical or analytical, it's not always possible to solve directly for a given variable. \n", + "\n", + "Even for the freefall example we first explored, \n", + "\n", + "$v(t)=\\sqrt{\\frac{gm}{c_{d}}}\\tanh(\\sqrt{\\frac{gc_{d}}{m}}t)$\n", + "\n", + "There is no way to solve for m in terms of the other variables. \n", + "\n", + "Instead, we can solve the problem by creating a new function f(m) where\n", + "\n", + "$f(m)=\\sqrt{\\frac{gm}{c_{d}}}\\tanh(\\sqrt{\\frac{gc_{d}}{m}}t)-v(t)$. \n", + "\n", + "When f(m) = 0, we have solved for m in terms of the other variables (e.g. for a given time, velocity, drag coefficient and acceleration due to gravity)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t-5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-3\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t60\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t80\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t100\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t120\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t140\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t160\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t180\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t200\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tgnuplot_plot_2a\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "setdefaults\n", + "g=9.81; % acceleration due to gravity\n", + "m=linspace(50, 200,100); % possible values for mass 50 to 200 kg\n", + "c_d=0.25; % drag coefficient\n", + "t=4; % at time = 4 seconds\n", + "v=36; % speed must be 36 m/s\n", + "f_m = @(m) sqrt(g*m/c_d).*tanh(sqrt(g*c_d./m)*t)-v; % anonymous function f_m\n", + "\n", + "plot(m,f_m(m),m,zeros(length(m),1))\n", + "axis([45 200 -5 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 0.045626\r\n" + ] + } + ], + "source": [ + "f_m(145)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Brute force method is plot f_m vs m and with smaller and smaller steps until f_m ~ 0\n", + "\n", + "Better methods are the \n", + "1. Bracketing methods\n", + "2. Open methods\n", + "\n", + "Both need an initial guess. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Incremental method (Brute force)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You know that for one value, m_lower, f_m is negative and for another value, m_upper, f_m is positive. \n", + "\n", + "```matlab\n", + "function xb = incsearch(func,xmin,xmax,ns)\n", + "% incsearch: incremental search root locator\n", + "% xb = incsearch(func,xmin,xmax,ns):\n", + "% finds brackets of x that contain sign changes\n", + "% of a function on an interval\n", + "% input:\n", + "% func = name of function\n", + "% xmin, xmax = endpoints of interval\n", + "% ns = number of subintervals (default = 50)\n", + "% output:\n", + "% xb(k,1) is the lower bound of the kth sign change\n", + "% xb(k,2) is the upper bound of the kth sign change\n", + "% If no brackets found, xb = [].\n", + "if nargin < 3, error('at least 3 arguments required'), end\n", + "if nargin < 4, ns = 50; end %if ns blank set to 50\n", + "% Incremental search\n", + "x = linspace(xmin,xmax,ns);\n", + "f = func(x);\n", + "nb = 0; xb = []; %xb is null unless sign change detected\n", + "for k = 1:length(x)-1\n", + " if sign(f(k)) ~= sign(f(k+1)) %check for sign change\n", + " nb = nb + 1;\n", + " xb(nb,1) = x(k);\n", + " xb(nb,2) = x(k+1);\n", + " end\n", + "end\n", + "if isempty(xb) %display that no brackets were found\n", + " fprintf('no brackets found\\n')\n", + " fprintf('check interval or increase ns\\n')\n", + "else\n", + " fprintf('number of brackets: %i\\n',nb) %display number of brackets\n", + "end\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'incsearch' is a function from the file /home/ryan/Documents/UConn/ME3255/me3255_S2017/lecture_06/incsearch.m\n", + "\n", + " incsearch: incremental search root locator\n", + " xb = incsearch(func,xmin,xmax,ns):\n", + " finds brackets of x that contain sign changes\n", + " of a function on an interval\n", + " input:\n", + " func = name of function\n", + " xmin, xmax = endpoints of interval\n", + " ns = number of subintervals (default = 50)\n", + " output:\n", + " xb(k,1) is the lower bound of the kth sign change\n", + " xb(k,2) is the upper bound of the kth sign change\n", + " If no brackets found, xb = [].\n", + "\n", + "\n", + "Additional help for built-in functions and operators is\n", + "available in the online version of the manual. Use the command\n", + "'doc ' to search the manual index.\n", + "\n", + "Help and information about Octave is also available on the WWW\n", + "at http://www.octave.org and via the help@octave.org\n", + "mailing list.\n" + ] + } + ], + "source": [ + "help incsearch" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no brackets found\n", + "check interval or increase ns\n", + "ans = [](1x0)\n" + ] + } + ], + "source": [ + "incsearch(f_m,50, 200,55)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Bisection method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Divide interval in half until error is reduced to some level\n", + "\n", + "in previous example of freefall, choose x_l=50, x_u=200\n", + "\n", + "x_r = (50+200)/2 = 125\n", + "\n", + "f_m(125) = -0.408\n", + "\n", + "x_r= (125+200)/2 = 162.5\n", + "\n", + "f_m(162.5) = 0.3594\n", + "\n", + "x_r = (125+162.5)/2=143.75\n", + "\n", + "f_m(143.75)= 0.0206" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 0.020577\r\n" + ] + } + ], + "source": [ + "f_m(143.75)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Much better root locator, with 4 iterations, our function is already close to zero\n", + "\n", + "Automate this with a function:\n", + "`bisect.m`\n", + "\n", + "```matlab\n", + "function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin)\n", + "% bisect: root location zeroes\n", + "% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...):\n", + "% uses bisection method to find the root of func\n", + "% input:\n", + "% func = name of function\n", + "% xl, xu = lower and upper guesses\n", + "% es = desired relative error (default = 0.0001%)\n", + "% maxit = maximum allowable iterations (default = 50)\n", + "% p1,p2,... = additional parameters used by func\n", + "% output:\n", + "% root = real root\n", + "% fx = function value at root\n", + "% ea = approximate relative error (%)\n", + "% iter = number of iterations\n", + "if nargin<3,error('at least 3 input arguments required'),end\n", + "test = func(xl,varargin{:})*func(xu,varargin{:});\n", + "if test>0,error('no sign change'),end\n", + "if nargin<4|isempty(es), es=0.0001;end\n", + "if nargin<5|isempty(maxit), maxit=50;end\n", + "iter = 0; xr = xl; ea = 100;\n", + "while (1)\n", + " xrold = xr;\n", + " xr = (xl + xu)/2;\n", + " iter = iter + 1;\n", + " if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end\n", + " test = func(xl,varargin{:})*func(xr,varargin{:});\n", + " if test < 0\n", + " xu = xr;\n", + " elseif test > 0\n", + " xl = xr;\n", + " else\n", + " ea = 0;\n", + " end\n", + " if ea <= es | iter >= maxit,break,end\n", + "end\n", + "root = xr; fx = func(xr, varargin{:});\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## False position (linear interpolation)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Rather than bisecting each bracket (1/2 each time) we can calculate the slope between the two points and update the xr position in this manner\n", + "\n", + "$ x_{r} = x_{u} - \\frac{f(x_{u})(x_{l}-x_{u})}{f(x_{l})-f(x_{u})}$" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t-5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-3\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t100\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t150\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t200\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tgnuplot_plot_2a\n", + "\n", + "\t \n", + "\t\n", + "\n", + "\t\n", + "\tgnuplot_plot_3a\n", + "\n", + "\t \n", + "\t\n", + "\n", + "\t\n", + "\tgnuplot_plot_4a\n", + "\n", + "\t\t \n", + "\t\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "xl=50; xu=200; \n", + "xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu));\n", + "\n", + "plot(m,f_m(m),xl,f_m(xl),'s',xu,f_m(xu),'s',xr,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Much better root locator, with 4 iterations, our function is already close to zero\n", + "\n", + "Automate this with a function:\n", + "`falsepos.m`\n", + "\n", + "```matlab\n", + "function [root,fx,ea,iter]=falsepos(func,xl,xu,es,maxit,varargin)\n", + "% falsepos: root location zeroes\n", + "% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...):\n", + "% uses false position method to find the root of func\n", + "% input:\n", + "% func = name of function\n", + "% xl, xu = lower and upper guesses\n", + "% es = desired relative error (default = 0.0001%)\n", + "% maxit = maximum allowable iterations (default = 50)\n", + "% p1,p2,... = additional parameters used by func\n", + "% output:\n", + "% root = real root\n", + "% fx = function value at root\n", + "% ea = approximate relative error (%)\n", + "% iter = number of iterations\n", + "if nargin<3,error('at least 3 input arguments required'),end\n", + "test = func(xl,varargin{:})*func(xu,varargin{:});\n", + "if test>0,error('no sign change'),end\n", + "if nargin<4|isempty(es), es=0.0001;end\n", + "if nargin<5|isempty(maxit), maxit=50;end\n", + "iter = 0; xr = xl; ea = 100;\n", + "while (1)\n", + " xrold = xr;\n", + " % xr = (xl + xu)/2; % bisect method\n", + " xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); % false position method\n", + " iter = iter + 1;\n", + " if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end\n", + " test = func(xl,varargin{:})*func(xr,varargin{:});\n", + " if test < 0\n", + " xu = xr;\n", + " elseif test > 0\n", + " xl = xr;\n", + " else\n", + " ea = 0;\n", + " end\n", + " if ea <= es | iter >= maxit,break,end\n", + "end\n", + "root = xr; fx = func(xr, varargin{:});\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Octave", + "language": "octave", + "name": "octave" + }, + "language_info": { + "file_extension": ".m", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "octave", + "version": "0.19.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture_06/lecture_06.md b/lecture_06/lecture_06.md new file mode 100644 index 0000000..b3d2266 --- /dev/null +++ b/lecture_06/lecture_06.md @@ -0,0 +1,373 @@ + + +```octave +%plot --format svg +``` + +my_caller.m +```matlab +function [vx,vy] = my_caller(max_time) + N=100; + t=linspace(0,max_time,N); + [x,y]=my_function(max_time); + vx=diff(x)./diff(t); + vy=diff(y)./diff(t); +end +``` + +my_function.m +```matlab +function [x,y] = my_function(max_time) + N=100; + t=linspace(0,max_time,N); + x=t.^2; + y=2*t; +end +``` + +In order to use `my_caller.m` where does `my_function.m` need to be saved? +![responses](q1.png) + + +What cool personal projects are you working on? +While we delve deeper into Matlab functions, could we review some of the basic logic +operators it uses and command codes. + +I still dont know when these forms are technically due. + + -by the following lecture + +I'm having trouble interfacing Atom with GitHub. Is there a simple tutorial for this? + + -Mac? Seems there could be a bug that folks are working on + +What are the bear necessities of life? +please go over how to "submit" the homeworks because it is still confusing + +Do you prefer Matlab or Octave? + + -octave is my preference, but Matlab has some benefits + +Would you consider a country to be open-source? + + -?? + +Is there a way to download matlab for free? + + -not legally + +how do you add files to current folder in matlab? + + -you can do this either through a file browser or cli + +How should Homework 2 be submitted? By simply putting the function into the homework_1 +repository? + + -yes + +How can we tell that these forms are being received? + + -when you hit submit, the form says "form received" + +can you save scripted outputs from matlab/octave as an excel file? + + -yes, easy way is open a file with a .csv extension then fprintf and separate everything with commas, harder way is to use the `xlswrite` + + +Also, can you update your notes to show what happens when these things are run, as you do +in class?" + + -I always update the lecture notes after class so they should display what we did in class + +I have a little difficulty following along in class on my laptop when you have programs +pre-written. Maybe if you posted those codes on Github so I could copy them when you +switch to different desktops I would be able to follow along better. + +Kirk or Picard? + + -Kirk + +Who is our TA? + + -Peiyu Zhang peiyu.zhang@uconn.edu + +Can we download libraries of data like thermodynamic tables into matlab? + +-YES! [Matlab Steam Tables](http://bit.ly/2kZygu8) + +Will we use the Simulink addition to Matlab? I found it interesting and useful for +evaluating ODEs in Linear systems. + + -not in this class, everything in simulink has a matlab script/function that can be substituted, but many times its hidden by the gui. Here we want to look directly at our solvers + + +# Roots and Optimization +## Bracketing ch. 5 + +When you are given a function, numerical or analytical, it's not always possible to solve directly for a given variable. + +Even for the freefall example we first explored, + +$v(t)=\sqrt{\frac{gm}{c_{d}}}\tanh(\sqrt{\frac{gc_{d}}{m}}t)$ + +There is no way to solve for m in terms of the other variables. + +Instead, we can solve the problem by creating a new function f(m) where + +$f(m)=\sqrt{\frac{gm}{c_{d}}}\tanh(\sqrt{\frac{gc_{d}}{m}}t)-v(t)$. + +When f(m) = 0, we have solved for m in terms of the other variables (e.g. for a given time, velocity, drag coefficient and acceleration due to gravity) + + +```octave +setdefaults +g=9.81; % acceleration due to gravity +m=linspace(50, 200,100); % possible values for mass 50 to 200 kg +c_d=0.25; % drag coefficient +t=4; % at time = 4 seconds +v=36; % speed must be 36 m/s +f_m = @(m) sqrt(g*m/c_d).*tanh(sqrt(g*c_d./m)*t)-v; % anonymous function f_m + +plot(m,f_m(m),m,zeros(length(m),1)) +axis([45 200 -5 1]) +``` + + +![svg](lecture_06_files/lecture_06_5_0.svg) + + + +```octave +f_m(145) +``` + + ans = 0.045626 + + +Brute force method is plot f_m vs m and with smaller and smaller steps until f_m ~ 0 + +Better methods are the +1. Bracketing methods +2. Open methods + +Both need an initial guess. + + +## Incremental method (Brute force) + +You know that for one value, m_lower, f_m is negative and for another value, m_upper, f_m is positive. + +```matlab +function xb = incsearch(func,xmin,xmax,ns) +% incsearch: incremental search root locator +% xb = incsearch(func,xmin,xmax,ns): +% finds brackets of x that contain sign changes +% of a function on an interval +% input: +% func = name of function +% xmin, xmax = endpoints of interval +% ns = number of subintervals (default = 50) +% output: +% xb(k,1) is the lower bound of the kth sign change +% xb(k,2) is the upper bound of the kth sign change +% If no brackets found, xb = []. +if nargin < 3, error('at least 3 arguments required'), end +if nargin < 4, ns = 50; end %if ns blank set to 50 +% Incremental search +x = linspace(xmin,xmax,ns); +f = func(x); +nb = 0; xb = []; %xb is null unless sign change detected +for k = 1:length(x)-1 + if sign(f(k)) ~= sign(f(k+1)) %check for sign change + nb = nb + 1; + xb(nb,1) = x(k); + xb(nb,2) = x(k+1); + end +end +if isempty(xb) %display that no brackets were found + fprintf('no brackets found\n') + fprintf('check interval or increase ns\n') +else + fprintf('number of brackets: %i\n',nb) %display number of brackets +end +``` + + +```octave +help incsearch +``` + + 'incsearch' is a function from the file /home/ryan/Documents/UConn/ME3255/me3255_S2017/lecture_06/incsearch.m + + incsearch: incremental search root locator + xb = incsearch(func,xmin,xmax,ns): + finds brackets of x that contain sign changes + of a function on an interval + input: + func = name of function + xmin, xmax = endpoints of interval + ns = number of subintervals (default = 50) + output: + xb(k,1) is the lower bound of the kth sign change + xb(k,2) is the upper bound of the kth sign change + If no brackets found, xb = []. + + + Additional help for built-in functions and operators is + available in the online version of the manual. Use the command + 'doc ' to search the manual index. + + Help and information about Octave is also available on the WWW + at http://www.octave.org and via the help@octave.org + mailing list. + + + +```octave +incsearch(f_m,50, 200,55) +``` + + no brackets found + check interval or increase ns + ans = [](1x0) + + +## Bisection method + +Divide interval in half until error is reduced to some level + +in previous example of freefall, choose x_l=50, x_u=200 + +x_r = (50+200)/2 = 125 + +f_m(125) = -0.408 + +x_r= (125+200)/2 = 162.5 + +f_m(162.5) = 0.3594 + +x_r = (125+162.5)/2=143.75 + +f_m(143.75)= 0.0206 + + +```octave +f_m(143.75) +``` + + ans = 0.020577 + + +Much better root locator, with 4 iterations, our function is already close to zero + +Automate this with a function: +`bisect.m` + +```matlab +function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) +% bisect: root location zeroes +% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): +% uses bisection method to find the root of func +% input: +% func = name of function +% xl, xu = lower and upper guesses +% es = desired relative error (default = 0.0001%) +% maxit = maximum allowable iterations (default = 50) +% p1,p2,... = additional parameters used by func +% output: +% root = real root +% fx = function value at root +% ea = approximate relative error (%) +% iter = number of iterations +if nargin<3,error('at least 3 input arguments required'),end +test = func(xl,varargin{:})*func(xu,varargin{:}); +if test>0,error('no sign change'),end +if nargin<4|isempty(es), es=0.0001;end +if nargin<5|isempty(maxit), maxit=50;end +iter = 0; xr = xl; ea = 100; +while (1) + xrold = xr; + xr = (xl + xu)/2; + iter = iter + 1; + if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end + test = func(xl,varargin{:})*func(xr,varargin{:}); + if test < 0 + xu = xr; + elseif test > 0 + xl = xr; + else + ea = 0; + end + if ea <= es | iter >= maxit,break,end +end +root = xr; fx = func(xr, varargin{:}); +``` + +## False position (linear interpolation) + +Rather than bisecting each bracket (1/2 each time) we can calculate the slope between the two points and update the xr position in this manner + +$ x_{r} = x_{u} - \frac{f(x_{u})(x_{l}-x_{u})}{f(x_{l})-f(x_{u})}$ + + +```octave +xl=50; xu=200; +xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); + +plot(m,f_m(m),xl,f_m(xl),'s',xu,f_m(xu),'s',xr,0) +``` + + +![svg](lecture_06_files/lecture_06_18_0.svg) + + +Much better root locator, with 4 iterations, our function is already close to zero + +Automate this with a function: +`falsepos.m` + +```matlab +function [root,fx,ea,iter]=falsepos(func,xl,xu,es,maxit,varargin) +% falsepos: root location zeroes +% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): +% uses false position method to find the root of func +% input: +% func = name of function +% xl, xu = lower and upper guesses +% es = desired relative error (default = 0.0001%) +% maxit = maximum allowable iterations (default = 50) +% p1,p2,... = additional parameters used by func +% output: +% root = real root +% fx = function value at root +% ea = approximate relative error (%) +% iter = number of iterations +if nargin<3,error('at least 3 input arguments required'),end +test = func(xl,varargin{:})*func(xu,varargin{:}); +if test>0,error('no sign change'),end +if nargin<4|isempty(es), es=0.0001;end +if nargin<5|isempty(maxit), maxit=50;end +iter = 0; xr = xl; ea = 100; +while (1) + xrold = xr; + % xr = (xl + xu)/2; % bisect method + xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); % false position method + iter = iter + 1; + if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end + test = func(xl,varargin{:})*func(xr,varargin{:}); + if test < 0 + xu = xr; + elseif test > 0 + xl = xr; + else + ea = 0; + end + if ea <= es | iter >= maxit,break,end +end +root = xr; fx = func(xr, varargin{:}); +``` + + +```octave + +``` diff --git a/lecture_06/lecture_06_files/lecture_06_18_0.svg b/lecture_06/lecture_06_files/lecture_06_18_0.svg new file mode 100644 index 0000000..9652b37 --- /dev/null +++ b/lecture_06/lecture_06_files/lecture_06_18_0.svg @@ -0,0 +1,144 @@ + + +Gnuplot +Produced by GNUPLOT 5.0 patchlevel 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -5 + + + + + -4 + + + + + -3 + + + + + -2 + + + + + -1 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + 50 + + + + + 100 + + + + + 150 + + + + + 200 + + + + + + + + + gnuplot_plot_1a + + + + + + gnuplot_plot_2a + + + + + + gnuplot_plot_3a + + + + + + gnuplot_plot_4a + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lecture_06/lecture_06_files/lecture_06_5_0.svg b/lecture_06/lecture_06_files/lecture_06_5_0.svg new file mode 100644 index 0000000..3ecaecd --- /dev/null +++ b/lecture_06/lecture_06_files/lecture_06_5_0.svg @@ -0,0 +1,145 @@ + + +Gnuplot +Produced by GNUPLOT 5.0 patchlevel 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -5 + + + + + -4 + + + + + -3 + + + + + -2 + + + + + -1 + + + + + 0 + + + + + 1 + + + + + 60 + + + + + 80 + + + + + 100 + + + + + 120 + + + + + 140 + + + + + 160 + + + + + 180 + + + + + 200 + + + + + + + + + gnuplot_plot_1a + + + + + + gnuplot_plot_2a + + + + + + + + + + + + + \ No newline at end of file From 2ce5ca32f0eeb211bb368079c412aabf8646d33b Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Mon, 6 Feb 2017 23:06:31 -0500 Subject: [PATCH 03/15] updated lecture 07 --- lecture_07/bisect.m | 37 + lecture_07/car_payments.m | 17 + lecture_07/falsepos.m | 39 + lecture_07/fzerosimp.m | 41 + lecture_07/incsearch.m | 37 + lecture_07/lecture_07.ipynb | 1195 +++++++++++++++++ lecture_07/lecture_07.md | 388 ++++++ lecture_07/lecture_07.pdf | Bin 0 -> 68853 bytes .../lecture_07_files/lecture_07_14_1.svg | 146 ++ .../lecture_07_files/lecture_07_22_1.svg | 197 +++ .../lecture_07_files/lecture_07_24_1.svg | 182 +++ lecture_07/mod_secant.m | 31 + lecture_07/newtraph.m | 29 + 13 files changed, 2339 insertions(+) create mode 100644 lecture_07/bisect.m create mode 100644 lecture_07/car_payments.m create mode 100644 lecture_07/falsepos.m create mode 100644 lecture_07/fzerosimp.m create mode 100644 lecture_07/incsearch.m create mode 100644 lecture_07/lecture_07.ipynb create mode 100644 lecture_07/lecture_07.md create mode 100644 lecture_07/lecture_07.pdf create mode 100644 lecture_07/lecture_07_files/lecture_07_14_1.svg create mode 100644 lecture_07/lecture_07_files/lecture_07_22_1.svg create mode 100644 lecture_07/lecture_07_files/lecture_07_24_1.svg create mode 100644 lecture_07/mod_secant.m create mode 100644 lecture_07/newtraph.m diff --git a/lecture_07/bisect.m b/lecture_07/bisect.m new file mode 100644 index 0000000..9f696a0 --- /dev/null +++ b/lecture_07/bisect.m @@ -0,0 +1,37 @@ +function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) +% bisect: root location zeroes +% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): +% uses bisection method to find the root of func +% input: +% func = name of function +% xl, xu = lower and upper guesses +% es = desired relative error (default = 0.0001%) +% maxit = maximum allowable iterations (default = 50) +% p1,p2,... = additional parameters used by func +% output: +% root = real root +% fx = function value at root +% ea = approximate relative error (%) +% iter = number of iterations +if nargin<3,error('at least 3 input arguments required'),end +test = func(xl,varargin{:})*func(xu,varargin{:}); +if test>0,error('no sign change'),end +if nargin<4||isempty(es), es=0.0001;end +if nargin<5||isempty(maxit), maxit=50;end +iter = 0; xr = xl; ea = 100; +while (1) + xrold = xr; + xr = (xl + xu)/2; + iter = iter + 1; + if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end + test = func(xl,varargin{:})*func(xr,varargin{:}); + if test < 0 + xu = xr; + elseif test > 0 + xl = xr; + else + ea = 0; + end + if ea <= es || iter >= maxit,break,end +end +root = xr; fx = func(xr, varargin{:}); diff --git a/lecture_07/car_payments.m b/lecture_07/car_payments.m new file mode 100644 index 0000000..9d5b2a5 --- /dev/null +++ b/lecture_07/car_payments.m @@ -0,0 +1,17 @@ +function amount_left = car_payments(monthly_payment,price,apr,no_of_years,plot_bool) + interest_per_month = apr/12; + number_of_months = no_of_years*12; + principle=price; + P_vector=zeros(1,number_of_months); + for i = 1:number_of_months + principle=principle-monthly_payment; + principle=(1+interest_per_month)*principle; + P_vector(i)=principle; + end + amount_left=principle; + if plot_bool + plot([1:number_of_months]/12, P_vector) + xlabel('time (years)') + ylabel('principle amount left ($)') + end +end diff --git a/lecture_07/falsepos.m b/lecture_07/falsepos.m new file mode 100644 index 0000000..d5575d5 --- /dev/null +++ b/lecture_07/falsepos.m @@ -0,0 +1,39 @@ +function [root,fx,ea,iter]=falsepos(func,xl,xu,es,maxit,varargin) +% bisect: root location zeroes +% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): +% uses bisection method to find the root of func +% input: +% func = name of function +% xl, xu = lower and upper guesses +% es = desired relative error (default = 0.0001%) +% maxit = maximum allowable iterations (default = 50) +% p1,p2,... = additional parameters used by func +% output: +% root = real root +% fx = function value at root +% ea = approximate relative error (%) +% iter = number of iterations +if nargin<3,error('at least 3 input arguments required'),end +test = func(xl,varargin{:})*func(xu,varargin{:}); +if test>0,error('no sign change'),end +if nargin<4||isempty(es), es=0.0001;end +if nargin<5||isempty(maxit), maxit=50;end +iter = 0; xr = xl; ea = 100; +while (1) + xrold = xr; + xr = (xl + xu)/2; + % xr = (xl + xu)/2; % bisect method + xr=xu - (func(xu)*(xl-xu))/(func(xl)-func(xu)); % false position method + iter = iter + 1; + if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end + test = func(xl,varargin{:})*func(xr,varargin{:}); + if test < 0 + xu = xr; + elseif test > 0 + xl = xr; + else + ea = 0; + end + if ea <= es || iter >= maxit,break,end +end +root = xr; fx = func(xr, varargin{:}); diff --git a/lecture_07/fzerosimp.m b/lecture_07/fzerosimp.m new file mode 100644 index 0000000..05c7a9b --- /dev/null +++ b/lecture_07/fzerosimp.m @@ -0,0 +1,41 @@ +function b = fzerosimp(xl,xu) +a = xl; b = xu; fa = f(a); fb = f(b); +c = a; fc = fa; d = b - c; e = d; +while (1) + if fb == 0, break, end + if sign(fa) == sign(fb) %If needed, rearrange points + a = c; fa = fc; d = b - c; e = d; + end + if abs(fa) < abs(fb) + c = b; b = a; a = c; + fc = fb; fb = fa; fa = fc; + end + m = 0.5*(a - b); %Termination test and possible exit + tol = 2 * eps * max(abs(b), 1); + if abs(m) <= tol | fb == 0. + break + end + %Choose open methods or bisection + if abs(e) >= tol & abs(fc) > abs(fb) + s = fb/fc; + if a == c %Secant method + p = 2*m*s; + q = 1 - s; + else %Inverse quadratic interpolation + q = fc/fa; r = fb/fa; + p = s * (2*m*q * (q - r) - (b - c)*(r - 1)); + q = (q - 1)*(r - 1)*(s - 1); + end + if p > 0, q = -q; else p = -p; end; + if 2*p < 3*m*q - abs(tol*q) & p < abs(0.5*e*q) + e = d; d = p/q; + else + d = m; e = m; + end + else %Bisection + d = m; e = m; + end + c = b; fc = fb; + if abs(d) > tol, b=b+d; else b=b-sign(b-a)*tol; end + fb = f(b); +end \ No newline at end of file diff --git a/lecture_07/incsearch.m b/lecture_07/incsearch.m new file mode 100644 index 0000000..bd82554 --- /dev/null +++ b/lecture_07/incsearch.m @@ -0,0 +1,37 @@ +function xb = incsearch(func,xmin,xmax,ns) +% incsearch: incremental search root locator +% xb = incsearch(func,xmin,xmax,ns): +% finds brackets of x that contain sign changes +% of a function on an interval +% input: +% func = name of function +% xmin, xmax = endpoints of interval +% ns = number of subintervals (default = 50) +% output: +% xb(k,1) is the lower bound of the kth sign change +% xb(k,2) is the upper bound of the kth sign change +% If no brackets found, xb = []. +if nargin < 3, error('at least 3 arguments required'), end +if nargin < 4, ns = 50; end %if ns blank set to 50 +% Incremental search +x = linspace(xmin,xmax,ns); +f = func(x); +nb = 0; xb = []; %xb is null unless sign change detected +%for k = 1:length(x)-1 +% if sign(f(k)) ~= sign(f(k+1)) %check for sign change +% nb = nb + 1; +% xb(nb,1) = x(k); +% xb(nb,2) = x(k+1); +% end +%end +sign_change = diff(sign(f)); +[~,i_change] = find(sign_change~=0); +nb=length(i_change); +xb=[x(i_change)',x(i_change+1)']; + +if isempty(xb) %display that no brackets were found + fprintf('no brackets found\n') + fprintf('check interval or increase ns\n') +else + fprintf('number of brackets: %i\n',nb) %display number of brackets +end diff --git a/lecture_07/lecture_07.ipynb b/lecture_07/lecture_07.ipynb new file mode 100644 index 0000000..0c3c2ca --- /dev/null +++ b/lecture_07/lecture_07.ipynb @@ -0,0 +1,1195 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%plot --format svg" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "setdefaults" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Roots: Open methods\n", + "## Newton-Raphson" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First-order approximation for the location of the root (i.e. assume the slope at the given point is constant, what is the solution when f(x)=0)\n", + "\n", + "$f'(x_{i})=\\frac{f(x_{i})-0}{x_{i}-x_{i+1}}$\n", + "\n", + "$x_{i+1}=x_{i}-\\frac{f(x_{i})}{f'(x_{i})}$\n", + "\n", + "Use Newton-Raphson to find solution when $e^{x}=x$" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "error: 'c' undefined near line 1 column 1\n", + "error: 'x_r' undefined near line 1 column 21\n", + "error: evaluating argument list element number 1\n", + "error: 'x_r' undefined near line 1 column 5\n" + ] + } + ], + "source": [ + "f= @(x) exp(-x)-x;\n", + "df= @(x) -exp(-x)-1;\n", + "\n", + "x_i= 0;\n", + "c\n", + "error_approx = abs((x_r-x_i)/x_r)\n", + "x_i=x_r;\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x_r = 0.50000\n", + "error_approx = 1\n" + ] + } + ], + "source": [ + "x_r = x_i-f(x_i)/df(x_i)\n", + "error_approx = abs((x_r-x_i)/x_r)\n", + "x_i=x_r;" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x_r = 0.56631\n", + "error_approx = 0.11709\n" + ] + } + ], + "source": [ + "x_r = x_i-f(x_i)/df(x_i)\n", + "error_approx = abs((x_r-x_i)/x_r)\n", + "x_i=x_r;" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x_r = 0.56714\n", + "error_approx = 0.0014673\n" + ] + } + ], + "source": [ + "x_r = x_i-f(x_i)/df(x_i)\n", + "error_approx = abs((x_r-x_i)/x_r)\n", + "x_i=x_r;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the bungee jumper example, we created a function f(m) that when f(m)=0, then the mass had been chosen such that at t=4 s, the velocity is 36 m/s. \n", + "\n", + "$f(m)=\\sqrt{\\frac{gm}{c_{d}}}\\tanh(\\sqrt{\\frac{gc_{d}}{m}}t)-v(t)$.\n", + "\n", + "to use the Newton-Raphson method, we need the derivative $\\frac{df}{dm}$\n", + "\n", + "$\\frac{df}{dm}=\\frac{1}{2}\\sqrt{\\frac{g}{mc_{d}}}\\tanh(\\sqrt{\\frac{gc_{d}}{m}}t)-\n", + "\\frac{g}{2m}\\mathrm{sech}^{2}(\\sqrt{\\frac{gc_{d}}{m}}t)$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "setdefaults\n", + "g=9.81; % acceleration due to gravity\n", + "m=linspace(50, 200,100); % possible values for mass 50 to 200 kg\n", + "c_d=0.25; % drag coefficient\n", + "t=4; % at time = 4 seconds\n", + "v=36; % speed must be 36 m/s\n", + "f_m = @(m) sqrt(g*m/c_d).*tanh(sqrt(g*c_d./m)*t)-v; % anonymous function f_m\n", + "df_m = @(m) 1/2*sqrt(g./m/c_d).*tanh(sqrt(g*c_d./m)*t)-g/2./m*sech(sqrt(g*c_d./m)*t).^2;" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 142.74\r\n" + ] + } + ], + "source": [ + "newtraph(f_m,df_m,140,0.00001)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Secant Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Not always able to evaluate the derivative. Approximation of derivative:\n", + "\n", + "$f'(x_{i})=\\frac{f(x_{i-1})-f(x_{i})}{x_{i-1}-x_{i}}$\n", + "\n", + "$x_{i+1}=x_{i}-\\frac{f(x_{i})}{f'(x_{i})}$\n", + "\n", + "$x_{i+1}=x_{i}-\\frac{f(x_{i})}{\\frac{f(x_{i-1})-f(x_{i})}{x_{i-1}-x_{i}}}=\n", + " x_{i}-\\frac{f(x_{i})(x_{i-1}-x_{i})}{f(x_{i-1})-f(x_{i})}$\n", + " \n", + "What values should $x_{i}$ and $x_{i-1}$ take?\n", + "\n", + "To reduce arbitrary selection of variables, use the\n", + "\n", + "## Modified Secant method\n", + "\n", + "Change the x evaluations to a perturbation $\\delta$. \n", + "\n", + "$x_{i+1}=x_{i}-\\frac{f(x_{i})(\\delta x_{i})}{f(x_{i}+\\delta x_{i})-f(x_{i})}$" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 142.74\r\n" + ] + } + ], + "source": [ + "mod_secant(f_m,1e-6,50,0.00001)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Amt_numerical = 563.79\n", + "ans = -160.42\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t-5000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t5000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t15000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t25000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t5\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\t\n", + "\t\tprinciple amount left ($)\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\ttime (years)\n", + "\t\n", + "\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Amt_numerical=mod_secant(@(A) car_payments(A,30000,0.05,5),1e-6,50,0.001)\n", + "car_payments(Amt,30000,0.05,5)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 3.3968e+04\r\n" + ] + } + ], + "source": [ + "Amt*12*5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Amortization calculation makes the same calculation for the monthly payment amount, A, paying off the principle amount, P, over n pay periods with monthly interest rate, r. " + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Amt = 566.14\r\n" + ] + } + ], + "source": [ + "% Amortization calculation\n", + "A = @(P,r,n) P*(r*(1+r)^n)./((1+r)^n-1);\n", + "Amt=A(30000,0.05/12,5*12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Matlab's function\n", + "\n", + "Matlab and Octave combine bracketing and open methods in the `fzero` function. " + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'fzero' is a function from the file /usr/share/octave/4.0.0/m/optimization/fzero.m\n", + "\n", + " -- Function File: fzero (FUN, X0)\n", + " -- Function File: fzero (FUN, X0, OPTIONS)\n", + " -- Function File: [X, FVAL, INFO, OUTPUT] = fzero (...)\n", + " Find a zero of a univariate function.\n", + "\n", + " FUN is a function handle, inline function, or string containing the\n", + " name of the function to evaluate.\n", + "\n", + " X0 should be a two-element vector specifying two points which\n", + " bracket a zero. In other words, there must be a change in sign of\n", + " the function between X0(1) and X0(2). More mathematically, the\n", + " following must hold\n", + "\n", + " sign (FUN(X0(1))) * sign (FUN(X0(2))) <= 0\n", + "\n", + " If X0 is a single scalar then several nearby and distant values are\n", + " probed in an attempt to obtain a valid bracketing. If this is not\n", + " successful, the function fails.\n", + "\n", + " OPTIONS is a structure specifying additional options. Currently,\n", + " 'fzero' recognizes these options: \"FunValCheck\", \"OutputFcn\",\n", + " \"TolX\", \"MaxIter\", \"MaxFunEvals\". For a description of these\n", + " options, see *note optimset: XREFoptimset.\n", + "\n", + " On exit, the function returns X, the approximate zero point and\n", + " FVAL, the function value thereof.\n", + "\n", + " INFO is an exit flag that can have these values:\n", + "\n", + " * 1 The algorithm converged to a solution.\n", + "\n", + " * 0 Maximum number of iterations or function evaluations has\n", + " been reached.\n", + "\n", + " * -1 The algorithm has been terminated from user output\n", + " function.\n", + "\n", + " * -5 The algorithm may have converged to a singular point.\n", + "\n", + " OUTPUT is a structure containing runtime information about the\n", + " 'fzero' algorithm. Fields in the structure are:\n", + "\n", + " * iterations Number of iterations through loop.\n", + "\n", + " * nfev Number of function evaluations.\n", + "\n", + " * bracketx A two-element vector with the final bracketing of the\n", + " zero along the x-axis.\n", + "\n", + " * brackety A two-element vector with the final bracketing of the\n", + " zero along the y-axis.\n", + "\n", + " See also: optimset, fsolve.\n", + "\n", + "Additional help for built-in functions and operators is\n", + "available in the online version of the manual. Use the command\n", + "'doc ' to search the manual index.\n", + "\n", + "Help and information about Octave is also available on the WWW\n", + "at http://www.octave.org and via the help@octave.org\n", + "mailing list.\n" + ] + } + ], + "source": [ + "help fzero" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 563.79\r\n" + ] + } + ], + "source": [ + "fzero(@(A) car_payments(A,30000,0.05,5,0),500)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Comparison of Solvers\n", + "\n", + "It's helpful to compare to the convergence of different routines to see how quickly you find a solution. \n", + "\n", + "Comparing the freefall example\n" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "warning: axis: omitting non-positive data in log plot\n", + "warning: called from\n", + " __line__ at line 120 column 16\n", + " line at line 56 column 8\n", + " __plt__>__plt2vv__ at line 500 column 10\n", + " __plt__>__plt2__ at line 246 column 14\n", + " __plt__ at line 133 column 15\n", + " semilogy at line 60 column 10\n", + "warning: axis: omitting non-positive data in log plot\n", + "warning: axis: omitting non-positive data in log plot\n", + "warning: axis: omitting non-positive data in log plot\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-14\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-12\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-8\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-6\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t100\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t102\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t104\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t100\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t150\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t200\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t250\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t300\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t350\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t400\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\tnewton-raphson\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\tnewton-raphson\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tmod-secant\n", + "\n", + "\t\n", + "\t\tmod-secant\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tfalse point\n", + "\n", + "\t\n", + "\t\tfalse point\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tbisection\n", + "\n", + "\t\n", + "\t\tbisection\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "N=20;\n", + "iterations = linspace(1,400,N);\n", + "ea_nr=zeros(1,N); % appr error Newton-Raphson\n", + "ea_ms=zeros(1,N); % appr error Modified Secant\n", + "ea_fp=zeros(1,N); % appr error false point method\n", + "ea_bs=zeros(1,N); % appr error bisect method\n", + "for i=1:length(iterations)\n", + " [root_nr,ea_nr(i),iter_nr]=newtraph(f_m,df_m,200,0,iterations(i));\n", + " [root_ms,ea_ms(i),iter_ms]=mod_secant(f_m,1e-6,300,0,iterations(i));\n", + " [root_fp,ea_fp(i),iter_fp]=falsepos(f_m,1,300,0,iterations(i));\n", + " [root_bs,ea_bs(i),iter_bs]=bisect(f_m,1,300,0,iterations(i));\n", + "end\n", + " \n", + "semilogy(iterations,abs(ea_nr),iterations,abs(ea_ms),iterations,abs(ea_fp),iterations,abs(ea_bs))\n", + "legend('newton-raphson','mod-secant','false point','bisection')" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ea_ms =\n", + "\n", + " Columns 1 through 7:\n", + "\n", + " 43.43883 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", + "\n", + " Columns 8 through 14:\n", + "\n", + " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", + "\n", + " Columns 15 through 20:\n", + "\n", + " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", + "\n" + ] + } + ], + "source": [ + "ea_ms" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "warning: axis: omitting non-positive data in log plot\n", + "warning: called from\n", + " __line__ at line 120 column 16\n", + " line at line 56 column 8\n", + " __plt__>__plt2vv__ at line 500 column 10\n", + " __plt__>__plt2__ at line 246 column 14\n", + " __plt__ at line 133 column 15\n", + " semilogy at line 60 column 10\n", + "warning: axis: omitting non-positive data in log plot\n", + "warning: axis: omitting non-positive data in log plot\n", + "warning: axis: omitting non-positive data in log plot\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-14\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-12\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-8\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-6\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10-2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t100\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t102\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t104\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\tnewton-raphson\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\tnewton-raphson\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tmod-secant\n", + "\n", + "\t\n", + "\t\tmod-secant\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tfalse point\n", + "\n", + "\t\n", + "\t\tfalse point\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tbisection\n", + "\n", + "\t\n", + "\t\tbisection\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "N=20;\n", + "f= @(x) x^10-1;\n", + "df=@(x) 10*x^9;\n", + "iterations = linspace(1,50,N);\n", + "ea_nr=zeros(1,N); % appr error Newton-Raphson\n", + "ea_ms=zeros(1,N); % appr error Modified Secant\n", + "ea_fp=zeros(1,N); % appr error false point method\n", + "ea_bs=zeros(1,N); % appr error bisect method\n", + "for i=1:length(iterations)\n", + " [root_nr,ea_nr(i),iter_nr]=newtraph(f,df,0.5,0,iterations(i));\n", + " [root_ms,ea_ms(i),iter_ms]=mod_secant(f,1e-6,0.5,0,iterations(i));\n", + " [root_fp,ea_fp(i),iter_fp]=falsepos(f,0,5,0,iterations(i));\n", + " [root_bs,ea_bs(i),iter_bs]=bisect(f,0,5,0,iterations(i));\n", + "end\n", + " \n", + "semilogy(iterations,abs(ea_nr),iterations,abs(ea_ms),iterations,abs(ea_fp),iterations,abs(ea_bs))\n", + "legend('newton-raphson','mod-secant','false point','bisection')" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ea_bs =\n", + "\n", + " Columns 1 through 6:\n", + "\n", + " 9.5357e+03 -4.7554e-01 -2.1114e-01 6.0163e-02 -2.4387e-03 6.1052e-04\n", + "\n", + " Columns 7 through 12:\n", + "\n", + " 2.2891e-04 -9.5367e-06 2.3842e-06 8.9407e-07 -2.2352e-07 9.3132e-09\n", + "\n", + " Columns 13 through 18:\n", + "\n", + " -2.3283e-09 -8.7311e-10 3.6380e-11 -9.0949e-12 -3.4106e-12 8.5265e-13\n", + "\n", + " Columns 19 and 20:\n", + "\n", + " -3.5527e-14 8.8818e-15\n", + "\n", + "ans = 16.208\n" + ] + } + ], + "source": [ + "ea_bs\n", + "newtraph(f,df,0.5,0,12)" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 1.9683e+23\r\n" + ] + } + ], + "source": [ + "df(300)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Octave", + "language": "octave", + "name": "octave" + }, + "language_info": { + "file_extension": ".m", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "octave", + "version": "0.19.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture_07/lecture_07.md b/lecture_07/lecture_07.md new file mode 100644 index 0000000..020699b --- /dev/null +++ b/lecture_07/lecture_07.md @@ -0,0 +1,388 @@ + + +```octave +%plot --format svg +``` + + +```octave +setdefaults +``` + +# Roots: Open methods +## Newton-Raphson + +First-order approximation for the location of the root (i.e. assume the slope at the given point is constant, what is the solution when f(x)=0) + +$f'(x_{i})=\frac{f(x_{i})-0}{x_{i}-x_{i+1}}$ + +$x_{i+1}=x_{i}-\frac{f(x_{i})}{f'(x_{i})}$ + +Use Newton-Raphson to find solution when $e^{x}=x$ + + +```octave +f= @(x) exp(-x)-x; +df= @(x) -exp(-x)-1; + +x_i= 0; +c +error_approx = abs((x_r-x_i)/x_r) +x_i=x_r; + +``` + + error: 'c' undefined near line 1 column 1 + error: 'x_r' undefined near line 1 column 21 + error: evaluating argument list element number 1 + error: 'x_r' undefined near line 1 column 5 + + + +```octave +x_r = x_i-f(x_i)/df(x_i) +error_approx = abs((x_r-x_i)/x_r) +x_i=x_r; +``` + + x_r = 0.50000 + error_approx = 1 + + + +```octave +x_r = x_i-f(x_i)/df(x_i) +error_approx = abs((x_r-x_i)/x_r) +x_i=x_r; +``` + + x_r = 0.56631 + error_approx = 0.11709 + + + +```octave +x_r = x_i-f(x_i)/df(x_i) +error_approx = abs((x_r-x_i)/x_r) +x_i=x_r; +``` + + x_r = 0.56714 + error_approx = 0.0014673 + + +In the bungee jumper example, we created a function f(m) that when f(m)=0, then the mass had been chosen such that at t=4 s, the velocity is 36 m/s. + +$f(m)=\sqrt{\frac{gm}{c_{d}}}\tanh(\sqrt{\frac{gc_{d}}{m}}t)-v(t)$. + +to use the Newton-Raphson method, we need the derivative $\frac{df}{dm}$ + +$\frac{df}{dm}=\frac{1}{2}\sqrt{\frac{g}{mc_{d}}}\tanh(\sqrt{\frac{gc_{d}}{m}}t)- +\frac{g}{2m}\mathrm{sech}^{2}(\sqrt{\frac{gc_{d}}{m}}t)$ + + +```octave +setdefaults +g=9.81; % acceleration due to gravity +m=linspace(50, 200,100); % possible values for mass 50 to 200 kg +c_d=0.25; % drag coefficient +t=4; % at time = 4 seconds +v=36; % speed must be 36 m/s +f_m = @(m) sqrt(g*m/c_d).*tanh(sqrt(g*c_d./m)*t)-v; % anonymous function f_m +df_m = @(m) 1/2*sqrt(g./m/c_d).*tanh(sqrt(g*c_d./m)*t)-g/2./m*sech(sqrt(g*c_d./m)*t).^2; +``` + + +```octave +newtraph(f_m,df_m,140,0.00001) +``` + + ans = 142.74 + + +## Secant Methods + +Not always able to evaluate the derivative. Approximation of derivative: + +$f'(x_{i})=\frac{f(x_{i-1})-f(x_{i})}{x_{i-1}-x_{i}}$ + +$x_{i+1}=x_{i}-\frac{f(x_{i})}{f'(x_{i})}$ + +$x_{i+1}=x_{i}-\frac{f(x_{i})}{\frac{f(x_{i-1})-f(x_{i})}{x_{i-1}-x_{i}}}= + x_{i}-\frac{f(x_{i})(x_{i-1}-x_{i})}{f(x_{i-1})-f(x_{i})}$ + +What values should $x_{i}$ and $x_{i-1}$ take? + +To reduce arbitrary selection of variables, use the + +## Modified Secant method + +Change the x evaluations to a perturbation $\delta$. + +$x_{i+1}=x_{i}-\frac{f(x_{i})(\delta x_{i})}{f(x_{i}+\delta x_{i})-f(x_{i})}$ + + +```octave +mod_secant(f_m,1e-6,50,0.00001) +``` + + ans = 142.74 + + + +```octave +Amt_numerical=mod_secant(@(A) car_payments(A,30000,0.05,5),1e-6,50,0.001) +car_payments(Amt,30000,0.05,5) +``` + + Amt_numerical = 563.79 + ans = -160.42 + + + +![svg](lecture_07_files/lecture_07_14_1.svg) + + + +```octave +Amt*12*5 +``` + + ans = 3.3968e+04 + + +Amortization calculation makes the same calculation for the monthly payment amount, A, paying off the principle amount, P, over n pay periods with monthly interest rate, r. + + +```octave +% Amortization calculation +A = @(P,r,n) P*(r*(1+r)^n)./((1+r)^n-1); +Amt=A(30000,0.05/12,5*12) +``` + + Amt = 566.14 + + +## Matlab's function + +Matlab and Octave combine bracketing and open methods in the `fzero` function. + + +```octave +help fzero +``` + + 'fzero' is a function from the file /usr/share/octave/4.0.0/m/optimization/fzero.m + + -- Function File: fzero (FUN, X0) + -- Function File: fzero (FUN, X0, OPTIONS) + -- Function File: [X, FVAL, INFO, OUTPUT] = fzero (...) + Find a zero of a univariate function. + + FUN is a function handle, inline function, or string containing the + name of the function to evaluate. + + X0 should be a two-element vector specifying two points which + bracket a zero. In other words, there must be a change in sign of + the function between X0(1) and X0(2). More mathematically, the + following must hold + + sign (FUN(X0(1))) * sign (FUN(X0(2))) <= 0 + + If X0 is a single scalar then several nearby and distant values are + probed in an attempt to obtain a valid bracketing. If this is not + successful, the function fails. + + OPTIONS is a structure specifying additional options. Currently, + 'fzero' recognizes these options: "FunValCheck", "OutputFcn", + "TolX", "MaxIter", "MaxFunEvals". For a description of these + options, see *note optimset: XREFoptimset. + + On exit, the function returns X, the approximate zero point and + FVAL, the function value thereof. + + INFO is an exit flag that can have these values: + + * 1 The algorithm converged to a solution. + + * 0 Maximum number of iterations or function evaluations has + been reached. + + * -1 The algorithm has been terminated from user output + function. + + * -5 The algorithm may have converged to a singular point. + + OUTPUT is a structure containing runtime information about the + 'fzero' algorithm. Fields in the structure are: + + * iterations Number of iterations through loop. + + * nfev Number of function evaluations. + + * bracketx A two-element vector with the final bracketing of the + zero along the x-axis. + + * brackety A two-element vector with the final bracketing of the + zero along the y-axis. + + See also: optimset, fsolve. + + Additional help for built-in functions and operators is + available in the online version of the manual. Use the command + 'doc ' to search the manual index. + + Help and information about Octave is also available on the WWW + at http://www.octave.org and via the help@octave.org + mailing list. + + + +```octave +fzero(@(A) car_payments(A,30000,0.05,5,0),500) +``` + + ans = 563.79 + + +## Comparison of Solvers + +It's helpful to compare to the convergence of different routines to see how quickly you find a solution. + +Comparing the freefall example + + + +```octave +N=20; +iterations = linspace(1,400,N); +ea_nr=zeros(1,N); % appr error Newton-Raphson +ea_ms=zeros(1,N); % appr error Modified Secant +ea_fp=zeros(1,N); % appr error false point method +ea_bs=zeros(1,N); % appr error bisect method +for i=1:length(iterations) + [root_nr,ea_nr(i),iter_nr]=newtraph(f_m,df_m,200,0,iterations(i)); + [root_ms,ea_ms(i),iter_ms]=mod_secant(f_m,1e-6,300,0,iterations(i)); + [root_fp,ea_fp(i),iter_fp]=falsepos(f_m,1,300,0,iterations(i)); + [root_bs,ea_bs(i),iter_bs]=bisect(f_m,1,300,0,iterations(i)); +end + +semilogy(iterations,abs(ea_nr),iterations,abs(ea_ms),iterations,abs(ea_fp),iterations,abs(ea_bs)) +legend('newton-raphson','mod-secant','false point','bisection') +``` + + warning: axis: omitting non-positive data in log plot + warning: called from + __line__ at line 120 column 16 + line at line 56 column 8 + __plt__>__plt2vv__ at line 500 column 10 + __plt__>__plt2__ at line 246 column 14 + __plt__ at line 133 column 15 + semilogy at line 60 column 10 + warning: axis: omitting non-positive data in log plot + warning: axis: omitting non-positive data in log plot + warning: axis: omitting non-positive data in log plot + + + +![svg](lecture_07_files/lecture_07_22_1.svg) + + + +```octave +ea_ms +``` + + ea_ms = + + Columns 1 through 7: + + 43.43883 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 + + Columns 8 through 14: + + 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 + + Columns 15 through 20: + + 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 + + + + +```octave +N=20; +f= @(x) x^10-1; +df=@(x) 10*x^9; +iterations = linspace(1,50,N); +ea_nr=zeros(1,N); % appr error Newton-Raphson +ea_ms=zeros(1,N); % appr error Modified Secant +ea_fp=zeros(1,N); % appr error false point method +ea_bs=zeros(1,N); % appr error bisect method +for i=1:length(iterations) + [root_nr,ea_nr(i),iter_nr]=newtraph(f,df,0.5,0,iterations(i)); + [root_ms,ea_ms(i),iter_ms]=mod_secant(f,1e-6,0.5,0,iterations(i)); + [root_fp,ea_fp(i),iter_fp]=falsepos(f,0,5,0,iterations(i)); + [root_bs,ea_bs(i),iter_bs]=bisect(f,0,5,0,iterations(i)); +end + +semilogy(iterations,abs(ea_nr),iterations,abs(ea_ms),iterations,abs(ea_fp),iterations,abs(ea_bs)) +legend('newton-raphson','mod-secant','false point','bisection') +``` + + warning: axis: omitting non-positive data in log plot + warning: called from + __line__ at line 120 column 16 + line at line 56 column 8 + __plt__>__plt2vv__ at line 500 column 10 + __plt__>__plt2__ at line 246 column 14 + __plt__ at line 133 column 15 + semilogy at line 60 column 10 + warning: axis: omitting non-positive data in log plot + warning: axis: omitting non-positive data in log plot + warning: axis: omitting non-positive data in log plot + + + +![svg](lecture_07_files/lecture_07_24_1.svg) + + + +```octave +ea_bs +newtraph(f,df,0.5,0,12) +``` + + ea_bs = + + Columns 1 through 6: + + 9.5357e+03 -4.7554e-01 -2.1114e-01 6.0163e-02 -2.4387e-03 6.1052e-04 + + Columns 7 through 12: + + 2.2891e-04 -9.5367e-06 2.3842e-06 8.9407e-07 -2.2352e-07 9.3132e-09 + + Columns 13 through 18: + + -2.3283e-09 -8.7311e-10 3.6380e-11 -9.0949e-12 -3.4106e-12 8.5265e-13 + + Columns 19 and 20: + + -3.5527e-14 8.8818e-15 + + ans = 16.208 + + + +```octave +df(300) +``` + + ans = 1.9683e+23 + + + +```octave + +``` diff --git a/lecture_07/lecture_07.pdf b/lecture_07/lecture_07.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4216be6e0844ae02657decc5b169f0f1569b11c0 GIT binary patch literal 68853 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