Initial due date: Sunday, April 9 at 11:59pm ET
This miniproject will teach you about the Runge-Kutta method, a standard numerical solution technique for differential equations.
Prerequisites: A strong grasp of Euler's Method for single DE's is needed. You will also need to be comfortable using a spreadsheet. Miniproject 6 (Euler's Method for systems) is also recommended.
A description of the Runge-Kutta method along with an example is given in this tutorial. Read it carefully and make sure you can work along with the example before proceeding.
Given the initial value problem:
\[(2+t^2) y' + 2ty = 0, \quad y(1) = 1\]
(a) Use the Runge-Kutta method with a step size of \(h = 0.1\) to find an approximation to \(y(2)\). Show your work by hand on the first iteration, then do the rest in a Google Sheet or using Python code according to the formatting rules for Miniproject 6. The spreadsheet or computer code must show all the intermediate steps in a way that allows a reader to reproduce your work without re-entering any code.
(b) Repeat part (a) usiung Euler's Method with a step size of \(h=0.1\).
© You can check (but don't do it for your writeup) that an algebraic solution for this IVP is \(y(t) = \dfrac{3}{t^2 + 2}\). What is the exact value of \(y(2)\)? And what is the percent error in each of the approximations you did in (a) and (b)?
In Miniproject 5, the following IVP is used to model a population that grows under environmental constraints:
\[\frac{dP}{dt} = 0.02P\left(1-\frac{P}{500}\right), P(0) = 100\]
Use the Runge-Kutta method with a step size of \(h = 0.5\) to estimate the population in year 5. Show your work by hand on the first iteration, then do the rest in a Google Sheet or using Python code according to the formatting rules for Miniproject 6. The spreadsheet or computer code must show all the intermediate steps in a way that allows a reader to reproduce your work without re-entering any code.
For the third item on this assignment, you'll use the Runge-Kutta method on a third initial-value problem that will be unique to you. That is, nobody else in either section of MTH 302 will have this particular initial-value problem to solve. Please click here to go to a Google Form which will ask you for your name and section. Fill this form out no later than 11:59pm ET on Thursday, April 6 and then you will receive your IVP via email no later than Friday, April 7. Please note, the initial due date for this assignment is Sunday, April 9 and so if you do not fill out the form by 11:59pm ET on Thursday April 6 you will not be able to complete this assignment.
Miniproject 7 involves a significant amount of numerical calculations. The writeup you produce will be different from other Miniprojects, so read the following guidelines carefully.
You may do your calculations in one of two ways:
import
statements, for example you may not import SciPy or NumPy; and you must include an explanation for what your code is doing and why it works with each code cell you use. If you import an external library like SymPy or NumPy, or if you give code with no explanation or an insufficient or irrelevant explanation, your work will be marked Incomplete and returned without comment.These problems typically also ask for written explanation and sometimes mathematical work that is not a spreadsheet or Python computation. If you are using a spreadsheet, you are allowed to use a document other than a Jupyter notebook (for example a Word document) to write these up. Then be sure to insert the link to your Google Sheet inside the document.
If you are writing Python code, just put your written and math work in the Colab notebook with your code, like you usually do.
Please note, no other spreadsheets (Excel, Numbers, etc.) are allowed. It has to be a Google Sheet. And, do not use a hand calculator! This would force you to perform roughly 300 different sets hand calculations separately if you did. Use Google Sheets or Python, nothing else.
I do not typically look over student work to give feedback before it's submitted, but if you want to show me your work prior to submission to make sure it is formatted correctly, that's fine this time.
Otherwise: Please review the section on Miniprojects in the document Standards For Student Work in MTH 302 before attempting to write up your submission. Note that all Miniprojects:
Your work here is being evaluated partially on whether your math and code are correct; but just as much on whether your reasoning is correct and clearly expressed. Make sure to pay close attention to both.
And please review the requirements above for including your code.
You will submit your work on Blackboard in the Miniproject 7 folder under Assignments > Miniprojects. But you will not upload a PDF for Miniprojects. Instead you will share a link that allows me (Talbert) to comment on your work. As explained in one of the Jupyter and Colab tutorials, the process goes like this:
I will then evaluate your work using the link. Specific comments will be left on the notebook itself. General comments will be left on Blackboard.