Skip to content

Instantly share code, notes, and snippets.

@gwtaylor
Created February 7, 2013 23:36
Show Gist options
  • Save gwtaylor/4735245 to your computer and use it in GitHub Desktop.
Save gwtaylor/4735245 to your computer and use it in GitHub Desktop.
ENGG*1210 Root Finding demonstration
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "RootFinding"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First we need to import some tools."
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from scipy import optimize"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we define our function. Note that we use `deg2rad` to convert the angle to radians (the numpy trig functions expect radians)."
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"def f(x):\n",
" y = np.deg2rad(x)\n",
" return 5*np.tan(y) - 6*np.sin(y) - 0.4"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's make a plot of our function on the interval [0, 45] degrees."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x = np.arange(0, 45, 0.01)\n",
"y = f(x)\n",
"plt.plot(x,y)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 8,
"text": [
"[<matplotlib.lines.Line2D at 0x107da76d0>]"
]
},
{
"output_type": "display_data",
"png": "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\n"
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We use the `brentq` method to find a root of a function in a given interval."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x_opt = optimize.brentq(f, 0, 45)\n",
"print x_opt"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"40.8633818305\n"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment