summaryrefslogtreecommitdiff
path: root/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb')
-rw-r--r--Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb600
1 files changed, 600 insertions, 0 deletions
diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb
new file mode 100644
index 00000000..3dddd224
--- /dev/null
+++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb
@@ -0,0 +1,600 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 13: Linear Differential Equations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.1, page no. 398"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differential equation is given by: \n",
+ "y = c1*exp(-1.28077640640442*x) + c2*exp(0.780776406404415*x)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import sympy, numpy\n",
+ "\n",
+ "print \"Solution to the given linear differential equation is given by: \"\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**2+m-2\n",
+ "r = numpy.roots([2, 1, -2])\n",
+ "y = c1*sympy.exp(r[0]*x)+c2*sympy.exp(r[1]*x)\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.2, page no. 399"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "y = (c1 + c2*x)*exp(x*(-1.5 + 1.5*I))\n"
+ ]
+ }
+ ],
+ "source": [
+ "import sympy, numpy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**2+6*m+9;\n",
+ "r = numpy.roots([2, 6, 9])\n",
+ "y =(c1+x*c2)*sympy.exp(r[0]*x)\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.3, page no. 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "y = c1*exp(0.105616806777468*x) + c2*exp(0.105616806777468*x) + c3*exp(-0.877900280221601*x)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "c3 = sympy.Symbol('c3')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**3+m*2+4*m+4;\n",
+ "r = numpy.roots([3, 2, 4, 4])\n",
+ "y = c1*sympy.exp(r[0].real*x)+c2*sympy.exp(r[1].real*x)+c3*sympy.exp(r[2].real*x)\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.4, page no. 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "y = c1*exp(-0.707106781186547*x) + c2*exp(-0.707106781186547*x) + c3*exp(0.707106781186547*x) + c4*exp(0.707106781186547*x)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "c3 = sympy.Symbol('c3')\n",
+ "c4 = sympy.Symbol('c4')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**4+4;\n",
+ "r = numpy.roots([4, 0, 0, 0, 4])\n",
+ "y = c1*sympy.exp(r[0].real*x)+c2*sympy.exp(r[1].real*x)+c3*sympy.exp(r[2].real*x)+c4*sympy.exp(r[3].real*x)\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.5, page no. 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "y = [ 9041.93285661 22.41271075]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "m = numpy.poly([0])\n",
+ "f = m**2+5*m+6\n",
+ "y = numpy.exp(f)/numpy.polyval(f,1)\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.6, page no. 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution of the given linear equation is given by: \n",
+ "[ 0.25+0.96824584j 0.25-0.96824584j]\n",
+ "y = 1/f(D)∗[exp(-2x)+exp(x)-exp(-x)\n",
+ "using 1/f(D)exp(ax) = x/f1(D)∗exp(ax) if f(m)=0\n",
+ "y = x**2*exp(x)/6 + x*exp(-2*x)/9 + exp(-x)/4\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution of the given linear equation is given by: '\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f =(m+2)*(m-1)**2;\n",
+ "r = numpy.roots([2, -1, 2])\n",
+ "print r\n",
+ "print 'y = 1/f(D)∗[exp(-2x)+exp(x)-exp(-x)'\n",
+ "print 'using 1/f(D)exp(ax) = x/f1(D)∗exp(ax) if f(m)=0'\n",
+ "y1 = x*sympy.exp(-2*x)/9\n",
+ "y2 = sympy.exp(-x)/4\n",
+ "y3 = x**2*sympy.exp(x)/6\n",
+ "y = y1+y2+y3\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.7, page no. 404"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution of the given linear equation is given by: \n",
+ "Using the identity 1/f(D**2)∗sin(ax+b)[or cos(ax+b)]=1/f(-a**2)∗sin(ax+b)[or cos(ax+b)] this equation \n",
+ "can be redused to y = (4D+1)/65∗cos(2x-1)\n",
+ "y = -8*sin(2*x - 1)/65 + cos(2*x - 1)/65\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution of the given linear equation is given by: '\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**3+1;\n",
+ "print '''Using the identity 1/f(D**2)∗sin(ax+b)[or cos(ax+b)]=1/f(-a**2)∗sin(ax+b)[or cos(ax+b)] this equation \n",
+ "can be redused to''',\n",
+ "print 'y = (4D+1)/65∗cos(2x-1)'\n",
+ "y = (sympy.cos(2*x-1)+4*sympy.diff(sympy.cos(2*x-1),x))/65\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.8, page no. 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution of the given linear equation is given by: \n",
+ "Using 1/f(D)exp(ax) = x/f1(D)∗exp(ax) if f(m)=0\n",
+ "y = x∗1/(3D**2+4)∗sin2x\n",
+ "Using this identity 1/f(D**2)∗sin(ax+b)[or cos(ax+b)]= 1/f(-a**2)∗sin(ax+b)[or cos (ax+b)] this equation \n",
+ "can be redused to y = -x/8∗sin2x\n",
+ "y = -0.113662178353\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution of the given linear equation is given by: '\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**3+4*m\n",
+ "print 'Using 1/f(D)exp(ax) = x/f1(D)∗exp(ax) if f(m)=0'\n",
+ "print 'y = x∗1/(3D**2+4)∗sin2x'\n",
+ "print '''Using this identity 1/f(D**2)∗sin(ax+b)[or cos(ax+b)]= 1/f(-a**2)∗sin(ax+b)[or cos (ax+b)] this equation \n",
+ "can be redused to''',\n",
+ "print 'y = -x/8∗sin2x'\n",
+ "x=1\n",
+ "y = -x*numpy.sin(2*x)/8\n",
+ "print \"y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.9, page no. 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution of the given linear equation is given by: \n",
+ "y = 1/(D(D+1))[x**2+2x+4] can be written as (1−D+D**2)/D[x**2+2x+4] which is combination of\n",
+ "differentialtion and integration\n",
+ "y = x**3/3 + 4*x\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution of the given linear equation is given by: '\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "print '''y = 1/(D(D+1))[x**2+2x+4] can be written as (1−D+D**2)/D[x**2+2x+4] which is combination of\n",
+ "differentialtion and integration'''\n",
+ "g = x**2+2*x+4\n",
+ "f = g-sympy.diff(g,x)+sympy.diff(g,x,2)\n",
+ "y = sympy.integrate(f,x)\n",
+ "print 'y = ', y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.11, page no. 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "CF + PI\n",
+ "[-1.]\n",
+ "CF is given by: \n",
+ "(c1 + c2*x)*exp(-1.0*x)\n",
+ "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n",
+ "PI = 8∗{1/(D−2)**2[exp(2x)]+{1/(D−2)**2[sin(2x)]+{1/(D−2)**2[x**2]}\n",
+ "Using identitties it reduces to: 4*x**2*exp(2*x) + 4*x + cos(2*x) + 3\n",
+ "The solution is y = 4*x**2*exp(2*x) + 4*x + (c1 + c2*x)*exp(-1.0*x) + cos(2*x) + 3\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "print 'CF + PI'\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = (m-2)**2;\n",
+ "r = numpy.roots([2, 2])\n",
+ "print r\n",
+ "print 'CF is given by: '\n",
+ "cf = (c1+c2*x)*sympy.exp(r[0]*x)\n",
+ "print cf\n",
+ "print '−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−'\n",
+ "print 'PI = 8∗{1/(D−2)**2[exp(2x)]+{1/(D−2)**2[sin(2x)]+{1/(D−2)**2[x**2]}'\n",
+ "print 'Using identitties it reduces to: ',\n",
+ "pi = 4*x**2*sympy.exp(2*x)+sympy.cos(2*x)+4*x+3\n",
+ "print pi\n",
+ "y = cf + pi ;\n",
+ "print 'The solution is y = ', y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exampe 13.12, page no. 407"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "CF + PI\n",
+ "[-0.+1.41421356j 0.-1.41421356j]\n",
+ "CF is given by\n",
+ "c1*exp(1.4142135623731*I*x) + c2*exp(-1.4142135623731*I*x)\n",
+ "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n",
+ "PI = 8∗{1/(D**2-4)[x∗sinh(x)]\n",
+ "Using identities it reduces to: -x*(exp(x) - exp(-x))/6\n",
+ "The solution is y = c1*exp(1.4142135623731*I*x) + c2*exp(-1.4142135623731*I*x) - x*(exp(x) - exp(-x))/6\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "print 'CF + PI'\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**2-4\n",
+ "r = numpy.roots([2, 0, 4])\n",
+ "print r\n",
+ "print 'CF is given by'\n",
+ "cf = c1*sympy.exp(r[0]*x)+c2*sympy.exp(r[1]*x)\n",
+ "print cf\n",
+ "print '−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−'\n",
+ "print 'PI = 8∗{1/(D**2-4)[x∗sinh(x)]'\n",
+ "print 'Using identities it reduces to: ',\n",
+ "pi = -x/6*(sympy.exp(x)-sympy.exp(-x))-2/18*(sympy.exp(x)+sympy.exp(-x))\n",
+ "print pi\n",
+ "y = cf + pi\n",
+ "print \"The solution is y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.13, page no. 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "CF + PI\n",
+ "[-0.+0.70710678j 0.-0.70710678j]\n",
+ "CF is given by\n",
+ "c1*exp(0.707106781186548*I*x) + c2*exp(-0.707106781186548*I*x)\n",
+ "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n",
+ "PI = -1/10∗{1/(D**2-1)[x∗sin(3x)+cos(x)]\n",
+ "Using identities it reduces to: -x*sin(3*x) - cos(x)/2\n",
+ "The solution is y = c1*exp(0.707106781186548*I*x) + c2*exp(-0.707106781186548*I*x) - x*sin(3*x) - cos(x)/2\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "print 'CF + PI'\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f = m**2-1\n",
+ "r = numpy.roots([2, 0, 1])\n",
+ "print r\n",
+ "print 'CF is given by'\n",
+ "cf = c1*sympy.exp(r[0]*x)+c2*sympy.exp(r[1]*x)\n",
+ "print cf\n",
+ "print '−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−'\n",
+ "print 'PI = -1/10∗{1/(D**2-1)[x∗sin(3x)+cos(x)]'\n",
+ "print 'Using identities it reduces to: ',\n",
+ "pi = -1/10*(x*sympy.sin(3*x)+3/5*sympy.cos(3*x))-sympy.cos(x)/2\n",
+ "print pi\n",
+ "y = cf + pi\n",
+ "print \"The solution is y = \", y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.14, page no. 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Solution to the given linear differntial equation is given by: \n",
+ "CF + PI\n",
+ "(5.55111512313e-17+0.707106781187j)\n",
+ "CF is given by\n",
+ "(c1 + c2*x)*exp(5.55111512312578e-17*x) + (c3 + c4*x)*exp(-0.5*x)\n",
+ "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n",
+ "PI = ∗{1/(D**4+2∗D+1)[x**2∗cos(x)]\n",
+ "Using identities it reduces to: 4*x**3*sin(x) - (x**4 - 9*x**2)*cos(x)\n",
+ "The solution is y = 4*x**3*sin(x) + (c1 + c2*x)*exp(5.55111512312578e-17*x) + (c3 + c4*x)*exp(-0.5*x) - (x**4 - 9*x**2)*cos(x)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy, sympy\n",
+ "\n",
+ "print 'Solution to the given linear differntial equation is given by: '\n",
+ "print 'CF + PI'\n",
+ "c1 = sympy.Symbol('c1')\n",
+ "c2 = sympy.Symbol('c2')\n",
+ "c3 = sympy.Symbol('c3')\n",
+ "c4 = sympy.Symbol('c4')\n",
+ "x = sympy.Symbol('x')\n",
+ "m = numpy.poly([0])\n",
+ "f =m**4+2*m**2+1\n",
+ "r = numpy.roots([4, 2, 2, 1])\n",
+ "print r[0]\n",
+ "print 'CF is given by'\n",
+ "cf = ((c1+c2*x)*sympy.exp(r[0].real*x)+(c3+c4*x)*sympy.exp(r[2].real*x))\n",
+ "print cf\n",
+ "print '−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−'\n",
+ "print 'PI = ∗{1/(D**4+2∗D+1)[x**2∗cos(x)]'\n",
+ "print 'Using identities it reduces to: ',\n",
+ "pi = -1/48*((x**4-9*x**2)*sympy.cos(x)-4*x**3*sympy.sin(x))\n",
+ "print pi\n",
+ "y = cf + pi\n",
+ "print \"The solution is y = \", y"
+ ]
+ }
+ ],
+ "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.11+"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}