diff options
Diffstat (limited to 'sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb')
-rwxr-xr-x | sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb | 389 |
1 files changed, 389 insertions, 0 deletions
diff --git a/sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb b/sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb new file mode 100755 index 00000000..aa2a3025 --- /dev/null +++ b/sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb @@ -0,0 +1,389 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 - Linear Algebraic Equations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa1.1 Page 24" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the solution of ex 1.1 by TDMA method is\n", + "317.5\n", + "395.0\n", + "432.5\n", + "430.0\n", + "387.5\n", + "305.0\n", + "182.5\n" + ] + } + ], + "source": [ + "from numpy import zeros\n", + "from __future__ import division\n", + "a=[0];b=[];c=[]\n", + "for i in range(1,7):\n", + " a.append(1) #sub diagonal assignment\n", + "\n", + "for j in range(0,7):\n", + " b.append(-2) #main diagonal assignment\n", + "\n", + "for k in range(0,6):\n", + " c.append(1) #super diagonal assignment\n", + "\n", + "d=[-240] #given values assignment\n", + "for l in range(1,6):\n", + " d.append(-40) \n", + "\n", + "d.append(-60)\n", + "i=1#\n", + "n=7#\n", + "beta1=[b[i-1]]# #initial b is equal to beta since a1=0\n", + "gamma1=[d[i-1]/beta1[i-1]]# #since c7=0\n", + "m=i+1\n", + "for j in range(m,n+1):\n", + " beta1.append(b[j-1]-a[j-1]*c[j-1-1]/beta1[j-1-1])\n", + " gamma1.append((d[j-1]-a[j-1]*gamma1[j-1-1])/beta1[j-1])\n", + "\n", + "#x(n)=gamma1(n)# #since c7=0\n", + "x=zeros(n-1)\n", + "#x[n-1]=gamma1[n-1]\n", + "x=list(x)\n", + "x.append(gamma1[-1])\n", + "n1=n-i# \n", + "\n", + "for k in range(0,n1):\n", + " j=n-k-1\n", + " x[j-1]=gamma1[j-1]-c[j-1]*x[j+1-1]/beta1[j-1]\n", + "\n", + "\n", + "print \"the solution of ex 1.1 by TDMA method is\"\n", + "for i in range(0,7):\n", + " print x[i]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa1.2 Page 24" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the solution using gauss elimination method is 3, 4 and 5\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "a1=10; a2=1; a3=2; #1st row\n", + "b1=2; b2=10; b3=1; #2nd row\n", + "c1=1; c2=2; c3=10; #3rd row \n", + "d1=44; d2=51; d3=61; #given values\n", + "\n", + "b3=b3-(b1/a1)*a3 # for making b1=0\n", + "b2=b2-(b1/a1)*a2\n", + "d2=d2-(b1/a1)*d1\n", + "b1=b1-(b1/a1)*a1\n", + "\n", + "c3=c3-(c1/a1)*a3 # for making c1=0\n", + "c2=c2-(c1/a1)*a2\n", + "d3=d3-(c1/a1)*d1\n", + "c1=c1-(c1/a1)*a1\n", + "\n", + "c3=c3-(c2/b2)*b3 # for making c2=0\n", + "d3=d3-(c2/b2)*d2\n", + "c2=c2-(c2/b2)*b2\n", + "\n", + "x3=d3/c3# # final values of x\n", + "x2=(d2-(b3*x3))/b2#\n", + "x1=(d1-(x3*a3)-(x2*a2))/a1#\n", + "print \"the solution using gauss elimination method is %d, %d and %d\"%(x1,x2,x3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa1.3 Page 26" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the solution using gauss elimination method is 3, -2 and 0\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "a1=3; a2=1; a3=-2; #1st row\n", + "b1=-1; b2=4; b3=-3; #2nd row\n", + "c1=1; c2=-1; c3=4; #3rd row \n", + "d1=9; d2=-8; d3=1; #given values\n", + "\n", + "b3=b3-(b1/a1)*a3 # for making b1=0\n", + "b2=b2-(b1/a1)*a2\n", + "d2=d2-(b1/a1)*d1\n", + "b1=b1-(b1/a1)*a1\n", + "\n", + "c3=c3-(c1/a1)*a3 # for making c1=0\n", + "c2=c2-(c1/a1)*a2\n", + "d3=d3-(c1/a1)*d1\n", + "c1=c1-(c1/a1)*a1\n", + "\n", + "c3=c3-(c2/b2)*b3 # for making c2=0\n", + "d3=d3-(c2/b2)*d2\n", + "c2=c2-(c2/b2)*b2\n", + "\n", + "x3=d3/c3# # final values of x\n", + "x2=(d2-(b3*x3))/b2#\n", + "x1=(d1-(x3*a3)-(x2*a2))/a1#\n", + "print \"the solution using gauss elimination method is %d, %d and %d\"%(x1,x2,x3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa1.4 Page 27" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the values of MOLAR FLOW RATES of D1, B1, D2, B2 respectively are : 26, 18, 9 and 17\n", + "the composition of stream B is 0.077, 0.247, 0.467 & 0.210\n", + "the composition of stream D is 0.274 0.492 0.12 0.114\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "a1=.35; a2=.16; a3=.21; a4=.01 #1st row \n", + "b1=.54; b2=.42; b3=.54; b4=.1 #2nd row\n", + "c1=.04; c2=.24; c3=.1; c4=.65 #3rd row\n", + "d1=.07; d2=.18; d3=.15; d4=.24 #4th row \n", + "r1=14; r2=28; r3=17.5; r4=10.5 #given values\n", + "\n", + "b4=b4-(b1/a1)*a4 # for making b1=0\n", + "b3=b3-(b1/a1)*a3\n", + "b2=b2-(b1/a1)*a2\n", + "r2=r2-(b1/a1)*r1\n", + "b1=b1-(b1/a1)*a1\n", + "\n", + "c4=c4-(c1/a1)*a4 # for making c1=0\n", + "c3=c3-(c1/a1)*a3\n", + "c2=c2-(c1/a1)*a2\n", + "r3=r3-(c1/a1)*r1\n", + "c1=c1-(c1/a1)*a1\n", + "\n", + "d4=d4-(d1/a1)*a4 # for making d1=0\n", + "d3=d3-(d1/a1)*a3\n", + "d2=d2-(d1/a1)*a2\n", + "r4=r4-(d1/a1)*r1\n", + "d1=d1-(d1/a1)*a1\n", + "\n", + "c4=c4-(c2/b2)*b4 # for making c2=0\n", + "c3=c3-(c2/b2)*b3\n", + "r3=r3-(c2/b2)*r2\n", + "c2=c2-(c2/b2)*b2\n", + "\n", + "d4=d4-(d2/b2)*b4 # for making d2=0\n", + "d3=d3-(d2/b2)*b3\n", + "r4=r4-(d2/b2)*r2\n", + "d2=d2-(d2/b2)*b2\n", + "\n", + "d4=d4-(d3/c3)*c4 #for making d3=0\n", + "r4=r4-(d3/c3)*r3\n", + "d3=d3-(d3/c3)*c3\n", + "\n", + "B2=r4/d4#\n", + "D2=(r3-(c4*B2))/c3#\n", + "B1=(r2-(D2*b3)-(B2*b4))/b2#\n", + "D1=(r1-(B2*a4)-(D2*a3)-(B1*a2))/a1#\n", + "print \"the values of MOLAR FLOW RATES of D1, B1, D2, B2 respectively are : %.f, %.f, %.f and %.f\"%(D1,B1,D2,B2)\n", + "\n", + "B=D2+B2#\n", + "x1B=(.21*D2 + .01*B2)/B#\n", + "x2B=(.54*D2 + .1*B2)/B#\n", + "x3B=(.1*D2 + .65*B2)/B#\n", + "x4B=(.15*D2 + .24*B2)/B#\n", + "print \"the composition of stream B is %.3f, %.3f, %.3f & %.3f\"%(x1B,x2B,x3B,x4B)\n", + "\n", + "D=D1+B1#\n", + "x1D=(.35*D1 + .16*B1)/D#\n", + "x2D=(.54*D1 + .42*B1)/D#\n", + "x3D=(.04*D1 + .24*B1)/D#\n", + "x4D=(.07*D1 + .18*B1)/D#\n", + "print \"the composition of stream D is\",x1D,x2D,x3D,x4D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa1.5 Page 28" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the values of x1,x2,x3 respectively is\n", + "3\n", + "4\n", + "5\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "xnew=[];e=[]\n", + "for i in range(0,3):\n", + " xnew.append(2)\n", + " e.append(1)\n", + "\n", + "x=1e-6\n", + "while e[0]>x and e[1]>x and e[2]>x:\n", + " xold=[]\n", + " for i in range(0,3):\n", + " xold.append(xnew[i])\n", + " \n", + " xnew[0]=(44-xold[1]-2*xold[2])/10\n", + " xnew[1]=(-2*xnew[0]+51-xold[2])/10\n", + " xnew[2]=(-2*xnew[1]-xnew[0]+61)/10\n", + " e=[]\n", + " for i in range(0,3):\n", + " e.append(abs(xnew[i]-xold[i]))\n", + " \n", + "print \"the values of x1,x2,x3 respectively is\"\n", + "for i in range(0,3):\n", + " print '%.f'%xnew[i]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exa1.6 Page 28" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the values of x1,x2,x3 respectively is\n", + "3\n", + "-2\n", + "-1\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "xnew=[];e=[];\n", + "for i in range(0,3):\n", + " xnew.append(2)\n", + " e.append(1)\n", + "\n", + "x=1e-6\n", + "while e[0]>x and e[1]>x and e[2]>x:\n", + " xold=[]\n", + " for i in range(0,3):\n", + " xold.append(xnew[i])\n", + " \n", + " xnew[0]=(9-xold[1]+2*xold[2])/3\n", + " xnew[1]=(xnew[0]-8+3*xold[2])/4\n", + " xnew[2]=(xnew[1]-xnew[0]+1)/4\n", + " e=[]\n", + " for i in range(0,3):\n", + " e.append(abs(xnew[i]-xold[i]))\n", + " \n", + "print \"the values of x1,x2,x3 respectively is\"\n", + "for i in range(0,3):\n", + " print '%.f'%xnew[i]" + ] + } + ], + "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 +} |