Created
October 9, 2015 22:37
-
-
Save piti118/245efa4239f2cc11ce58 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"##Homework 4 Interpolation and Trapezoid Rule." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"import numpy as np\n", | |
"from matplotlib import pyplot as plt\n", | |
"from math import sin, cos, exp, pi, sqrt\n", | |
"import math" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"1) Find legendre polynomial that passes through these points. Plot the polynomial line along with the points." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"xs = [1,2.5, 3, 5, 6,6.5]\n", | |
"ys = [2, 1, 0, -1, 3, 5]\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"2) Compute the following integral using trapezoid rule with 100 pieces. (Trust me, don't try to do it by hand.)\n", | |
"$$\\int \\limits_{x=0}^{x=\\pi} x^2\\sin(x^2)\\;dx$$" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"3) In the class, we learned how to do integral where the limit is finite. Sometimes we need to do the integral when the limit is not finite. For example, a lot of time in statistic we need to evaluate the integral of normal distribution function\n", | |
"$$f(t) = \\frac{1}{\\sqrt{\\pi}} e^{-t^2}$$\n", | |
"from $x$ to certain point $\\infty$. From statistics you will see a table for complementary error function like one you found here(see page2) http://www.geophysik.uni-muenchen.de/~malservisi/GlobaleGeophysik2/erf_tables.pdf\n", | |
"\n", | |
"$$ erfc(x) = \\int \\limits_{t=x}^{t=\\infty} \\frac{2}{\\sqrt{\\pi}} e^{-t^2} \\; dt $$\n", | |
"\n", | |
"If you try to use trapezoid rule directly with this you will find that computer has problem with understanding $\\infty$. Thus, we need to do a change to variable such that it turns the improper integral into a proper integral.\n", | |
"\n", | |
"Remember that $\\tan(\\pi/2) = \\infty$, if we let $$ t = \\tan(u)$$ then the integral above becomes\n", | |
"\n", | |
"$$ erfc(x) = \\int \\limits_{u=\\arctan(x)}^{u=\\frac{\\pi}{2}} \\frac{2}{\\sqrt{\\pi}} \\frac{e^{-\\tan(u)^2}}{ \\cos(u)^2} \\;du $$\n", | |
"\n", | |
"Even though it looks much scarier than before, all the $\\infty$ are gone. However, using trapezoid rule for all pieces is bad since the right end point still has $e^{-\\infty}/0$; computer will scream at this.\n", | |
"\n", | |
"We can avoid that trouble by first subdivide this into many pieces. Then, we use trapezoid rule for all pieces except the right most piece at $\\frac{\\pi}{2}$. For this piece, we can use mid-point rule $A = f((l+r)/2)h$ instead.\n", | |
"\n", | |
"Your job for this problem is to find the value for $erfc(0)$, $erfc(0.5)$, $erfc(1.0)$ and $erfc(1.5)$. Pick appropriate number of subdivisions. You should get something very close to the table.\n", | |
"\n", | |
"This is actually a general techique for dealing with infinity in numerical computation: try $\\tan(u)$ first. Sometimes we use sigmoid function instead because of some of its nice property, you will see some of the use in Pattern Recognition. It should be noted that there is actually a better but adhoc way to avoid imporoper integral for normal distribution but we won't go there." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"4) In the class, you learn a bunch of tools. But, in the homework, I need you to be a little bit creative and use all you have learned to solve a seemingly random problem.\n", | |
"\n", | |
"Let us consider semi-circular paper of radius 2 . The area of the whole paper is $2\\pi \\approx 6.28$.\n", | |
"We want to cut a chord(red line) from this paper such that the area of the leftover paper(shown in blue) is $4.0$. Where should I cut the chord (find the value of $x$ where the red line should be such that the area of the blue region is $4.0$? Try to get a decent answer. \n", | |
"\n", | |
"If you are good with geometry you can actually figure this one out analytically, but I want you to do it numerically using what we have learned so far." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.collections.PolyCollection at 0x1060a7690>" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": [ | |
"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\n" | |
], | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x105ff7950>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def circ_top(x, r=2.):\n", | |
" return sqrt(r**2 - x**2)\n", | |
"def circ_bot(x, r=2.):\n", | |
" return -sqrt(r**2 - x**2)\n", | |
"\n", | |
"x=np.linspace(0,2,100)\n", | |
"y_top = [circ_top(xx) for xx in x]\n", | |
"y_bot = [circ_bot(xx) for xx in x]\n", | |
"ax= plt.figure(figsize=(4,4))\n", | |
"plt.gca().set_aspect('equal') #get current axis and set aspect ratio\n", | |
"plt.plot(x, y_top, 'k-')\n", | |
"plt.plot(x, y_bot, 'k-')\n", | |
"plt.axvline(1.1,color='red')\n", | |
"plt.fill_between(x,y_top,y_bot,where=x>1.1,alpha=0.3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"5) Fourier Series is one of the most useful mathematical fact in real life. You can look up wikipedia on where it gets used. The claim is quite simple. Similar to Taylor series, Fourier claims/prove that all preriodic functions can be written as a sum of sine and cosine of varying frequency. For function of period $2L$, the sum can be written as\n", | |
"\n", | |
"$$f(x) = \\frac{a_0}{2} + a_1 \\cos(\\pi \\frac{x}{L}) + a_2\\cos(2\\pi \\frac{x}{L}) + a_3 \\cos(3 \\pi \\frac{x}{L}) + \\ldots\\\\\n", | |
"+b_1 \\sin(\\pi \\frac{x}{L}) + b_2\\sin(2\\pi \\frac{x}{L}) + b_3 \\sin(3 \\pi \\frac{x}{L}) + \\ldots$$\n", | |
"\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"Before it gets too abstract, the cell below show how similar the sawtooth function is to the sum of a few sine and cosine.\n", | |
"\n", | |
"The function below is sawtooth function with period of 2(it repeats itself every length 2). Since the period is $2L$, $L=1$. That means we expect\n", | |
"\n", | |
"$$sawtooth(x) \\approx \\frac{a_0}{2} + a_1 \\cos(\\pi x) + a_2\\cos(2\\pi x) + a_3 \\cos(3 \\pi x) + \\ldots\\\\\n", | |
"+b_1 \\sin(\\pi x) + b_2\\sin(2\\pi x) + b_3 \\sin(3 \\pi x) + \\ldots$$\n", | |
"\n", | |
"We will learn the magical power that helps us figure out $a$'s and $b$'s later. Let us compare it with\n", | |
"$$magic(x) = 1 - \\frac{2}{\\pi}\\sin(\\pi x) -\\frac{2}{2\\pi}\\sin(2\\pi x) - \\frac{2}{3\\pi}\\sin(3\\pi x) - \\ldots$$\n", | |
"which means that $a_0=2$, $\\displaystyle b_i = -\\frac{2}{i\\pi}$ and $a_1=a_2=\\ldots=0$." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x10603d210>" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": [ | |
"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\n" | |
], | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x10603d1d0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def sawtooth(x):\n", | |
" return x%2 #only works in python. other languages will scream.\n", | |
"\n", | |
"x = np.linspace(0,5,100)\n", | |
"y = [sawtooth(xx) for xx in x]\n", | |
"plt.plot(x,y,label='sawtooth')\n", | |
"plt.grid()\n", | |
"\n", | |
"def magic(x):\n", | |
" s = 0\n", | |
" s += 1\n", | |
" s += -2/pi*sin(pi*x) - 2/2./pi*sin(2*pi*x) - 2/3./pi*sin(3*pi*x)\n", | |
" return s\n", | |
"magical_y = [magic(xx) for xx in x]\n", | |
"plt.plot(x, magical_y,'r-',label='magic')\n", | |
"plt.legend(loc='upper left')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"Let us talk about how the magic of figuring out $a$ and $b$. We can show that\n", | |
"\n", | |
"$$a_i = \\frac{1}{L}\\int \\limits_{x=0}^{x=2L} f(x)\\cos(i \\pi \\frac{x}{L})\\; dx $$\n", | |
"\n", | |
"\n", | |
"$$b_i = \\frac{1}{L}\\int \\limits_{x=0}^{x=2L} f(x)\\sin(i \\pi \\frac{x}{L})\\; dx $$\n", | |
"You can actually prove this with basic calculus. The trick is pretty neat. See http://mathworld.wolfram.com/FourierSeries.html or various youtube videos on how to prove this.\n", | |
"\n", | |
"For example, in the sawtooth example above($L=1$), $b_2$ was found by using\n", | |
"\n", | |
"$$ b_2 = \\int \\limits_{x=0}^{x=2L} sawtooth(x)\\sin(2 \\pi \\frac{x}{L})\\; dx $$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"5.1) Consider the function below. Find $a_0, a_1, a_2, a_3$ and $b_1, b_2, b_3$ and plot the fourier approximation using these terms along with the original function. Your plot should look similar to the one shown for sawtooth. Do not forget to change $L$ to appropriate value.\n", | |
"\n", | |
"I recommend you writing a nice function to figure out $a$ and $b$." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(-0.1, 1.1)" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": [ | |
"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\n", | |
"AAAAAElFTkSuQmCC\n" | |
], | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1060f6bd0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def step(x):\n", | |
" return 0.0 if x%3>(3./2) else 1.0\n", | |
"x = np.linspace(0,5,1000)\n", | |
"y = [step(xx) for xx in x]\n", | |
"plt.plot(x,y,label='step')\n", | |
"plt.grid()\n", | |
"plt.ylim(-0.1,1.1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"5.2) Do 5.1 but now with $a_0, a_1, \\ldots, a_{10}$ and $b_1, b_2, \\ldots b_{10}$" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"5.3) Consider the function below. Find $a_0, a_1, a_2, a_3$ and $b_1, b_2, b_3$ and plot the fourier approximation using these terms along with the original function. Your plot should look similar to the one shown for sawtooth. Do not forget to change $L$ to appropriate value." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(-0.1, 1.1)" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": [ | |
"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\n" | |
], | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x10622fd90>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def circ(x):\n", | |
" r = 1\n", | |
" xx = (x%(2*r))\n", | |
" return sqrt(r**2-(xx-r)**2)\n", | |
"x = np.linspace(0,5,1000)\n", | |
"y = [circ(xx) for xx in x]\n", | |
"plt.plot(x,y,label='step')\n", | |
"plt.grid()\n", | |
"plt.ylim(-0.1,1.1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"5.4) Do 5.3 but now with $a_0, a_1, \\ldots, a_{10}$ and $ b_1, b_2, \\ldots b_{10}$" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.9" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment