diff options
author | Trupti Kini | 2017-01-12 23:33:05 +0600 |
---|---|---|
committer | Trupti Kini | 2017-01-12 23:33:05 +0600 |
commit | e2ec570a69371634ec7a6b27f9891e732c3428da (patch) | |
tree | 9a1604378caf041459fa446926a3ba5cd0f31eed /Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb | |
parent | 882a643ff3426d410a375df9c18ae2f90e045728 (diff) | |
download | Python-Textbook-Companions-e2ec570a69371634ec7a6b27f9891e732c3428da.tar.gz Python-Textbook-Companions-e2ec570a69371634ec7a6b27f9891e732c3428da.tar.bz2 Python-Textbook-Companions-e2ec570a69371634ec7a6b27f9891e732c3428da.zip |
Added(A)/Deleted(D) following books
A Basic_mechanical_engineering_by_Basant_Agrawal_,_C.M_Agrawal/README.txt
A Numerical_Methods_by_E._Balaguruswamy/chapter10.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter11.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter12.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter13.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter14.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter3.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter4.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter6.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter7.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter8.ipynb
A Numerical_Methods_by_E._Balaguruswamy/chapter9.ipynb
A Numerical_Methods_by_E._Balaguruswamy/screenshots/greatest-precision-4.png
A Numerical_Methods_by_E._Balaguruswamy/screenshots/rounding-off-4.png
A Numerical_Methods_by_E._Balaguruswamy/screenshots/truncation-error-4.png
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_4JhcI7F.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_5CfOfQx.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_B30VPml.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_BE8QjoS.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_Gb015bo.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_KQ8ycMr.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_LIZWeY4.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_Opo6g3L.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_Pq40WOu.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_QLXi0uM.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_TdOIeIQ.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_UiM06tF.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_VQabJzR.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_XKPPUxj.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_dfFlLnm.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_fegIkl6.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_g1GxlUN.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_gGvuusH.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_gZeNd4b.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_khAt4Y6.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_oJQM5Mb.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_p22tFeA.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_qNHcrb8.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_qeUxd0G.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_r0nfWNs.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_uWQUwaW.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_vkMAnbH.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_wP2wGMS.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_x09tDSO.ipynb
A Physics_BSc(Paper_4)_by_Sanjeeva_Rao,_Bhikshmaiah,_Ramakrishna_Reddy,_Ananta_Ramaiah/C_yCW2orc.ipynb
Diffstat (limited to 'Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb')
-rw-r--r-- | Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb | 404 |
1 files changed, 404 insertions, 0 deletions
diff --git a/Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb b/Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb new file mode 100644 index 00000000..0e991840 --- /dev/null +++ b/Numerical_Methods_by_E._Balaguruswamy/chapter15.ipynb @@ -0,0 +1,404 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 15 - Solution of partial differential equations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_01 Pg No. 488" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " The solution of the system is \n", + " f1 = 75 \n", + " f2 = 50 \n", + " f3 = 50 \n", + " f4 = 24 \n", + " \n" + ] + } + ], + "source": [ + "from numpy import zeros,mat\n", + "from numpy.linalg import solve\n", + "#Elliptic Equations\n", + "\n", + "l = 15\n", + "h = 5\n", + "n = 1 + 15/5\n", + "f=zeros([4,4])\n", + "f[0,0:3]=100\n", + "f[0:3,0]=100\n", + "\n", + "#At point 1 : f2 + f3 - 4f1 + 100 + 100 = 0\n", + "#At point 2 : f1 + f4 - 4f2 + 100 + 0 = 0\n", + "#At point 3 : f1 + f4 - 4f3 + 100 + 0 = 0\n", + "#At point 4 : f2 + f3 - 4f4 + 0 + 0 = 0\n", + "#\n", + "#Final Equations are\n", + "# -4f1 + f2 + f3 + 0 = -200\n", + "# f1 - 4f2 + 0 + f4 = -100\n", + "# f1 + 0 - 4f3 + f4 = -100\n", + "# 0 + f2 + f3 - 4f4 = 0\n", + "A = mat([[ -4, 1 ,1 ,0],[1, -4, 0 ,1],[1, 0 ,-4 ,1],[0, 1, 1, -4 ]])\n", + "B = mat([[-200],[-100],[-100],[0]])\n", + "C = solve(A,B)\n", + "print '\\n The solution of the system is \\n f1 = %d \\n f2 = %d \\n f3 = %d \\n f4 = %d \\n '%(C[0],C[1],C[2],C[3])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_02 Pg No. 489" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First row of below matrix represents iteration number:\n", + "[[ 0. 1. 2. 3. 4.]\n", + " [ 75. 75. 75. 75. 75.]\n", + " [ 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0.]\n", + " [ 0. 50. 50. 50. 50.]]\n" + ] + } + ], + "source": [ + "from numpy import zeros,mat\n", + "from numpy.linalg import solve\n", + "\n", + "#Liebmann's Iterative method\n", + "\n", + "f=zeros([4,4])\n", + "f[0,0:3]=100\n", + "f[0:3,0]=100\n", + "A=zeros([5,5])\n", + "A[0,0:5] = range(0,5)\n", + "for n in range(1,6):\n", + " for i in range(2,4):\n", + " for j in range(2,4):\n", + " if n == 1 and i == 2 and j == 2 :\n", + " f[i-1,j-1] = ( f[i,j] + f[i-2,j-2] + f[i-2,j] + f[i,j-2] )/4\n", + " else:\n", + " f[i,j] = ( f[i,j-1] + f[i-2,j-1] + f[i-1,j]+ f[i-1,j-2] )/4\n", + " A[1:5,n-1] = mat([f[1,1],f[1,2],f[2,1],f[2,2] ])\n", + "\n", + "\n", + "print 'First row of below matrix represents iteration number:\\n',A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_03 Pg No. 490" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The solution is \n", + " f1 = -5.500000 \n", + " f2 = -10.750000 \n", + " f3 = -3.250000 \n", + " f4 = -5.500000 \n", + " \n" + ] + } + ], + "source": [ + "from numpy import zeros,mat\n", + "from numpy.linalg import solve\n", + "\n", + "#Poisson's Equation\n", + "\n", + "#D2f = 2*x**2 * y**2\n", + "# f = 0\n", + "# h = 1 \n", + "#Point 1 : 0 + 0 + f2 + f3 - 4f1 = 2(1)**2 * 2**2\n", + "# f2 + f3 - 4f1 = 8\n", + "#Point 2 : 0 + 0 + f1 + f4 -4f2 = 2*(2)**2*2**2\n", + "# f1 - 4f2 = f4 = 32\n", + "#Point 3 : 0 + 0 + f1 + f4 - 4f4 = 2*(1**2)*1**2\n", + "# f1 -4f3 + f4 = 2\n", + "#Point 4 : 0 + 0 + f2 + f3 - 4f4 = 2* 2**2 * 1**2\n", + "# f2 + f3 - 4f4 = 8\n", + "#Rearranging the equations\n", + "# -4f1 + f2 + f3 = 8\n", + "# f1 - 4f2 + f4 = 32\n", + "# f1 - 4f3 + f4 = 2\n", + "# f2 + f3 - 4f4 = 8\n", + "A = mat([[ -4, 1, 1, 0],[1, -4 ,0 ,1],[1, 0, -4, 1],[0, 1, 1, -4]])\n", + "B = mat([[ 8],[32],[2],[8 ]])\n", + "C = solve(A,B)\n", + "print 'The solution is \\n f1 = %f \\n f2 = %f \\n f3 = %f \\n f4 = %f \\n '%( C[0],C[1],C[2],C[3])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_04 Pg No. 491" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Iteration 1\n", + " f1 = -2.000000, f2 = -9.000000, f3 = -2.000000, f4 = -2.000000\n", + "\n", + "\n", + " Iteration 2\n", + " f1 = -5.000000, f2 = -11.000000, f3 = -3.000000, f4 = -5.000000\n", + "\n", + "\n", + " Iteration 3\n", + " f1 = -6.000000, f2 = -11.000000, f3 = -4.000000, f4 = -6.000000\n", + "\n", + "\n", + " Iteration 4\n", + " f1 = -6.000000, f2 = -11.000000, f3 = -4.000000, f4 = -6.000000\n", + "\n" + ] + } + ], + "source": [ + "#Gauss-Seidel Iteration\n", + "\n", + "f2 = 0\n", + "f3 = 0\n", + "for i in range(1,5):\n", + " f1 = (f2 + f3 - 8)/4\n", + " f4 = f1 \n", + " f2 = (f1 + f4 -32)/4\n", + " f3 = (f1 + f4 - 2)/4\n", + " print '\\n Iteration %d\\n f1 = %f, f2 = %f, f3 = %f, f4 = %f\\n'%(i,f1,f2,f3,f4)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_05 Pg No. 494" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The final results are \n", + "[[ 0. 150. 100. 50. 0. ]\n", + " [ 0. 50. 100. 50. 0. ]\n", + " [ 0. 50. 50. 50. 0. ]\n", + " [ 0. 25. 50. 25. 0. ]\n", + " [ 0. 25. 25. 25. 0. ]\n", + " [ 0. 12.5 25. 12.5 0. ]\n", + " [ 0. 12.5 12.5 12.5 0. ]]\n" + ] + } + ], + "source": [ + "from numpy import zeros,mat\n", + "\n", + "#Initial Value Problems\n", + "\n", + "h = 1 #\n", + "k = 2 #\n", + "tau = h**2/(2*k)\n", + "f=zeros([7,5])\n", + "for i in range(1,5):\n", + " f[0,i] = 50*( 4 - (i) )\n", + "\n", + "f[0:7,0] = 0\n", + "f[0:7,4] = 0 \n", + "for j in range(0,6):\n", + " for i in range(1,4):\n", + " f[j+1,i] = ( f[j,i-1] + f[j,i+1] )/2 \n", + "print 'The final results are \\n',f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_06 Pg No. 497" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The final solution using crank nicholson implicit method is :\n", + "[[ 0. 150. 100. 50. 0. ]\n", + " [ 0. 42.85714286 71.42857143 42.85714286 0. ]\n", + " [ 0. 26.53061224 34.69387755 26.53061224 0. ]\n", + " [ 0. 13.70262391 20.11661808 13.70262391 0. ]\n", + " [ 0. 7.70512287 10.70387339 7.70512287 0. ]]\n" + ] + } + ], + "source": [ + "from numpy import zeros,mat,linalg\n", + "#Crank-Nicholson Implicit Method\n", + "\n", + "h = 1 #\n", + "k = 2 #\n", + "tau = h**2/(2*k)\n", + "f=zeros([5,5])\n", + "for i in range(1,4):\n", + " f[0,i] = 50*( 4 - (i) )\n", + "f[0:5,0] = 0 \n", + "f[0:5,4] = 0 \n", + "A = mat([[4, -1, 0 ],[-1 , 4 , -1 ],[0 , -1 , 4]])\n", + "B=zeros([3,1])\n", + "for j in range(0,4):\n", + " for i in range(1,4):\n", + " B[i-1,0] = f[j,i-1] + f[j,i+1]\n", + " \n", + " C = linalg.solve(A,B)\n", + " f[j+1,1] = C[0]\n", + " f[j+1,2] = C[1]\n", + " f[j+1,3] = C[2]\n", + "\n", + "print 'The final solution using crank nicholson implicit method is :\\n',f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example No. 15_07 Pg No. 500" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The values estimated are :\n", + "[[ 0. 4. 6. 6. 4. 0.]\n", + " [ 0. 3. 5. 5. 3. 0.]\n", + " [ 0. 1. 2. 2. 1. 0.]\n", + " [ 0. -1. -2. -2. -1. 0.]\n", + " [ 0. -3. -5. -5. -3. 0.]\n", + " [ 0. -4. -6. -6. -4. 0.]]\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import sqrt\n", + "#Hyperbolic Equations\n", + "\n", + "h = 1\n", + "Tbyp = 4\n", + "tau = sqrt(h**2 /4)\n", + "r = int(1+(2.5 - 0)/tau)\n", + "c = int(1+(5 - 0)/h)\n", + "\n", + "f=zeros([6,6])\n", + "for i in range(1,int(c)-1):\n", + " f[0,i] = (i)*(5 - (i) )\n", + "\n", + "f[0:r-1,0] = 0\n", + "f[0:r-1,c-1] = 0\n", + "g=[]\n", + "for i in range(1,c-1):\n", + " g.append(0)\n", + " f[1,i] = (f[0,i+1] + f[0,i-1])/2 + tau*g[i-1] \n", + "\n", + "for j in range(1,r-1):\n", + " for i in range(1,c-1):\n", + " f[j+1,i] = -f[j-1,i] + f[j,i+1] + f[j,i-1]\n", + " \n", + "\n", + "print 'The values estimated are :\\n',f" + ] + } + ], + "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 +} |