From 3519f1bfbda115e72a58482e7476c05bb3087b78 Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Tue, 7 Feb 2017 20:46:45 -0500 Subject: [PATCH 1/2] added HW3 --- HW3/README.html | 60 ++ HW3/README.md | 74 +++ lecture_07/.newtraph.m.swp | Bin 0 -> 12288 bytes lecture_07/lecture_07.ipynb | 544 +++++++++++++++--- lecture_07/lecture_07.md | 160 ++++-- lecture_07/lecture_07.pdf | Bin 61249 -> 79416 bytes .../lecture_07_files/lecture_07_15_1.svg | 131 +++++ .../lecture_07_files/lecture_07_16_1.svg | 151 +++++ .../lecture_07_files/lecture_07_24_1.svg | 59 +- .../lecture_07_files/lecture_07_26_1.svg | 182 ++++++ 10 files changed, 1225 insertions(+), 136 deletions(-) create mode 100644 HW3/README.html create mode 100644 HW3/README.md create mode 100644 lecture_07/.newtraph.m.swp create mode 100644 lecture_07/lecture_07_files/lecture_07_15_1.svg create mode 100644 lecture_07/lecture_07_files/lecture_07_16_1.svg create mode 100644 lecture_07/lecture_07_files/lecture_07_26_1.svg diff --git a/HW3/README.html b/HW3/README.html new file mode 100644 index 0000000..950e6d3 --- /dev/null +++ b/HW3/README.html @@ -0,0 +1,60 @@ + + + + + + + + + + +

Homework #3

+

due 2/15/17 by 11:59pm

+
    +
  1. Create a new github repository called ‘roots_and_optimization’.

    +
      +
    1. Add rcc02007 and pez16103 as collaborators.

    2. +
    3. Clone the repository to your computer.

    4. +
    5. Copy your projectile.m function into the ‘roots_and_optimization’ folder. Disable the plotting routine for the solvers

    6. +
    7. Use the four solvers falsepos.m, incsearch.m, newtraph.m and mod_secant.m to solve for the angle needed to reach h=1.72, with an initial speed of 1.5 m/s.

    8. +
    9. The newtraph.m function needs a derivative, calculate the derivative of your function with respect to theta, dprojectile_dtheta.m. This function should output d(h)/d(theta).

    10. +
    11. In your README.md file, you will document the following under the heading # Homework #3:

      +
        +
      1. Compare the number of iterations that each function needed to reach an accuracy of 0.00001%. Include a table in your README.md with:
      2. +
      +
      | solver | initial guess(es) | ea | number of iterations|
      +| --- | --- | --- | --- |
      +|falsepos   |  |  |  |
      +|incsearch  |  |  |  |
      +|newtraph   |  |  |  |
      +|mod_secant |  |  |  |
      +
        +
      1. Compare the convergence of the 4 methods. Plot the approximate error vs the number of iterations that the solver has calculated. Save the plot as convergence.png and display the plot in your README.md with:
      2. +
      +

      ![Plot of convergence for four numerical solvers.](convergence.png)

      +
        +
      1. In the README.md provide a description of the files used to create the table and the convergence plot.
      2. +
    12. +
  2. +
  3. The Newton-Raphson method and the modified secant method do not always converge to a solution. One simple example is the function f(x) = x*exp(-x^2). The root is at 0, but using the numerical solvers, newtraph.m and mod_secant.m, there are certain initial guesses that do not converge.

    +
      +
    1. Calculate the first 5 iterations for the Newton-Raphson method with an initial guess of x_i=2.

    2. +
    3. Add the results to a table in the README.md with:

    4. +
    +
    ### divergence of Newton-Raphson method
    +
    +| iteration | x_i | approx error |
    +| --- | --- | --- |
    +| 0 | 2 | n/a |
    +| 1 |   |     |
    +| 2 |   |     |
    +| 3 |   |     |
    +| 4 |   |     |
    +| 5 |   |     |
    +
      +
    1. Repeat steps a-b for an initial guess of 0.2. (But change the heading from ‘divergence’ to ‘convergence’)
    2. +
  4. +
  5. Commit your changes to your repository. Sync your local repository with github. Then copy and paste the “clone URL” into the following Google Form Homework #3

  6. +
+ + diff --git a/HW3/README.md b/HW3/README.md new file mode 100644 index 0000000..494e0d5 --- /dev/null +++ b/HW3/README.md @@ -0,0 +1,74 @@ +# Homework #3 +## due 2/15/17 by 11:59pm + + +1. Create a new github repository called 'roots_and_optimization'. + + a. Add rcc02007 and pez16103 as collaborators. + + b. Clone the repository to your computer. + + c. Copy your `projectile.m` function into the 'roots_and_optimization' folder. + *Disable the plotting routine for the solvers* + + d. Use the four solvers `falsepos.m`, `incsearch.m`, `newtraph.m` and `mod_secant.m` + to solve for the angle needed to reach h=1.72 m, with an initial speed of 1.5 m/s. + + e. The `newtraph.m` function needs a derivative, calculate the derivative of your + function with respect to theta, `dprojectile_dtheta.m`. This function should + output d(h)/d(theta). + + + f. In your `README.md` file, document the following under the heading `# + Homework #3`: + + i. Compare the number of iterations that each function needed to reach an + accuracy of 0.00001%. Include a table in your README.md with: + + ``` + | solver | initial guess(es) | ea | number of iterations| + | --- | --- | --- | --- | + |falsepos | | | | + |incsearch | | | | + |newtraph | | | | + |mod_secant | | | | + ``` + + ii. Compare the convergence of the 4 methods. Plot the approximate error vs the + number of iterations that the solver has calculated. Save the plot as + `convergence.png` and display the plot in your `README.md` with: + + `![Plot of convergence for four numerical solvers.](convergence.png)` + + iii. In the `README.md` provide a description of the files used to create the + table and the convergence plot. + +2. The Newton-Raphson method and the modified secant method do not always converge to a +solution. One simple example is the function f(x) = x*exp(-x^2). The root is at 0, but +using the numerical solvers, `newtraph.m` and `mod_secant.m`, there are certain initial +guesses that do not converge. + + a. Calculate the first 5 iterations for the Newton-Raphson method with an initial + guess of x_i=2. + + b. Add the results to a table in the `README.md` with: + + ``` + ### divergence of Newton-Raphson method + + | iteration | x_i | approx error | + | --- | --- | --- | + | 0 | 2 | n/a | + | 1 | | | + | 2 | | | + | 3 | | | + | 4 | | | + | 5 | | | + ``` + + c. Repeat steps a-b for an initial guess of 0.2. (But change the heading from + 'divergence' to 'convergence') + +3. Commit your changes to your repository. Sync your local repository with github. Then +copy and paste the "clone URL" into the following Google Form [Homework +#3](https://goo.gl/forms/UJBGwp0fQcSxImkq2) diff --git a/lecture_07/.newtraph.m.swp b/lecture_07/.newtraph.m.swp new file mode 100644 index 0000000000000000000000000000000000000000..9759dd203c57d4a4571f3ffdbff4740cc9c0af64 GIT binary patch literal 12288 zcmeI2zi-<{6vxjEGPO>ObSOFmcuf#QOc{}qEf}!P4Ef=pLsFzcf}llXoWzq&n7m_; zq%8-5Gk0m`4Ba~iom-$&ySM*GhIY^Qj*@MtgPSqMBkWwMo-9P03x9qnggubjJwELkD_dlzIl+GD0!FvZs40}LtLV`!qjhxe&T@Y+ zhzjL~t%v=%w;GL1V=J|_oz+pUMs;J=R=gT%wO?CV?sSX)kc?fJ027!auqc-Mz1Tgx zeCad#_`;((J5QMa6JP>NfC(@GCcp%k02BB>6R67t@d6EgFm3YUbX=Glr&Au7025#W zOn?b60Vco%m;e)C0!)AjFoE}wfJ}w>72o>5{0PP4`~U3!|1al-_yKwVeF`l>f1eZL z59l>?2yH^=p|jANMInBNeu8$Po6slFB6J4&2l4-ceuI97UP9kPPob|Nm;XM*7ZYFt zOn?b60Vco%m;e)C0`Cn0YfMcEP3*c*Iu%6On3SZAgj7Y(pHo&VOE(fKp-@;&oT@vFpl7 zS5*a}s*<=H$8m4YaXD1h8r!)lYs!_ZYFegDmrYH`*&dE2tG;V8tJ13ogDh9*s88J# zLo{s0zGGQuMpxe6f-6gFCRrhCg%~-^dy0HI>RbuD-*l0{J|}mNho-5Ke$AW9URd_S zZnx`}Ax$%v0G_3^vQR)>QB$duh6kRlv-;OO6ujcbqA5t`x!IRPpmkW=GO3fQv21d; zM+R|Q4K_wXsj6JF|El=dy#+b#z%Os6Q5p){ZdBC*@Jozn8ihJOsj}H#O8_&s{zuii z$qCOBHop)p3G`XfeVjTs`ubNmcwQMzK(J#{stt`Zjd2H<-KL)=0E%ziJXA7teSe$G zPOW!bj?kAFPAv9DyN$vl+<{9v^In_J>yzYW(^b literal 0 HcmV?d00001 diff --git a/lecture_07/lecture_07.ipynb b/lecture_07/lecture_07.ipynb index d7ff495..08d29c4 100644 --- a/lecture_07/lecture_07.ipynb +++ b/lecture_07/lecture_07.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 13, "metadata": { "collapsed": true }, @@ -40,12 +40,12 @@ "\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$" + "Use Newton-Raphson to find solution when $e^{-x}=x$" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -54,7 +54,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "error_approx = 1\r\n" + "x_r = 0.50000\n", + "error_approx = 1\n" ] } ], @@ -63,13 +64,14 @@ "df= @(x) -exp(-x)-1;\n", "\n", "x_i= 0;\n", + "x_r = x_i-f(x_i)/df(x_i)\n", "error_approx = abs((x_r-x_i)/x_r)\n", - "x_r=x_i;\n" + "x_i=x_r;\n" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -78,8 +80,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "x_r = 0.50000\n", - "error_approx = 1\n" + "x_r = 0.56631\n", + "error_approx = 0.11709\n" ] } ], @@ -91,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -100,8 +102,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "x_r = 0.56631\n", - "error_approx = 0.11709\n" + "x_r = 0.56714\n", + "error_approx = 0.0014673\n" ] } ], @@ -113,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 5, "metadata": { "collapsed": false }, @@ -123,7 +125,7 @@ "output_type": "stream", "text": [ "x_r = 0.56714\n", - "error_approx = 0.0014673\n" + "error_approx = 2.2106e-07\n" ] } ], @@ -149,7 +151,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": { "collapsed": true }, @@ -176,12 +178,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "ans = 142.74\r\n" + "root = 142.74\n", + "ea = 8.0930e-06\n", + "iter = 48\n" ] } ], "source": [ - "newtraph(f_m,df_m,140,0.00001)" + "[root,ea,iter]=newtraph(f_m,df_m,140,0.00001)" ] }, { @@ -217,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -226,17 +230,24 @@ "name": "stdout", "output_type": "stream", "text": [ - "ans = 142.74\r\n" + "root = 142.74\n", + "ea = 3.0615e-07\n", + "iter = 7\n" ] } ], "source": [ - "mod_secant(f_m,1e-6,50,0.00001)" + "[root,ea,iter]=mod_secant(f_m,1,50,0.00001)" ] }, + { + "cell_type": "raw", + "metadata": {}, + "source": [] + }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "metadata": { "collapsed": false }, @@ -245,23 +256,159 @@ "name": "stdout", "output_type": "stream", "text": [ - "error: 'plot_bool' undefined near line 12 column 6\n", - "error: called from\n", - " car_payments at line 12 column 3\n", - " mod_secant at line 22 column 8\n", - "error: 'Amt' undefined near line 1 column 14\n", - "error: evaluating argument list element number 1\n" + "ans = 1.1185e+04\r\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\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)" + "car_payments(400,30000,0.05,5,1)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "metadata": { "collapsed": false }, @@ -270,12 +417,195 @@ "name": "stdout", "output_type": "stream", "text": [ - "error: 'Amt' undefined near line 1 column 1\r\n" + "Amt_numerical = 5467.0\n", + "ans = 3.9755e-04\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\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t100000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t200000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t300000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t400000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t500000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t600000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t700000\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t15\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t25\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\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,700000,0.0875,30,0),1e-6,50,0.001)\n", + "car_payments(Amt_numerical,700000,0.0875,30,1)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 1.9681e+06\r\n" ] } ], "source": [ - "Amt*12*5" + "Amt_numerical*12*30" ] }, { @@ -287,7 +617,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 19, "metadata": { "collapsed": false }, @@ -398,7 +728,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 20, "metadata": { "collapsed": false }, @@ -428,7 +758,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 23, "metadata": { "collapsed": false }, @@ -611,7 +941,7 @@ "\t\n", "\n", "\n", - "\t\n", + "\t\n", "\t\n", "\tmod-secant\n", "\n", @@ -667,19 +997,20 @@ "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_nr,ea_nr(i),iter_nr]=newtraph(f_m,df_m,300,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", + "\n", + "setdefaults\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": 16, + "execution_count": 22, "metadata": { "collapsed": false }, @@ -688,34 +1019,30 @@ "name": "stdout", "output_type": "stream", "text": [ - "ea_ms =\n", - "\n", - " Columns 1 through 6:\n", + "ea_nr =\n", "\n", - " 2.3382e+03 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14\n", + " Columns 1 through 8:\n", "\n", - " Columns 7 through 12:\n", + " 6.36591 0.06436 0.00052 0.00000 0.00000 0.00000 0.00000 0.00000\n", "\n", - " 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14\n", + " Columns 9 through 16:\n", "\n", - " Columns 13 through 18:\n", + " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", "\n", - " 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14\n", + " Columns 17 through 20:\n", "\n", - " Columns 19 and 20:\n", - "\n", - " 1.9171e-14 1.9171e-14\n", + " 0.00000 0.00000 0.00000 0.00000\n", "\n" ] } ], "source": [ - "ea_ms" + "ea_nr" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 26, "metadata": { "collapsed": false }, @@ -953,7 +1280,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 27, "metadata": { "collapsed": false }, @@ -962,30 +1289,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "ea_bs =\n", + "ea_nr =\n", "\n", - " Columns 1 through 6:\n", + " Columns 1 through 7:\n", "\n", - " 9.5357e+03 -4.7554e-01 -2.1114e-01 6.0163e-02 -2.4387e-03 6.1052e-04\n", + " 99.03195 11.11111 11.11111 11.11111 11.11111 11.11111 11.11111\n", "\n", - " Columns 7 through 12:\n", + " Columns 8 through 14:\n", "\n", - " 2.2891e-04 -9.5367e-06 2.3842e-06 8.9407e-07 -2.2352e-07 9.3132e-09\n", + " 11.11111 11.11111 11.11111 11.11109 11.11052 11.10624 10.99684\n", "\n", - " Columns 13 through 18:\n", + " Columns 15 through 20:\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", + " 8.76956 2.12993 0.00000 0.00000 0.00000 0.00000\n", "\n", "ans = 16.208\n" ] } ], "source": [ - "ea_bs\n", + "ea_nr\n", "newtraph(f,df,0.5,0,12)" ] }, @@ -1008,6 +1331,99 @@ "df(300)" ] }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f =\n", + "\n", + "@(x) tan (x) - (x - 1) .^ 2\n", + "\n", + "ans = 0.37375\n" + ] + } + ], + "source": [ + "% our class function\n", + "f= @(x) tan(x)-(x-1).^2\n", + "mod_secant(f,1e-3,1)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = -3.5577e-13\r\n" + ] + } + ], + "source": [ + "f(ans)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 0.39218\n", + "ans = 0.39219\n" + ] + } + ], + "source": [ + "tan(0.37375)\n", + "(0.37375-1)^2" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans =\n", + "\n", + " Columns 1 through 8:\n", + "\n", + " -1.0000 1.5574 -3.1850 -4.1425 -7.8422 -19.3805 -25.2910 -35.1286\n", + "\n", + " Columns 9 through 11:\n", + "\n", + " -55.7997 -64.4523 -80.3516\n", + "\n" + ] + } + ], + "source": [ + "f([0:10])" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/lecture_07/lecture_07.md b/lecture_07/lecture_07.md index ffdc48d..3aacefb 100644 --- a/lecture_07/lecture_07.md +++ b/lecture_07/lecture_07.md @@ -18,7 +18,7 @@ $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$ +Use Newton-Raphson to find solution when $e^{-x}=x$ ```octave @@ -26,12 +26,14 @@ f= @(x) exp(-x)-x; df= @(x) -exp(-x)-1; x_i= 0; +x_r = x_i-f(x_i)/df(x_i) error_approx = abs((x_r-x_i)/x_r) -x_r=x_i; +x_i=x_r; ``` - error_approx = 1 + x_r = 0.50000 + error_approx = 1 @@ -41,8 +43,8 @@ error_approx = abs((x_r-x_i)/x_r) x_i=x_r; ``` - x_r = 0.50000 - error_approx = 1 + x_r = 0.56631 + error_approx = 0.11709 @@ -52,8 +54,8 @@ error_approx = abs((x_r-x_i)/x_r) x_i=x_r; ``` - x_r = 0.56631 - error_approx = 0.11709 + x_r = 0.56714 + error_approx = 0.0014673 @@ -64,7 +66,7 @@ x_i=x_r; ``` x_r = 0.56714 - error_approx = 0.0014673 + error_approx = 2.2106e-07 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. @@ -90,10 +92,12 @@ 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 ```octave -newtraph(f_m,df_m,140,0.00001) +[root,ea,iter]=newtraph(f_m,df_m,140,0.00001) ``` - ans = 142.74 + root = 142.74 + ea = 8.0930e-06 + iter = 48 ## Secant Methods @@ -119,32 +123,46 @@ $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) +[root,ea,iter]=mod_secant(f_m,1,50,0.00001) ``` - ans = 142.74 + root = 142.74 + ea = 3.0615e-07 + iter = 7 ```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) +car_payments(400,30000,0.05,5,1) ``` - error: 'plot_bool' undefined near line 12 column 6 - error: called from - car_payments at line 12 column 3 - mod_secant at line 22 column 8 - error: 'Amt' undefined near line 1 column 14 - error: evaluating argument list element number 1 + ans = 1.1185e+04 + + + +![svg](lecture_07_files/lecture_07_15_1.svg) ```octave -Amt*12*5 +Amt_numerical=mod_secant(@(A) car_payments(A,700000,0.0875,30,0),1e-6,50,0.001) +car_payments(Amt_numerical,700000,0.0875,30,1) ``` - error: 'Amt' undefined near line 1 column 1 + Amt_numerical = 5467.0 + ans = 3.9755e-04 + + + +![svg](lecture_07_files/lecture_07_16_1.svg) + + + +```octave +Amt_numerical*12*30 +``` + + ans = 1.9681e+06 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. @@ -257,12 +275,13 @@ 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_nr,ea_nr(i),iter_nr]=newtraph(f_m,df_m,300,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 - + +setdefaults 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') ``` @@ -281,31 +300,27 @@ legend('newton-raphson','mod-secant','false point','bisection') -![svg](lecture_07_files/lecture_07_22_1.svg) +![svg](lecture_07_files/lecture_07_24_1.svg) ```octave -ea_ms +ea_nr ``` - ea_ms = + ea_nr = - Columns 1 through 6: + Columns 1 through 8: - 2.3382e+03 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 + 6.36591 0.06436 0.00052 0.00000 0.00000 0.00000 0.00000 0.00000 - Columns 7 through 12: + Columns 9 through 16: - 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 + 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 - Columns 13 through 18: + Columns 17 through 20: - 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 1.9171e-14 - - Columns 19 and 20: - - 1.9171e-14 1.9171e-14 + 0.00000 0.00000 0.00000 0.00000 @@ -344,32 +359,28 @@ legend('newton-raphson','mod-secant','false point','bisection') -![svg](lecture_07_files/lecture_07_24_1.svg) +![svg](lecture_07_files/lecture_07_26_1.svg) ```octave -ea_bs +ea_nr newtraph(f,df,0.5,0,12) ``` - ea_bs = - - Columns 1 through 6: + ea_nr = - 9.5357e+03 -4.7554e-01 -2.1114e-01 6.0163e-02 -2.4387e-03 6.1052e-04 + Columns 1 through 7: - Columns 7 through 12: + 99.03195 11.11111 11.11111 11.11111 11.11111 11.11111 11.11111 - 2.2891e-04 -9.5367e-06 2.3842e-06 8.9407e-07 -2.2352e-07 9.3132e-09 + Columns 8 through 14: - Columns 13 through 18: + 11.11111 11.11111 11.11111 11.11109 11.11052 11.10624 10.99684 - -2.3283e-09 -8.7311e-10 3.6380e-11 -9.0949e-12 -3.4106e-12 8.5265e-13 + Columns 15 through 20: - Columns 19 and 20: - - -3.5527e-14 8.8818e-15 + 8.76956 2.12993 0.00000 0.00000 0.00000 0.00000 ans = 16.208 @@ -383,6 +394,55 @@ df(300) +```octave +% our class function +f= @(x) tan(x)-(x-1).^2 +mod_secant(f,1e-3,1) +``` + + f = + + @(x) tan (x) - (x - 1) .^ 2 + + ans = 0.37375 + + + +```octave +f(ans) +``` + + ans = -3.5577e-13 + + + +```octave +tan(0.37375) +(0.37375-1)^2 +``` + + ans = 0.39218 + ans = 0.39219 + + + +```octave +f([0:10]) +``` + + ans = + + Columns 1 through 8: + + -1.0000 1.5574 -3.1850 -4.1425 -7.8422 -19.3805 -25.2910 -35.1286 + + Columns 9 through 11: + + -55.7997 -64.4523 -80.3516 + + + + ```octave ``` diff --git a/lecture_07/lecture_07.pdf b/lecture_07/lecture_07.pdf index 79b130c81b15d14755c7ed15d4e504dc385ac594..70d8fc2b1d523582daad51a6ec35f1a304a5de7e 100644 GIT binary patch delta 63124 zcmZVlV{l+i*scx76I&BbY}>Xbwrv|Lwr$(CZD(TJni%um&sV#?dTQ_WtE+!@*E;Gt z(E~f+?N<=-8~`gTKR>Lqi<7CLEv&~zkLJ4FrZ~Fqt@>RFNJwbXx_P>=pkhANMi{2! zb{QojdQ>Cic%krO!^2At%h0isjOa$CA?^Y5%XG))ehHp$gofyTm{{l#LyR3^p?+Oa z+pXp>{JyN%>Qs11qyrk6G-{6cYE;}kcUKKT6by@_8z3@swDgoW5S*amnIwv8+!MmI zbKv{jk-qlosOOVKs#DtF37!`@n%xL;x7lJY91&UTXO9%s)gLAiotRvTm@N*Y91Xpn z@NZ2Pb;RYfL5NFZjtf+6Ei@u2D&$w{3nt*Tdha}ZSrUu?k5axSowS|u_{Tl%D&s=nDJLT8Qw_Dyo-IbqeEb67t#Y%#cL4I`k% zrX+)&)t^<4vyQBKdl(+&)O$ITvr!0?p8Qmk0oBA0Cw&u0o1D^npROmYhizD;wn>hC zW|PGP6Gzv)4se{h$IbWNu55;(m3Q_i@NgPPbN(oGQj#Q5D}uSHhkK$;ZN1t@Ti+QB zS^KiCmDTDUv#dIH)%H%On4=y|upQE^()+(4a9$zOf-0@2 zCR zR_Yrn3YE)WbW7=9#CttXVh_mc$>Gl~_+Mzg(AO)T#TfwQ9l9`yIJcR%pXQOe1m3l% z?0fc_<)9~}q>(DZoiZ*aM112rJ&%%c1k`m?uWvB6uGP4LB_b!D6atT0X{f~tkaGT4 zV@?R~?L|w7VBdTJb26miGT7J?B;gOe9ragVrhkq-nD;zHdo%(m8ZQQVzs}F0BjSyv zB2#z;3fOfF0;h`bk6cD&|D;tAm zl#I=CM^SUi1&Kze4U0!{^Cbn(MXecQM!w5kn%llHw@(q2{Q9KPA!^43qR@WgNT3}} zV0E6z2gf$zr8|pfEK$O zQz72Y@)dQ)X3`&)=Ek^lRGqW*umw7#abvHfU&pypWc<9$y<00K|I_{43fbF5B^;nI zmhT@>_yV(M+5jT?N;MRzQF1O5!6QIJgRm*OehgvZ#+5uYhLgisK{i{m)+7 z?;j8xI{03Axdn(<#k>}DYx`+-WyhdqGG-RsdZeuRO$quh#JHaFr1KjC!~r(+^r+C@ z?UKKW;36P|@#qy$$IqTbg`KxQr_7=ye>F{oLxADY|F?-s9IzJ}B^o#MJHdh*7GN0? zd+k)g6|va>;$H8D0O%LtD_B!IlmA2R|5o-!RPa9KCu67Cvz|_z-ya$^f$bb&s-z8Qp7T0)Oh|vUug|u3r^n@p zaHu=PguXhw`8bUDp8aeR>H&0D4+~ihRK%~pzCpOeD*-Vo!6C}RlaywAewstS8o%Sb z;qAJfGbmA`kpKQAWsYVhmg79VCjgk*`*0$_(IW3KrR?NMi1r&pUb{m^mhG?Fqgk0j zjRbpS*QVroJ%yWNOGlAMX{Y}doCQ>nPX;&LP`soDkyMzHGEoPw2AMLE5yPBj4>8Dd zNtr-jv-WYuL_}_4+feH#%#RaU@rwsv3sVj_!>X;UX4(abVq z20we557??TJ9g@MaDPd{qddTpmU;PWo6xeetAx~Dt-q{sY^kV%-oj%+*&u0XNuM+! z61vo0n6z%BtFk)c*6N^c2bgwO`b}w{|Ik$zVRpaIF6Wu;;Tq;hr$#}l z#>v3$c9$ld*e5FLgwZ3mfjsYtiHrJ387G+Z`{VP=`LE31q$D@ApFrYT3)?sXC9e!A z%Al~XaHNMQpG^UZo9yo^v>dxC>TLVu6+A=U0|9W#aSM=xzM`R1MAB>_r za#`--oQwej5c>wn=T-}1VzcqwJT?{!a}NQIg-8i;j?(Ea5Jh0@6T$sGDoEV!6YXMt zdBONuY<4EzO+*PO=|DVaM#dhcuEhCtdp{#7sml)8bUhd3Uv|3>Q!ErvWNXm{gz%u3 z%;iLRs%x!a6#CEj)mjYnfcVP1#=oQWGbUtT-UruF%&ENj{G$s!Iy@hZbdC5l_r}j^ zwdzZGOKD;a&(Gv@lOtX?*Z&a}>%mW);TAgN34G<}U$J?z^?`|({K&?Ef zofQ8Mj02W>YJhTd8~_Ci__H8zb|fI5$O&`QPcy;$`+!QJKgb_Gpt8x#bG?CgjRz_K zdhD0PzyXuX~E!-!nj4teMwDi>ntLhh_{LoC&Pzw#(K!x)iGZ5PP0;sNP&P z1mWufUuc?W%`tK)xmfQ0GrmV^{)UjF7Dohst%u7}=Qv{&qub&DT0F-T{8Q{JU%Oq< ze1smx@brhxrQ;H8y#;D~CQSIqFwA*q3~sB)6-lY8KCspNC!KPP(p551ut=(U=*!aE zQHAG1>f>U8mM+1L=U%4XGl)s4=Y=?n?s*xfT#~H+J^=1Ewvct)iqEV#+0iOnSk-8B zf$#FrXp|~^-Lx29NRc4(cQ{osKfNhlxk1d7CDl?{Nj05G&?L0ZrmV|ve4_Ls1q{@{ zh8`N20U(>0=5*b-)0aN#>+}5F%_OqCxrqsR!Rr>rEGcIg5l?VXdx@VF8l=qD?xuoZ zN1Zafz7do}E5FxySi!vMifgl&{(kUc!Y8Xk9eZdms7&rX(o#;rNSHF7)96G*1{Na+ z2YGHv^*(X7amO^>pmy~Zg$>eb=>a*lu#Cx{6A&A&(Ofk~xhqKlK`(1|w>?J1rlf^w z7Hr_h7Hk~z$bwTp3`rfqNh(Cn#@bACRiq`%WuYjjJAY)S*?KzMNE5MnwHOt z2h68zRG&)_Ie*B4< zU}4geiRCK=dEV<34Dh9?AW#-4EKN@7v7EzearL41KM1RIuVrIQB-%$U>hgIs8WK%k z9Lw1oNd^5GRvY0ztwH^lr{n5iFtV}v1c2Dxn>uSv(m3Nyci9gf7NoAEU4R?(-P*1P zNxfyH@`0=z`Uw4;o*k4j_%TN4_zLC&5_^SGz@Us~=DY`@mSaRfH^9;%6ZXsCtc~6M zX>kB-gpA@r_+dDOZUP~Rq83#f!s5}H7D^m#c5~~>5dsx=kzAMm8=5?#;e<093J8?0 zes6^^XN3ZT!chQShNj$ZKrTAI}!*tHKeaGS9w> z)|=%Pe)nYPABYB$%x~`?vp*K6CjeTgv5ml$P^Q!=XWK>tgedluDlOFnyX89<$4_If z>Y0^-*%~KWaI#9bA8GOBlQMXU@rd@nu6}A~IuF_ zbF_&|WZ07vCBEizD*sSj`Lf9GhsTVcYvf53VPzalk_uNEF5%4xCe?lnkfva38zaJE z;$0-|D!wxGFaf(e3W1L+ys@xCMnNZC7uFqrpoBhj(dHTNn^RGS6jFEMjo!=yUr4b^ zdK$WGLIPcYi3-c{g>XJlHU|g?)^^MZ2eRX`o;tf{7cWgSZ27lq8{3?cdTDQ%#M(#0 z0UM?aI5VWLpqBLFub_0Zji(MNCvaG8Ln_m+q6jmqm2&l-O6~i2|7$&7a;BDZixHVk z1dsY9(Rmx`r*91t3EWDXsKDW+4hRWtrX(hco9G0TSQg5h&%~L<6yVn2qwJcUihEY` z-e=Zrb?=DKkzs8pk-x8G*M~#f%KE02%JkZgg|@fM)U94ML`RM&JoEGI*wh))TLaKN z`EG^@s3UYA1At6ti`3F>i8S_rs!_Z%#K;(d-Oo;U`I>4r zBaQFoY_59f`DUC(VABo@Z^9|rZe`&`-Ck<1_Jup+q7=_2ZgZrWUp$o^%^15qq@_&FoL>tA^fy z3Rgs4Gxo7(q)r}GB8Yx29fR@r+U^LX#?q)~oS^E0BRC9G;9|**ys~td=pEHTNbUVO ztfv-n`!3z}Jdq*Xf`K?gYb*~p54@j z>gn|N{{&l~kbDjzvd$C4XTbXH34lkZoIm6}fx*V{oi*S$8SWSzS6rO-iSXPhLU8ZWS@ma96&vHxrcIAq&iWYxrs& z^7C3%61l6x<#dF*aJLu4?0tiOM5#;oOjNKRa724`=HOBTay#!ct76ek09 zm{_CBanuWP8d!BfRHy;O4hj)$-T+v$k~L8UT2>ghYV~fi2Eu-qj~YbQga(?Vg&jsTpdL7 z;;qeG9^b8qEvPjv_h7E?cPQNM4&&|eTSho7SS{=YpKrtwO zihCWVI)@cu${`ce#I!n6wTbzi)i;~IM4{+H5`6M^aJupMS7lz@A1YO+{{}8|q)9e2 zdP%kP)ia!J6ng4_D9OgNRPXbn)VuBpy60~1gdZKZ{pFva@+L88M_M=S#SzsLpT}ew zuH$Lw+TzmKN(Ip+mKDQ>6urROYp@FkyLd5D+{;*Gr^2rbD~Ge_0zTH*9JAdWz~W{a z9I5Yn$Gc9!lSzSdX*jn%!vnc0{E*&G**V=Y-;$^z zRuipvu5-R2-pZ8%ri3i`c}_Au-rxe_)F}>iTOY-pFpqO%aEo7_-mK}~tMyc+ER&j> zdyml)*ToU(%E87)R|?EU=k_@s9CTi3D{LjdukgI|DB%qC!tB>ce5DY53l*#2i{lw8 zr3@$^BfxP_3k`8EVEnCp6d8A%;nHLilb=5MoH&_m@Wq8 z$yr}WskF%C0|4$O8jOZul_^4zCxWG9?lnoMBpA{>UQx^>RZ%SYuy_w{2=RG5ue5Xe zM;9$wtc8-_QZwbU;7>xCi6?h7ej{m!#D|nJ=H|0_U0!|2XM8_$dMr0J;xP$e-`)t= zbL@|%7KC(6sxPALNHD##^6guy3qJDs#2bFv$L&Sr;sSB0>nWKVxA$iP_?a{%<)Oka zPVVzx6BL!nIjwPa~d1w3-+=4?GAV}FzfRK!Um|5W%1}M^f<1fOu{WCEAzEUqI?T+Z4*7? zxud%7>cH4JS|-`mB!V|lbP=Qr_DX6Wy{ZRr6jy2A$vUg)%KNgx!L7( zRU4G>!uk7N5s`q$=SL54X#M5)VKm&#&5g!gEtfmSRgWkB+WnBwuNd_zl*#Nud&g}^ z-_t#?T3oS46^e>Nh5J{rq?TjSNB<9GAA!F1OEX%@!S(d#{p1imzx=Ip;MQe~;&Q zymL;@X(+s9WK@xHMaagP1t6Kn@fzcsWph-X8-05GT|+I#HWf&H1REk;;h>59Atfd( z_5rwCb_&V*KpHioQHUpV9^{8oe<=qZ0&LXH8D~4=?Ale9F;nMze-ZgIrq`r}f*DPwQb1lm8$ zZv>cqUSkJD&MB!E7`a(81JkqoYvE0j#FsW@Y`({QXn;y7pPcyUI7E!5S?PCJk+CmA~hC zp#=$cJ0w@wzMyVd_k!vv^*yyK%{$dQ?SmLDKF^xmi3Pvnb%~87LV=KL|NO~TJ1x5W~@%HV5iHhp=!$%4$NM|H5!>ZeYMN}&SyU01c(ztv6;y*dV#I5n<#iYKV?W~*des=FS z)8OUp-SzH1E9+ACyM6^v7C|OrDuyOT8y9Q%A*{X0(bo}b7$tG(UZ(Ct|0a#|rhk&- zxs9*0+|7EkC@ODf<4@|!1Ms?d{rhp)Siq;2>oDpmlf?;vf$v{fnuz?{9=HOs(@ZE9 z5foirX0WGfR!nn-R!jG!Sq>QcSUWITr2?p_a8Y5=xL~})iiD^b(sHP#)6io4f$b2c zYJ)7Im!Rr1AYA_r`&(t>`}mA-nVGe!TgvWs{@{M4UD>}5Hx{e=3S68e)LpJC{u!Y! z95Bn*-8e6gkLLM3`m-S2l)_kLHKx2pyzu&24Q-=fJ3VN@x?2Q|y-0xkzyFA!QyT9_ z^E^grG1Zsw{*b@aJigYMS5M2+9}X;hUg_O3@AevX^PaoGZ}Hks>G}?jXVbOPb1zcZ zhn{(V=4hoN+Q1#yIshf4^|FerXvaUINv~D2xjkb&0H`41IJ;Q26&IhJ<-k*k%GS~{ zMozgr$YV`e>?N-sHW36|$s)Mq2V(+^nQrD0fd%oqGXn&r=E*g~V zy+AdwTI?fVv}#-+Zk5qVk3EAA+_7QXF=ofN}0`$?i&^@;~;@&~0pf>ajv7{hSmVUeLxPYMn0(3?^=zf!4uoa?F; z8sJUi-(pXs0qV5gOib(ThTdZeuVvVu2O-%{qU_K173LOW>7(c6uFwStJ?{*m(qx}2 zmW;S2D9Pqug|ZhYM}D_O$;ivPIYmTFtQ$t+(Qu)?K`$__Q8=Ke?i;1#zZR*7td5)9 zQ5S^DEQZP0=^8a7gcGT;gRG2P&IG0xCRofDW4x1b0ETX)*6Vd_$;2=?q0_ZD;nO?e zva;{2!j5GEyD1w?@$ZJyB2~(@r*c@XjmN|%5v%r}V$+46jL}vT2EokmOZ zNGG>QfZS0^s%u%Bk`HH9=f$b(IIGSh?lERy$b)^Ruj;!+MD3SLljlzKd5HO%?qr?$ zZ2G3XeoXmTVmtv~rE1x^qC~{PXxKT-1yj>UXz$?Spe-U#*<)ON3DPN!qAKo1V2T1i z)kder$-2V&nSF2mtzNs}F3gNK%ZU?)4^hJ+uyRqu&1e2QTvaI=l}Ihhh)k`?h#BqL zjH!q~4wjl}(}s0?m{MhkKdM2uHC--I2%@m*40 zB6GOF_jDse^bgWm{8u4`Fy1hJyLh?0jao_MT z?RxGNHXi>t-+0oQ+}{y06)DwGfLb|ay_9H=QxP@B0E|VWAC_5Eh?R3-WDFZM5v>Uo zNYO}W=XJC-V!U@UB3*3W6VE+|$=MP8$Dm+8!Ftr%{xNuwZOdY9MWB(lazCj6WO|+@ z91Jz7)n+v5Zhvo;0kk_K=GWM)lne?vXHD=sD$0GEx4U_{xdNt6cKtX&o1v*lQ&zlR z=mOWh9WifOkUK}NzrThgGc~9{A0TT74?oAG=qyQ(DWh^y<6&#FyKuc@p>s@FQc>}4MQQj#7Ox8w5?PM8_BvpS z19F9Q#wOy9q{a`a?`(2MF^WDV9BSo1{aC0((D+2i2HT0&!WIv;kb?b;e@StoQKv0T zO-d11qTgGTJstwoIL6xNL>pwaBtlNGH$jkh>RJ;YZ?>NhN}F>a=!sg{-c8Rj8nT2E zS6Wo7W~Z2sAS?ohYr584pw za1ej#eER>b_u+ifTAm$k{oF~dI<&)0ch%XqUE^?t;NpF@3?qQm|UH6H1L`H-y% zR~U`7%;MGg=nF)iv=}E58P|!9!V@2r!=dR8f*a%6oupI$sAW8B7y^FmovOT6Ao?}; zBf$fmKR@|EcD47qxZCmk?bWx5eWv!5@O7$#Y6)ITe|(SbT`t_Ivg;V!nNs^W`c>YE z;b)Iw%_)R9=TX3&dhI=$yhaa{!OxZs0_*!p+^^{a`nGpzrgx`3cN9>B`qOlZAPG+5iFMMkSaqZqT2$7uXv3ogLj@-91=4db79RzJhDI z`OgD(DgS&y+?YJ75Z#zPl7!%bIIyoM16S$hyZL^xVhuc#XVvq8$gz7Mg!t9`Xk`LC zQU=tZ>eliT2BsJ^gVU7v$>6#*AcTC#G=4BJTC5ojD&yKP34J{(3j3n)_Gx0~#s$tW z+a&IBLE&Cb4~j#%nyvX0+Li}BUD6J|3)Rnp%{}+CSiiu|F=}XQ|Ek`Gvrc<#>4SrA zf&5+d&s7LLKsWfo?0Q^69#U{=NOmxlD4+M7s; zydw=tfvq;E&lZ9NZ@J}|N`>h&thf2es|a!IiCDl3BJ-1X)*u2BGi#3t29rr+4cwIP z&H{<{EIG>?J^s|cLItx_d~n+>ota8Deel;Rv^&#y zhcc!U_7>F;K0Nv1xCvAe`Q%_RV>-4mCix`e0DKz@w*HU9i#>LzHYcgU8ou}*EV~SN z>L6MuWBXPZ<7)@!Qq}f#s0?FZTDWw>JcP*%d*)ZrKzV|jp$bwo9uXYLH6!shWpq5z zHuTVTyjkdSRa(G0+LIfx> zh+v^ML1B;saB-p?SWuE-raPAKmOv!Ocbh#rFa@M`l)x@%qv<_iC|!6Un-4h$L2)hI z2w4*XWn2X!$l;Tc7Zwlx3VslK?G6$b9I}CW{TBncHHrpyy4-$XMgYt%dq_}10BKM_ z0D=Az%lx_!Ef~QM&t{Mx1`Lc_kR|~#VASA-g4&jf$4f5bz@XT7ALOe*UHU&z!u(aJ z|Eo6g^FL>pneG3vh*?!4F;C}zM(6b9mrpi^PIhSJ zxBYuQN}%gu+0{i~@k=W<%_tovbC&Wk;YXD*lj=6#K_g5@ieU3*^JKeZJ6|zAVI>nc zBR%1cyr3Mi34hZOJC&}bswh3kmWy^Xy{lRJ-`sqkn>9Y^CZ)+99!=GjRBYA3_yR1N6xfm18E^5D>ur zA0M8Jjs3qvP6L?P|2uyr{{P?i|1V=^r=-f+EAt?SzMQIi3=nG$dzgK8^enEV#A|@8 zV_>REDJl+zCwN9$oGO&<1?73%##<@ADU}N%Te6b@AWl zHL~o(Z}uj8JZ_2qB>jPYD!$I~UOF{h23pbb>u@dv;(e(;gHKUf!_JSN$ZgsuZ0pLR zFd)7)fwkVu?`?whe<0xls~{5n1n&JEs-UN>Wd0z9YsUS5c?Bi+oH?mEjlg+ZVS&8{ zTNDFJegUXqb7~F6Zst2$=Jo|*3z9wvc;hF?ykFk6E=Lizd^F~USa!`7c15Nz_(Jzj z5iupF-1h81+*JKP@b{hWXr{-C>IuW=r-gHkkf-NI{d50D`=9c!C)2W=%q)jnrUi+^ zz?{(_sx17~&Jrp!DvOE2bac@WGaw2dF}KJisuOHcDj;+fK~hK-8{RV{Jgnr)8zm`& zOhtxNlfyWh@zcq~Y_emDS@xh3!UK_oe!#~;bFU)wMS+E0jlrqU4U>j$pws>L@$*sV zFL(0;nPi5!u*a7OjvVmBEd%7&+L&`kzBe!L$K#8WOTSZkq)UXF?|=8lv%t0cs`Ypk z&x_yF!IxImjL7DLknBW>ACF%3jU6J-&9}9?C(V%0ZQN5!KsCaX6<`%Y=0O@t+qthJ z)kNU}%^y!W?Uus$uEkoNn|YPY@XImkz>NQrYmn5GB>20qK;K)Jx2*&F$_+#?stA!3 z2AAefLi_|+T&jx|m6(vZ0^m8U7SWEZg|~3Pc~E+{E}qRv;wJ7;qOTY)q^@l?siPt1 zz($Ej0jo*;95SgoNsulIngnKbU<yL(){z-#I@Elh$H!5oIXHme9qiqng-?DvYy#`8kb4EvUfgTJ?&m8dFwiM+Z7a z4NFa-tQG$*60hW}t3#TrxRJ0}ZXtgT*HbU_ToGN^XL7+(Z0>dPap9C=t8xPIJy3jp zmSIDBh~Z zBFRuUs#kZFT^K%+U3wVOHXjmak0O1S=|PwNZU0NVk5ICz*rZyic1N}k^u^2R=l@08 z{{d~%f(RMF#K_M6zY@2N8I8^VTGz<`wXUy7AhnY+dh9{KT^Xpf@{uh6n*D?_UT6T7 zi8Sq$``6pl9WEn-KqUqVyZP%lXDVZzrKt&3ArRsL35MbgYvfw#lM&5+$5IGl0Gp}n z@R*7Sg2pVWDq2wPmBi@z!|R?=B6-9JU`~N*LK?B{rM`SIRotn=O1fOPw}}!}8Jk~A zgiumz_3NHf&x8FlPegMYrS&B9Mfp8VsQ>U_*yC0EPqFsWTu*=>E9=4Zu_4joGkrKt z6e*xbjN`)r`_~GsNYho~F%=}-?ER8IQp#FdO?uFt6|PzXL@;+|*dGK~B-pBDKx)3$ z(YaM@;X<3SRkK(=?XlLT<)+_BvgR#{k5MWxF(#tt^)G=BzvF;qd=A`>+*SkedbFv~ zAx%aXpCa|VZSCoLEa*zex*==#*#`J{o~QgcTu^;# zzAmkp*-VuXDH6S_YnJp+sXV{i{-7`103Z9snRB6I`{(kZ8yKG>oHTOw zZO~z`%dMgpn7gq{J=G4%Zv&VPjt+av$sq5(IH3xp>_obgB4!tMFh+LrG?+QB^qeUK zBHXV*y;G6X|8Nq6?+7tiB5an<1gbR54TrQ_vZc@;DAu@$!|$F;^AeoMdh1GIzNyI< zx@Lein?zD|sgtNgs z?WE*l?i6rHb4G!sb0yd~JJ*QC*5#~{+CPt+1Z8B?Gcny%v%e|80qJ?ls>SME%4cS~ zpvZ&nf25t-f~s3Qv2xw;2)ufiO9glfk%U>yah_GDwL?p2N*wDxKY zQ$~*tSpv`UO}D4(rg*d@%YJa}yl%G`R`bhT?wpk%DG!b~Tb20Ndd{sn=3z2(U4{=d z>If>kH#;mziHytPz<3ap%q%0PZxVPTOjc9{zFQqwJK8Y5 zJ&x2C$taGkM|T>9gY6rvv6l%h)52N*vrFc4=M>x9nRuK!Muyt`J%xzxc>10e0|}f8 zHLkaDrROK3hFnTSNrEc%+X>~dC8Gz}E|R%u&1Am+UrP`OOMTy^#B`j}+13s>X*%zX zlAGu&lv05~99#UooBA&2>Ib>i49=gIJNKe>^q7g@4O_xlx6vvzpWj^o$O^XF`~S-o z7MA~KfMeri;rKrpKP#%7#nQ@S?s@L?5nIv(X_6Fl-Ec56SVA-9 zxC}fhqtGD~G>T%XfgnKuLL3=UI4&}DAg?%lI4Bcw6bu9==>wyQFNojAe3T@zE=fM_ z2tq-78O6ZZj{QsAhwn?*uA73KyQ-^tjs9$N>g0sBE8xW&y5S$A?M1Qh zSJIsRkY9Du_fq{pqnvuglUntdTo#k}&LE{WDiMlTHI@LI^CYRTU;k#f=PR4{XtC#i z#4BNiyR_AK!4%+Y@rb|qZz5$y8!SZ$K)<(Y2w%x>=0>f^9LW;xlzOU`MV3-p>S*l> z_o=Jnx&z~!xnh+Bnj=190(o@Y5`SlAH zv{h6B49d6p2ntnB?x91`wKaPS%0~k~e)Z3C1Q=OMNwf7u3{F}Wmdwj$KRN8%Ilu%f z^H@gBG>a`S@et#3(dA-dE?1+$-0kNv_NIlvtrYVZBbu{qQk98}avtc=HYi%iNRF7G zuk=R~ES8NJ23nLIcKHl3NhmUrM`DG`S$rkrgqOK;HsKL^609u_aa@Flkgsx$rSsSl zX|gD3eUgB*CiP{MyTrPUN^!9avb2gkbCKkZn3vwyIJICkxhVdj zNA+)I-4ky1*iQ&wgfL?7x}~MX`8+d#g*`f5o9}3c#l6Jm{<(-JvglP^2>9Y4IUy?t zkd&&Q$!3v_JBT{Ba8Vt!z(QLRdG>TKwMlB6db6=F5Q+A}9mc#(IXDXulnTv4=d*b* z86oKW$t~%v3Br!!4OWHfZV*~DeiRrJzMuXHFJ@Cxb5rLx!Lbk_KGK~Ee3 z;QMdQSbEk&E18?|(+Hg6tX&iA}1wWHgS@M)(0%#7&FLkY85KSY^lB)aQ zjtZ2mVM-Z-j-+oq;HRc?K989Rof$G|$9W~@s1_cHV0Q&v9`au%u_kUu?r{eHg}YY> zVmnB$)90If$4|Vz=e2uFv^f5^jjr2X_U95jx876%`=za(?3>hnYc2;vz;I|xm;NF$7Z!mnVH zWUI-k5$K4&uppml7PAPzY{+1fDSzXSi&uEGtUhuHc9W9H@vUG`^XI92?Z%-SDGr8Z zqiMC(4hX>!@8f)5*4)hZRnRMr*8dm1d!TN~?i%BV0)@Zzy;vZ^U@Jg5T^AR1y8B>_ zboywm?>qYsz$C4la0v^8a9j`JXG3sI7)NKzrUHY`4qm50*&~zkgn_S_m8&IgchNP9eTBr znz%S}5Dp}rz)n;a^f#@c-T7RgSoRX;Ft7Y<#z*a9V9$lRzip(av$Vi|6+i#!^zodr z$Po-$$NTS-Mr+;Gy3VAUE_)dF4atLDzEGb{zhg1FWJ>J^Oh5u*tHdbQaYmUt-aL2g0uY5B+?oJ9bOGpdi1GSInRjwldtgQME!SS(3Hq~ zr(vJ2CBKt(o<@C}1+1}M3(20A~wofA>V3JVyy$a>O!b6Eth-w7~2Tnykg)uEu zk7c?@Q;pe1vFuD^Bp-YWr9{m;k#*iY?G zl8rFw!?q|(Z?C7$Lkwe-`^fVJv-f#*G{lr zWx3I)SFHs%1_ul1I@)X)UC;$RQ7EWQg^@*IinkKFaYmY?QD!ijv$R;3H8P77KfQ3x z6Ej>&8JD=0Ovm#|GKk0}t%TqpJVC#7uvlZ{X)m|T?L4jDCnl74fW)@PB-VyUfTgku z%dL8C*#Lte%j3wT&(GWYxfHxSA#~pRjY1Ch`F6YVTqTnGNhl|JSOJGADV#mzXZ6tv zW5qzF$5atgC$0~)dU{5%Q2PnZLcTkEj6}<9_K?FBad_#UXZhgUU~$)<(xIiBbxB2u zd=m>3J4fk9Yt;~J(of|JmFh8yfN@h%Bj5VM`p#AQ)!J3?LGZC6MsDO8ti9Ou!`cc= zK=36@E>GQ#=lLugWNzRYn7xo}Lm6l1nl@h3S`(*NgS(^b>zwCbyUg0xMOKaoh09d| zwv*E;r*em*!CW#H4)*0$bGF*GC7(-j488T=4!_JV5+Z;;`eMu!dHT0U;CpzXEp-`F zj=S~iPSJb4$@k+AIjM`=SRy^FErtwv<$dBdvK@(1@~mZT_=9jy6_c>ITmAWyQfpzG zY1hzG!jO-afvcNatE;Jc2DaV+q$V6A8z~n(Pc5gNs}9JVz_4z37rwb5U!W5=K;Zh1 z-S-GNP zTFH#ADP_V`x`Geckx%&TnEE*?xzl7jcl&bnX1(c|yXCQJwQqkFC+uWX!t`-V(YS;wSa_Q$~3Mwl$}}sQ#X4p z^MS;5#)V*|oJLeiwKI4y%PuY7o9)7@ruTb?;{=aKY`5q~NKPBM?WS9?IAzbzHD%Ug z?yJRmc?qFjQ*Fgi0Msft<=pm;TG67YchF)H*TK0k?OH8{gC*-O2^Bu5mEMMhIq{|E zrWnWB$})n)1=-cAHypK?+J&C(cuFD#kKf17TMTk@a<{eAz_d{upyOk_7-$C;{lf+Uo}ZA{IBYukR%I-u^-k+g)~q4EhM75y)%?(Z2a6z zrJ5skC$y3-(xq6-{ay2$dYuVPPTh79jxt_MqMtqi*_iPKexa1(o7S4e%801%hb35n zbZO$A%i53+a4)PS;NAIKtJh`yLGbC_6_@nm)aNdR#%KPx?kqxqVZM~zmT=={t0ha$3reQ-5oA6gJeEyhkcO0P`NjpBTOaV&5-5Nw z(9*}(=(Wi(u|Lef;y(uO>y+K?a0===1a^8_G14QM)0cR)xe+Q8cYAzEJr>9{PRwm5TBQ zg$33Se zrG}H5m6}CEm-0t?Q+&v4$?K8)l3Y8cVzhg+b5pIXyG-Y|9gQ;6KQpzB7QUH6))hhJ zkQU=VbUGi)XW7fx{AZlL(FdVt%Ykx3Q_jOoIhT7C^#31Q?-U+L)N~8Swv&l%+qUgY zY@3~AVohw@n%K7OOl(c8$v^LT&c*wk|GVh!ySnJwyY{ZCwN?>jM80my9R7xIk(h2u zhXksu^_!qGlq~VF39fKW*u4uSsE*xJ3X8UMaBGj;1LQG$ykbhN(&G3J7xdhHq%P+O zbp!lrYcL1N$jA;93!igRPp#DnAgbx)gLl0f-lf4@%6JFu-Lkfhd(vSZIUhNZSrJ%~ zSP@yXx`v`xZj3LD&v6qErCpv7uJ+DQbAVHYm`FKluGFlF=_9Pp(ja1K$#Dpa`an!O zVlfEuVE8SQWD*h@7P>pFNb|^ObS)|{(I{z zos^oIiiT;+O$Q@+l!QR#=}>V=Rq3^+XYcJ9QS?)^j<4^-*tm++khZTw^_E}X3BZ?_ zn#$#&-m;6;8gRBE&@Yf~VT_>Il^IDL(_aPcDJ)!F9J5t=a7xbm^B>%SDI4WKaEGLB z@NQod6UW_^05LMqHx!1xzY^P@Bx`whreD2+)H8Q1+u~e{HC|91v*=#Ag=O_d*8z-O z?|5PD?@YVc%A%;SDg)h-e|KjdfnGigdTEp)tPk(R??blXDQokxBtybYyBr2Xkvbx) zsILI=An+lwC@o+;a*tC%k#(k6jcI&OZwCwWKIXy-trxdw5k*JZaz(y6uH)Aj%q~_V zeJY(8RTJ`&0b87N9RJBJ31wk{%PT{^kK^3?60glyArGfCLO7-2~@5B%rL@;y|O#8T9Q-QJbTA%F6Q8gy?z6^bDU z9{4%X7#{{WlL=2U@jv2#V8Khj+pahjO<5P|*bqIw9AwLR`j#ZZGW!KxG-As=m49or zWKtrpO%7kNvV$H3vKVf3r?{I8bN;ow(<9ZU2;OxVOjoW41Kusk`O=d;)@kN*K&)H^ z)q03kD^aCP#EnP2uvpg-!+JgzBk9&3U!)bLnbM51IN{7oOZEv!^e;wMPol-ADX&YO z=^5qXipEwsp?%A~6|fF^mnNk_t1GN&t}mxNWXKs3N1;BuO1XgeiWuN^x2t_tH#G zyxFGTwQRE%b0r4cz&}|ht*{6MNMbB`m&xDPCTqPx)h3rAU5W)GP#@a+op(+S0_Kw+ zapIoy6VScgr~xNF2SqdUEBu3_+RMDwX-P%h7Pr*o&;bWUaSbb7*H3v!Ts~H)@MM_U zj3yN$jkt0osWsY_^_M0{4|55J`SBugEPOoFSP42C-D^PDswFIHUA(FRTZ<9puX=## zMY`h_R3_L;HT-6Ezgg0b+%vj6c+Gm$Upro*IVUC%vP)ap0~OWc7py8(Dv0b)yDGZA zKUC^fIFp2;2+^HUs5c607Lvl#OvDuX%fa@VT&iSo#(Y22UxS~%7sEd*Ao;=={_WS3jNXj|499 z!mE~V-8q`v`?LsdxsZ&ILYTt(Fp=`g`i@qdFI_mA_J7nI{9dq>xm1PrONGGZ@tfEa zh5JYY7pw^T$@8&{1n58jf)K#|Evn$(c~WlRIsotpK+WzXnh7{HvE=bP4Myhfn%xsX z0uJX?5iK(XE)l{lkh`+L%6PK1YwOV+yr?iTx$#eKIm1oy<6K_A!^!ZGT&)hBA_heu z@g_d2gTy}d!nFm$TagZbwIcQFMGu4bKK}xLJ-6r1kLrCM3_xnuFQD67px%F70%Up^f4mUIjxNwhZERvcXe$~7%B!`X?j(lfW1iP zPlw*_Q)YDIfM%JkS%qM8+m*M}BjQ&w)Ds%%8X;b+=&pAV z)~~?LdiG^5hp*uwRaO02KNqX_Y0!S;69TFx!f7==a)@#d>d)7E>@dSE-v?yXU5^Bm z+Xsed3F-$RFxQk-V2-RRT!iSgez)SMGH9%^BFSND4;ZtAvm%{e?b7QG1q>R`lWJ?j zl<+8Oo`*x?AG@YohPGRHjlj5aPhAHlB6)RyTeu6eglFIfOz&0TcqIe<5EbG)Oavl(g%!L!)3q=^1%t�~oxaAMy(`?PW3F2)-!o|qe25Fds2EDSq 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 delta 45137 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 D%t8T~ diff --git a/lecture_07/lecture_07_files/lecture_07_15_1.svg b/lecture_07/lecture_07_files/lecture_07_15_1.svg new file mode 100644 index 0000000..903c445 --- /dev/null +++ b/lecture_07/lecture_07_files/lecture_07_15_1.svg @@ -0,0 +1,131 @@ + + +Gnuplot +Produced by GNUPLOT 5.0 patchlevel 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10000 + + + + + 15000 + + + + + 20000 + + + + + 25000 + + + + + 30000 + + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + + + + + principle amount left ($) + + + + + time (years) + + + + + gnuplot_plot_1a + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lecture_07/lecture_07_files/lecture_07_16_1.svg b/lecture_07/lecture_07_files/lecture_07_16_1.svg new file mode 100644 index 0000000..a3a2125 --- /dev/null +++ b/lecture_07/lecture_07_files/lecture_07_16_1.svg @@ -0,0 +1,151 @@ + + +Gnuplot +Produced by GNUPLOT 5.0 patchlevel 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 100000 + + + + + 200000 + + + + + 300000 + + + + + 400000 + + + + + 500000 + + + + + 600000 + + + + + 700000 + + + + + 0 + + + + + 5 + + + + + 10 + + + + + 15 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + + + + + principle amount left ($) + + + + + time (years) + + + + + gnuplot_plot_1a + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lecture_07/lecture_07_files/lecture_07_24_1.svg b/lecture_07/lecture_07_files/lecture_07_24_1.svg index a8b614c..b511b10 100644 --- a/lecture_07/lecture_07_files/lecture_07_24_1.svg +++ b/lecture_07/lecture_07_files/lecture_07_24_1.svg @@ -43,47 +43,47 @@ - + 10-14 - + 10-12 - + 10-10 - + 10-8 - + 10-6 - + 10-4 - + 10-2 - + 100 - + 102 @@ -98,28 +98,43 @@ - - 10 + + 50 + + + + + 100 - - 20 + + 150 - - 30 + + 200 - - 40 + + 250 + + + + + 300 + + + + + 350 - 50 + 400 @@ -141,7 +156,7 @@ - + mod-secant @@ -150,7 +165,7 @@ - + false point @@ -159,7 +174,7 @@ - + bisection @@ -168,7 +183,7 @@ - + diff --git a/lecture_07/lecture_07_files/lecture_07_26_1.svg b/lecture_07/lecture_07_files/lecture_07_26_1.svg new file mode 100644 index 0000000..a8b614c --- /dev/null +++ b/lecture_07/lecture_07_files/lecture_07_26_1.svg @@ -0,0 +1,182 @@ + + +Gnuplot +Produced by GNUPLOT 5.0 patchlevel 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10-14 + + + + + 10-12 + + + + + 10-10 + + + + + 10-8 + + + + + 10-6 + + + + + 10-4 + + + + + 10-2 + + + + + 100 + + + + + 102 + + + + + 104 + + + + + 0 + + + + + 10 + + + + + 20 + + + + + 30 + + + + + 40 + + + + + 50 + + + + + + + + + + + + + newton-raphson + + + + + newton-raphson + + + + + + mod-secant + + + mod-secant + + + + + + false point + + + false point + + + + + + bisection + + + bisection + + + + + + + + + + + + + + + \ No newline at end of file From 6e109623ad724ad4a78871fcba90ae3fef495c3a Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Tue, 7 Feb 2017 20:47:05 -0500 Subject: [PATCH 2/2] added HW3 --- HW3/README.html | 60 ------------------------------------------------- 1 file changed, 60 deletions(-) delete mode 100644 HW3/README.html diff --git a/HW3/README.html b/HW3/README.html deleted file mode 100644 index 950e6d3..0000000 --- a/HW3/README.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - -

Homework #3

-

due 2/15/17 by 11:59pm

-
- -
    -
  1. Create a new github repository called ‘roots_and_optimization’.

    -
      -
    1. Add rcc02007 and pez16103 as collaborators.

    2. -
    3. Clone the repository to your computer.

    4. -
    5. Copy your projectile.m function into the ‘roots_and_optimization’ folder. Disable the plotting routine for the solvers

    6. -
    7. Use the four solvers falsepos.m, incsearch.m, newtraph.m and mod_secant.m to solve for the angle needed to reach h=1.72, with an initial speed of 1.5 m/s.

    8. -
    9. The newtraph.m function needs a derivative, calculate the derivative of your function with respect to theta, dprojectile_dtheta.m. This function should output d(h)/d(theta).

    10. -
    11. In your README.md file, you will document the following under the heading # Homework #3:

      -
        -
      1. Compare the number of iterations that each function needed to reach an accuracy of 0.00001%. Include a table in your README.md with:
      2. -
      -
      | solver | initial guess(es) | ea | number of iterations|
      -| --- | --- | --- | --- |
      -|falsepos   |  |  |  |
      -|incsearch  |  |  |  |
      -|newtraph   |  |  |  |
      -|mod_secant |  |  |  |
      -
        -
      1. Compare the convergence of the 4 methods. Plot the approximate error vs the number of iterations that the solver has calculated. Save the plot as convergence.png and display the plot in your README.md with:
      2. -
      -

      ![Plot of convergence for four numerical solvers.](convergence.png)

      -
        -
      1. In the README.md provide a description of the files used to create the table and the convergence plot.
      2. -
    12. -
  2. -
  3. The Newton-Raphson method and the modified secant method do not always converge to a solution. One simple example is the function f(x) = x*exp(-x^2). The root is at 0, but using the numerical solvers, newtraph.m and mod_secant.m, there are certain initial guesses that do not converge.

    -
      -
    1. Calculate the first 5 iterations for the Newton-Raphson method with an initial guess of x_i=2.

    2. -
    3. Add the results to a table in the README.md with:

    4. -
    -
    ### divergence of Newton-Raphson method
    -
    -| iteration | x_i | approx error |
    -| --- | --- | --- |
    -| 0 | 2 | n/a |
    -| 1 |   |     |
    -| 2 |   |     |
    -| 3 |   |     |
    -| 4 |   |     |
    -| 5 |   |     |
    -
      -
    1. Repeat steps a-b for an initial guess of 0.2. (But change the heading from ‘divergence’ to ‘convergence’)
    2. -
  4. -
  5. Commit your changes to your repository. Sync your local repository with github. Then copy and paste the “clone URL” into the following Google Form Homework #3

  6. -