summaryrefslogtreecommitdiff
path: root/sample_notebooks
diff options
context:
space:
mode:
authorTrupti Kini2016-04-30 23:30:26 +0600
committerTrupti Kini2016-04-30 23:30:26 +0600
commit98585d6cf59f653b1b4d2fa0500cb2137835d125 (patch)
tree02d3c34a4ff5e65d626427446a96849b999eccf5 /sample_notebooks
parent203dfd3d532ea8b8fac993ba955a1060a5a99bec (diff)
downloadPython-Textbook-Companions-98585d6cf59f653b1b4d2fa0500cb2137835d125.tar.gz
Python-Textbook-Companions-98585d6cf59f653b1b4d2fa0500cb2137835d125.tar.bz2
Python-Textbook-Companions-98585d6cf59f653b1b4d2fa0500cb2137835d125.zip
Added(A)/Deleted(D) following books
A sample_notebooks/ArshadKhan/Chap10.ipynb
Diffstat (limited to 'sample_notebooks')
-rw-r--r--sample_notebooks/ArshadKhan/Chap10.ipynb386
1 files changed, 386 insertions, 0 deletions
diff --git a/sample_notebooks/ArshadKhan/Chap10.ipynb b/sample_notebooks/ArshadKhan/Chap10.ipynb
new file mode 100644
index 00000000..fed824df
--- /dev/null
+++ b/sample_notebooks/ArshadKhan/Chap10.ipynb
@@ -0,0 +1,386 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter - 10 : Introduction to theory of probability"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 437 Ex 10.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "probability of each outcome=0.12\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# referred to fig 10.1 on the page no. 435\n",
+ "# the occurance of each outcome is essumed to be equal.\n",
+ "n=8 # number of outcomes\n",
+ "p=1/n#\n",
+ "print \"probability of each outcome=%0.2f\"%p"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 438 Ex no 10.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "probability = 0.1667\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "m=6 # enter the number of faces \n",
+ "n=2# enter the number of dice \n",
+ "l=m**n ## total number of outcomes = 36\n",
+ "a=7 #\"enter the number which is to be obtained as the sum of dice\n",
+ "c=0 # # counter value for favorable outcome\n",
+ "for i in range(1,7):\n",
+ " for j in range(1,7):\n",
+ " if (i+j==a):\n",
+ " c=c+1#\n",
+ " else :\n",
+ " continue\n",
+ " \n",
+ " \n",
+ "\n",
+ "p=c/l#\n",
+ "print \"probability = %0.4f\"%p\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 438 Ex no 10.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "probability = 0.4075\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy.random import gamma\n",
+ "from __future__ import division\n",
+ "m=2# the number of faces \n",
+ "n=4 #the number of tosses\n",
+ "l=m**n ## l is total number of outcomes = 16\n",
+ "a=2 #exact no of heads\n",
+ "p=gamma (n+1)/(gamma(n+1-a) * gamma (a+1))## to find combination\n",
+ "print \"probability = %0.4f\"%(p/l)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 440 Ex no 10.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "total probability = 0.0023\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "a=52# # total no of cards in a deck\n",
+ "b=6# the no of cards to be drawn\n",
+ "pA1= b/a## probability of getting first red ace =pA1\n",
+ "#the cards are drawn in succession without replacement, therefore the probability that the 2nd card will be the red ace = pA2\n",
+ "pA2=1/(a-1)#\n",
+ "p= pA1*pA2\n",
+ "print \"total probability = %0.4f\"%p"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 441 Ex no 10.6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "probability = 1.04e-10\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy.random import gamma\n",
+ "from __future__ import division\n",
+ "\n",
+ "# This problem is based on Bernoulli Trials formula which is P( k successes in n trials ) = n!*p**k *(1-p)**(n-k)/k!*(n-k)!22\n",
+ "# hence the probability of finding 2 digits wrong in a sequence of 8 digits is\n",
+ "\n",
+ "k=2 # no. of successes\n",
+ "p= 1e-5# probability of success\n",
+ "n=8 #\"no. of trials\n",
+ "A=gamma (n+1)* (p**k)*((1-p)**(n-k))/(gamma(k)*gamma(n+1-k))#\n",
+ "print \"probability = %0.2e\"%A"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 446 Ex no 10.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "probability = 0.0231481481481\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "m=6 # enter the number of faces\n",
+ "n=3 # enter the number of dice\n",
+ "l=m**n ## l is total number of outcomes \n",
+ "a=8# the number which is to be obtained as the sum of dice\n",
+ "c=0 # # counter value for favorable outcome\n",
+ "for i in range(1,7):\n",
+ " for j in range(1,7):\n",
+ " if(i+j==a):\n",
+ " c=c+1\n",
+ " else :\n",
+ " continue\n",
+ " \n",
+ "p=c/l#\n",
+ "print \"probability = \",p\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 447 Ex no 10.10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Py(1) = 0.59235668\n",
+ "Py0= 0.40764332\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "Pe=0.6898 # error probability\n",
+ "Q= 0.2567 # the probability of transmitting 1 #Hence probability of transmitting zero is 1-Q = P\n",
+ "P=1-Q#\n",
+ "Px_1=Q#\n",
+ "Px0=P#\n",
+ "# If x and y are transmitted digit and received digit then for BSC P(y=0/x=1) = P(y=1/x=0) = Pe , P(y=0/x=10) = P(y=1/x=1) = 1-Pe\n",
+ "# to find the probability of receiving 1 is Py(1) = Px(0)*P(y=1/x=0) + Px(1)*P(y=1/x=1)\n",
+ "Py_1= ((1-Q)* Pe) + (Q *(1-Pe))#\n",
+ "print \"Py(1) = \",Py_1\n",
+ "Py0=((1-Q)*(1-Pe)) + (Q*Pe)\n",
+ "print \"Py0=\",Py0"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 448 Ex 10.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "probability of error = 6.04e-05\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "Px0=.4\n",
+ "Px1=.6 \n",
+ "PE0=10**-6 \n",
+ "PE1=10**-4 ## given\n",
+ "PE=(Px0*PE0) + (Px1*PE1)# formula for probability of error\n",
+ "print \"probability of error = \",PE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 472 Ex no 10.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "width or spread of Gaussian PDF = 0.985977359605\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import pi,sqrt,exp\n",
+ "#Gaussian PDF: Q(x)= %e**((-x**2)/2)/ (x*sqrt(2*pi))\n",
+ "x=2.5 # input for the function Q \n",
+ "Q_x = (exp(-(x**2)/2))/ (x*sqrt(2*pi))\n",
+ "P=1-(2*Q_x)#\n",
+ "print \"width or spread of Gaussian PDF =\",P\n",
+ "## P gives the width or spread of Gaussian PDF"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## page no 479 Ex no 10.21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "SNR improvement = 12.90 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import log\n",
+ "# formula for estimate error E is E = mk** - mk = a1* mk-1 +a2* mk-2 -mk\n",
+ "#given: various values of correlation (mk*mk)'= (m**2)',(mk*mk-1)'= .825* (m**2)',(mk*mk-2)'= .562*(m**2)',(mk*mk-3)'= .825*(m**2)' , R02=.562(m**2)', a1=1.1314, a2= -0.3714\n",
+ "# mean square error is given by I=(E**2)'=[1-((.825*a1)+(.562*a2))]*(m**2)'= .2753*(m**2)'\n",
+ "\n",
+ "m=1#\n",
+ "I=.2753*(m**2)#\n",
+ "S=10*log ((m**2)/I)#\n",
+ "print \"SNR improvement = %0.2f dB\"%S"
+ ]
+ }
+ ],
+ "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
+}