summaryrefslogtreecommitdiff
path: root/sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'sample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb')
-rwxr-xr-xsample_notebooks/MohdAsif/MohdAsif_version_backup/chapter1.ipynb389
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
+}