summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprashantsinalkar2019-05-03 12:41:06 +0530
committerprashantsinalkar2019-05-03 12:41:06 +0530
commitda8b74319eda501ba1d72f168122d55bbc4967f0 (patch)
treed26c16e004fd5ad46dfe21cf4136ba210e05c26e
parent80e2d559fc7185e63fb24f9ca58fa09782478f37 (diff)
downloadScilab-TBC-Uploads-1-da8b74319eda501ba1d72f168122d55bbc4967f0.tar.gz
Scilab-TBC-Uploads-1-da8b74319eda501ba1d72f168122d55bbc4967f0.tar.bz2
Scilab-TBC-Uploads-1-da8b74319eda501ba1d72f168122d55bbc4967f0.zip
initial commit / add all books
-rw-r--r--3897/CH10/EX10.1/Ex10_1.sce17
-rw-r--r--3897/CH10/EX10.10/Ex10_10.sce20
-rw-r--r--3897/CH10/EX10.11/Ex10_11.sce23
-rw-r--r--3897/CH10/EX10.12/Ex10_12.sce17
-rw-r--r--3897/CH10/EX10.13/Ex10_13.sce22
-rw-r--r--3897/CH10/EX10.2/Ex10_2.sce19
-rw-r--r--3897/CH10/EX10.3/Ex10_3.sce14
-rw-r--r--3897/CH10/EX10.4/Ex10_4.sce24
-rw-r--r--3897/CH10/EX10.5/Ex10_5.sce17
-rw-r--r--3897/CH10/EX10.6/Ex10_6.sce23
-rw-r--r--3897/CH10/EX10.7/Ex10_7.sce20
-rw-r--r--3897/CH10/EX10.8/Ex10_8.sce14
-rw-r--r--3897/CH10/EX10.9/Ex10_9.sce14
-rw-r--r--3897/CH11/EX11.1/Ex11_1.sce17
-rw-r--r--3897/CH11/EX11.2/Ex11_2.sce19
-rw-r--r--3897/CH11/EX11.3/Ex11_3.sce20
-rw-r--r--3897/CH13/EX13.1/Ex13_1.sce18
-rw-r--r--3897/CH13/EX13.2/Ex13_2.sce21
-rw-r--r--3897/CH13/EX13.3/Ex13_3.sce22
-rw-r--r--3897/CH13/EX13.4/Ex13_4.sce22
-rw-r--r--3897/CH13/EX13.5/Ex13_5.sce24
-rw-r--r--3897/CH13/EX13.6/Ex13_6.sce23
-rw-r--r--3897/CH14/EX14.1/Ex14_1.sce15
-rw-r--r--3897/CH14/EX14.2/Ex14_2.sce14
-rw-r--r--3897/CH14/EX14.3/Ex14_3.sce15
-rw-r--r--3897/CH14/EX14.4/Ex14_4.sce18
-rw-r--r--3897/CH14/EX14.5/Ex14_5.sce18
-rw-r--r--3897/CH14/EX14.6/Ex14_6.sce18
-rw-r--r--3897/CH2/EX2.1/Ex2_1.sce14
-rw-r--r--3897/CH2/EX2.10/Ex2_10.sce21
-rw-r--r--3897/CH2/EX2.11/Ex2_11.sce20
-rw-r--r--3897/CH2/EX2.12/Ex2_12.sce15
-rw-r--r--3897/CH2/EX2.13/Ex2_13.sce19
-rw-r--r--3897/CH2/EX2.14/Ex2_14.sce17
-rw-r--r--3897/CH2/EX2.15/Ex2_15.sce19
-rw-r--r--3897/CH2/EX2.16/Ex2_16.sce19
-rw-r--r--3897/CH2/EX2.17/Ex2_17.sce19
-rw-r--r--3897/CH2/EX2.18/Ex2_18.sce20
-rw-r--r--3897/CH2/EX2.19/Ex2_19.sce17
-rw-r--r--3897/CH2/EX2.2/Ex2_2.sce19
-rw-r--r--3897/CH2/EX2.20/Ex2_20.sce17
-rw-r--r--3897/CH2/EX2.21/Ex2_21.sce20
-rw-r--r--3897/CH2/EX2.22/Ex2_22.sce16
-rw-r--r--3897/CH2/EX2.23/Ex2_23.sce22
-rw-r--r--3897/CH2/EX2.24/Ex2_24.sce20
-rw-r--r--3897/CH2/EX2.25/Ex2_25.sce18
-rw-r--r--3897/CH2/EX2.26/Ex2_26.sce20
-rw-r--r--3897/CH2/EX2.3/Ex2_3.sce11
-rw-r--r--3897/CH2/EX2.4/Ex2_4.sce14
-rw-r--r--3897/CH2/EX2.5/Ex2_5.sce11
-rw-r--r--3897/CH2/EX2.6/Ex2_6.sce12
-rw-r--r--3897/CH2/EX2.7/Ex2_7.sce12
-rw-r--r--3897/CH2/EX2.8/Ex2_8.sce14
-rw-r--r--3897/CH2/EX2.9/Ex2_9.sce16
-rw-r--r--3897/CH3/EX3.1/Ex3_1.sce16
-rw-r--r--3897/CH3/EX3.10/Ex3_10.sce15
-rw-r--r--3897/CH3/EX3.2/Ex3_2.sce14
-rw-r--r--3897/CH3/EX3.3/Ex3_3.sce18
-rw-r--r--3897/CH3/EX3.4/Ex3_4.sce15
-rw-r--r--3897/CH3/EX3.5/Ex3_5.sce20
-rw-r--r--3897/CH3/EX3.6/Ex3_6.sce10
-rw-r--r--3897/CH3/EX3.7/Ex3_7.sce15
-rw-r--r--3897/CH3/EX3.8/Ex3_8.sce10
-rw-r--r--3897/CH3/EX3.9/Ex3_9.sce10
-rw-r--r--3897/CH4/EX4.1/Ex4_1.sce22
-rw-r--r--3897/CH4/EX4.2/Ex4_2.sce15
-rw-r--r--3897/CH4/EX4.3/Ex4_3.sce15
-rw-r--r--3897/CH4/EX4.4/Ex4_4.sce20
-rw-r--r--3897/CH4/EX4.5/Ex4_5.sce17
-rw-r--r--3897/CH4/EX4.6/Ex4_6.sce14
-rw-r--r--3897/CH5/EX5.1/Ex5_1.sce16
-rw-r--r--3897/CH5/EX5.2/Ex5_2.sce16
-rw-r--r--3897/CH5/EX5.3/Ex5_3.sce31
-rw-r--r--3897/CH6/EX6.1/Ex6_1.sce15
-rw-r--r--3897/CH6/EX6.2/Ex6_2.sce19
-rw-r--r--3897/CH6/EX6.3/Ex6_3.sce13
-rw-r--r--3897/CH6/EX6.4/Ex6_4.sce23
-rw-r--r--3897/CH6/EX6.5/Ex6_5.sce17
-rw-r--r--3897/CH6/EX6.6/Ex6_6.sce17
-rw-r--r--3897/CH6/EX6.7/Ex6_7.sce18
-rw-r--r--3897/CH6/EX6.8/Ex6_8.sce17
-rw-r--r--3897/CH6/EX6.9/Ex6_9.sce14
-rw-r--r--3897/CH7/EX7.1/EX7_1.sce23
-rw-r--r--3897/CH7/EX7.10/Ex7_10.sce20
-rw-r--r--3897/CH7/EX7.11/Ex7_11.sce25
-rw-r--r--3897/CH7/EX7.12/Ex7_12.sce23
-rw-r--r--3897/CH7/EX7.13/Ex7_13.sce10
-rw-r--r--3897/CH7/EX7.14/Ex7_14.sce6
-rw-r--r--3897/CH7/EX7.2/Ex7_2.sce19
-rw-r--r--3897/CH7/EX7.3/Ex7_3.sce18
-rw-r--r--3897/CH7/EX7.4/Ex7_4.sce10
-rw-r--r--3897/CH7/EX7.5/Ex7_5.sce10
-rw-r--r--3897/CH7/EX7.6/Ex7_6.sce10
-rw-r--r--3897/CH7/EX7.7/Ex7_7.sce17
-rw-r--r--3897/CH7/EX7.8/Ex7_8.sce21
-rw-r--r--3897/CH7/EX7.9/Ex7_9.sce18
-rw-r--r--3897/CH8/EX8.1/Ex8_1.sce16
-rw-r--r--3897/CH8/EX8.2/Ex8_2.sce17
-rw-r--r--3897/CH8/EX8.3/Ex8_3.sce10
-rw-r--r--3897/CH8/EX8.4/Ex8_4.sce35
-rw-r--r--3897/CH8/EX8.5/Ex8_5.sce19
-rw-r--r--3897/CH8/EX8.6/Ex8_6.sce16
-rw-r--r--3897/CH8/EX8.7/Ex8_7.sce26
-rw-r--r--3897/CH8/EX8.8/Ex8_8.sce18
-rw-r--r--3897/CH8/EX8.9/Ex8_9.sce22
-rw-r--r--3897/CH9/EX9.1/Ex9_1.sce15
-rw-r--r--3897/CH9/EX9.10/Ex9_10.sce26
-rw-r--r--3897/CH9/EX9.2/Ex9_2.sce17
-rw-r--r--3897/CH9/EX9.3/Ex9_3.sce19
-rw-r--r--3897/CH9/EX9.4/Ex9_4.sce21
-rw-r--r--3897/CH9/EX9.5/Ex9_5.sce19
-rw-r--r--3897/CH9/EX9.6/Ex9_6.sce21
-rw-r--r--3897/CH9/EX9.7/Ex9_7.sce53
-rw-r--r--3897/CH9/EX9.8/Ex9_8.sce20
-rw-r--r--3897/CH9/EX9.9/Ex9_9.sce17
-rw-r--r--3901/CH1/EX0.B.5/ExB_5.sce13
-rw-r--r--3901/CH1/EX0.b.1/ExB_1.sce14
-rw-r--r--3901/CH1/EX0.b.10/ExB_10.sce20
-rw-r--r--3901/CH1/EX0.b.11/ExB_11.sce11
-rw-r--r--3901/CH1/EX0.b.12/ExB_12.sce6
-rw-r--r--3901/CH1/EX0.b.13/ExB_13.sce21
-rw-r--r--3901/CH1/EX0.b.2/ExB_2.sce18
-rw-r--r--3901/CH1/EX0.b.3/ExB_3.sce16
-rw-r--r--3901/CH1/EX0.b.4/ExB_4.sce15
-rw-r--r--3901/CH1/EX0.b.6/ExB_6.sce18
-rw-r--r--3901/CH1/EX0.b.7/ExB_7.sce17
-rw-r--r--3901/CH1/EX0.b.8/ExB_8.sce23
-rw-r--r--3901/CH1/EX0.b.9/ExB_9.sce12
-rw-r--r--3901/CH1/EX1.1/Ex1_1.sce18
-rw-r--r--3901/CH1/EX1.3/Ex1_3.pngbin0 -> 9843 bytes
-rw-r--r--3901/CH1/EX1.3/Ex1_3.sce14
-rw-r--r--3901/CH1/EX1.4/Ex1_4.pngbin0 -> 20089 bytes
-rw-r--r--3901/CH1/EX1.4/Ex1_4.sce31
-rw-r--r--3901/CH1/EX1.5/Ex1_5.pngbin0 -> 20031 bytes
-rw-r--r--3901/CH1/EX1.5/Ex1_5.sce24
-rw-r--r--3901/CH1/EX1.6/Ex1_6.pngbin0 -> 20815 bytes
-rw-r--r--3901/CH1/EX1.6/Ex1_6.sce40
-rw-r--r--3901/CH1/EX1.7/Ex1_7.pngbin0 -> 15785 bytes
-rw-r--r--3901/CH1/EX1.7/Ex1_7.sce15
-rw-r--r--3901/CH1/EX1.8/Ex1_8.pngbin0 -> 28468 bytes
-rw-r--r--3901/CH1/EX1.8/Ex1_8.sce24
-rw-r--r--3901/CH10/EX10.10/Ex10_10.sce12
-rw-r--r--3901/CH10/EX10.11/Ex10_11.sce25
-rw-r--r--3901/CH10/EX10.12/Ex10_12.sce16
-rw-r--r--3901/CH10/EX10.13/Ex10_13.sce20
-rw-r--r--3901/CH10/EX10.4/Ex10_4.sce9
-rw-r--r--3901/CH10/EX10.5/Ex10_5.sce16
-rw-r--r--3901/CH10/EX10.6/Ex10_6.sce10
-rw-r--r--3901/CH10/EX10.7/Ex10_7.sce16
-rw-r--r--3901/CH10/EX10.8/Ex10_8.sce18
-rw-r--r--3901/CH10/EX10.9/Ex10_9.sce9
-rw-r--r--3901/CH2/EX2.1/Ex2_1.sce87
-rw-r--r--3901/CH2/EX2.1/Ex2_1a.pngbin0 -> 25705 bytes
-rw-r--r--3901/CH2/EX2.1/Ex2_1b.pngbin0 -> 26327 bytes
-rw-r--r--3901/CH2/EX2.10/Ex2_10.pngbin0 -> 19653 bytes
-rw-r--r--3901/CH2/EX2.10/Ex2_10.sce28
-rw-r--r--3901/CH2/EX2.11/Ex2_11.pngbin0 -> 22284 bytes
-rw-r--r--3901/CH2/EX2.11/Ex2_11.sce69
-rw-r--r--3901/CH2/EX2.12/Ex2_12.pngbin0 -> 18500 bytes
-rw-r--r--3901/CH2/EX2.12/Ex2_12.sce29
-rw-r--r--3901/CH2/EX2.2/Ex2_2.pngbin0 -> 11598 bytes
-rw-r--r--3901/CH2/EX2.2/Ex2_2.sce22
-rw-r--r--3901/CH2/EX2.3/Ex2_3.pngbin0 -> 18985 bytes
-rw-r--r--3901/CH2/EX2.3/Ex2_3.sce27
-rw-r--r--3901/CH2/EX2.4/Ex2_4.pngbin0 -> 18737 bytes
-rw-r--r--3901/CH2/EX2.4/Ex2_4.sce28
-rw-r--r--3901/CH2/EX2.5/Ex2_5.pngbin0 -> 21818 bytes
-rw-r--r--3901/CH2/EX2.5/Ex2_5.sce24
-rw-r--r--3901/CH2/EX2.6/Ex2_6.pngbin0 -> 18773 bytes
-rw-r--r--3901/CH2/EX2.6/Ex2_6.sce24
-rw-r--r--3901/CH2/EX2.7/Ex2_7.sce17
-rw-r--r--3901/CH2/EX2.7/Ex2_7a.pngbin0 -> 13139 bytes
-rw-r--r--3901/CH2/EX2.7/Ex2_7b.pngbin0 -> 12391 bytes
-rw-r--r--3901/CH2/EX2.8/Ex2_8.sce18
-rw-r--r--3901/CH2/EX2.8/Ex2_8a.pngbin0 -> 12895 bytes
-rw-r--r--3901/CH2/EX2.8/Ex2_8b.pngbin0 -> 12500 bytes
-rw-r--r--3901/CH2/EX2.9/Ex2_9.pngbin0 -> 11681 bytes
-rw-r--r--3901/CH2/EX2.9/Ex2_9.sce18
-rw-r--r--3901/CH3/EX3.1/Ex3_1.pngbin0 -> 18499 bytes
-rw-r--r--3901/CH3/EX3.1/Ex3_1.sce19
-rw-r--r--3901/CH3/EX3.10/Ex3_10.pngbin0 -> 21528 bytes
-rw-r--r--3901/CH3/EX3.10/Ex3_10.sce34
-rw-r--r--3901/CH3/EX3.11/Ex3_11.pngbin0 -> 14025 bytes
-rw-r--r--3901/CH3/EX3.11/Ex3_11.sce11
-rw-r--r--3901/CH3/EX3.13/Ex3_13.pngbin0 -> 15181 bytes
-rw-r--r--3901/CH3/EX3.13/Ex3_13.sce17
-rw-r--r--3901/CH3/EX3.14/Ex3_14.pngbin0 -> 12967 bytes
-rw-r--r--3901/CH3/EX3.14/Ex3_14.sce10
-rw-r--r--3901/CH3/EX3.15/Ex3_15.pngbin0 -> 16965 bytes
-rw-r--r--3901/CH3/EX3.15/Ex3_15.sce16
-rw-r--r--3901/CH3/EX3.16/Ex3_16.pngbin0 -> 15910 bytes
-rw-r--r--3901/CH3/EX3.16/Ex3_16.sce19
-rw-r--r--3901/CH3/EX3.17/Ex3_17.pngbin0 -> 12970 bytes
-rw-r--r--3901/CH3/EX3.17/Ex3_17.sce14
-rw-r--r--3901/CH3/EX3.18/Ex3_18.pngbin0 -> 13928 bytes
-rw-r--r--3901/CH3/EX3.18/Ex3_18.sce13
-rw-r--r--3901/CH3/EX3.19/Ex3_19.pngbin0 -> 14551 bytes
-rw-r--r--3901/CH3/EX3.19/Ex3_19.sce13
-rw-r--r--3901/CH3/EX3.20/Ex3_20.pngbin0 -> 14803 bytes
-rw-r--r--3901/CH3/EX3.20/Ex3_20.sce13
-rw-r--r--3901/CH3/EX3.21/Ex3_21.pngbin0 -> 19953 bytes
-rw-r--r--3901/CH3/EX3.21/Ex3_21.sce12
-rw-r--r--3901/CH3/EX3.3/Ex3_3.pngbin0 -> 15085 bytes
-rw-r--r--3901/CH3/EX3.3/Ex3_3.sce13
-rw-r--r--3901/CH3/EX3.8/Ex3_8.pngbin0 -> 10762 bytes
-rw-r--r--3901/CH3/EX3.8/Ex3_8.sce16
-rw-r--r--3901/CH3/EX3.9/Ex3_9.pngbin0 -> 12721 bytes
-rw-r--r--3901/CH3/EX3.9/Ex3_9.sce19
-rw-r--r--3901/CH4/EX4.1/Ex4_1.pngbin0 -> 13283 bytes
-rw-r--r--3901/CH4/EX4.1/Ex4_1.sce14
-rw-r--r--3901/CH4/EX4.10/Ex4_10.sce13
-rw-r--r--3901/CH4/EX4.11/Ex4_11.sce13
-rw-r--r--3901/CH4/EX4.12/Ex4_12.sce13
-rw-r--r--3901/CH4/EX4.15/Ex4_15.sce14
-rw-r--r--3901/CH4/EX4.16/Ex4_16.sce12
-rw-r--r--3901/CH4/EX4.17/Ex4_17.sce13
-rw-r--r--3901/CH4/EX4.2/Ex4_2.sce18
-rw-r--r--3901/CH4/EX4.23/Ex4_23.pngbin0 -> 22564 bytes
-rw-r--r--3901/CH4/EX4.23/Ex4_23.sce8
-rw-r--r--3901/CH4/EX4.24/Ex4_24.sce13
-rw-r--r--3901/CH4/EX4.24/Ex4_24a.pngbin0 -> 22455 bytes
-rw-r--r--3901/CH4/EX4.24/Ex4_24b.pngbin0 -> 22514 bytes
-rw-r--r--3901/CH4/EX4.25/Ex4_25.pngbin0 -> 24103 bytes
-rw-r--r--3901/CH4/EX4.25/Ex4_25.sce8
-rw-r--r--3901/CH4/EX4.26/Ex4_26.pngbin0 -> 23416 bytes
-rw-r--r--3901/CH4/EX4.26/Ex4_26.sce8
-rw-r--r--3901/CH4/EX4.27/Ex4_27.pngbin0 -> 20622 bytes
-rw-r--r--3901/CH4/EX4.27/Ex4_27.sce14
-rw-r--r--3901/CH4/EX4.28/Ex4_28.sce31
-rw-r--r--3901/CH4/EX4.29/Ex4_29.sce14
-rw-r--r--3901/CH4/EX4.3/Ex4_3.sce28
-rw-r--r--3901/CH4/EX4.30/Ex4_30.sce13
-rw-r--r--3901/CH4/EX4.31/Ex4_31.sce20
-rw-r--r--3901/CH4/EX4.4/Ex4_4.sce13
-rw-r--r--3901/CH4/EX4.5/Ex4_5.sce19
-rw-r--r--3901/CH4/EX4.8/Ex4_8.sce12
-rw-r--r--3901/CH4/EX4.9/Ex4_9.sce15
-rw-r--r--3901/CH5/EX5.1/Ex5_1.pngbin0 -> 11135 bytes
-rw-r--r--3901/CH5/EX5.1/Ex5_1.sce12
-rw-r--r--3901/CH5/EX5.10/Ex5_10.pngbin0 -> 20301 bytes
-rw-r--r--3901/CH5/EX5.10/Ex5_10.sce26
-rw-r--r--3901/CH5/EX5.12/Ex5_12.sce6
-rw-r--r--3901/CH5/EX5.13/Ex5_13.sce5
-rw-r--r--3901/CH5/EX5.14/Ex5_14.pngbin0 -> 16769 bytes
-rw-r--r--3901/CH5/EX5.14/Ex5_14.sce14
-rw-r--r--3901/CH5/EX5.15/Ex5_15.pngbin0 -> 19972 bytes
-rw-r--r--3901/CH5/EX5.15/Ex5_15.sce17
-rw-r--r--3901/CH5/EX5.16/Ex5_16.pngbin0 -> 14978 bytes
-rw-r--r--3901/CH5/EX5.16/Ex5_16.sce11
-rw-r--r--3901/CH5/EX5.17/Ex5_17.sce14
-rw-r--r--3901/CH5/EX5.18/Ex5_18.sce48
-rw-r--r--3901/CH5/EX5.19/Ex5_19.sce21
-rw-r--r--3901/CH5/EX5.2/Ex5_2.sce25
-rw-r--r--3901/CH5/EX5.20/Ex5_20.sce25
-rw-r--r--3901/CH5/EX5.3/Ex5_3.sce36
-rw-r--r--3901/CH5/EX5.5/Ex5_5.sce21
-rw-r--r--3901/CH5/EX5.6/Ex5_6.sce21
-rw-r--r--3901/CH6/EX6.1/Ex6_1.pngbin0 -> 16498 bytes
-rw-r--r--3901/CH6/EX6.1/Ex6_1.sce29
-rw-r--r--3901/CH6/EX6.10/Ex6_10.pngbin0 -> 14709 bytes
-rw-r--r--3901/CH6/EX6.10/Ex6_10.sce14
-rw-r--r--3901/CH6/EX6.11/Ex6_11.pngbin0 -> 21324 bytes
-rw-r--r--3901/CH6/EX6.11/Ex6_11.sce45
-rw-r--r--3901/CH6/EX6.12/Ex6_12.pngbin0 -> 14615 bytes
-rw-r--r--3901/CH6/EX6.12/Ex6_12.sce10
-rw-r--r--3901/CH6/EX6.2/Ex6_2.pngbin0 -> 16102 bytes
-rw-r--r--3901/CH6/EX6.2/Ex6_2.sce30
-rw-r--r--3901/CH6/EX6.3/Ex6_3.pngbin0 -> 16213 bytes
-rw-r--r--3901/CH6/EX6.3/Ex6_3.sce28
-rw-r--r--3901/CH6/EX6.4/Ex6_4.pngbin0 -> 14850 bytes
-rw-r--r--3901/CH6/EX6.4/Ex6_4.sce27
-rw-r--r--3901/CH6/EX6.5/Ex6_5.pngbin0 -> 16106 bytes
-rw-r--r--3901/CH6/EX6.5/Ex6_5.sce28
-rw-r--r--3901/CH6/EX6.6/Ex6_6.sce23
-rw-r--r--3901/CH6/EX6.6/Ex6_6a.pngbin0 -> 16421 bytes
-rw-r--r--3901/CH6/EX6.6/Ex6_6b.pngbin0 -> 15019 bytes
-rw-r--r--3901/CH6/EX6.7/Ex6_7.pngbin0 -> 15988 bytes
-rw-r--r--3901/CH6/EX6.7/Ex6_7.sce24
-rw-r--r--3901/CH6/EX6.8/Ex6_8.pngbin0 -> 15160 bytes
-rw-r--r--3901/CH6/EX6.8/Ex6_8.sce32
-rw-r--r--3901/CH6/EX6.9/Ex6_9.pngbin0 -> 17015 bytes
-rw-r--r--3901/CH6/EX6.9/Ex6_9.sce32
-rw-r--r--3901/CH7/EX7.1/Ex7_1.pngbin0 -> 24150 bytes
-rw-r--r--3901/CH7/EX7.1/Ex7_1.sce23
-rw-r--r--3901/CH7/EX7.10/Ex7_10.pngbin0 -> 16640 bytes
-rw-r--r--3901/CH7/EX7.10/Ex7_10.sce23
-rw-r--r--3901/CH7/EX7.11/Ex7_11.sce33
-rw-r--r--3901/CH7/EX7.11/Ex7_11a.pngbin0 -> 16212 bytes
-rw-r--r--3901/CH7/EX7.11/Ex7_11b.pngbin0 -> 17658 bytes
-rw-r--r--3901/CH7/EX7.12/Ex7_12.sce33
-rw-r--r--3901/CH7/EX7.12/Ex7_12a.pngbin0 -> 16135 bytes
-rw-r--r--3901/CH7/EX7.12/Ex7_12b.pngbin0 -> 15723 bytes
-rw-r--r--3901/CH7/EX7.13/Ex7_13.pngbin0 -> 21005 bytes
-rw-r--r--3901/CH7/EX7.13/Ex7_13.sce27
-rw-r--r--3901/CH7/EX7.14/Ex7_14.pngbin0 -> 24842 bytes
-rw-r--r--3901/CH7/EX7.14/Ex7_14.sce26
-rw-r--r--3901/CH7/EX7.15/Ex7_15.pngbin0 -> 21802 bytes
-rw-r--r--3901/CH7/EX7.15/Ex7_15.sce20
-rw-r--r--3901/CH7/EX7.17/Ex7_17.pngbin0 -> 16765 bytes
-rw-r--r--3901/CH7/EX7.17/Ex7_17.sce22
-rw-r--r--3901/CH7/EX7.19/Ex7_19.sce35
-rw-r--r--3901/CH7/EX7.19/Ex7_19a.pngbin0 -> 18926 bytes
-rw-r--r--3901/CH7/EX7.19/Ex7_19b.pngbin0 -> 14411 bytes
-rw-r--r--3901/CH7/EX7.2/Ex7_2.sce28
-rw-r--r--3901/CH7/EX7.2/Ex7_2a.pngbin0 -> 16339 bytes
-rw-r--r--3901/CH7/EX7.2/Ex7_2b.pngbin0 -> 18706 bytes
-rw-r--r--3901/CH7/EX7.20/Ex7_20.sce8
-rw-r--r--3901/CH7/EX7.23/Ex7_23.pngbin0 -> 26794 bytes
-rw-r--r--3901/CH7/EX7.23/Ex7_23.sce18
-rw-r--r--3901/CH7/EX7.3/Ex7_3.pngbin0 -> 15515 bytes
-rw-r--r--3901/CH7/EX7.3/Ex7_3.sce13
-rw-r--r--3901/CH7/EX7.4/Ex7_4.pngbin0 -> 15778 bytes
-rw-r--r--3901/CH7/EX7.4/Ex7_4.sce13
-rw-r--r--3901/CH7/EX7.6/Ex7_6.pngbin0 -> 20900 bytes
-rw-r--r--3901/CH7/EX7.6/Ex7_6.sce22
-rw-r--r--3901/CH7/EX7.9/Ex7_9.pngbin0 -> 18951 bytes
-rw-r--r--3901/CH7/EX7.9/Ex7_9.sce21
-rw-r--r--3901/CH8/EX8.1/Ex8_1.sce90
-rw-r--r--3901/CH8/EX8.1/Ex8_1a.pngbin0 -> 20265 bytes
-rw-r--r--3901/CH8/EX8.1/Ex8_1b.pngbin0 -> 19947 bytes
-rw-r--r--3901/CH8/EX8.10/Ex8_10.pngbin0 -> 23122 bytes
-rw-r--r--3901/CH8/EX8.10/Ex8_10.sce26
-rw-r--r--3901/CH8/EX8.2/Ex8_2.sce41
-rw-r--r--3901/CH8/EX8.2/Ex8_2a.pngbin0 -> 18716 bytes
-rw-r--r--3901/CH8/EX8.2/Ex8_2b.pngbin0 -> 20032 bytes
-rw-r--r--3901/CH8/EX8.5/Ex8_5.sce10
-rw-r--r--3901/CH8/EX8.7/Ex8_7.sce10
-rw-r--r--3901/CH8/EX8.8/Ex8_8.pngbin0 -> 25117 bytes
-rw-r--r--3901/CH8/EX8.8/Ex8_8.sce26
-rw-r--r--3901/CH8/EX8.9/Ex8_9.pngbin0 -> 23705 bytes
-rw-r--r--3901/CH8/EX8.9/Ex8_9.sce23
-rw-r--r--3901/CH9/EX9.1/Ex9_1.pngbin0 -> 26353 bytes
-rw-r--r--3901/CH9/EX9.1/Ex9_1.sce20
-rw-r--r--3901/CH9/EX9.10/Ex9_10.sce36
-rw-r--r--3901/CH9/EX9.10/Ex9_10a.pngbin0 -> 14101 bytes
-rw-r--r--3901/CH9/EX9.10/Ex9_10b.pngbin0 -> 14915 bytes
-rw-r--r--3901/CH9/EX9.13/Ex9_13.pngbin0 -> 17134 bytes
-rw-r--r--3901/CH9/EX9.13/Ex9_13.sce13
-rw-r--r--3901/CH9/EX9.2/Ex9_2.pngbin0 -> 21451 bytes
-rw-r--r--3901/CH9/EX9.2/Ex9_2.sce17
-rw-r--r--3901/CH9/EX9.3/Ex9_3.pngbin0 -> 15895 bytes
-rw-r--r--3901/CH9/EX9.3/Ex9_3.sce23
-rw-r--r--3901/CH9/EX9.4/Ex9_4.pngbin0 -> 15340 bytes
-rw-r--r--3901/CH9/EX9.4/Ex9_4.sce23
-rw-r--r--3901/CH9/EX9.5/Ex9_5.pngbin0 -> 16640 bytes
-rw-r--r--3901/CH9/EX9.5/Ex9_5.sce23
-rw-r--r--3901/CH9/EX9.6/Ex9_6.pngbin0 -> 16609 bytes
-rw-r--r--3901/CH9/EX9.6/Ex9_6.sce26
-rw-r--r--3901/CH9/EX9.9/Ex9_9.pngbin0 -> 14323 bytes
-rw-r--r--3901/CH9/EX9.9/Ex9_9.sce21
-rw-r--r--3901/DEPENDENCIES/conv_gui.sci363
-rw-r--r--3901/DEPENDENCIES/inv_laplace.sci43
-rw-r--r--3901/DEPENDENCIES/laplace.sci50
353 files changed, 5419 insertions, 0 deletions
diff --git a/3897/CH10/EX10.1/Ex10_1.sce b/3897/CH10/EX10.1/Ex10_1.sce
new file mode 100644
index 000000000..c10f80171
--- /dev/null
+++ b/3897/CH10/EX10.1/Ex10_1.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 10.1
+// Page 289
+// Given data
+P_in=200; // conc of BOD flowing in, mg/L
+e=85; // treatment efficiency, %
+Q=5; //flow rate, mgd
+//estimation
+P_out=P_in-((e*P_in)/100); // allowed maximum conc of BOD, mg/L, eq 10-1
+BOD=8.34*Q*P_out; // discharged BOD, lb/d, eq 6-3b
+printf('The maximum conc of BOD allowed = %f mg/L\n',P_out)
+printf('The discharged BOD will be = %f lb/d',BOD)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.10/Ex10_10.sce b/3897/CH10/EX10.10/Ex10_10.sce
new file mode 100644
index 000000000..13678ccfc
--- /dev/null
+++ b/3897/CH10/EX10.10/Ex10_10.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 10.10
+// Page 321
+// Given data
+NB=4; // number of bedroom
+PR=30; // perc rate, min/inch
+Tr=2; // width of trench, ft
+AA=250; // absorption area required for per bedroom, from Fig 10.34
+//estimation
+TA=NB*AA; // total area required for four bedroom
+T=TA/Tr; // required trench, ft
+L=T/100; // number of lateral
+WAF=(L-1)*6; // wodth of absorption field
+LF=WAF*100; // the area will be occupy by leaching field, ft^2
+printf('The dimension of leaching filed = %f ft^2',LF)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.11/Ex10_11.sce b/3897/CH10/EX10.11/Ex10_11.sce
new file mode 100644
index 000000000..80f11a2aa
--- /dev/null
+++ b/3897/CH10/EX10.11/Ex10_11.sce
@@ -0,0 +1,23 @@
+clc; clear;
+// Example 10.11
+// Page 327
+// Given data
+S1=6; // sludge solids conc, percent
+V1=300; // volume, m^3
+V2=200, // volume after dewatering, m^3
+//estimation
+WC=100-S1; // water content of the sludge, percent
+V1=V1*1000; // volume, L
+M=S1*V1/100; //mass of sludge solids, kg of dry solids. from eq 10-7
+V2=V2*1000; // volume after dewatering, L
+S2=(M/V2)*100; // sludge solids conc after dewatering, percent solids, from eq 10-7
+WC1=100-S2; // water content after dewatering, percent
+printf('The water content = %f percent\n',WC)
+printf('The mass of dry solids = %f kg of dry solids\n',M)
+printf('The sludge solids conc after dewatering = %f percent\n',S2)
+printf('The water content dewatering = %f percent\n',WC1)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.12/Ex10_12.sce b/3897/CH10/EX10.12/Ex10_12.sce
new file mode 100644
index 000000000..4268b6580
--- /dev/null
+++ b/3897/CH10/EX10.12/Ex10_12.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 10.12
+// Page 327
+// Given data
+V=5000000; // volume of sludge, gal
+W=1000000; // dry sludge solids,lb
+C=4; // conc of solids in sludge, percent
+//estimation
+S=(W/(8.34*V))*100; // solids content in sludge, percent
+V=(W/(C*8.34))*100; // volume of sludge, gal
+printf('The solid content in sludge = %f percent\n',S)
+printf('The volume of sludge = %f gal\n',V)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.13/Ex10_13.sce b/3897/CH10/EX10.13/Ex10_13.sce
new file mode 100644
index 000000000..e5b2d66c6
--- /dev/null
+++ b/3897/CH10/EX10.13/Ex10_13.sce
@@ -0,0 +1,22 @@
+clc; clear;
+// Example 10.13
+// Page 328
+// Given data
+E=0.5; // TSS removal efficiency, in decimal
+TSS=240; // raw TSS, mg/L
+Q=4; // Flow, ML/d
+E_BOD=30; // removal efficiency of BOD, percent
+bod=220; //raw BOD
+K=0.25; //proportion of BOD convertred, from equation 10-9a
+// estimation
+m1=E*TSS*Q; // mass of primary sludge solids, kg/d, from equation 10-8a
+BOD=(1-E_BOD/100)*bod; // BOD applied to the secondary system, mg/L
+m2=K*BOD*Q; // mass of secondary sludge, kg/d, from equation, 10-9a
+M=m1+m2; // total mass of combind primary and secondary sludge, kg/d
+V=M/Q*100; // total volume of sludge, L/d, from equation 10-7a
+V=V/10^3; // total volume of sludge, m^3/d
+
+printf('Mass of primary sludge solids = %f kg/d\n',m1)
+printf('Mass of secondary sludge solids = %f kg/d\n', m2)
+printf('Total volume of sludge solids = %f m^3/d', V)
+clear
diff --git a/3897/CH10/EX10.2/Ex10_2.sce b/3897/CH10/EX10.2/Ex10_2.sce
new file mode 100644
index 000000000..feedf84b2
--- /dev/null
+++ b/3897/CH10/EX10.2/Ex10_2.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 10.2
+// Page 290
+// Given data
+P_in=250; // conc of BOD flowing in, mg/L
+P_out=20; // conc of BOD flowing out, mg/L
+Q=5; //flow rate, ML/D
+//estimation
+e=(P_in-P_out)/P_in*100; // treatment efficiency, %, eq 10-1
+SS=Q*P_out; // suspended solid present in diacharge, kg
+
+
+printf('The treatment efficiency = %f percent\n',e)
+printf('The suspended solid present in discharge = %f kg',SS)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.3/Ex10_3.sce b/3897/CH10/EX10.3/Ex10_3.sce
new file mode 100644
index 000000000..2e9772e29
--- /dev/null
+++ b/3897/CH10/EX10.3/Ex10_3.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 10.3
+// Page 293
+// Given data
+P_in=250; // conc of BOD flowing in, mg/L
+e=60; // removal efficiency, %
+//estimation
+P_out=P_in-((e*P_in)/100); // expected average effluent TSS conc, mg/L, eq 10-1
+printf('The expected average effluent TSS concentration = %f mg/L',P_out)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.4/Ex10_4.sce b/3897/CH10/EX10.4/Ex10_4.sce
new file mode 100644
index 000000000..7df680ef2
--- /dev/null
+++ b/3897/CH10/EX10.4/Ex10_4.sce
@@ -0,0 +1,24 @@
+clc; clear;
+// Example 10.4
+// Page 295
+// Given data
+D=18; // dia of filter, m
+d=2; // depth of filter, m
+R= 1.5; // recirculation ratio
+Q=2.5; // flow, ML/D
+P_in=210; // conc of BOD flowing in, mg/L
+e=30; // removal efficiency, %
+//estimation
+As=%pi*D^2/4; // surface area of filter, m^2
+V=As*d; // volume, m^3
+QR=R*Q; // recirculated flow, ML/D, eq 10-2
+hl=(Q+QR)/As*10^3; // hydraulic load, m^/m^2-d
+P_out=P_in-((e*P_in)/100); // conc of BOD flowing out, mg/L
+OG=Q*P_out/V; // organic load, kg/m^3-d, eq 10-4a
+printf('The hydraulic load on the filter = %f m^3/m^2-d\n',hl)
+printf('The organic load on the filter = %f kg/m^3-d',OG)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.5/Ex10_5.sce b/3897/CH10/EX10.5/Ex10_5.sce
new file mode 100644
index 000000000..3f56cb741
--- /dev/null
+++ b/3897/CH10/EX10.5/Ex10_5.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 10.5
+// Page 296
+// Given data
+P_in=200; // conc of BOD flowing in, mg/L
+e1=79; // removal efficiency of trickling filter, %
+e2=35; // removal efficiency of primary treatmet, %
+//estimation
+C1=((100-e2)*200)/100; // remaining BOD after primary treatment,mg/L
+P_out=(100-e1)*C1/100; // conc of BOD flowing out after filter removal, mg/L
+e=((P_in-P_out)/P_in)*100
+printf('The overall plant efficiency = %f percent',e)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.6/Ex10_6.sce b/3897/CH10/EX10.6/Ex10_6.sce
new file mode 100644
index 000000000..c55326894
--- /dev/null
+++ b/3897/CH10/EX10.6/Ex10_6.sce
@@ -0,0 +1,23 @@
+clc; clear;
+// Example 10.6
+// Page 297
+// Given data
+L=30; // length of sludge tank, m
+W=10; // width of sludge tank, m
+D=4; // depth of sludge tank, 3
+P_in=200; // conc of BOD flowing in, mg/L
+e2=35; // removal efficiency of primary treatmet, %
+BOD=200; // BOD, mg/L
+Q=4; // wastewater flow, ML/day
+MLSS=2000; // MLSS conc, mg/L
+//estimation
+C1=((100-e2)*200)/100; // remaining BOD after primary treatment,mg/L
+V=W*L*D; // volume of tank, m^3
+V=V/10^3; // volume of tank, ML
+F_M=(Q*C1)/(MLSS*V); // F/M ratio, eq 10-5
+printf('The food-to-microorganism (F/M) ratio = %f',F_M)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.7/Ex10_7.sce b/3897/CH10/EX10.7/Ex10_7.sce
new file mode 100644
index 000000000..aac1d904b
--- /dev/null
+++ b/3897/CH10/EX10.7/Ex10_7.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 10.7
+// Page 298
+// Given data
+Q=800000; // flow, gpd
+BOD=125; // BOD, ppm
+F_M=0.4; // food-to-microorganism (F/M) ratio
+MLSS=1800; // MLSS conc, ppm
+SWD=15; // side wwater depth, ft
+//estimation
+V=(Q*BOD)/(F_M*MLSS); // volume, gal, eq 10-5
+V=V/7.5; // volume, ft^3;
+W=(V/(3*SWD))^(1/2);
+L=3*W; // required length of tank, ft
+printf('The required length of tank = %f ft',L)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.8/Ex10_8.sce b/3897/CH10/EX10.8/Ex10_8.sce
new file mode 100644
index 000000000..9138e0632
--- /dev/null
+++ b/3897/CH10/EX10.8/Ex10_8.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 10.8
+// Page 298
+// Given data
+V=150; // sludge volume, mL
+MLSS=2000; // MLSS conc, mg/L
+//estimation
+SVI=V*1000/MLSS; // sludge volume index, mL/g, from eq 10-6
+printf('The sludge volume index SVI = %f mL/g',SVI)
+clear
+
+
+
+
diff --git a/3897/CH10/EX10.9/Ex10_9.sce b/3897/CH10/EX10.9/Ex10_9.sce
new file mode 100644
index 000000000..4b97c5c0f
--- /dev/null
+++ b/3897/CH10/EX10.9/Ex10_9.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 10.9
+// Page 317
+// Given data
+T=10; // time interval, min
+d=3/4; // drop at steady state, inch
+//estimation
+PR=T/d; // perc rate, min/inch
+printf('The perc rate = %f min/inch',PR)
+clear
+
+
+
+
diff --git a/3897/CH11/EX11.1/Ex11_1.sce b/3897/CH11/EX11.1/Ex11_1.sce
new file mode 100644
index 000000000..ddfe72501
--- /dev/null
+++ b/3897/CH11/EX11.1/Ex11_1.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 11.1
+// Page 355
+// Given data
+Vi=15; // initial volume, m^3
+Vf=3; // final volume, m^3
+r=90; // required reduction in percent
+//estimation part a
+PVR=(Vi-Vf)/Vi*100; // percent volume reduction, in precent, from eq 11-1
+CR=Vi/Vf; // compaction ratio, from eq 11-2
+// part b
+Vf=Vi-(r*Vi/100); // final volume, m^3
+CR_b=Vi/Vf; // compaction ratio ofr part b
+printf('The percent volume reduction = %f percent\n',PVR)
+printf('The compaction ration for part a= %f \n',CR)
+printf('The compaction ration for part b= %f',CR_b)
+clear
diff --git a/3897/CH11/EX11.2/Ex11_2.sce b/3897/CH11/EX11.2/Ex11_2.sce
new file mode 100644
index 000000000..8b23f92ff
--- /dev/null
+++ b/3897/CH11/EX11.2/Ex11_2.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 11.2
+// Page 369
+// Given data
+P=15000; // total population
+R=5; // rate of waste generation per person per day, lb
+A=25; // landfill area, ac
+D=20; // depth of refuse, ft
+f=25; // addtional volume of cpver material, percent
+w=1000; // unit weight of refuse, lb/yd^3
+//estimation
+W=R*365*P; // total weight of refuse generated per year, lb/year
+V=W/w; // total yearly volume of refuse, yd^3/yr
+delta_V=0.25*V; // additional volume for cover material, yd^3/yr
+TV=V+delta_V; // total lanfill volume required, yd^3/yr
+AV=A*43560*D*(1/27); // available volume for landill, yd^3
+L=AV/TV; // useful life of landfill, year
+printf('The useful life of landfill= %f year',L)
+clear
diff --git a/3897/CH11/EX11.3/Ex11_3.sce b/3897/CH11/EX11.3/Ex11_3.sce
new file mode 100644
index 000000000..4ec9025cc
--- /dev/null
+++ b/3897/CH11/EX11.3/Ex11_3.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 11.3
+// Page 369
+// Given data
+L=30; // design life of landfill, in year
+R=25; // waste generation rate, N/person/d
+w=5; // waste compact unit weight, kN/m^3
+D=10; // average depth, m
+P=50000; // community population
+C=25; // cover ratio, percent of volume for cover
+//estimation
+W=R*365*P; // total weight of refuse generated per year, N/year
+W=W/1000; // total weight of refuse generated per year, kN/year
+V=W/w; // total yearly volume of compacted refuse, m^3/yr
+delta_V=(C/100)*V; // additional volume for cover material, yd^3/yr
+TV=V+delta_V; // total required volume required, m^3/yr
+A=TV/D; // required area, m^2/yr
+A=A*(1/10000)*30; // required area for landill, m^2
+printf('The required area for landfill = %f year',A)
+clear
diff --git a/3897/CH13/EX13.1/Ex13_1.sce b/3897/CH13/EX13.1/Ex13_1.sce
new file mode 100644
index 000000000..851aa9992
--- /dev/null
+++ b/3897/CH13/EX13.1/Ex13_1.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 13.1
+// Page 440
+// Given data
+cs=0.12; // hourly ozone concentration, mg/L
+T=25; // tempreature, degree celcius
+P=1; // pressure, atm
+AT=48; //atomic weight of ozone
+//estimation
+T=T+273; //tempreature in kelvin
+CD=(273*cs*AT*P)/(22.4*T); // Ozone concentration in mg/m^3 (from equation 13.1)
+CD=CD*1000; // Ozone concentration in microg/m^3
+printf('ozone concentration = %f microgram/m^3',CD)
+clear
+
+
+
+
diff --git a/3897/CH13/EX13.2/Ex13_2.sce b/3897/CH13/EX13.2/Ex13_2.sce
new file mode 100644
index 000000000..9d42d8134
--- /dev/null
+++ b/3897/CH13/EX13.2/Ex13_2.sce
@@ -0,0 +1,21 @@
+clc; clear;
+// Example 13.2
+// Page 440
+// Given data
+CD=365; // sulfer dioxide concentration, microgram/m^3
+T=25; // tempreature, degree celcius
+P=1; // pressure, atm
+AT=64; //atomic weight of osulfer dioxide
+
+//estimation
+CD=365/1000; // sulfer dioxide concentration, in ppm
+T=T+273; //tempreature in kelvin
+cs=(CD*22.4*T)/(273*AT*P); // sulfer dioxide in ppm (from euation 13.1)
+cs_perc=(cs/10^6)*100; //sulfer dioxide concentration in percentage
+printf('sulfer dioxide concentration = %f ppm\n',cs)
+printf('sulfer dioxide concentration = %f percentage',cs_perc)
+clear
+
+
+
+
diff --git a/3897/CH13/EX13.3/Ex13_3.sce b/3897/CH13/EX13.3/Ex13_3.sce
new file mode 100644
index 000000000..4c7d2e222
--- /dev/null
+++ b/3897/CH13/EX13.3/Ex13_3.sce
@@ -0,0 +1,22 @@
+clc; clear;
+// Example 13.3
+// Page 440
+// Given data
+cs_perc=2.2; // carbon monooxide percentage
+T=82; // tempreature, degree celcius
+P=1; // pressure, atm
+AT=28; //atomic weight of osulfer dioxide
+
+//estimation
+CD_ppm=cs_perc*1*(10^6)/100; // sulfer dioxide concentration, in ppm
+T=T+273; //tempreature in kelvin
+CD=(273*CD_ppm*AT*P)/(22.4*T); // carbon monooxide in mg/m^3 (from euation 13.1)
+//CD_ppm=CD/1000 // carbon monooxide in ppm
+
+printf('carbon monooxide concentration = %f ppm\n',CD_ppm)
+printf('carbon monooxide concentration = %f mg/m^3',CD)
+clear
+
+
+
+
diff --git a/3897/CH13/EX13.4/Ex13_4.sce b/3897/CH13/EX13.4/Ex13_4.sce
new file mode 100644
index 000000000..77d23a645
--- /dev/null
+++ b/3897/CH13/EX13.4/Ex13_4.sce
@@ -0,0 +1,22 @@
+clc; clear;
+// Example 13.4
+// Page 441
+// Given data
+M=120; // mass of dustfall bucket when empty
+m=120.30; //mass of dustfall bucket after exposure
+d= 6; // diameter of bucket in inch
+D=0.5; //diameter in feet
+E=1; // exposure is 1 month
+
+//estimation
+A=3.14*(D^2)/4; // area of the bucket in square feet
+M_diff= (m-M); // mass of particulates
+D_unit1=(((M_diff)/E)*(1/454)*(1/2000))/(A*(1/5280)^2); //dustfall in tons/square mi/month
+D_unit2=(((M_diff)/E)*(1/1000))/(A*(0.305^2)*(1/10000)); //dustfall in kg/ha/month
+printf('dustfall = %f tons/square mi/month\n',D_unit1)
+printf('dustfall = %f kg/ha/month',D_unit2)
+clear
+
+
+
+
diff --git a/3897/CH13/EX13.5/Ex13_5.sce b/3897/CH13/EX13.5/Ex13_5.sce
new file mode 100644
index 000000000..1824490fc
--- /dev/null
+++ b/3897/CH13/EX13.5/Ex13_5.sce
@@ -0,0 +1,24 @@
+clc; clear;
+// Example 13.5
+// Page 441
+// Given data
+AF_ini= 55; // initial airflow in ft^3/min
+AF_aft= 35; // after sampling in ft^3/min
+T= 24; // duration in hours
+m= 10; // filter weight before sampling in gram
+M= 10.2; //filter weight after sampling in gram
+
+//estimation
+M_diff=M-m; //weight of particulates in gram
+AF_avg=(AF_ini+AF_aft)/2; // average airflow
+T=24*60; //duration in minutes
+V=AF_avg*T; // air volume in cubic feet
+V_m3= V*0.02832; // air volume in cubic meter
+M_microgram= M_diff*(10^6); //weight of particulates in microgram
+TSP=M_microgram/V_m3; // total suspended particulate concentration in microgram/m^3
+printf('total suspended particulate concentration = %f microgram/m^3\',TSP)
+clear
+
+
+
+
diff --git a/3897/CH13/EX13.6/Ex13_6.sce b/3897/CH13/EX13.6/Ex13_6.sce
new file mode 100644
index 000000000..9dce8caf3
--- /dev/null
+++ b/3897/CH13/EX13.6/Ex13_6.sce
@@ -0,0 +1,23 @@
+clc; clear;
+// Example 13.6
+// Page 452
+// Given data
+
+A1= 5000; // total collector plate area in square meter
+F=150; // flow rate in cubic meter per second
+V=0.1; // drift velocity in m/s
+A2=7500; // area in m^2
+A3= 10000; // area in m^2
+
+//estimation
+E_5000=100*(1-(exp(-V*A1/F))); // efficieny corresponds to area 5000 square meter from equation 13.2
+E_7500=100*(1-exp(-V*A2/F)); // efficieny corresponds to area 7500 square meter
+E_10000=100*(1-exp(-V*A3/F)); // efficieny corresponds to area 10000 square meter
+printf('Efficiency corresponds to area 5000m^2 = %f percentage\n',E_5000)
+printf('Efficiency corresponds to area 7500m^2 = %f percentage\n',E_7500)
+printf('Efficiency corresponds to area 10000m^2 = %f percentage\n',E_10000)
+clear
+
+
+
+
diff --git a/3897/CH14/EX14.1/Ex14_1.sce b/3897/CH14/EX14.1/Ex14_1.sce
new file mode 100644
index 000000000..b9df9c3f0
--- /dev/null
+++ b/3897/CH14/EX14.1/Ex14_1.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 14.1
+// Page 465
+// Given data
+D=5; // distance, in km
+s=344; // speed of sound waves, m/s
+//estimation
+D=D*1000; // distance in m
+T=D/s; // time in s
+printf('Required time to hear = %f second',T)
+clear
+
+
+
+
diff --git a/3897/CH14/EX14.2/Ex14_2.sce b/3897/CH14/EX14.2/Ex14_2.sce
new file mode 100644
index 000000000..35aba58eb
--- /dev/null
+++ b/3897/CH14/EX14.2/Ex14_2.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 14.2
+// Page 465
+// Given data
+f=500; // frequency of sound, in Hz
+v=5000; // speed of sound waves, m/s
+//estimation
+lambda=v/f; // wavelength of sound, m, from eq 14-1
+printf('The wavelength of sound = %f meter',lambda)
+clear
+
+
+
+
diff --git a/3897/CH14/EX14.3/Ex14_3.sce b/3897/CH14/EX14.3/Ex14_3.sce
new file mode 100644
index 000000000..80b8035fc
--- /dev/null
+++ b/3897/CH14/EX14.3/Ex14_3.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 14.3
+// Page 466
+// Given data
+P=200; // sound pressure, mubar
+P0=0.0002; // reference pressure, mubar
+//estimation
+SPL=20*log10(P/P0); // sound pressure level, dB, from eq 14-2
+
+printf('The sound pressure level = %f dB',SPL)
+clear
+
+
+
+
diff --git a/3897/CH14/EX14.4/Ex14_4.sce b/3897/CH14/EX14.4/Ex14_4.sce
new file mode 100644
index 000000000..2c23cfdb3
--- /dev/null
+++ b/3897/CH14/EX14.4/Ex14_4.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 14.4
+// Page 467
+// Given data
+SPL=90; // sound pressure level for each dozers, in dB
+//estimation
+d=SPL-SPL; // numerical difference between two SPL values
+SPL1=SPL+3; // for d=0, from Figure 14.4
+d1=SPL1-SPL; // numerical difference between two SPL values
+SPL2=SPL1+1.7; // for d1=3, from figure 14.4
+d2=SPL2-SPL; // numerical difference between two SPL values
+SPL3=SPL2+1.3; // final sound pressure level, for d2=4.7, from figure 14.4
+printf('The sound pressulre level = %f dB',SPL3)
+clear
+
+
+
+
diff --git a/3897/CH14/EX14.5/Ex14_5.sce b/3897/CH14/EX14.5/Ex14_5.sce
new file mode 100644
index 000000000..3568d8ca3
--- /dev/null
+++ b/3897/CH14/EX14.5/Ex14_5.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 14.5
+// Page 465
+// Given data
+dBA=[72 76 79 81 84 76 75 75 74]; // sound readings, dBA
+T=10:10:90; // time interval, in min
+//estimation
+[dBA1 idx]=gsort(dBA);
+idx_T=find(T==50);
+idx1=find(dBA1>dBA1(idx_T));
+SPL=dBA1(length(idx1)); // sound pressure level exceed 50% of time
+L10=dBA1(find(T==10)); // L10 value in dB
+L90=dBA1(find(T==90)); // L90 value in dB
+printf('sound pressure level exceed 50 percent of time = %f dB \n',SPL)
+printf('L10 = %f dB\n',L10)
+printf('L90 = %f dB',L90)
+clear
+
diff --git a/3897/CH14/EX14.6/Ex14_6.sce b/3897/CH14/EX14.6/Ex14_6.sce
new file mode 100644
index 000000000..e287b7d56
--- /dev/null
+++ b/3897/CH14/EX14.6/Ex14_6.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 14.6
+// Page 474
+// Given data
+Sa=85; // sound level from centerline, in dBA
+Db=12; // distance, in m
+Da=4; // distance of sound measurement, in m
+SL_79=79; // sound level form centerline, in dBA
+//estimation
+SL12=Sa-(10*log10(Db/Da)); // sound level ate distance 12 m
+D=Da*(10^((SL_79-Sa)/(-10))); // distance for sound level 79 dBA
+printf('The sound level ate distance 12 m = %f dBA \n',SL12)
+printf('The distance from the road centerline for sound level 79 dBA= %f meter',D)
+clear
+
+
+
+
diff --git a/3897/CH2/EX2.1/Ex2_1.sce b/3897/CH2/EX2.1/Ex2_1.sce
new file mode 100644
index 000000000..708d3ca8e
--- /dev/null
+++ b/3897/CH2/EX2.1/Ex2_1.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Page 29
+// Example 2.1
+// Given data
+ha=25; //depth at point A in ft
+h=15; //height from the bottom in ft
+// estimation
+// Pressure at the tank bottom
+Pa=0.43*ha; //psi, using equation 2-2b
+hb=ha-h; // Depth of point B below water surface
+// Pressure at point B
+Pb=0.43*hb; //psi, using equation 2.2b
+printf('Pressure at the point A = %f psi\n',Pa)
+printf('Pressure at the point B = %f psi', Pb)
diff --git a/3897/CH2/EX2.10/Ex2_10.sce b/3897/CH2/EX2.10/Ex2_10.sce
new file mode 100644
index 000000000..e61c07ab0
--- /dev/null
+++ b/3897/CH2/EX2.10/Ex2_10.sce
@@ -0,0 +1,21 @@
+clc; clear;
+// Example 2.9
+// Page 35
+// Given data
+Da=1; // diameter at branch A in ft
+Db=1/3; // diameter at branch B in ft
+Dc=0.5; // diameter at branch C in ft
+Va=1.0; // velocity at branch A in ft/s
+Vb=5.0; // velocity at branch B in ft/s
+// estimation
+Aa=%pi*(Da)^2/4; // flow area at branch A in ft^2
+Ab=%pi*(Db)^2/4; // flow area at branch B in ft^2
+Ac=%pi*(Dc)^2/4; // flow area at branch C in ft^2
+Qa=Aa*Va; // flow rate at branch A in ft^3/s
+Qb=Ab*Vb; // flow rate at branch B in ft^3/s
+Qc=Qa-Qb; // flow rate at branch C is diff of Qa & Qb, ft^3/s
+Vc=Qc/Ac; // velocity at branch C in ft/s
+printf('Velocity at branch C = %f ft/s',Vc)
+clear
+
+
diff --git a/3897/CH2/EX2.11/Ex2_11.sce b/3897/CH2/EX2.11/Ex2_11.sce
new file mode 100644
index 000000000..110610490
--- /dev/null
+++ b/3897/CH2/EX2.11/Ex2_11.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 2.11
+// Page 36
+// Given data
+D1=1; // diameter at section 1 in ft
+D2=0.333; // diameter at section 2 in ft
+Q1=2.0; // flow rate at section 1 in cfs
+Q2=2.0; // flow rate at section 2 in cdf
+P1=100; // pressure at section 1, psi
+// estimation
+A1=%pi*(D1)^2/4; // flow area at section 1 in ft^2
+A2=%pi*(D2)^2/4; // flow area at section 2 in ft^2
+V1=Q1/A1; // velocity at section 1, ft/s
+V2=Q2/A2; // vel at section 2, ft/s
+P1=100*144; // pressure at section 1, lb/ft^2
+P2=((P1/62.4)+(V1^2/(2*32.2))-(V2^2/(2*32.2)))*(62.4/144); // pressure at section 2, psi, from equation 2-8b
+printf('The pressure at section 2 = %f psi',P2)
+clear
+
+
diff --git a/3897/CH2/EX2.12/Ex2_12.sce b/3897/CH2/EX2.12/Ex2_12.sce
new file mode 100644
index 000000000..5668931b8
--- /dev/null
+++ b/3897/CH2/EX2.12/Ex2_12.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 2.12
+// Page 38
+// Given data
+hl=10; // head loss, ft per 1000 ft of pipeline
+D=12; // diameter, inch
+C=100; // from Hazen/Williams equation
+// estimation
+S=hl/1000; // unitless quantity
+Q=0.28*C*D^2.63*S^0.54; // flow rate in pipe, from equation 2-9
+printf('The flow rate in pipe = %f gpm',Q)
+clear
+
+
+
diff --git a/3897/CH2/EX2.13/Ex2_13.sce b/3897/CH2/EX2.13/Ex2_13.sce
new file mode 100644
index 000000000..b6dcc9dd1
--- /dev/null
+++ b/3897/CH2/EX2.13/Ex2_13.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 2.13
+// Page 38
+// Given data
+Q=1.0; // flow rate in cfs
+D=8; // diameter in inch
+L=1; //mile
+//estimation
+Q=Q*7.48*60; // flow rate, gpm
+S=0.0064; // from nomograpch for given D and Q values
+L=5280; // ft
+hl=S*L; // ft
+P=0.43*hl; // pressure drop, psi/mi, using equation 2-2b
+printf('The pressure drop P = %f psi/mi',P)
+clear
+
+
+
+
diff --git a/3897/CH2/EX2.14/Ex2_14.sce b/3897/CH2/EX2.14/Ex2_14.sce
new file mode 100644
index 000000000..1cd540398
--- /dev/null
+++ b/3897/CH2/EX2.14/Ex2_14.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 2.14
+// Page 39
+// Given data
+Q=30; // flow rate, L/s
+P=10; // pressure drop, kPa
+L=1; // in km
+// estimation
+hl=0.10*P; // m/km, using equation 2-3a
+L=1000; // in m
+S=hl/L; // unitless quantity
+D=310; // pipe diameter, mm, using nomograph for given Q and S values
+printf('The diameter of the pipe D = %f mm',D)
+clear
+
+
+
diff --git a/3897/CH2/EX2.15/Ex2_15.sce b/3897/CH2/EX2.15/Ex2_15.sce
new file mode 100644
index 000000000..594bbd2f8
--- /dev/null
+++ b/3897/CH2/EX2.15/Ex2_15.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 2.15
+// Page 39
+// Given data
+D1=100; //mm
+D2=50; //mm
+P=75; //kPa
+C=0.98; // discharge coefficient
+//estimation
+D1=D1/1000; //m
+D2=D2/1000; //m
+A1=%pi*(D1)^2/4; //m^2
+A2=%pi*(D2)^2/4; //m^2
+Q=C*A2*((2*9.8*P/9.8)/(1-(A2/A1)^2))^(1/2); // flow rate, m^3/s, equation 2-10
+printf('The flow rate in pipe Q = %f m^3/s',Q)
+clear
+
+
+
diff --git a/3897/CH2/EX2.16/Ex2_16.sce b/3897/CH2/EX2.16/Ex2_16.sce
new file mode 100644
index 000000000..465bb1abc
--- /dev/null
+++ b/3897/CH2/EX2.16/Ex2_16.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 2.16
+// Page 41
+// Given data
+W=3; //width of channel, ft
+D=1.5; // depth of water, ft
+slope=0.5; //ft per 100 ft
+//estimation
+A=W*D; // flow area, ft^2
+P=D+W+D; // wetted perimeter, ft
+R=A/P; // hydrolic radius, ft
+S=slope/100; // unitless quantity
+Q=1.5/0.013*A*R^(2/3)*S^(1/2); // from Manning's formula
+printf('The flow rate in pipe Q = %f cfs',Q)
+clear
+
+
+
+
diff --git a/3897/CH2/EX2.17/Ex2_17.sce b/3897/CH2/EX2.17/Ex2_17.sce
new file mode 100644
index 000000000..b3c5b4540
--- /dev/null
+++ b/3897/CH2/EX2.17/Ex2_17.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 2.17
+// Page 42
+// Given data
+D=12; // dia in inch
+S=0.01; // unitless quantity
+// estimation
+D=D/12; /// dia in ft
+A=%pi*(D)^2/4; // flow area, ft^2
+R=D/4; // for circular pipe, Manning's formula
+Q=1.5/0.013*A*R^(2/3)*S^(1/2); // from Manning's formula
+V=Q/A; // flow velocity, ft/s
+printf('The flow rate in pipe Q = %f cfs\n',Q)
+printf('The flow velocity in pipe V = %f ft/s',V)
+clear
+
+
+
+
diff --git a/3897/CH2/EX2.18/Ex2_18.sce b/3897/CH2/EX2.18/Ex2_18.sce
new file mode 100644
index 000000000..7c239bff4
--- /dev/null
+++ b/3897/CH2/EX2.18/Ex2_18.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 2.18
+// Page 42
+// Given data
+D=450; // dia in mm
+S=0.02; // unitless quantity
+// estimation
+D=D/1000; /// dia in m
+A=%pi*(D)^2/4; // flow area, ft^2
+R=D/4; // for circular pipe, Manning's formula
+Q=1.0/0.013*A*R^(2/3)*S^(1/2); // from Manning's formula
+V=Q/A; // flow velocity, ft/s
+printf('The discharge capacity of the pipe = %f m^3/s\n',Q)
+printf('The flow velocity in pipe V = %f ft/s',V)
+clear
+
+
+
+
+
diff --git a/3897/CH2/EX2.19/Ex2_19.sce b/3897/CH2/EX2.19/Ex2_19.sce
new file mode 100644
index 000000000..92ecdf37a
--- /dev/null
+++ b/3897/CH2/EX2.19/Ex2_19.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 2.19
+// Page 44
+// Given data
+Q=500; // flow rate in L/s
+S=0.25; // percent
+// estimation
+Q=Q*(1/10^3); // flow rate in m^3/s
+S=S/100;
+D=73; // required diameter, cm, from nomograph for given Q and S values
+printf('The required diameter D = %f cm\n',D)
+clear
+
+
+
+
+
diff --git a/3897/CH2/EX2.2/Ex2_2.sce b/3897/CH2/EX2.2/Ex2_2.sce
new file mode 100644
index 000000000..c48cb1ee3
--- /dev/null
+++ b/3897/CH2/EX2.2/Ex2_2.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 2.2
+// Page 30
+// Given data
+ha=100-95; //height of water above point A in m
+hb=100-70; //height of water above point B in m
+hc=hb; //The pressure at the pint C is equal to the pressure at B
+hd=100-55; // height of water above point D in m
+// estimation
+Pa=9.8*ha; // kPa, using equation 2-2a
+Pb=9.8*hb; // kPa
+Pc=9.8*hc; // kPa
+Pd=9.8*hd; // kPa
+printf('The hydrostatic pressure at the point A = %f kPa\n',Pa)
+printf('The hydrostatic pressure at the point B = %f kPa\n', Pb)
+printf('The hydrostatic pressure at the point C = %f kPa\n', Pc)
+printf('The hydrostatic pressure at the point D = %f kPa\n', Pd)
+disp('The hydrostatic pressure at the point E can not be calculated.')
+clear
diff --git a/3897/CH2/EX2.20/Ex2_20.sce b/3897/CH2/EX2.20/Ex2_20.sce
new file mode 100644
index 000000000..deebe6a2f
--- /dev/null
+++ b/3897/CH2/EX2.20/Ex2_20.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 2.20
+// Page 44
+// Given data
+D=16; // dia in inch
+Q=750; // flow rate, gpm
+V=2; // velocity, ft/s
+// estimation
+S=0.00048; // from nomograph for givel Q and D vlaues
+S=0.0014; // to maiantan the given velocity V of flow with given Q and D
+printf('The required slope S = %f ',S)
+clear
+
+
+
+
+
diff --git a/3897/CH2/EX2.21/Ex2_21.sce b/3897/CH2/EX2.21/Ex2_21.sce
new file mode 100644
index 000000000..b95e97e6d
--- /dev/null
+++ b/3897/CH2/EX2.21/Ex2_21.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 2.21
+// Page 44
+// Given data
+D=300; // dia in mm
+S=0.02; // slope
+V=1.9; // full floe velocity, m/s, from nomograph
+// estimation
+Q=135; // flow rate , L/s, from a nomograph for a given D and S values
+q=96; // partial flow, from nomograph
+d=D*0.62; // for q/Q value from partial flow diagram
+v=V*1.08; // partial flow velocity, m/s, from velocity curve
+printf('The depth of water d = %f mm\n',d)
+printf('The velocity of flow at depth d = %f m/s',v)
+clear
+
+
+
+
+
diff --git a/3897/CH2/EX2.22/Ex2_22.sce b/3897/CH2/EX2.22/Ex2_22.sce
new file mode 100644
index 000000000..ccef77205
--- /dev/null
+++ b/3897/CH2/EX2.22/Ex2_22.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 2.22
+// Page 45
+// Given data
+D=900; // pipe diameter, mm
+S=0.1; // slope
+// estimation
+Q=550; // full flow capacity of pipe, L/s, from nomograpch
+q=1.08*Q; // maximum discharge, L/s
+printf('The maximum possible discharge q = %f L/s',q)
+clear
+
+
+
+
+
diff --git a/3897/CH2/EX2.23/Ex2_23.sce b/3897/CH2/EX2.23/Ex2_23.sce
new file mode 100644
index 000000000..45280b879
--- /dev/null
+++ b/3897/CH2/EX2.23/Ex2_23.sce
@@ -0,0 +1,22 @@
+clc; clear;
+// Example 2.23
+// Page 45
+// Given data
+D=18; // pipe diameter, inch
+S=1.6; // slope over 400 ft distance
+d=6; //depth of flow, inch
+// estimation
+S=1.6/400; // slope
+Q=2900; // flow rate in gpm from nomograph
+V=3.8; // velocity, fps
+depth_ratio=d/D;
+q=0.22*Q; // from partial flow diagram, for a given depth_ratio values
+v=0.82*V; // from partial flow velocity diagram, for a given depth_ration vlaue
+printf('The discharge q = %f gpm\n',q)
+printf('The velocity in pipe v = %f ft/s\n',v)
+clear
+
+
+
+
+
diff --git a/3897/CH2/EX2.24/Ex2_24.sce b/3897/CH2/EX2.24/Ex2_24.sce
new file mode 100644
index 000000000..b51cfc834
--- /dev/null
+++ b/3897/CH2/EX2.24/Ex2_24.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 2.24
+// Page 45
+// Given data
+D=10; // the travel distance, m
+T=20; // the travel time, second
+w=1.5; // width of ditch, m
+d=0.5; // depth of flow, m
+// estimation
+V=D/T; // flow velocity, m/s
+A=w*d; // area of channel, m^2
+Q=A*V; // the discharge, m^3/s
+printf('The discharge Q = %f m^3/s\n',Q)
+clear
+
+
+
+
+
+
diff --git a/3897/CH2/EX2.25/Ex2_25.sce b/3897/CH2/EX2.25/Ex2_25.sce
new file mode 100644
index 000000000..fa9203160
--- /dev/null
+++ b/3897/CH2/EX2.25/Ex2_25.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 2.25
+// Page 46
+// Given data
+H=100; // head on the weir, mm
+// estimation
+H=H*(1/25.4)*(1/12); // head in ft
+Q=2.5*H^2.5; // discharge, in ft^3/s, from equation 2-12
+Q=Q*28.32; // discharge in L/s
+printf('The discharge Q = %f L/s\n',Q)
+clear
+
+
+
+
+
+
+
diff --git a/3897/CH2/EX2.26/Ex2_26.sce b/3897/CH2/EX2.26/Ex2_26.sce
new file mode 100644
index 000000000..a4150c378
--- /dev/null
+++ b/3897/CH2/EX2.26/Ex2_26.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 2.26
+// Page 47
+// Given data
+b=18; // base width of weir in inch
+h=9; // head on the weir in inch
+// estimation
+b=b/12; // width of wier in ft
+h=h/12; // head on the weir in ft
+Q=3.4*b*h^1.5; // discharge over Cipoletti wier from equation 2-13
+printf('The discharge Q = %f ft^3/s\n',Q)
+clear
+
+
+
+
+
+
+
+
diff --git a/3897/CH2/EX2.3/Ex2_3.sce b/3897/CH2/EX2.3/Ex2_3.sce
new file mode 100644
index 000000000..a68b00656
--- /dev/null
+++ b/3897/CH2/EX2.3/Ex2_3.sce
@@ -0,0 +1,11 @@
+clc; clear;
+// Example 2.3
+// Page 31
+// Given data
+P=13; //pressure at tank in psi
+// estimation
+h=2.3*P // ft, using euqation 2-3b
+printf('The pressure head at that point = %f ft\n',h)
+printf('The total depth of water in the tank = %f ft\n',h+5)
+clear
+
diff --git a/3897/CH2/EX2.4/Ex2_4.sce b/3897/CH2/EX2.4/Ex2_4.sce
new file mode 100644
index 000000000..0f6461ebe
--- /dev/null
+++ b/3897/CH2/EX2.4/Ex2_4.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 2.4
+// Page 31
+// Given data
+P= 30; // pressure at tank in kPa
+// estimation
+// part (a)
+h=0.10*P; // m, using equation 2-3a
+printf('The pressure head of water at tank bottom = %f m\n',h)
+// part (b)
+printf('The water would rise in vertical tube = %f m\n',h)
+// part (c)
+printf('The pressure in the trapped air = %f kPa\n',P-9.8)
+clear
diff --git a/3897/CH2/EX2.5/Ex2_5.sce b/3897/CH2/EX2.5/Ex2_5.sce
new file mode 100644
index 000000000..913be5682
--- /dev/null
+++ b/3897/CH2/EX2.5/Ex2_5.sce
@@ -0,0 +1,11 @@
+clc; clear;
+// Example 2.5
+// Page 33
+// Given data
+f=50; // flow in m^3/s
+// estimation
+f1=f*1000; // in L/s
+f2=f1*3600*24*(1/10^6); // in ML/d
+printf('The converted flow = %f L/s\n',f1)
+printf('The converted flow = %f ML/d',f2)
+clear;
diff --git a/3897/CH2/EX2.6/Ex2_6.sce b/3897/CH2/EX2.6/Ex2_6.sce
new file mode 100644
index 000000000..22f07c534
--- /dev/null
+++ b/3897/CH2/EX2.6/Ex2_6.sce
@@ -0,0 +1,12 @@
+clc; clear;
+// Example 2.6
+// Page 33
+// Given data
+f=50; // flow in ft^3
+// estimation
+f1=f*7.48*60; // flow in gpm
+f2=f1*60*24; // flow in mgd
+printf('The converted flow = %f gpm\n',f1)
+printf('The converted flow = %f mgd\n',f2)
+clear
+
diff --git a/3897/CH2/EX2.7/Ex2_7.sce b/3897/CH2/EX2.7/Ex2_7.sce
new file mode 100644
index 000000000..330aebb4c
--- /dev/null
+++ b/3897/CH2/EX2.7/Ex2_7.sce
@@ -0,0 +1,12 @@
+clc; clear;
+// Example 2.7
+// Page 34
+// Given data
+V=4.0; // average velocity in ft/s
+D=18/12; // diameter in ft
+// estimation
+A=%pi*1.5^2/4; // flow area in ft^2
+Q=A*V; // flow rate in cfs, using equation 2-4
+printf('The flow rate = %f cfs\n',Q)
+clear
+
diff --git a/3897/CH2/EX2.8/Ex2_8.sce b/3897/CH2/EX2.8/Ex2_8.sce
new file mode 100644
index 000000000..eba20aadb
--- /dev/null
+++ b/3897/CH2/EX2.8/Ex2_8.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 2.8
+// Page 34
+// Given data
+Q=50; // flow in ML/d
+V=3.0; // velocity in m/s
+// estimation
+Q=Q*10^6*(1/24)*(1/3600)*(1/1000); // flow in m^3/s
+A=Q/V; // flow area in m^2
+D=(4*A/%pi)^(1/2); // diameter of pipe in m
+printf('The diameter of pipe = %f m\n',D)
+clear
+
+
diff --git a/3897/CH2/EX2.9/Ex2_9.sce b/3897/CH2/EX2.9/Ex2_9.sce
new file mode 100644
index 000000000..7674c611a
--- /dev/null
+++ b/3897/CH2/EX2.9/Ex2_9.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 2.9
+// Page 35
+// Given data
+Q=1000; // flow in L/s
+A1=0.50; // area at section 1 in m^2
+A2=0.25; // arear at section 2 in m^2
+// estimation
+Q=Q/1000; // flow in m^3/s
+V1=Q/A1; // velocity at section 1 in m/s
+V2=Q/A2; // velocity at section 2 in m/s
+printf('Velocity at section 1= %f m/s\n',V1)
+printf('Velocity at section 2 = %f m/s',V2)
+clear
+
+
diff --git a/3897/CH3/EX3.1/Ex3_1.sce b/3897/CH3/EX3.1/Ex3_1.sce
new file mode 100644
index 000000000..825dcb3a0
--- /dev/null
+++ b/3897/CH3/EX3.1/Ex3_1.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 3.1
+// Page 61
+// Given data
+depth=25.0; // rainfall depth in mm
+A=2.5; // Area in ha
+//estimation
+depth=depth/1000; // rainfall depth in m
+A=A*10000; // area in m^2
+V=depth*A; // total volume of water, from equation 3-1
+printf('The total volume of water V = %f m^3',V)
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.10/Ex3_10.sce b/3897/CH3/EX3.10/Ex3_10.sce
new file mode 100644
index 000000000..1670c3cbb
--- /dev/null
+++ b/3897/CH3/EX3.10/Ex3_10.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 3.10
+// Page 80
+// Given data
+S=1.0; // slope of water table over a distance of 200 m, in m
+K=0.1; // coefficient of permeability, mm/s
+//estimation
+S=S/200; // slope of water table
+V=K*S; // velocity of groundwater flow in aquifer, mm/s
+printf('The velocity of groundwater flow in aquifer V = %f mm/s',V)
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.2/Ex3_2.sce b/3897/CH3/EX3.2/Ex3_2.sce
new file mode 100644
index 000000000..b396fb008
--- /dev/null
+++ b/3897/CH3/EX3.2/Ex3_2.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 3.2
+// Page 61
+// Given data
+depth=25.0; // rainfall depth in mm
+T=20; // duration of rainfall storm in minute
+//estimation
+I=depth/T*60; // rainfall intensity
+printf('The rainfall intensity I = %f mm/h',I)
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.3/Ex3_3.sce b/3897/CH3/EX3.3/Ex3_3.sce
new file mode 100644
index 000000000..5970a9320
--- /dev/null
+++ b/3897/CH3/EX3.3/Ex3_3.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 3.3
+// Page 62
+// Given data
+depth=4.0; // rainfall depth in inch
+T=8.0; // duration of rainfall storm in h
+A=120; // area , ac.
+//estimation
+I=depth/T; // rainfall intensity, inch/h
+V=A*depth*(1/12); // volume of rain, acre-feet, from euqtion 3-1
+V=V*43560; // volume of rain , ft^3
+printf('The average rainfall intensity I = %f inch/h\n',I)
+printf('The volume of rain V = %f ft^3',V)
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.4/Ex3_4.sce b/3897/CH3/EX3.4/Ex3_4.sce
new file mode 100644
index 000000000..3bffa65f7
--- /dev/null
+++ b/3897/CH3/EX3.4/Ex3_4.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 3.4
+// Page 64
+// Given data
+depth=50.0; // rainfall depth in mm
+T=40; // duration of rainfall in min
+//estimation
+I=depth/T*60; // rainfall intensity, mm/h
+P=1/7.5; // probability of observing similar rainfall events, from figure 3.6
+printf('The probability of observing similar rainfall events = %f',P)
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.5/Ex3_5.sce b/3897/CH3/EX3.5/Ex3_5.sce
new file mode 100644
index 000000000..9c45f29c5
--- /dev/null
+++ b/3897/CH3/EX3.5/Ex3_5.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 3.3
+// Page 62
+// Given data
+RP=10.0; //return period of rainfaal events, year
+T=60.0; // duration of rainfall in min
+//estimation
+A_cal=1520; // constant values for California, for RP=10-y
+B_cal= 13; // constant value for western states, for RP=10-y
+A_del=5840; // constant value for Delware, fro RP=10-y
+B_del=29; // contant value for Middle Atlantic states, for RP=10-y
+i_cal=A_cal/(T+B_cal); // expected rainfall intensity for Calfornia, mm/h
+i_del=A_del/(T+B_del); // expected rainfall intensity for Delware, mm/h
+printf('The expected rainfall intensity in Calfornia = %f mm/h\n',i_cal)
+printf('The expected rainfall intensity in Delware = %f mm/h\n',i_del)
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.6/Ex3_6.sce b/3897/CH3/EX3.6/Ex3_6.sce
new file mode 100644
index 000000000..a47cb52a3
--- /dev/null
+++ b/3897/CH3/EX3.6/Ex3_6.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 3.6
+// Page 66
+// Given data
+disp('This problem is completely theoritical')
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.7/Ex3_7.sce b/3897/CH3/EX3.7/Ex3_7.sce
new file mode 100644
index 000000000..b649ade7c
--- /dev/null
+++ b/3897/CH3/EX3.7/Ex3_7.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 3.7
+// Page 67
+// Given data
+RP1=5.0; // return period of first event, y
+T1=24.0; // duration of first storm, hrs
+RP2=100.0; // return period of second event, y
+T2=20.0; // duration of second storm, min
+//estimation
+disp('5-year storn could could do more damage than the 100-year storm, from figure 3.8 and table 3.1')
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.8/Ex3_8.sce b/3897/CH3/EX3.8/Ex3_8.sce
new file mode 100644
index 000000000..6e514ce50
--- /dev/null
+++ b/3897/CH3/EX3.8/Ex3_8.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 3.8
+// Page 72
+// Given data
+disp('Thus problem is completely theoritical and graphical')
+clear
+
+
+
+
diff --git a/3897/CH3/EX3.9/Ex3_9.sce b/3897/CH3/EX3.9/Ex3_9.sce
new file mode 100644
index 000000000..17b7b98ef
--- /dev/null
+++ b/3897/CH3/EX3.9/Ex3_9.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 3.9
+// Page 74
+// Given data
+disp('Thus problem is completely theoritical and graphical')
+clear
+
+
+
+
diff --git a/3897/CH4/EX4.1/Ex4_1.sce b/3897/CH4/EX4.1/Ex4_1.sce
new file mode 100644
index 000000000..d69d5db6d
--- /dev/null
+++ b/3897/CH4/EX4.1/Ex4_1.sce
@@ -0,0 +1,22 @@
+clc; clear;
+// Example 4.1
+// Page 97
+// Given data
+sol=500; // aqueous sal solution, mL
+salt=125; // salt dissolved in solution, mg
+//estimation
+C_a=salt/sol*1000; // concentration of solution, in mg/L
+C_b=C_a; // concentration of solution, in ppm
+C_c=C_a*(1/17.1); // concentration of solution, in gpg
+C_d=(salt/1000)/sol*100; // concentration of solution, in percent
+C_e=C_a*8.34; // concentration of solution, in lb/mil gal
+printf('The concentration of solution C= %f mg/L\n',C_a)
+printf('The concentration of solution C= %f ppm\n',C_b)
+printf('The concentration of solution C= %f gpg\n',C_c)
+printf('The concentration of solution C= %f percent\n',C_d)
+printf('The concentration of solution C= %f lb/mil gal',C_e)
+clear
+
+
+
+
diff --git a/3897/CH4/EX4.2/Ex4_2.sce b/3897/CH4/EX4.2/Ex4_2.sce
new file mode 100644
index 000000000..9b200267c
--- /dev/null
+++ b/3897/CH4/EX4.2/Ex4_2.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 4.2
+// Page 97
+// Given data
+w=8.0; // water, mil gal
+C=0.2; // required concentration, mg/L
+//estimation
+C=C*8.34; // required concentration in lb/mil gal
+chl=C*w; // chlorine, pounds
+printf('The required qunatity of chlorine= %f lb',chl)
+clear
+
+
+
+
diff --git a/3897/CH4/EX4.3/Ex4_3.sce b/3897/CH4/EX4.3/Ex4_3.sce
new file mode 100644
index 000000000..bda65346b
--- /dev/null
+++ b/3897/CH4/EX4.3/Ex4_3.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 4.3
+// Page 104
+// Given data
+BOD5=180; // 5 days BOD mg/L
+t=5; // time, d
+k=0.1; // rate of BOD reaction
+//estimation
+BODL=BOD5/(1-10^(-k*t))
+printf('The ultimate BOD = %f mg/L',BODL)
+clear
+
+
+
+
diff --git a/3897/CH4/EX4.4/Ex4_4.sce b/3897/CH4/EX4.4/Ex4_4.sce
new file mode 100644
index 000000000..7c5f4a75d
--- /dev/null
+++ b/3897/CH4/EX4.4/Ex4_4.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 4.4
+// Page 105
+// Given data
+DO0=8.5; // initial DO, mg/L
+DO5=5.0; // Do after 5 days, mg/L
+V=6; // volume of sample, mL
+t=5; // time, d
+k=0.1; // rate of reaction
+//estimation
+BOD5=(DO0-DO5)*300/V; // BOD5 mg/L, from eq 4-3
+BODL=BOD5/(1-10^(-k*t)); // ultimate BOD, mg/L, from eq 4-2
+printf('The 5-days BOD = %f mg/L \n',BOD5)
+printf('The ultimate BOD = %f mg/L',BODL)
+
+clear
+
+
+
+
diff --git a/3897/CH4/EX4.5/Ex4_5.sce b/3897/CH4/EX4.5/Ex4_5.sce
new file mode 100644
index 000000000..257cf5b7c
--- /dev/null
+++ b/3897/CH4/EX4.5/Ex4_5.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 4.5
+// Page 106
+// Given data
+A=40.545; // weight of dish plus residue, g
+B=40.525; // weight of empty dish, g
+V=100; // volume of the sample, mL
+//estimation
+A=A*1000; // weight of dish plus residue, mg
+B=B*1000; // weight of empty dish, mg
+TDS=(A-B)*1000/V; // total dissolved solids, mg/L
+printf('The TDS = %f mg/L',TDS)
+clear
+
+
+
+
diff --git a/3897/CH4/EX4.6/Ex4_6.sce b/3897/CH4/EX4.6/Ex4_6.sce
new file mode 100644
index 000000000..021f1ac20
--- /dev/null
+++ b/3897/CH4/EX4.6/Ex4_6.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 4.6
+// Page 114
+// Given data
+N=16; // no of colonies in sample
+V=4; // volume of sample
+//estimation
+C=N*100/V; // colifomrs per 100 mL, from eq 4-5
+printf('The coliforms per 100 mL = %f',C)
+clear
+
+
+
+
diff --git a/3897/CH5/EX5.1/Ex5_1.sce b/3897/CH5/EX5.1/Ex5_1.sce
new file mode 100644
index 000000000..8d2b5a4e3
--- /dev/null
+++ b/3897/CH5/EX5.1/Ex5_1.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 5.1
+// Page 129
+// Given data
+cs=2; // original stream concentration, mg/L
+Qs=40; // stream discharge, ML/d
+cw=25; // waste concentration, mg/L
+Qw=4.0; // waste discharge, ML/d
+//estimation
+cd=(cs*Qs+cw*Qw)/(Qs+Qw); // diluted 5 days BOD concen from eq 5-1, mg/L
+printf('The diluted 5 days BOD= %f mg/L',cd)
+clear
+
+
+
+
diff --git a/3897/CH5/EX5.2/Ex5_2.sce b/3897/CH5/EX5.2/Ex5_2.sce
new file mode 100644
index 000000000..125f3c68b
--- /dev/null
+++ b/3897/CH5/EX5.2/Ex5_2.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 5.2
+// Page 129
+// Given data
+cs=25; // temp, cel
+Qs=100; // stream discharge, cfs
+cw=65; // temp, cel
+cd=27; // max temp, cel
+//estimation
+Qw=(cs-cd)*Qs/(cd-cw) // dischage of warm water, from eq 5-1, cfs
+printf('The discharge of warm water = %f cfs',Qw)
+clear
+
+
+
+
diff --git a/3897/CH5/EX5.3/Ex5_3.sce b/3897/CH5/EX5.3/Ex5_3.sce
new file mode 100644
index 000000000..643be6925
--- /dev/null
+++ b/3897/CH5/EX5.3/Ex5_3.sce
@@ -0,0 +1,31 @@
+clc; clear;
+// Example 5.3
+// Page 131
+// Given data
+// There is error with this example in the text book, 11-4.4=6.6 while, in the text book its given 5.6
+cs=3; // BOD con in stream, mg/L
+DO_stream=9; // DO con, mg/L
+Qs=15; // stream discharge, mgd
+cw=50; // BOD con in effluent, mg/L
+DO_sewage=2; // DO con in sewage, mg/L
+Qw=5; // discharge with BOD, mgd
+DO_sat=11; // saturated DO, mg/L
+k1=0.2; // deoxygenation rate conctant, d^-1
+k2=0.5; // reaction rate conctant, d^-1
+//estimation
+BODL=(cs*Qs+cw*Qw)/(Qs+Qw); // diluted 5 days BOD concen from eq 5-1, mg/L
+DO=(DO_stream*Qs+DO_sewage*Qw)/(Qs+Qw); // DO con, mg/L, from eq 5-1
+
+Di=DO_sat-DO; // initial oxygen deficit, mg/L
+
+tc= (1/(k2-k1))*log10((k2/k1)*(1-Di*((k2-k1)/(k1*BODL)))); // time for critical oxygen dificit, days
+Dc=(k1*BODL/(k2-k1))*(10^(-k1*tc)-10^(-k2*tc))+ (Di*10^(-k2*tc)); // critical oxygen dificit, mg/L, eq. 5-3
+
+min_DO=DO_sat-Dc; // minimum DO in stream, mg/L
+
+printf('The minimum DO in the stream = %f mg/L',min_DO)
+//clear
+
+
+
+
diff --git a/3897/CH6/EX6.1/Ex6_1.sce b/3897/CH6/EX6.1/Ex6_1.sce
new file mode 100644
index 000000000..3ec2088be
--- /dev/null
+++ b/3897/CH6/EX6.1/Ex6_1.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 6.1
+// Page 157
+// Given data
+V=15000; // volume of tank, m^3
+Q=120; // flow rate, ML/d
+//estimation
+V=V/1000; // Volume of tank, ML
+TD=V/Q; // detection time, day
+printf('The detention time = %f day',TD)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.2/Ex6_2.sce b/3897/CH6/EX6.2/Ex6_2.sce
new file mode 100644
index 000000000..e493a7f1d
--- /dev/null
+++ b/3897/CH6/EX6.2/Ex6_2.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 6.2
+// Page 157
+// Given data
+TD=3; // detention time, hour
+Q=6; // flow rate, mgd
+A=10000; // surface area of tank, ft^2
+//estimation
+Q=Q*10^6*(1/24); // floq rate, gal/h
+V=TD*Q; // Volume of tank, gal
+V=V/7.5; // volume of tank, ft^3
+D=V/A; // depth of water in tank, ft
+printf('The required volume of tank = %f ft^3\n',V)
+printf('The depth of water in tank = %f ft',D)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.3/Ex6_3.sce b/3897/CH6/EX6.3/Ex6_3.sce
new file mode 100644
index 000000000..a658ba33d
--- /dev/null
+++ b/3897/CH6/EX6.3/Ex6_3.sce
@@ -0,0 +1,13 @@
+clc; clear;
+// Example 6.3
+// Page 158
+// Given data
+Q=700; // over flow rate, gpd/ft^2
+//estimation
+V=Q*(1/7.5)*(1/24); // settling velocity, ft/h
+printf('The settling velocity = %f ft/h',V)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.4/Ex6_4.sce b/3897/CH6/EX6.4/Ex6_4.sce
new file mode 100644
index 000000000..ec50699b5
--- /dev/null
+++ b/3897/CH6/EX6.4/Ex6_4.sce
@@ -0,0 +1,23 @@
+clc; clear;
+// Example 6.4
+// Page 158
+// Given data
+TD=4; // detention time, hour
+Q=6; // average flow rate, ML/d
+Vo=20; // maximum overflow rate, m^3/m/^2-d
+//estimation
+Q=Q/24; // average flow rate, ML/h
+V=Q*TD; // required volume, ML, eq 6-1
+V=V*10^6; // required volume, L
+V=V/1000; // required volume, m^3
+Q=6*10^6/10^3; // average flow rate, m^3/d
+As=Q/Vo; // surface area, m^2, eq 6-2
+D=sqrt(4*As/%pi); // dia of tank, m
+SWD=V/As; // SWD of tank, m
+printf('The required dia of tank = %f m\n',D)
+printf('The SWD of tank = %f m',SWD)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.5/Ex6_5.sce b/3897/CH6/EX6.5/Ex6_5.sce
new file mode 100644
index 000000000..0b0b325e4
--- /dev/null
+++ b/3897/CH6/EX6.5/Ex6_5.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 6.5
+// Page 166
+// Given data
+Q=0.25; // flow rate, mgd
+A=50; // surface area of tank, ft^2
+//estimation
+Q=Q*10^6*(1/24)*(1/60); // flow rate, gal/min
+R=Q/A; // filtration rate, gpm/ft^2
+V=R/7.5; // velocity of flow, ft/min
+printf('The filtration rate = %f gpm/ft^2\n',R)
+printf('The velocity of flow = %f ft/min',V)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.6/Ex6_6.sce b/3897/CH6/EX6.6/Ex6_6.sce
new file mode 100644
index 000000000..16bdce555
--- /dev/null
+++ b/3897/CH6/EX6.6/Ex6_6.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 6.6
+// Page 166
+// Given data
+Q=6; // flow rate, ML/d
+R=2.8; // filtration rate, L/m^2
+//estimation
+Q=Q*10^6*(1/24)*(1/3600); // flow rate, L/s
+A=Q/R; // require surface area, m^2
+S=sqrt(A); // side dimension, m
+printf('The required surface area = %f m^2\n',A)
+printf('The sie dimensin of box = %f m',S)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.7/Ex6_7.sce b/3897/CH6/EX6.7/Ex6_7.sce
new file mode 100644
index 000000000..c9c58c230
--- /dev/null
+++ b/3897/CH6/EX6.7/Ex6_7.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 6.7
+// Page 167
+// Given data
+T=12; // backwash time, min
+Q_backwash=10; // flow rate for backwash, L/m^2
+Q=6; // flow rate, ML/d
+A=25; // surface area, m^2
+//estimation
+V=Q_backwash*A*T*60/10^3; // volume of water used in backwash, m^3
+Q=Q*10^3; // flow rate in m^3
+P=V/Q*100;
+printf('The percentage of water used in backwash = %f percent',P)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.8/Ex6_8.sce b/3897/CH6/EX6.8/Ex6_8.sce
new file mode 100644
index 000000000..435b80012
--- /dev/null
+++ b/3897/CH6/EX6.8/Ex6_8.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 6.8
+// Page 170
+// Given data
+Q=7.5; // flow, mgd
+chl=0.5; // chlorine dose, mg/L
+d=1; // duration, month
+//estimation
+lbd=8.34*Q*chl; // lb/d, eq 6-3b
+N=lbd*30/100; // no of cylinder required
+N=ceil(N)
+printf('The number of cylinder required = %f per month',N)
+clear
+
+
+
+
diff --git a/3897/CH6/EX6.9/Ex6_9.sce b/3897/CH6/EX6.9/Ex6_9.sce
new file mode 100644
index 000000000..c9e2bcf10
--- /dev/null
+++ b/3897/CH6/EX6.9/Ex6_9.sce
@@ -0,0 +1,14 @@
+clc; clear;
+// Example 6.9
+// Page 170
+// Given data
+chl=15; // total chlorine, kg
+V=50; // volume of water, ML
+//estimation
+C=chl/V; // chlorine dose, mg/L
+printf('The chlorine dose = %f mg/L',C)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.1/EX7_1.sce b/3897/CH7/EX7.1/EX7_1.sce
new file mode 100644
index 000000000..4e0800faa
--- /dev/null
+++ b/3897/CH7/EX7.1/EX7_1.sce
@@ -0,0 +1,23 @@
+clc; clear;
+// Example 7.1
+// Page 191
+// Given data
+L=300; // length of pipe, m
+l=6; // length of pipe section, m
+D=305; // diameter of pipe, mm
+P=1000; // test pressure, kPa
+OL=10; // observed leakage, L/h
+//estimation
+N=L/l; // number of joints
+QL=N*D*P^(1/2)/32600; // allowable leakage
+if OL<QL then
+ disp('the pipe is sufficiently watertight')
+
+else
+ disp('the pipe is not suffieciently watertight')
+end
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.10/Ex7_10.sce b/3897/CH7/EX7.10/Ex7_10.sce
new file mode 100644
index 000000000..3ed2bb96d
--- /dev/null
+++ b/3897/CH7/EX7.10/Ex7_10.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 7.10
+// Page 205
+// Given data
+Q=100; // flow rate, L/s
+P=150; // pressure, kPa
+D=250; // diameter, mm, from figure
+L=2000; // length, m, from figure
+S=0.024; // from Hazen-Williams nomograph
+//estimation
+hL=S*L; // head loss, m
+P=0.1*P; // meter of pressure head
+Ph=P+48; // pressure head, m, from figure 7.26
+rP=9.8*Ph; // required pressure, kPa
+printf('The required pressure = %f kPa',rP)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.11/Ex7_11.sce b/3897/CH7/EX7.11/Ex7_11.sce
new file mode 100644
index 000000000..1c016eae3
--- /dev/null
+++ b/3897/CH7/EX7.11/Ex7_11.sce
@@ -0,0 +1,25 @@
+clc; clear;
+// Example 7.11
+// Page 207
+// Given data
+Q_AB=450; // flow rate in section AB, L/s
+D_AB=8; // diameter in section AB, inch
+S_AB=0.0064; // from Hazen-Williams nomograph, for section AB
+L_AB=1500; // length of section AB, m, from figure
+
+Q_BC=450; // flow rate in section BC, L/s
+D_BC=12; // diameter of section BC, inch
+S_BC=0.001; // from Hazen-Williams nomograph for section BC
+L_BC=2500; // length of section BC, m, from figure
+//estimation
+hL_AB=S_AB*L_AB; // head loss in section AB, ft
+hL_BC=S_BC*L_BC; // head loss in section BC, ft
+HL=hL_AB+hL_BC; // total head loss from A to C, ft
+S=HL/(L_AB+L_BC); // overall hydraulic gradient
+D=9.5; // diameter for Q=450 and S=0.003, from monogaph
+printf('The equavalent diameter = %f inch',D)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.12/Ex7_12.sce b/3897/CH7/EX7.12/Ex7_12.sce
new file mode 100644
index 000000000..1dc40b3c3
--- /dev/null
+++ b/3897/CH7/EX7.12/Ex7_12.sce
@@ -0,0 +1,23 @@
+clc; clear;
+// Example 7.12
+// Page 208
+// Given data
+hL=10; // head loss, m
+L_AIB=500; // length of branch AIB, m
+L_AIIB=1500; // length of branch AIIB, m
+D_AIB=300; // diameter of branch AIB, mm
+D_AIIB=200; // diameter of branch AIIB, mm
+//estimation
+S_AIB=hL/L_AIB; // hydraulic gradient on branch AIB,
+Q_AIB=143; // flow in branch AIB for S_AIB=0.02 and D_AIB=300 mm, L/s
+S_AIIB=hL/L_AIIB; // hydraulic gradient on branch AIIB,
+Q_AIIB=27; // flow in branch AIB for S_AIIB=0.0067 and D_AIB=200 mm, L/s
+Q=Q_AIB+Q_AIIB; // total flow into junction A
+S=hL/L_AIB; // overall gradient
+D=320; // equivalent diameter for Q=170 L/s and S=0.02 from monograph, mm
+printf('The equavalent diameter = %f mm',D)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.13/Ex7_13.sce b/3897/CH7/EX7.13/Ex7_13.sce
new file mode 100644
index 000000000..34f619171
--- /dev/null
+++ b/3897/CH7/EX7.13/Ex7_13.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 7.13
+// Page 209
+// Given data
+disp('this problem is graphical and required tabular calculation')
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.14/Ex7_14.sce b/3897/CH7/EX7.14/Ex7_14.sce
new file mode 100644
index 000000000..9329b2ff4
--- /dev/null
+++ b/3897/CH7/EX7.14/Ex7_14.sce
@@ -0,0 +1,6 @@
+clc; clear;
+// Example 7.14
+// Page 210
+// Given data
+disp('this problem is graphical and required tabular calculation')
+clear
diff --git a/3897/CH7/EX7.2/Ex7_2.sce b/3897/CH7/EX7.2/Ex7_2.sce
new file mode 100644
index 000000000..67849120b
--- /dev/null
+++ b/3897/CH7/EX7.2/Ex7_2.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 7.2
+// Page 191
+// Given data
+D=18; // diameter of pipe, inch
+delta=90; // chnage in the direction of pipe, degress
+P=80; // water pressure, lb/ft^2
+S=3000; // bearig stress, lb/ft^2
+//estimation
+A=%pi*D^2/4; // area of pipe section, in^2
+F=2*A*P*sin(delta*%pi/(180*2)); // statis thrust, lb, from eq 7-2
+AT=F/S; // area of thrust, ft^2
+printf('The static thrust = %f lb\n',F)
+printf('The thrust area = %f ft^2',AT)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.3/Ex7_3.sce b/3897/CH7/EX7.3/Ex7_3.sce
new file mode 100644
index 000000000..134ffc1e1
--- /dev/null
+++ b/3897/CH7/EX7.3/Ex7_3.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 7.3
+// Page 195
+// Given data
+N1=2000; // impeller speed, rpm
+N2=1500; // impeller speed, rpm
+Q2=100; // discharge, L/s
+H2=25; // discharge pressure, m
+//estimation
+Q1=Q2*(N1/N2); // expected pump discharge, L/s, eq 7-3
+H1=H2*(N1^2/N2^2); // expected discharge pressure, m, eq 7-4
+printf('The expected pump discharge = %f L/s\n',Q1)
+printf('The expected discharge pressure = %f m',H1)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.4/Ex7_4.sce b/3897/CH7/EX7.4/Ex7_4.sce
new file mode 100644
index 000000000..7ec0d4b26
--- /dev/null
+++ b/3897/CH7/EX7.4/Ex7_4.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 7.4
+// Page 197
+// Given data
+disp('this problem is completely graphical.')
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.5/Ex7_5.sce b/3897/CH7/EX7.5/Ex7_5.sce
new file mode 100644
index 000000000..7de6f5681
--- /dev/null
+++ b/3897/CH7/EX7.5/Ex7_5.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 7.5
+// Page 199
+// Given data
+disp('this problem is completely graphical.')
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.6/Ex7_6.sce b/3897/CH7/EX7.6/Ex7_6.sce
new file mode 100644
index 000000000..72ceac551
--- /dev/null
+++ b/3897/CH7/EX7.6/Ex7_6.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 7.6
+// Page 200
+// Given data
+disp('this problem is completely graphical.')
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.7/Ex7_7.sce b/3897/CH7/EX7.7/Ex7_7.sce
new file mode 100644
index 000000000..7bc539ad7
--- /dev/null
+++ b/3897/CH7/EX7.7/Ex7_7.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 7.7
+// Page 201
+// Given data
+Q=500; // discharge, L/s
+TDH=25; // total dynamic head, m
+P_in=150; // power to pump, kW
+//estimation
+Q=Q/1000; // discharge, m^3/s
+P_out=9.8*Q*TDH; // power, kW
+e=(P_out/P_in)*100; // efficiency of pump, percent
+printf('The pump efficiency = %f percent',e)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.8/Ex7_8.sce b/3897/CH7/EX7.8/Ex7_8.sce
new file mode 100644
index 000000000..38e203562
--- /dev/null
+++ b/3897/CH7/EX7.8/Ex7_8.sce
@@ -0,0 +1,21 @@
+clc; clear;
+// Example 7.8
+// Page 201
+// Given data
+Q=1500; // discharge, gpm
+D=10; // diameter of pipe, inch
+L=3000; // length, ft
+h=100; // static head, ft
+e=65; // efficiency of pump, percent
+//estimation
+S=0.024; // slope from nomograph for Q AND D
+hL=S*L; // head loss, ft
+TDH=h+hL; // total dynamic head, ft
+P_out=(Q*TDH)/3960; // hp, eq 7-7
+P_in=(P_out/e)*100; // required brake horsepower, hp
+printf('The required brake horsepower = %f hp',P_in)
+clear
+
+
+
+
diff --git a/3897/CH7/EX7.9/Ex7_9.sce b/3897/CH7/EX7.9/Ex7_9.sce
new file mode 100644
index 000000000..d92790b4c
--- /dev/null
+++ b/3897/CH7/EX7.9/Ex7_9.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 7.9
+// Page 201
+// Given data
+e=50; // efficiency, percent
+P_in=150; // required power, kW
+C=0.15; // power cost, USD
+T=8; // duration, h
+//estimation
+P=P_in/e*100; // power consumption, kW
+E=P*T; // energy consumed in 8 hrs, kW-h
+C_op=E*C; // cost of operation, USD
+printf('The cost of operation = %f USD',C_op)
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.1/Ex8_1.sce b/3897/CH8/EX8.1/Ex8_1.sce
new file mode 100644
index 000000000..167ada080
--- /dev/null
+++ b/3897/CH8/EX8.1/Ex8_1.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 8.1
+// Page 227
+// Given data
+// all input information provided in figure 8.8
+printf('(a). Manhole B-4 is on the westmost end of line B, at station = %f \n',8+44)
+printf('(b). The groud elevation at B-2 is = %f ft\n',90.62)
+printf('(c). The invert out elevation at B-3 is = %f ft\n',84.42)
+printf('(d). The steepest slope between B-3 and B-4 = %f \n',0.006)
+printf('(e). The distance between manhole B-1 and line B = %f ft\n',275.78)
+printf('(a). The depth of manhole B-3 = %f ft',92.44-84.47)
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.2/Ex8_2.sce b/3897/CH8/EX8.2/Ex8_2.sce
new file mode 100644
index 000000000..3d12b7081
--- /dev/null
+++ b/3897/CH8/EX8.2/Ex8_2.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 8.2
+// Page 229
+// Given data
+Q=400; // sewage flow, L/d
+d=25; // population density, people/ha
+A=100; // area, ha
+//estimation
+P=4*Q; // peak flow, L/d per person
+DQ=A*d*P; // design flow rate for the reach, L/d
+DQ=DQ/(24*3600); // design flow rate for the reach, L/s
+printf(' The design flow rate for the reach = %f L/s',DQ)
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.3/Ex8_3.sce b/3897/CH8/EX8.3/Ex8_3.sce
new file mode 100644
index 000000000..310148b07
--- /dev/null
+++ b/3897/CH8/EX8.3/Ex8_3.sce
@@ -0,0 +1,10 @@
+clc; clear;
+// Example 8.3
+// Page 231
+// Given data
+disp('This example is completely graphical.')
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.4/Ex8_4.sce b/3897/CH8/EX8.4/Ex8_4.sce
new file mode 100644
index 000000000..d26b1fe2a
--- /dev/null
+++ b/3897/CH8/EX8.4/Ex8_4.sce
@@ -0,0 +1,35 @@
+clc; clear;
+// Example 8.4
+// Page 232
+// Given data
+E1=1100; // elevation at manhole 1, ft
+E2=1093; // elevation at manhole 2, ft
+E3=1090; // elevation at manhole 3, ft
+Q1=1; // design flow at reach 1, mgd
+Q2=2; // design flow at reach 2, mgd
+C=8; // minimum cover, ft
+L1=300; // length of reach 1, ft
+L2=440; // length of reach 2, ft
+D1=8; // diameter of reach 1, inch, for Q1 and S1
+D2=12; // diameter of reach 2, inch for S2 and Q2
+//estimation
+S1=(E1-E2)/L1; // ground slope in reach 1
+Q1=(Q1*10^6)/(24*60); // desing flow ar reach 1, gal/min
+UIE1=E1-D1-(D1/D2); // upper invert elevation in reach 1, ft
+FS1=S1*L1; // fall of sever at reach 1, ft
+LIE1=UIE1-FS1; // lower invert elevation at reach 1, ft
+
+S2=(E2-E3)/L2; // ground slope in reach 2
+SIE=LIE1+(D1/D2); // sum of invert elevation, ft
+UIE2=SIE-1; // upper invert elevation in reach 2, ft
+FS2=S2*L2; // fall of sever at reach 2, ft
+LIE2=UIE2-FS2; // lower invert elevation at reach 2, ft
+printf(' The upper invert elevation at reach 1 = %f ft\n',UIE1)
+printf(' The lower invert elevation at reach 1 = %f ft\n',LIE1)
+printf(' The upper invert elevation at reach 2 = %f ft\n',UIE2)
+printf(' The lower invert elevation at reach 2 = %f ft',LIE2)
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.5/Ex8_5.sce b/3897/CH8/EX8.5/Ex8_5.sce
new file mode 100644
index 000000000..09b900718
--- /dev/null
+++ b/3897/CH8/EX8.5/Ex8_5.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 8.5
+// Page 239
+// Given data
+d=300; // diameter of pipe, mm
+D=3; // depth of pipe, m
+B=0.60; // trench width, m
+w=18.8; // clay unit weight, kN/m^3
+//estimation
+H=D-(d/100); // pipe cover, m
+H_B=H/B; // ratio pf cover to width
+C=2.6; // coefficient from figure 8.19
+W=C*w*B^2; // dead load due to backfill, kN/m
+printf(' The dead load due to backfill = %f kN/m',W)
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.6/Ex8_6.sce b/3897/CH8/EX8.6/Ex8_6.sce
new file mode 100644
index 000000000..6957d40d0
--- /dev/null
+++ b/3897/CH8/EX8.6/Ex8_6.sce
@@ -0,0 +1,16 @@
+clc; clear;
+// Example 8.6
+// Page 239
+// Given data
+SSS=18; // safe supporting srength, kN/m
+CS= 26.3; // crushing strength, kN/m
+SF=1.5; // safety factor
+//estimation
+LF=(SF*SSS)/CS; // load factor
+printf('The load factor = %f \n',LF)
+disp(' according to load factor, the class D bedding will be adequate.')
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.7/Ex8_7.sce b/3897/CH8/EX8.7/Ex8_7.sce
new file mode 100644
index 000000000..f8d2fc808
--- /dev/null
+++ b/3897/CH8/EX8.7/Ex8_7.sce
@@ -0,0 +1,26 @@
+clc; clear;
+// Example 8.7
+// Page 239
+// Given data
+H=11; // cover, ft
+B=2; // trench width, ft
+SF=1.5; // safety factor
+//estimation
+H_B=H/B; // ratio pf cover to width
+C=3.2; // coefficient, from figure 8.19
+w=130; // unit weight of backfill, lb/ft^3, from table 8.2
+W=C*w*B^2; // dead load due to backfill, lb/ft, from Marston's formula
+CS1=1400; // crushing strength for standard-strength 8-inch VCP, lb/ft
+LF1=(SF*W)/CS1; // load factor, for standard strength VCP
+CS2=2200; // crushing strength for extra-strength VCP, lb/ft
+LF2=(SF*W)/CS2; // load factor, for extra strength VCP
+printf('The load factor for standard strength VCP= %f',LF1)
+disp(' according to load factor, the class B bedding will be adequate.')
+
+printf('The load factor for extra strength VCP= %f',LF2)
+disp(' according to load factor, the class C bedding will be adequate.')
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.8/Ex8_8.sce b/3897/CH8/EX8.8/Ex8_8.sce
new file mode 100644
index 000000000..e69ea3f5a
--- /dev/null
+++ b/3897/CH8/EX8.8/Ex8_8.sce
@@ -0,0 +1,18 @@
+clc; clear;
+// Example 8.8
+// Page 242
+// Given data
+I=45; // infiltration rate, L/d/mm/km
+d=200; // diameter of lateral sewer, mm
+L=1500; // length of sewer, m
+//estimation
+I=I*d*(L/1000); // infiltration, L/d
+Q=19; // discharge, L/s, from manning's nomograph
+Q=Q*3600*24; // discharge, L/d
+RI=(I/Q)*100; // rate of infiltration, percent
+printf(' The rate of infiltration = %f percent',RI)
+clear
+
+
+
+
diff --git a/3897/CH8/EX8.9/Ex8_9.sce b/3897/CH8/EX8.9/Ex8_9.sce
new file mode 100644
index 000000000..12053916f
--- /dev/null
+++ b/3897/CH8/EX8.9/Ex8_9.sce
@@ -0,0 +1,22 @@
+clc; clear;
+// Example 8.9
+// Page 243
+// Given data
+L=400; // sewer length, ft
+Ds=12; // sewe diameter, inch
+Dm=4; // manhole diameter, ft
+d=2; // drop , inch in 1 hr
+//estimation
+A=(%pi*Dm^2)/4; // area, ft^2
+d=d/12; // drop, ft
+V=A*d; // volume of manhole, ft^3
+V=V*7.5; // volume of manhole, gal
+L=L/5280; // length of sewer, mi
+R=V*24; // leackge rate, gal/d
+ex=R/Ds/L; // exfiltration, gal/d/in/mi
+printf(' The exfiltration = %f gal/d/in/mi',ex)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.1/Ex9_1.sce b/3897/CH9/EX9.1/Ex9_1.sce
new file mode 100644
index 000000000..37c3b1ee2
--- /dev/null
+++ b/3897/CH9/EX9.1/Ex9_1.sce
@@ -0,0 +1,15 @@
+clc; clear;
+// Example 9.1
+// Page 256
+// Given data
+A=5; // drainage basin area, ac
+i=3; // rainfall intensity, inch/hr
+C=0.4; // runoff coefficient
+//estimation
+Q=C*i*A; // peak rate, ft^3/s, from eq 9-1
+printf('The peak rate of runoff = %f ft^3/s',Q)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.10/Ex9_10.sce b/3897/CH9/EX9.10/Ex9_10.sce
new file mode 100644
index 000000000..e5be19016
--- /dev/null
+++ b/3897/CH9/EX9.10/Ex9_10.sce
@@ -0,0 +1,26 @@
+clc; clear;
+// Example 9.10
+// Page 271
+// Given data
+Tc=15; // time of concentration, min
+Pin_5=14000; //peak inflow for 5-year storm, m^3/h
+Pout_5=4400; // peak outflow for 5-year storm, m^3/h
+Pin_100=30000; //peak inflow for 100-year storm, m^3/h
+Pout_100=9400; // peak outflow for 100-year storm, m^3/h
+D=2; // depth of water, m
+//estimation
+FF=Pout_5/Pin_5; // flow factor for 5-year storm
+SF=1-FF; // storage factor
+Tc=Tc/60; // time of concentration, hr
+TRV=1.5*Tc*Pin_5; // total rainfall volume, m^3
+SV=SF*TRV; // storage volume, m^3
+A_5=SV/D; // basin area for 5-year storm, m^2
+// for 100-year storm
+FF=Pout_100/Pin_100; // flow factor for 100-year storm
+SF=1-FF; // storage factor
+TRV=1.5*Tc*Pin_100; // total rainfall volume, m^3
+SV=SF*TRV; // storage volume, m^3
+A_100=SV/D; // basin area for 100-year storm, m^2
+printf('The basin area required for 5-year storm = %f m^2\n',A_5)
+printf('The basin area required for 100-year storm = %f m^2',A_100)
+clear
diff --git a/3897/CH9/EX9.2/Ex9_2.sce b/3897/CH9/EX9.2/Ex9_2.sce
new file mode 100644
index 000000000..d357fab50
--- /dev/null
+++ b/3897/CH9/EX9.2/Ex9_2.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 9.2
+// Page 257
+// Given data
+A=2; // drainage basin area, ha
+i=75; // rainfall intensity, mm/hr
+C=0.4; // runoff coefficient
+//estimation
+A=A*10000; // drainage basin area, m^2
+i=0.075; // rainfall intensity, m^2/h
+Q=C*i*A; // peak rate, ft^3/s, from eq 9-1
+printf('The peak rate of runoff = %f m^3/h',Q)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.3/Ex9_3.sce b/3897/CH9/EX9.3/Ex9_3.sce
new file mode 100644
index 000000000..b5234083c
--- /dev/null
+++ b/3897/CH9/EX9.3/Ex9_3.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 9.3
+// Page 258
+// Given data
+AT=15; // drainage basin area, ha
+A1=6.5; // flat drainage area, ha
+A2=6.0; // lawn drainage area, ha
+A3=2.5; //paved drainage area, ha
+C1=0.01; // runnoff coefficient for flat
+C2=0.2; // runnoff coefficient for lawn
+C3=0.95; // runnoff coefficient for paved
+//estimation
+C=1/(AT)*(A1*C1+A2*C2+A3*C3); // composite runoff coefficient, from eq 9-2 and table 9.1
+printf('The composite runoff coefficient = %f ',C)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.4/Ex9_4.sce b/3897/CH9/EX9.4/Ex9_4.sce
new file mode 100644
index 000000000..356deca46
--- /dev/null
+++ b/3897/CH9/EX9.4/Ex9_4.sce
@@ -0,0 +1,21 @@
+clc; clear;
+// Example 9.2
+// Page 257
+// Given data
+A=0.25; // drainage basin area, km^2
+C=0.25; // runoff coefficient
+d=150; // overland flow distance, in m
+s=7; // slope in percent
+//estimation
+A=250000; // drainage basin area, m^2
+i_5=0.070; // 5-year storm intensity for 30 min duration, m/h
+i_100=0.15; // 100-year storm intensity for 30 min duration, m/h
+Q_5=C*i_5*A; // peak rate for 5-year strom, m^3/h
+Q_100=C*i_100*A; // peak rate for 5-year strom, m^3/h
+printf('The peak rate of for 5-year storm = %f m^3/h\n',Q_5)
+printf('The peak rate of for 100-year storm = %f m^3/h',Q_100)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.5/Ex9_5.sce b/3897/CH9/EX9.5/Ex9_5.sce
new file mode 100644
index 000000000..7924f40d4
--- /dev/null
+++ b/3897/CH9/EX9.5/Ex9_5.sce
@@ -0,0 +1,19 @@
+clc; clear;
+// Example 9.5
+// Page 261
+// Given data
+A=1000; // drainage basin area, ac
+Tc=66; // time of concentration, min
+I=7.5; // rainfall intensity, inch
+//estimation
+R=4; // for I=7.5, from fig 9.5
+Tc=Tc/60; // in hr
+A=A/640; // drainage basin area, mi^2
+q=300; // unit peak discharge, csm/in, for Tc=1.1 from fig 9.6
+Q=q*A*R; // peak rate of runoff, ft^3/s, from eq 9.3
+printf('The peak rate of runoff = %f ft^3/s',Q)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.6/Ex9_6.sce b/3897/CH9/EX9.6/Ex9_6.sce
new file mode 100644
index 000000000..97d77110b
--- /dev/null
+++ b/3897/CH9/EX9.6/Ex9_6.sce
@@ -0,0 +1,21 @@
+clc; clear;
+// Example 9.6
+// Page 263
+// Given data
+A=0.25; // drainage basin area, km^2
+C=0.6; // runoff coefficient
+d=150; // overland flow distance, in m
+s=7; // slope in percent
+//estimation
+A=250000; // drainage basin area, m^2
+i_5=0.09; // 5-year storm intensity for 30 min duration, m/h
+i_100=0.19; // 100-year storm intensity for 30 min duration, m/h
+Q_5=C*i_5*A; // peak rate for 5-year strom, m^3/h
+Q_100=C*i_100*A; // peak rate for 5-year strom, m^3/h
+printf('The peak rate of for 5-year storm = %f m^3/h\n',Q_5)
+printf('The peak rate of for 100-year storm = %f m^3/h',Q_100)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.7/Ex9_7.sce b/3897/CH9/EX9.7/Ex9_7.sce
new file mode 100644
index 000000000..1b1e53a18
--- /dev/null
+++ b/3897/CH9/EX9.7/Ex9_7.sce
@@ -0,0 +1,53 @@
+clc; clear;
+// Example 9.7
+// Page 266
+// Given data
+A1=1; // drainage area of chatchment 1, ha
+C1=0.4; // runoff coefficient for catchment 1
+A2=1.5; // dainage area of catchment 2
+C2=0.3; // runoff coefficient for catchment 2
+A3=2; // dainage area of catchment 3
+C3=0.2; // runoff coefficient for catchment 3
+Tc=5; // time of concentration, min
+S1=0.0035; // slope for catchment 1
+S2=0.002; //slope for catchment 2
+S3=0.0015; //slope for catchment 3
+D2=120; // distance from catchment 1 to catchment 2
+D3=180; // distance from catchment 2 to catchment 3
+//estimation
+//A1=1*10000; // drainage area of catchment 1, m^2
+I1=0.15; // intensity, m/h for Tc=5
+Q1=C1*I1*A1*10000; // peak flow in catchment 1, m^3/h
+Q1=Q1/3600; // peak flow in catchment 1, m^3/s
+D1=45; // diameter in catchment 1, in cm for Q1 and S1 from mannings monograph
+V1=1.05; // velocity in catchment 1, in m/s from mannings monograph
+C=1/(A1+A2)*(A1*C1+A2*C2); // composite runoff coefficient
+T=D2/V1; // total time of flow to inlet 2
+Tc=Tc+T; // time of concentration to inlet 2
+I2=0.145; // intensity, m/h for given Tc
+A2=A1+A2; // in m^2
+Q2=C*I2*A2*10000; // peak flow at inlet 2, m^3/h
+Q2=Q2/3600; // peak flow at inlet 2, m^3/s
+D2=65; // diameter in catchment 2, in cm for Q2 and S2 from mannings monograph
+V2=1.02; // velocity at inlet 2, in m/s from mannings monograph
+
+C=1/(A1+A2+A3)*(A1*C1+A2*C2+A3*C3); // composite runoff coefficient
+T=D3/V2; // total time of flow to inlet 3
+Tc=Tc+T; // time of concentration to inlet 3
+I3=0.135; // intensity, m/h for given Tc
+A3=A2+A3; // in m^2
+Q3=C*I3*A3*10000; // peak flow at inlet 3, m^3/h
+Q3=Q3/3600; // peak flow at inlet 3, m^3/s
+D3=80; // diameter in catchment 3, in cm for Q3 and S3 from mannings monograph
+V3=1; // velocity at inlet 3, in m/s from mannings monograph
+printf('The design flow at reach 1 = %f m^3/s\n',Q1)
+printf('The design flow at reach 2 = %f m^3/s\n',Q2)
+printf('The design flow at reach 3 = %f m^3/s\n',Q3)
+printf('The required pipe diameter at reach 1 = %f cm\n',D1)
+printf('The required pipe diameter at reach 2 = %f cm\n',D2)
+printf('The required pipe diameter at reach 3 = %f cm',D3)
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.8/Ex9_8.sce b/3897/CH9/EX9.8/Ex9_8.sce
new file mode 100644
index 000000000..9407e079b
--- /dev/null
+++ b/3897/CH9/EX9.8/Ex9_8.sce
@@ -0,0 +1,20 @@
+clc; clear;
+// Example 9.8
+// Page 270
+// Given data
+Tc=30; // time of concentration, min
+Q=5; // peak runoff rate, m^3/s
+A=10000; // basin detention , m^3
+//estimation
+Tc=Tc*60; // time of concentratio, s
+TRV=1.5*Tc*Q; // total rainfall volume, m^3, from eq 9-6
+SF=A/TRV; // storage factor
+FF=1-SF; // flow factor
+P=FF*Q; // peak outflow, m^3/s
+printf('The peak outflow rate = %f m^3/s',P)
+
+clear
+
+
+
+
diff --git a/3897/CH9/EX9.9/Ex9_9.sce b/3897/CH9/EX9.9/Ex9_9.sce
new file mode 100644
index 000000000..5bdf5558a
--- /dev/null
+++ b/3897/CH9/EX9.9/Ex9_9.sce
@@ -0,0 +1,17 @@
+clc; clear;
+// Example 9.9
+// Page 270
+// Given data
+P=100; //peak outflow, cfs
+Pin=150; // peak inflow, cfs
+TRV=300000; // total rainfall volume, ft^3
+//estimation
+FF=P/Pin; // flow factor
+SF=1-FF; // storage factor
+V=SF*TRV; // storage volume, ft^3
+printf('The storage volume = %f ft^3',V)
+clear
+
+
+
+
diff --git a/3901/CH1/EX0.B.5/ExB_5.sce b/3901/CH1/EX0.B.5/ExB_5.sce
new file mode 100644
index 000000000..9149a1eaf
--- /dev/null
+++ b/3901/CH1/EX0.B.5/ExB_5.sce
@@ -0,0 +1,13 @@
+clc
+clear
+
+w=input("enter the value of omega: ");//initialising w using value from users
+X=(2+%i*w)/(3+%i*w*4);
+
+rl_X=real(X); //finding real part
+img_X=imag(X); //finding imaginary part
+mag_X=abs(X); //finding absolute part
+phas_X=phasemag(X);//finding angle in degree
+
+printf("\nX(w) in-\ncartesian form: real part= %f and imaginary part= %f\n\n",rl_X,img_X);
+printf("polar form : magnitude= %f and angle= %f degrees\n",mag_X,phas_X);
diff --git a/3901/CH1/EX0.b.1/ExB_1.sce b/3901/CH1/EX0.b.1/ExB_1.sce
new file mode 100644
index 000000000..9b2b848b4
--- /dev/null
+++ b/3901/CH1/EX0.b.1/ExB_1.sce
@@ -0,0 +1,14 @@
+clc
+clear
+
+//defining the given complex numbers
+a=complex(2,3);
+b=complex(-2,1);
+c=complex(-2,-3);
+d=complex(1,-3);
+
+printf("sl \t abs_value \t angle(degree)\n");//printing the abs_value and phase of all complex numbers for polar form
+printf("a \t %f \t %f \n",abs(a),phasemag(a));
+printf("b \t %f \t %f \n",abs(b),phasemag(b));
+printf("c \t %f \t %f \n",abs(c),phasemag(c));
+printf("d \t %f \t %f \n",abs(d),phasemag(d));
diff --git a/3901/CH1/EX0.b.10/ExB_10.sce b/3901/CH1/EX0.b.10/ExB_10.sce
new file mode 100644
index 000000000..4e90d81e2
--- /dev/null
+++ b/3901/CH1/EX0.b.10/ExB_10.sce
@@ -0,0 +1,20 @@
+clc
+clear
+
+//for repeated roots use of pfss function is not efficient
+s=%s
+num=4*s^3+16*s^2+23*s+13;// given numerator
+den1=(s+2);//given denominators
+den2=(s+1)^3;
+root1=-1;root2=-2;
+
+g1=num/den1;
+g2=num/den2;
+
+k1=horner(g1,root1); //finding co-efficient for (s+1)^3
+k2=horner(derivat(g1),root1); //finding co-efficient for (s+1)^2
+k3=horner(derivat(derivat(g1)),root1)/2;//finding co-efficient for (s+1)
+k4=horner(g2,root2); //finding co-efficient for (s+2)
+
+printf("the partial fractions are as below\n");
+printf("\t%.0f/(s+1)^3 %.0f/(s+1)^2 %.0f/(s+1) %.0f/(s+2)",k1,k2,k3,k4);
diff --git a/3901/CH1/EX0.b.11/ExB_11.sce b/3901/CH1/EX0.b.11/ExB_11.sce
new file mode 100644
index 000000000..ae75736af
--- /dev/null
+++ b/3901/CH1/EX0.b.11/ExB_11.sce
@@ -0,0 +1,11 @@
+clc
+clear
+
+//defining transfer functions
+num = -20+9*%s + 3*%s^2 ;//given numerator
+den = (%s-2)*(%s+3); //given denominator
+h2 = syslin('c',num/den);
+d = pfss(h2,4,'c'); //finding partial fractions
+disp("the obtained partal fractions are");
+disp(d) //displaying the partial fractions
+
diff --git a/3901/CH1/EX0.b.12/ExB_12.sce b/3901/CH1/EX0.b.12/ExB_12.sce
new file mode 100644
index 000000000..54c36b855
--- /dev/null
+++ b/3901/CH1/EX0.b.12/ExB_12.sce
@@ -0,0 +1,6 @@
+clc
+clear
+
+A=[2 1 1;1 2 3;3 2 1];
+disp("the inverse matrix is");
+disp(inv(A));
diff --git a/3901/CH1/EX0.b.13/ExB_13.sce b/3901/CH1/EX0.b.13/ExB_13.sce
new file mode 100644
index 000000000..6e311e81c
--- /dev/null
+++ b/3901/CH1/EX0.b.13/ExB_13.sce
@@ -0,0 +1,21 @@
+clc
+clear
+
+//finding eigen values of the given matrix
+A=[0 1;-2 -3];
+egn=spec(A);
+disp("the eigen values are ");disp(egn);
+
+//finding exponential of a matrix
+[N,d]=coff(A);
+b=N/d;
+b=pfss(b);
+disp("the laplace transform of each elements of the exponential matrix(e^(At)) are given as partial fractions below");
+disp("the ILT of this will result in exponential matrix function")
+;disp(b);
+//let P=exponential matrix(e^(At))
+//then here from b we get
+//P(1)=inv_laplace(2/(1+s)-1/(s+2))=2e^(-t)-e^(-2t)
+//P(2)=inv_laplace(-2/(1+s)+2/(s+2))=-2e^(-t)+2e^(-2t)
+//P(3)=inv_laplace(1/(1+s)-1/(s+2))=e^(-t)-e^(-2t)
+//P(4)=inv_laplace(-1/(1+s)+2/(s+2))=-e^(-t)+2e^(-2t)
diff --git a/3901/CH1/EX0.b.2/ExB_2.sce b/3901/CH1/EX0.b.2/ExB_2.sce
new file mode 100644
index 000000000..7b2938ccf
--- /dev/null
+++ b/3901/CH1/EX0.b.2/ExB_2.sce
@@ -0,0 +1,18 @@
+clc
+clear
+
+//defining all the given datas
+a=2*exp(%i*%pi/3);
+b=4*exp(-%i*3*%pi/4);
+c=2*exp(%i*%pi/2);
+d=3*exp(-%i*3*%pi);
+e=2*exp(%i*4*%pi);
+f=2*exp(-%i*4*%pi);
+
+printf("sl \t cartesian_form\n");//showing all the cartesian forms
+disp("(a) "+string(a));
+disp("(b) "+string(b));
+disp("(c) "+string(c));
+disp("(d) "+string(d));//scilab won't show exactly zero,so very small value can be regarded as 0 here
+disp("(e) "+string(e));
+disp("(f) "+string(f));
diff --git a/3901/CH1/EX0.b.3/ExB_3.sce b/3901/CH1/EX0.b.3/ExB_3.sce
new file mode 100644
index 000000000..10b6fb1cc
--- /dev/null
+++ b/3901/CH1/EX0.b.3/ExB_3.sce
@@ -0,0 +1,16 @@
+clc
+clear
+
+format(6)
+z1=complex(3,4);
+z2=complex(2,3);
+
+mul=z1*z2;
+div=z1/z2;
+mag_mul=abs(mul); //finding magnitude of z1*z2
+phas_mul=phasemag(mul);//finding angle of z1*z2 in degrees
+mag_div=abs(div); //finding magnitude of z1/z2
+phas_div=phasemag(div);//finding angle of z1/z2 in degrees
+
+printf("\nz1*z2 in cartesian form= %.1f+i%.1f, in polar form= %.1f/_%.1f degree\n",real(mul),imag(mul),mag_mul,phas_mul);//round-off error might be there
+printf("\nz1/z2 in cartesian form= %.1f+i%.1f, in polar form= %.1f/_%.1f degree\n",real(div),imag(div),mag_div,phas_div);//round-off error might be there
diff --git a/3901/CH1/EX0.b.4/ExB_4.sce b/3901/CH1/EX0.b.4/ExB_4.sce
new file mode 100644
index 000000000..a2b607186
--- /dev/null
+++ b/3901/CH1/EX0.b.4/ExB_4.sce
@@ -0,0 +1,15 @@
+clc
+clear
+
+z1=2*exp(%i*%pi/4);
+z2=8*exp(%i*%pi/3);
+
+a=2*z1-z2;
+b=1/z1;
+c=z1/(z2)^2;
+d=(z2)^(1/3);
+
+disp("a= ");disp(a)
+disp("b= ");disp(b)
+disp("c= ");disp(c)
+disp("d= ");disp(d)
diff --git a/3901/CH1/EX0.b.6/ExB_6.sce b/3901/CH1/EX0.b.6/ExB_6.sce
new file mode 100644
index 000000000..74bdeeed2
--- /dev/null
+++ b/3901/CH1/EX0.b.6/ExB_6.sce
@@ -0,0 +1,18 @@
+clc
+clear
+
+x1="cos(w0t)-sqrt(3)sin(w0t)";//given signal
+a1=1;b1=-sqrt(3);
+c1=sqrt(a1^2+b1^2);
+theta_1=atan(-b1/a1);
+theta_1=(180/%pi)*theta_1;//converting radian to degrees
+
+x2="-3 cos(w0t)+4*sin(w0t)";//given signal
+a2=-3;b2=4;
+c2=sqrt(a2^2+b2^2);
+theta_2=atan(-b2/a2);
+theta_2=(180/%pi)*theta_2-180;//here 180 is reduced as the phasor lies in the 3rd quadrant because atan gives values only in 1st quadrant
+
+//showing the signals as single sinusoids with values with accuracy upto 2 points
+printf("(a) x1(t)= %.2f*cos(w0t+%.2f(deg))\n",c1,theta_1);
+printf(" (b) x2(t)= %.2f*cos(w0t%.2f(deg))\n",c2,theta_2);
diff --git a/3901/CH1/EX0.b.7/ExB_7.sce b/3901/CH1/EX0.b.7/ExB_7.sce
new file mode 100644
index 000000000..57b32322e
--- /dev/null
+++ b/3901/CH1/EX0.b.7/ExB_7.sce
@@ -0,0 +1,17 @@
+clc
+clear
+
+A=[2,1,1;1,3,-1;1,1,1];//co-efficient matrix
+b=[3;7;1]; //b matrix in the equation Ax=b
+
+//finding modified matrices to find unknown variables
+A1=[b A(1:3,2:3)];
+A2=[A(1:3,1) b A(1:3,3)];
+A3=[A(1:3,1:2) b];
+
+//finding unknown variables using Cramer's rule
+x1=(det(A1)/det(A))
+x2=det(A2)/det(A)
+x3=det(A3)/det(A)
+
+printf("using cramers rule,we get: x1= %.0f , x2= %.0f , x3= %.0f \n",x1,x2,x3);
diff --git a/3901/CH1/EX0.b.8/ExB_8.sce b/3901/CH1/EX0.b.8/ExB_8.sce
new file mode 100644
index 000000000..a36f9a6de
--- /dev/null
+++ b/3901/CH1/EX0.b.8/ExB_8.sce
@@ -0,0 +1,23 @@
+clc
+clear
+
+//for repeated roots use of pfss function is not efficient
+//so manual calculation needed
+s=%s
+num=s^3+3*s^2+4*s+6;// given numerator
+den1=(s+1);//given denominators
+den2=(s+2);
+den3=(s+3)^2;
+root1=-1;root2=-2;root3=-3;
+
+g1=num/(den2*den3);
+g2=num/(den1*den3);
+g3=num/(den1*den2);
+
+k1=horner(g1,root1); //finding co-efficient for (s+1)
+k2=horner(g2,root2); //finding co-efficient for (s+2)
+k3=horner(derivat(g3),root3); //finding co-efficient for (s+3)
+k4=horner(g3,root3); //finding co-efficient for (s+3)^2
+
+printf("the partial fractions are as below\n");
+printf("\t%.0f/(s+1) %.0f/(s+2) %.0f/(s+3) %.0f/(s+3)^2",k1,k2,k3,k4);
diff --git a/3901/CH1/EX0.b.9/ExB_9.sce b/3901/CH1/EX0.b.9/ExB_9.sce
new file mode 100644
index 000000000..94626fc85
--- /dev/null
+++ b/3901/CH1/EX0.b.9/ExB_9.sce
@@ -0,0 +1,12 @@
+clc
+clear
+
+//pfss is eficient for non-repeated roots
+
+num = -11+9*%s + 2*%s^2 ; //given numerator
+den = (%s+1)*(%s-2)*(%s+3); //given denominator
+h2 = syslin('c',num/den);
+d = pfss(h2);
+disp("the obtained partal fractions are");
+disp(d) //displaying the partial fractions
+
diff --git a/3901/CH1/EX1.1/Ex1_1.sce b/3901/CH1/EX1.1/Ex1_1.sce
new file mode 100644
index 000000000..c54548e72
--- /dev/null
+++ b/3901/CH1/EX1.1/Ex1_1.sce
@@ -0,0 +1,18 @@
+clc
+clear
+
+//defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+format(12)
+dt=0.0001; //defining increment in time vector
+t=-2:dt:20;
+f=2.*(u(t+1)-u(t))+2.*exp(-t/2).*u(t); //defining the enrgy signal in fig(a)
+g=t.*(u(t+1)-u(t-1)); //defining one cycle of the periodoc signal from fig(b)
+
+E=sum((f.^2)*dt); //calculating energy of f
+P=0.5*sum((g.^2)*dt); //calculating power of g
+printf("\nthe energy of the signal a is %f",E);//ans won't be exactly 8 as infinity is not defined howmuch large the limit maybe
+printf("\nthe power of the signal b is %f",P);
diff --git a/3901/CH1/EX1.3/Ex1_3.png b/3901/CH1/EX1.3/Ex1_3.png
new file mode 100644
index 000000000..758ca4c5f
--- /dev/null
+++ b/3901/CH1/EX1.3/Ex1_3.png
Binary files differ
diff --git a/3901/CH1/EX1.3/Ex1_3.sce b/3901/CH1/EX1.3/Ex1_3.sce
new file mode 100644
index 000000000..0fc1ccfa8
--- /dev/null
+++ b/3901/CH1/EX1.3/Ex1_3.sce
@@ -0,0 +1,14 @@
+clc
+clear
+
+//defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+deff('[y]=f(x)','y=exp(-2.*x).*u(x)');//defining the signal function
+t=-2:0.01:7;
+
+subplot(3,1,1);plot(t,f(t));set(gca(),"grid",[1,1]);xtitle("original signal");//plotting original signal
+subplot(3,1,2);plot(t,f(t-1));set(gca(),"grid",[1,1]);xtitle("delayed signal");//plotting delayed signal
+subplot(3,1,3);plot(t,f(t+1));set(gca(),"grid",[1,1]);xtitle("advanced signal");//plotting advanced signal
diff --git a/3901/CH1/EX1.4/Ex1_4.png b/3901/CH1/EX1.4/Ex1_4.png
new file mode 100644
index 000000000..76359081a
--- /dev/null
+++ b/3901/CH1/EX1.4/Ex1_4.png
Binary files differ
diff --git a/3901/CH1/EX1.4/Ex1_4.sce b/3901/CH1/EX1.4/Ex1_4.sce
new file mode 100644
index 000000000..cedc182b5
--- /dev/null
+++ b/3901/CH1/EX1.4/Ex1_4.sce
@@ -0,0 +1,31 @@
+clc
+clear
+
+//defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+deff('[y]=f(x)','y=2.*exp(-x./2).*(u(x)-u(x-3))+2.*(u(x+1.5)-u(x))');//defining the signal function
+t=-4:0.01:7;
+
+subplot(3,1,1);
+h=gca();
+zoom_rect(h,[-4 0 7 3]); //setting limits of the plot
+plot(t,f(t),'r'); //plotting original signal
+h.grid=[1,1];
+xtitle("original signal");
+
+subplot(3,1,2);
+h=gca();
+zoom_rect(h,[-4 0 7 3]);
+plot(t,f(3.*t),'r'); //plotting compressed signal
+h.grid=[1,1];
+xtitle("signal compressed by factor 3");
+
+subplot(3,1,3);
+h=gca();
+zoom_rect(h,[-4 0 7 3]);
+plot(t,f(t./2),'r'); //plotting expanded signal
+h.grid=[1,1];
+xtitle("signal expanded by factor 2");
diff --git a/3901/CH1/EX1.5/Ex1_5.png b/3901/CH1/EX1.5/Ex1_5.png
new file mode 100644
index 000000000..8840299c8
--- /dev/null
+++ b/3901/CH1/EX1.5/Ex1_5.png
Binary files differ
diff --git a/3901/CH1/EX1.5/Ex1_5.sce b/3901/CH1/EX1.5/Ex1_5.sce
new file mode 100644
index 000000000..d6e34c37c
--- /dev/null
+++ b/3901/CH1/EX1.5/Ex1_5.sce
@@ -0,0 +1,24 @@
+clc
+clear
+
+//defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+deff('[y]=f(x)','y=exp(x./2).*(u(x+5)-u(x+1))');//defining the signal function
+t=-6:0.01:6;
+
+subplot(2,1,1);
+h=gca();
+zoom_rect(h,[-6,0,6,0.8]); //setting limits of the plot
+plot(t,f(t)); //plotting original signal
+h.grid=[1,1];
+xtitle("original signal","t","x(t)");
+
+subplot(2,1,2);
+h=gca();
+zoom_rect(h,[-6,0,6,0.8]);
+plot(t,f(-t)); //plotting reversed signal
+h.grid=[1,1];
+xtitle("reversed signal","t","x(-t)");
diff --git a/3901/CH1/EX1.6/Ex1_6.png b/3901/CH1/EX1.6/Ex1_6.png
new file mode 100644
index 000000000..909a79c36
--- /dev/null
+++ b/3901/CH1/EX1.6/Ex1_6.png
Binary files differ
diff --git a/3901/CH1/EX1.6/Ex1_6.sce b/3901/CH1/EX1.6/Ex1_6.sce
new file mode 100644
index 000000000..6e3696e05
--- /dev/null
+++ b/3901/CH1/EX1.6/Ex1_6.sce
@@ -0,0 +1,40 @@
+clc
+clear
+
+//defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+deff('[y]=f(x)','y=t.*(u(t)-u(t-2))-2*(t-3).*(u(t-2)-u(t-3))');//finding expression for the given signal
+t=-0.5:0.01:3.5;
+
+subplot(3,2,2);plot(t,f(t));//plotting the signal
+h=gca();
+h.grid=[1,1]
+xtitle("Original Signal x=(x1+x2)","t","x(t)")
+zoom_rect([-0.5, 0, 3.5, 2.3]);
+
+subplot(3,2,3);plot(t,t);plot(t,1.*(u(t)-u(t-2)),'--r');
+h=gca();
+h.grid=[1,1]
+xtitle("Formation of x(t) in [0,2]","t","x1(t)");
+zoom_rect([-0.5, 0, 3.5, 2.3]);
+
+subplot(3,2,4);plot(t,t.*(u(t)-u(t-2)));
+h=gca();
+h.grid=[1,1]
+xtitle("x1","t","x1(t)");
+zoom_rect([-0.5, 0, 3.5, 2.3]);
+
+subplot(3,2,5);plot(t,-2*(t-3));plot(t,1.*(u(t-2)-u(t-3)),'--r');
+h=gca();
+h.grid=[1,1]
+xtitle("Formation of x(t) in [2,3]","t","x2(t)");
+zoom_rect([-0.5, 0, 3.5, 2.3]);
+
+subplot(3,2,6);plot(t,(-2*(t-3)).*(u(t-2)-u(t-3)));
+h=gca();
+h.grid=[1,1]
+xtitle("x2","t","x2(t)");
+zoom_rect([-0.5, 0, 3.5, 2.3]);
diff --git a/3901/CH1/EX1.7/Ex1_7.png b/3901/CH1/EX1.7/Ex1_7.png
new file mode 100644
index 000000000..80baa0813
--- /dev/null
+++ b/3901/CH1/EX1.7/Ex1_7.png
Binary files differ
diff --git a/3901/CH1/EX1.7/Ex1_7.sce b/3901/CH1/EX1.7/Ex1_7.sce
new file mode 100644
index 000000000..3d82e8f6a
--- /dev/null
+++ b/3901/CH1/EX1.7/Ex1_7.sce
@@ -0,0 +1,15 @@
+clc
+clear
+
+//defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+deff('[y]=f(x)','y=2.*(u(t+1.5)-u(t))+2.*exp(-t./2).*(u(t)-u(t-3))');//finding expression for the given signal
+t=-4:0.01:4;
+
+plot(t,f(t));//plotting the signal
+h=gca();
+h.grid=[1,1];
+zoom_rect(h,[-4 0 4 3])
diff --git a/3901/CH1/EX1.8/Ex1_8.png b/3901/CH1/EX1.8/Ex1_8.png
new file mode 100644
index 000000000..04ebea3e0
--- /dev/null
+++ b/3901/CH1/EX1.8/Ex1_8.png
Binary files differ
diff --git a/3901/CH1/EX1.8/Ex1_8.sce b/3901/CH1/EX1.8/Ex1_8.sce
new file mode 100644
index 000000000..3e9965ff9
--- /dev/null
+++ b/3901/CH1/EX1.8/Ex1_8.sce
@@ -0,0 +1,24 @@
+clc
+clear
+
+t=0:0.01:4*%pi;
+odd=0.5.*(exp(%i.*t)-exp(-%i.*t));//finding odd component of given signal
+even=0.5.*(exp(%i.*t)+exp(-%i.*t));//finding even component of given signal
+
+subplot(2,2,1);plot(t,abs(even));//plotting the even part
+title("even signal","fontsize",4);
+xlabel("time(sec)","fontsize",4),ylabel("abs_value","fontsize",4);
+
+subplot(2,2,3);plot(t,phasemag(even));
+title("even signal","fontsize",4);
+xlabel("time(sec)","fontsize",4);ylabel("phase(in degree)","fontsize",4);
+h=gca();
+zoom_rect(h,[0,-10,14,200]);
+
+subplot(2,2,2);plot(t,abs(odd));//plotting the odd part
+xlabel("time(sec)","fontsize",4),ylabel("abs_value","fontsize",4);
+title("odd signal","fontsize",4);
+
+subplot(2,2,4);plot(t,phasemag(odd));
+xlabel("time(sec)","fontsize",4);ylabel("phase(in degree)","fontsize",4);
+title("odd signal","fontsize",4);
diff --git a/3901/CH10/EX10.10/Ex10_10.sce b/3901/CH10/EX10.10/Ex10_10.sce
new file mode 100644
index 000000000..24a0ed961
--- /dev/null
+++ b/3901/CH10/EX10.10/Ex10_10.sce
@@ -0,0 +1,12 @@
+clc
+clear
+
+format(7)
+A =[0 1; -2 -3];
+[V,lambda ]= spec(A);
+P=inv(V);
+B =[1;2];
+Bhat =P*B;
+disp(P,"P=")
+disp(Bhat ,"B^=")
+disp(lambda," lambda=")
diff --git a/3901/CH10/EX10.11/Ex10_11.sce b/3901/CH10/EX10.11/Ex10_11.sce
new file mode 100644
index 000000000..62aa117f3
--- /dev/null
+++ b/3901/CH10/EX10.11/Ex10_11.sce
@@ -0,0 +1,25 @@
+clc
+clear
+close
+//**************part(a)****************
+A =[1 0;1 -1];
+[V,lambda ]= spec(A);
+B=[1;0];
+C=[1 -2];
+P= inv(V);
+Bh=P*B
+Ch=C*inv(P)
+disp( ' part(a): ' )
+disp(Bh ,"B^=")
+disp(Ch ,"C^=")
+//*********************part(b)*********
+A=[ -1 0; -2 1];
+[V, lambda ]= spec (A);
+B =[1;1];
+C =[0 1];
+P= inv (V);
+Bh =P*B
+Ch =C*inv(P)
+disp(' Part(b): ' )
+disp(Bh ,"B^=")
+disp(Ch ," C^=")
diff --git a/3901/CH10/EX10.12/Ex10_12.sce b/3901/CH10/EX10.12/Ex10_12.sce
new file mode 100644
index 000000000..e60d1c398
--- /dev/null
+++ b/3901/CH10/EX10.12/Ex10_12.sce
@@ -0,0 +1,16 @@
+clc
+clear
+close
+
+A =[0 1; -1/6 5/6];
+B =[0;1];
+C=[ -1 5];
+D =0;
+sys=syslin('d',A,B,C,D);
+N =25;
+x= ones(1,N +1) ;n =(0: N);
+q0=[2;3];
+[ y q]=csim('step',n,sys);
+y=dsimul(sys ,x);
+plot2d3(y);
+title("y[n] ZSR","fontsize",4);
diff --git a/3901/CH10/EX10.13/Ex10_13.sce b/3901/CH10/EX10.13/Ex10_13.sce
new file mode 100644
index 000000000..ff2afeb4d
--- /dev/null
+++ b/3901/CH10/EX10.13/Ex10_13.sce
@@ -0,0 +1,20 @@
+//Inverse Z Transform
+//symbolic tool(scilab-scimax) is needed which should be installed properly in Ubuntu 14.04 and Scilab-5.5.0
+//limit function can be used only after installing symbolic toolbox
+
+clc
+Syms n z;
+H1 = (-2*z)/(z-(1/3));
+H2 = (3*z)/(z-0.5);
+H3 = (24*z)/(z-1);
+F1 = H1*z^(n-1)*(z-(1/3));
+F2 = H2*z^(n-1)*(z-0.5);
+F3 = H3*z^(n-1)*(z-1);
+h1 = limit(F1,z,(1/3));//finding symbolic limits
+disp(h1,'h1[n]=')
+h2 = limit(F2,z,0.5);//finding symbolic limits
+disp(h2,'h2[n]=')
+h3 = limit(F3,z,1);//finding symbolic limits
+disp(h3,'h3[n]=')
+h = h1+h2+h3;
+disp(h,'h[n]=')
diff --git a/3901/CH10/EX10.4/Ex10_4.sce b/3901/CH10/EX10.4/Ex10_4.sce
new file mode 100644
index 000000000..b6b955e05
--- /dev/null
+++ b/3901/CH10/EX10.4/Ex10_4.sce
@@ -0,0 +1,9 @@
+clear ;
+close ;
+clc ;
+s= poly(0,'s' );
+H =[(4/3)/(1+ s),-2/(3+s),(2/3)/(4+ s)];
+Sys = tf2ss(H);
+clean(ss2tf(Sys));
+printf("The state-space representation is as below\n");
+disp(Sys)
diff --git a/3901/CH10/EX10.5/Ex10_5.sce b/3901/CH10/EX10.5/Ex10_5.sce
new file mode 100644
index 000000000..47f6cd9cc
--- /dev/null
+++ b/3901/CH10/EX10.5/Ex10_5.sce
@@ -0,0 +1,16 @@
+clc
+//symbolic tool(scilab-scimax) is needed which should be installed properly in Ubuntu 14.04 and Scilab-5.5.0
+Syms t s
+
+//execute the file ilaplace.sci to get inverse laplace
+//path should be correctly written
+exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci',-1)
+
+A=[-12 2/3;-36 -1]; B=[1/3;1]; q0=[2;1]; X=1/s;
+size(A)
+size(s*eye(2,2))
+Q=inv(s*eye(2,2)-A)*(q0+B*X);
+q=[];
+q(1)=ilaplace(Q(1));
+q(2)=ilaplace(Q(2));
+disp(q*'u(t)',"[q1(t) ; q2(t)]")
diff --git a/3901/CH10/EX10.6/Ex10_6.sce b/3901/CH10/EX10.6/Ex10_6.sce
new file mode 100644
index 000000000..da5af25bb
--- /dev/null
+++ b/3901/CH10/EX10.6/Ex10_6.sce
@@ -0,0 +1,10 @@
+clc
+
+s=%s;
+A=[0 1;-2 -3];
+B=[1 0;1 1];
+C=[1 0;1 1;0 2];
+D=[0 0;1 0; 0 1];
+H=simp(C*inv(s*eye(2,2)-A)*B+D);
+disp(H,"the transfer function matrix H(s)=")
+disp(H(3,2),"the transfer function relating y3 and x2 is H(s)=")
diff --git a/3901/CH10/EX10.7/Ex10_7.sce b/3901/CH10/EX10.7/Ex10_7.sce
new file mode 100644
index 000000000..628f5c1b8
--- /dev/null
+++ b/3901/CH10/EX10.7/Ex10_7.sce
@@ -0,0 +1,16 @@
+clc ;
+clear;
+
+s=%s;
+A=[s+12 -2/3;36 s+1];
+y= roots(det(A))
+t= poly(0,'t' );
+beta =inv([1 y(1); 1 y(2)])*[%e^-y(1)*t;%e^-y(2)*t];
+disp(beta,"************beta=")
+W= beta(1)*[1 0;0 1]+ beta(2) *[ -12 2/3; -36 -1];
+zir =W*[2;1];
+disp(zir,"**************ZIR=");
+zsr =W*[1/3;1];
+disp(zsr,"**************ZSR= ");
+total=zir +zsr;
+disp(total,"******total response=");
diff --git a/3901/CH10/EX10.8/Ex10_8.sce b/3901/CH10/EX10.8/Ex10_8.sce
new file mode 100644
index 000000000..79dabe94c
--- /dev/null
+++ b/3901/CH10/EX10.8/Ex10_8.sce
@@ -0,0 +1,18 @@
+clc
+//symbolic tool(scilab-scimax) is needed which should be installed properly in Ubuntu 14.04 and Scilab-5.5.0
+
+Syms t s;
+//execute the file ilaplace.sci to get inverse laplace
+//path should be correctly written
+exec('C:\Users\Satyajit\Desktop\sample_codes\ilaplace.sci',-1)
+
+F1=ilaplace((s+3)/((s+1)*(s+2)))
+F2=ilaplace(1/((s+1)*(s+2)))
+F3=ilaplace(-2/((s+1)*(s+2)))
+F4=ilaplace(s/((s+1)*(s+2)))
+F=[F1 F2;F3 F4];
+disp(F,"f(t)=")
+A=[1 0;1 1;0 2];
+B=[0 0;1 0;0 1];
+h=A*F*[1 0;1 1]+B*eye(2,2);//including delta(t) function
+disp(h,"h(t)=")
diff --git a/3901/CH10/EX10.9/Ex10_9.sce b/3901/CH10/EX10.9/Ex10_9.sce
new file mode 100644
index 000000000..9c1854293
--- /dev/null
+++ b/3901/CH10/EX10.9/Ex10_9.sce
@@ -0,0 +1,9 @@
+clc
+clear
+
+A =[0 1; -2 -3];
+B =[1;2];
+P=[1 1;1 -1];
+Ahat =P*A*inv(P);Bhat=P*B;
+disp(Bhat ,"Bhat")
+disp(Ahat," Ahat=")
diff --git a/3901/CH2/EX2.1/Ex2_1.sce b/3901/CH2/EX2.1/Ex2_1.sce
new file mode 100644
index 000000000..8a00ae387
--- /dev/null
+++ b/3901/CH2/EX2.1/Ex2_1.sce
@@ -0,0 +1,87 @@
+clc
+clear
+close;
+funcprot(0)
+
+//*********************part a(non-repeated real roots)*************************
+//---------------------------------------
+//---------------------------------------
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1);
+endfunction
+
+y0=[0;-5];
+t0=0;
+t=linspace(0,10,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+figure(1)
+subplot(1,3,1);plot(t,y(1,:)); //plotting the obtained result
+title("ZIR of the system(non-repeated roots)_part_a","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("y(ZIR)","fontsize",4);
+
+subplot(1,3,2);plot(t,-5.*exp(-t)+5.*exp(-2.*t));//plotting the estimated answer for comparision
+title("estimated ans for comparison_part a","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("-5.*exp(-t)+5.*exp(-2.*t)","fontsize",4);
+
+//--------------------------------------------------------------------------------------
+//--------------------------------------------------------------------------------------
+
+
+
+//****************************part b(repeated real roots)******************************
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-6*y(2)-9*y(1);
+endfunction
+
+y0=[3;-7];
+t0=0;
+t=linspace(0,10,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+subplot(1,3,3);plot(t,y(1,:)); //plotting the obtained result
+title("ZIR of the system(repeated roots)_part b","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("y(ZIR)","fontsize",4);
+
+figure(2)
+subplot(1,3,1);plot(t,(3+2*t).*exp(-3*t));//plotting the estimated answer for comparision
+zoom_rect([0,-0.5,15,3])
+title("estimated ans for comparison_part b","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("(3+2*t).*exp(-3*t))","fontsize",4);
+
+//--------------------------------------------------------------------------------------
+//--------------------------------------------------------------------------------------
+
+
+
+//********************part c(non-repeated imaginary roots)**************************8
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-4*y(2)-40*y(1);
+endfunction
+
+y0=[2;16.78];
+t0=0;
+t=linspace(0,10,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+subplot(1,3,2);plot(t,y(1,:)); //plotting the obtained result
+title("ZIR of the system(imaginary roots)_part c","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("y(ZIR)","fontsize",4);
+
+
+subplot(1,3,3);plot(t,4*exp(-2*t).*cos(6*t-%pi/3));//plotting the estimated answer for comparision
+//zoom_rect([0,-0.5,15,3])
+title("estimated ans for comparison_part c","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("4*exp(-2*t).*cos(6*t-%pi/3)","fontsize",4);
diff --git a/3901/CH2/EX2.1/Ex2_1a.png b/3901/CH2/EX2.1/Ex2_1a.png
new file mode 100644
index 000000000..ab164039c
--- /dev/null
+++ b/3901/CH2/EX2.1/Ex2_1a.png
Binary files differ
diff --git a/3901/CH2/EX2.1/Ex2_1b.png b/3901/CH2/EX2.1/Ex2_1b.png
new file mode 100644
index 000000000..29133d2fb
--- /dev/null
+++ b/3901/CH2/EX2.1/Ex2_1b.png
Binary files differ
diff --git a/3901/CH2/EX2.10/Ex2_10.png b/3901/CH2/EX2.10/Ex2_10.png
new file mode 100644
index 000000000..b5c975fb0
--- /dev/null
+++ b/3901/CH2/EX2.10/Ex2_10.png
Binary files differ
diff --git a/3901/CH2/EX2.10/Ex2_10.sce b/3901/CH2/EX2.10/Ex2_10.sce
new file mode 100644
index 000000000..9aff8b96e
--- /dev/null
+++ b/3901/CH2/EX2.10/Ex2_10.sce
@@ -0,0 +1,28 @@
+clc
+clear
+close;
+
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1)+2*t+5;
+endfunction
+
+y0=[2;3];//initial conditions for impulse response
+t0=0;
+t=linspace(0,15,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+figure(1)
+subplot(2,1,1);plot(t,y(1,:)); //plotting the obtained result
+title("impulse_response","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("System_response","fontsize",4);
+
+
+//checking if the obtained ans is correct
+
+subplot(2,1,2);plot(t,4*exp(-t)-3*exp(-2*t)+t+1);//plotting the estimated answer for comparision
+title("estimated ans for comparison","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("4*exp(-t)-3*exp(-2t)+t+1","fontsize",4);
diff --git a/3901/CH2/EX2.11/Ex2_11.png b/3901/CH2/EX2.11/Ex2_11.png
new file mode 100644
index 000000000..263ab1220
--- /dev/null
+++ b/3901/CH2/EX2.11/Ex2_11.png
Binary files differ
diff --git a/3901/CH2/EX2.11/Ex2_11.sce b/3901/CH2/EX2.11/Ex2_11.sce
new file mode 100644
index 000000000..1351412ff
--- /dev/null
+++ b/3901/CH2/EX2.11/Ex2_11.sce
@@ -0,0 +1,69 @@
+clc
+clear
+close;
+
+y0=[2;3];//initial conditions for impulse response
+t0=0;
+t=linspace(0,15,500);
+
+//*************************part-a(x(t)=10e^(-3t))*************************
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1)-30*exp(-3*t);
+endfunction
+
+y1=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+figure(1)
+subplot(2,2,1);plot(t,y1(1,:)); //plotting the obtained result
+title("(part_a)system_response","fontsize",3);
+xlabel("time","fontsize",3);
+ylabel("y(t)","fontsize",3);
+
+
+//*************************part-b(x(t)=5))*************************
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1);
+endfunction
+
+y2=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+subplot(2,2,2);plot(t,y2(1,:)); //plotting the obtained result
+title("(part_b)system_response","fontsize",3);
+xlabel("time","fontsize",3);
+ylabel("y(t)","fontsize",3);
+
+
+
+//*************************part-c(x(t)=e^-2t)*************************
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1)-2*exp(-2*t);
+endfunction
+
+y3=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+subplot(2,2,3);plot(t,y3(1,:)); //plotting the obtained result
+title("(part_c)system_response","fontsize",3);
+xlabel("time","fontsize",3);
+ylabel("y(t)","fontsize",3);
+
+
+
+//*************************part-d(x(t)=10cos(3t+pi/3)*************************
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1)-30*sin(3*t+%pi/3);
+endfunction
+
+y4=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+subplot(2,2,4);plot(t,y4(1,:)); //plotting the obtained result
+title("(part_d)system_response","fontsize",3);
+xlabel("time","fontsize",3);
+ylabel("y(t)","fontsize",3);
diff --git a/3901/CH2/EX2.12/Ex2_12.png b/3901/CH2/EX2.12/Ex2_12.png
new file mode 100644
index 000000000..3447ac3b6
--- /dev/null
+++ b/3901/CH2/EX2.12/Ex2_12.png
Binary files differ
diff --git a/3901/CH2/EX2.12/Ex2_12.sce b/3901/CH2/EX2.12/Ex2_12.sce
new file mode 100644
index 000000000..a0927ac1c
--- /dev/null
+++ b/3901/CH2/EX2.12/Ex2_12.sce
@@ -0,0 +1,29 @@
+clc
+clear
+close;
+
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1)-30*exp(-3*t);
+endfunction
+
+y0=[0;5];//initial conditions for impulse response
+t0=0;
+t=linspace(0,15,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+figure(1)
+subplot(2,1,1);plot(t,y(1,:)); //plotting the obtained result
+title("impulse_response","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("y(ZIR)","fontsize",4);
+
+
+//checking if the obtained ans is correct
+
+subplot(2,1,2);plot(t,-10*exp(-t)+25*exp(-2*t)-15*exp(-3*t));//plotting the estimated answer for comparision
+title("estimated ans for comparison","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("-exp(-2*t)+2*exp(-3*t)","fontsize",4);
+
diff --git a/3901/CH2/EX2.2/Ex2_2.png b/3901/CH2/EX2.2/Ex2_2.png
new file mode 100644
index 000000000..48dbdcbe6
--- /dev/null
+++ b/3901/CH2/EX2.2/Ex2_2.png
Binary files differ
diff --git a/3901/CH2/EX2.2/Ex2_2.sce b/3901/CH2/EX2.2/Ex2_2.sce
new file mode 100644
index 000000000..5b76441e3
--- /dev/null
+++ b/3901/CH2/EX2.2/Ex2_2.sce
@@ -0,0 +1,22 @@
+clc
+clear
+close;
+
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1);
+endfunction
+
+y0=[0;-5];
+t0=0;
+t=linspace(0,15,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+v_0=5;
+y_0=y0(1);
+dy_0= 10-v_0-3*y_0;//eq obtained from circuit
+
+figure(1)
+plot(t,y(1,:)); //plotting the obtained result
+xtitle("current ","time","current(i) for t>=0");
+printf("\nthe value of y(0+)= %d, y''(0+)= %d\n\n",y_0,dy_0);
diff --git a/3901/CH2/EX2.3/Ex2_3.png b/3901/CH2/EX2.3/Ex2_3.png
new file mode 100644
index 000000000..7fcc911bf
--- /dev/null
+++ b/3901/CH2/EX2.3/Ex2_3.png
Binary files differ
diff --git a/3901/CH2/EX2.3/Ex2_3.sce b/3901/CH2/EX2.3/Ex2_3.sce
new file mode 100644
index 000000000..2ed8d658a
--- /dev/null
+++ b/3901/CH2/EX2.3/Ex2_3.sce
@@ -0,0 +1,27 @@
+clc
+clear
+close;
+
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-5*y(2)-6*y(1);
+endfunction
+
+y0=[1;-4];//initial conditions for impulse response
+t0=0;
+t=linspace(0,15,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+figure(1)
+subplot(2,1,1);plot(t,y(1,:)); //plotting the obtained result
+title("impulse_response","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("y(t)","fontsize",4);
+
+//checking if the obtained ans is correct
+
+subplot(2,1,2);plot(t,-exp(-2*t)+2*exp(-3*t));//plotting the estimated answer for comparision
+title("estimated ans for comparison","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("-exp(-2*t)+2*exp(-3*t)","fontsize",4);
diff --git a/3901/CH2/EX2.4/Ex2_4.png b/3901/CH2/EX2.4/Ex2_4.png
new file mode 100644
index 000000000..1d53679de
--- /dev/null
+++ b/3901/CH2/EX2.4/Ex2_4.png
Binary files differ
diff --git a/3901/CH2/EX2.4/Ex2_4.sce b/3901/CH2/EX2.4/Ex2_4.sce
new file mode 100644
index 000000000..b8fc4c026
--- /dev/null
+++ b/3901/CH2/EX2.4/Ex2_4.sce
@@ -0,0 +1,28 @@
+clc
+clear
+close;
+
+function dy= f(t,y)
+ dy=zeros(2,1);
+ dy(1)=y(2);
+ dy(2)=-3*y(2)-2*y(1);
+endfunction
+
+y0=[1;-3];//initial conditions for impulse response calculated from given system equation
+t0=0;
+t=linspace(0,15,500);
+y=ode(y0,t0,t,f); //solving the 2nd order ode system equation
+
+figure(1)
+subplot(2,1,1);plot(t,y(1,:)); //plotting the obtained result
+title("impulse_response","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("y(t)","fontsize",4);
+
+//checking if the obtained ans is correct
+
+subplot(2,1,2);plot(t,-exp(-t)+2*exp(-2*t));//plotting the estimated answer for comparision
+title("estimated ans for comparison","fontsize",4);
+xlabel("time","fontsize",4);
+ylabel("-exp(-t)+2*exp(-2*t)","fontsize",4);
+
diff --git a/3901/CH2/EX2.5/Ex2_5.png b/3901/CH2/EX2.5/Ex2_5.png
new file mode 100644
index 000000000..f1245abf5
--- /dev/null
+++ b/3901/CH2/EX2.5/Ex2_5.png
Binary files differ
diff --git a/3901/CH2/EX2.5/Ex2_5.sce b/3901/CH2/EX2.5/Ex2_5.sce
new file mode 100644
index 000000000..801437cc3
--- /dev/null
+++ b/3901/CH2/EX2.5/Ex2_5.sce
@@ -0,0 +1,24 @@
+clc
+clear
+close;
+
+t=[0:0.1:5];
+// Defining unit step function
+ function y=u(x)
+ y=sign((sign(x)+1))
+ endfunction
+
+x=exp(-t).*u(t);//defining the iinput function
+h=exp(-2*t).*u(t);//defining the impulse response
+
+subplot(3,1,1);plot(t,x,'b');
+title("input signal(e^(-t)","fontsize",4);
+
+subplot(3,1,2);plot(t,h,'r');
+title("impulse response(e^(-2t))","fontsize",4);
+
+[z]=convol(x,h); //operating convolution operation
+subplot(3,1,3);
+plot2d(z);
+title("convoluted signal","fontsize",4);
+printf("the obtained graph should be iinterpolated back to t=0 to get completre ZSR")
diff --git a/3901/CH2/EX2.6/Ex2_6.png b/3901/CH2/EX2.6/Ex2_6.png
new file mode 100644
index 000000000..daaa86d00
--- /dev/null
+++ b/3901/CH2/EX2.6/Ex2_6.png
Binary files differ
diff --git a/3901/CH2/EX2.6/Ex2_6.sce b/3901/CH2/EX2.6/Ex2_6.sce
new file mode 100644
index 000000000..a475aa177
--- /dev/null
+++ b/3901/CH2/EX2.6/Ex2_6.sce
@@ -0,0 +1,24 @@
+clc
+clear
+close;
+
+t=[0:0.1:5];
+// Defining unit step function
+ function y=u(x)
+ y=sign((sign(x)+1))
+ endfunction
+
+x=10.*exp(-3*t).*u(t);//defining the iinput function
+h=(2.*exp(-2*t)-exp(-t)).*u(t);//defining the impulse response
+
+subplot(3,1,1);plot(t,x,'b');
+legend("input signal(e^(-t)");
+
+subplot(3,1,2);plot(t,h,'r');
+legend("impulse response(e^(-2t)");
+
+[z]=convol(x,h); //operating convolution operation
+subplot(3,1,3);
+plot2d(z);
+legend("convoluted signal");
+printf("the obtained graph should be iinterpolated back to t=0 to get completre ZSR") \ No newline at end of file
diff --git a/3901/CH2/EX2.7/Ex2_7.sce b/3901/CH2/EX2.7/Ex2_7.sce
new file mode 100644
index 000000000..d20e95e9f
--- /dev/null
+++ b/3901/CH2/EX2.7/Ex2_7.sce
@@ -0,0 +1,17 @@
+
+clc
+close;
+
+
+//execute the dependecy file first that is needed for graphical convolution
+//exec('/home/satyajit/Desktop/my_octave/scilab_project/chapter_2/conv_gui.sci', -1)//change your path to the location of the file "conv_gui.sci"
+
+//all the inputs should be given in the form of strings
+
+t='[-5:0.02:5]';
+f1='exp(-t).*u(t)'; //defining x(t)
+f2='exp(-2*t).*u(t)'; //defining h(t)
+conv_gui(f1,f2,t);
+
+
+//for analysis goto options > illustration > move right in the plot window
diff --git a/3901/CH2/EX2.7/Ex2_7a.png b/3901/CH2/EX2.7/Ex2_7a.png
new file mode 100644
index 000000000..47ff2df2c
--- /dev/null
+++ b/3901/CH2/EX2.7/Ex2_7a.png
Binary files differ
diff --git a/3901/CH2/EX2.7/Ex2_7b.png b/3901/CH2/EX2.7/Ex2_7b.png
new file mode 100644
index 000000000..3d713f9dd
--- /dev/null
+++ b/3901/CH2/EX2.7/Ex2_7b.png
Binary files differ
diff --git a/3901/CH2/EX2.8/Ex2_8.sce b/3901/CH2/EX2.8/Ex2_8.sce
new file mode 100644
index 000000000..8fc3ffbb1
--- /dev/null
+++ b/3901/CH2/EX2.8/Ex2_8.sce
@@ -0,0 +1,18 @@
+
+clc
+close;
+
+//execute the dependecy file first that is needed for graphical convolution
+//exec('/home/satyajit/Desktop/my_octave/scilab_project/chapter_2/conv_gui.sci', -1)
+//change your path to the location of the file "conv_gui.sci"
+
+
+//all the inputs should be given in the form of strings
+
+t='[-5:0.02:5]';
+f1='u(t)'; //defining x(t)
+f2='-2*exp(2*t).*u(-t)+2*exp(-t).*u(t)'; //defining h(t)
+conv_gui(f1,f2,t);
+
+
+//for analysis goto options > illustration > move right in the plot window
diff --git a/3901/CH2/EX2.8/Ex2_8a.png b/3901/CH2/EX2.8/Ex2_8a.png
new file mode 100644
index 000000000..dacec336e
--- /dev/null
+++ b/3901/CH2/EX2.8/Ex2_8a.png
Binary files differ
diff --git a/3901/CH2/EX2.8/Ex2_8b.png b/3901/CH2/EX2.8/Ex2_8b.png
new file mode 100644
index 000000000..2b6d3f21b
--- /dev/null
+++ b/3901/CH2/EX2.8/Ex2_8b.png
Binary files differ
diff --git a/3901/CH2/EX2.9/Ex2_9.png b/3901/CH2/EX2.9/Ex2_9.png
new file mode 100644
index 000000000..f42eb3e1a
--- /dev/null
+++ b/3901/CH2/EX2.9/Ex2_9.png
Binary files differ
diff --git a/3901/CH2/EX2.9/Ex2_9.sce b/3901/CH2/EX2.9/Ex2_9.sce
new file mode 100644
index 000000000..81ea1aec2
--- /dev/null
+++ b/3901/CH2/EX2.9/Ex2_9.sce
@@ -0,0 +1,18 @@
+
+clc
+close;
+
+//execute the dependecy file first that is needed for graphical convolution
+//exec('/home/satyajit/Desktop/my_octave/scilab_project/chapter_2/conv_gui.sci', -1)
+//change your path to the location of the file "conv_gui.sci"
+
+
+//all the inputs should be given in the form of strings
+
+t='[-5:0.02:5]';
+f1='u(t+1)-u(t-1)'; //defining x(t)
+f2='t.*(u(t)-u(t-3))'; //defining h(t)
+conv_gui(f1,f2,t);
+
+
+//for analysis goto options > illustration > move right in the plot window
diff --git a/3901/CH3/EX3.1/Ex3_1.png b/3901/CH3/EX3.1/Ex3_1.png
new file mode 100644
index 000000000..6db5e92fc
--- /dev/null
+++ b/3901/CH3/EX3.1/Ex3_1.png
Binary files differ
diff --git a/3901/CH3/EX3.1/Ex3_1.sce b/3901/CH3/EX3.1/Ex3_1.sce
new file mode 100644
index 000000000..fe1c9cf31
--- /dev/null
+++ b/3901/CH3/EX3.1/Ex3_1.sce
@@ -0,0 +1,19 @@
+clc
+clear
+
+n=[0:1:5];
+// Defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+f=n.*(u(n)-u(n-6));//defining the given function
+subplot(1,2,1);plot2d3(n,f);
+title("figure(a)","fontsize",4);
+f2=repmat(f,1,5);
+n1=0:1:length(f2)-1;
+subplot(1,2,2);plot2d3(n1,f2,[5]);title("figure(b)","fontsize",4);
+energy=sum(f.^2);//finding energy of signal in fig(a)
+power=(1/6).*sum(f.^2);//finding power of signal in fig(b)
+
+printf("\nthe energy in fig (a) is %.2f and power in fig(b) is %.2f\n",energy,power);//rounding off the answer to two digits
diff --git a/3901/CH3/EX3.10/Ex3_10.png b/3901/CH3/EX3.10/Ex3_10.png
new file mode 100644
index 000000000..213026604
--- /dev/null
+++ b/3901/CH3/EX3.10/Ex3_10.png
Binary files differ
diff --git a/3901/CH3/EX3.10/Ex3_10.sce b/3901/CH3/EX3.10/Ex3_10.sce
new file mode 100644
index 000000000..e7045e4a7
--- /dev/null
+++ b/3901/CH3/EX3.10/Ex3_10.sce
@@ -0,0 +1,34 @@
+clc
+clear
+close
+
+n=[-2:10]';//defining the discrete time
+
+//*******************************part(a)(non-repeated roots)*********************
+
+y1= [25/4;0;zeros(length(n)-2,1)];//predefining the initial conditions + zero output array
+for k=1:length(n)-2
+y1(k+2) = 0.6*y1(k+1) + 0.16*y1(k);
+end;
+subplot(1,3,1);plot2d3(n,y1,[2]);title("(part_a)ZIR of systems with non-repeated roots","fontsize",4);
+legend("stable");
+
+//*******************************part(b)(repeated roots)*********************
+
+y2= [-2/9;-1/3;zeros(length(n)-2,1)];//predefining the initial conditions + zero output array
+for k=1:length(n)-2
+y2(k+2) = -6*y2(k+1)-9*y2(k);
+end;
+subplot(1,3,2);plot2d3(n,y2,[2]);title("(part_b)ZIR of systems with repeated roots","fontsize",4);
+set(gca(),"zoom_box",[-10 -max(y2) 10 max(y2)],"x_location","middle","y_location","middle");
+legend("unstable");
+
+//*******************************part(c)(complex roots)*********************
+
+y3= [1;2;zeros(length(n)-2,1)];//predefining the initial conditions + zero output array
+for k=1:length(n)-2
+y3(k+2) =1.56* y3(k+1) -0.81*y3(k);
+end;
+subplot(1,3,3);plot2d3(n,y3,[2]);title("(part_c)ZIR of systems with complex roots","fontsize",4);
+set(gca(),"zoom_box",[-10 -2.5 10 2.5],"x_location","middle","y_location","middle");
+legend("marginally stable");
diff --git a/3901/CH3/EX3.11/Ex3_11.png b/3901/CH3/EX3.11/Ex3_11.png
new file mode 100644
index 000000000..9a65d0dec
--- /dev/null
+++ b/3901/CH3/EX3.11/Ex3_11.png
Binary files differ
diff --git a/3901/CH3/EX3.11/Ex3_11.sce b/3901/CH3/EX3.11/Ex3_11.sce
new file mode 100644
index 000000000..3d78053d4
--- /dev/null
+++ b/3901/CH3/EX3.11/Ex3_11.sce
@@ -0,0 +1,11 @@
+clc
+clear
+close;
+
+n=[-2:20]';//defining the discrete time
+y= [0;0;zeros(length(n)-2,1)];//predefining the initial conditions + zero output array
+x=zeros(length(n),1);x(3)=1;
+for k=1:length(n)-2
+ y(k+2) = 0.6*y(k+1) + 0.16*y(k)+5*x(k+2);
+end;
+plot2d3(n,y,[5]);title("(impulse_response)","fontsize",4);
diff --git a/3901/CH3/EX3.13/Ex3_13.png b/3901/CH3/EX3.13/Ex3_13.png
new file mode 100644
index 000000000..cd85419b6
--- /dev/null
+++ b/3901/CH3/EX3.13/Ex3_13.png
Binary files differ
diff --git a/3901/CH3/EX3.13/Ex3_13.sce b/3901/CH3/EX3.13/Ex3_13.sce
new file mode 100644
index 000000000..fcc02fa68
--- /dev/null
+++ b/3901/CH3/EX3.13/Ex3_13.sce
@@ -0,0 +1,17 @@
+clc
+clear
+close
+
+function y=u(x)
+ y=sign(sign(x)+1);
+endfunction
+
+n=-1:10;
+x=((0.8).^n).*u(n);
+g=((0.3).^n).*u(n);
+
+c=convol2d(x,g);//discrete convolution
+
+plot2d3(0:length(c)-1,c,[5]);
+zoom_rect([-1 min(c) 10 max(c)]);
+title("convoluted signal","fontsize",4)
diff --git a/3901/CH3/EX3.14/Ex3_14.png b/3901/CH3/EX3.14/Ex3_14.png
new file mode 100644
index 000000000..66cacab07
--- /dev/null
+++ b/3901/CH3/EX3.14/Ex3_14.png
Binary files differ
diff --git a/3901/CH3/EX3.14/Ex3_14.sce b/3901/CH3/EX3.14/Ex3_14.sce
new file mode 100644
index 000000000..ca8dbdd54
--- /dev/null
+++ b/3901/CH3/EX3.14/Ex3_14.sce
@@ -0,0 +1,10 @@
+clc
+clear
+close
+
+n=[0:20];
+x=(4.^(-n));
+h=((-0.2).^n+4*(0.8).^n);
+c=convol(x,h);//discrete convolution
+
+plot2d3(n,c(1:length(n)),[5]);title("Zero state Response","fontsize",4);
diff --git a/3901/CH3/EX3.15/Ex3_15.png b/3901/CH3/EX3.15/Ex3_15.png
new file mode 100644
index 000000000..d45f641cf
--- /dev/null
+++ b/3901/CH3/EX3.15/Ex3_15.png
Binary files differ
diff --git a/3901/CH3/EX3.15/Ex3_15.sce b/3901/CH3/EX3.15/Ex3_15.sce
new file mode 100644
index 000000000..a76f441e0
--- /dev/null
+++ b/3901/CH3/EX3.15/Ex3_15.sce
@@ -0,0 +1,16 @@
+clc
+clear
+close
+
+function y=u(x)
+ y=sign(sign(x)+1);
+endfunction
+
+n=[0:6];
+x=((0.8).^n).*u(n);
+g=((0.3).^n).*u(n);
+c=convol2d(x,g);//discrete convolution
+
+subplot(3,1,1);plot2d3(n,x,[5]);title("signal x(n)","fontsize",4);
+subplot(3,1,2);plot2d3(n,g,[4]);title("signal g(n)","fontsize",4);
+subplot(3,1,3);plot2d3(n,c(1:length(n)),[2]);title("convoluted signal","fontsize",4);
diff --git a/3901/CH3/EX3.16/Ex3_16.png b/3901/CH3/EX3.16/Ex3_16.png
new file mode 100644
index 000000000..bbdcca007
--- /dev/null
+++ b/3901/CH3/EX3.16/Ex3_16.png
Binary files differ
diff --git a/3901/CH3/EX3.16/Ex3_16.sce b/3901/CH3/EX3.16/Ex3_16.sce
new file mode 100644
index 000000000..8eae8705b
--- /dev/null
+++ b/3901/CH3/EX3.16/Ex3_16.sce
@@ -0,0 +1,19 @@
+clc
+clear
+close
+
+function y=u(x)
+ y=sign(sign(x)+1);
+endfunction
+
+n=[-2:15];
+x=n.*(u(n+2)-u(n-5));
+g=1.*u(n);
+c=convol2d(x,g);//discrete convolution
+
+subplot(1,3,1);plot2d3(n,x,[5]);title("signal x(n)","fontsize",4);//plotting x[n]
+set(gca(),"zoom_box",[-8 -6 8 6],"x_location","middle","y_location","middle");
+subplot(1,3,2);plot2d3(n,g,[4]);title("signal g(n)","fontsize",4);//plotting g[n]
+set(gca(),"zoom_box",[-8 -6 8 6],"x_location","middle","y_location","middle");
+subplot(1,3,3);plot2d3([-4:length(c)-5],c,[2]);title("convoluted signal(x[n]*g[n])","fontsize",4);//plotting convoluted signal
+set(gca(),"zoom_box",[-8 -8 8 8],"x_location","middle","y_location","middle");
diff --git a/3901/CH3/EX3.17/Ex3_17.png b/3901/CH3/EX3.17/Ex3_17.png
new file mode 100644
index 000000000..cb5d91f80
--- /dev/null
+++ b/3901/CH3/EX3.17/Ex3_17.png
Binary files differ
diff --git a/3901/CH3/EX3.17/Ex3_17.sce b/3901/CH3/EX3.17/Ex3_17.sce
new file mode 100644
index 000000000..7aa7957d2
--- /dev/null
+++ b/3901/CH3/EX3.17/Ex3_17.sce
@@ -0,0 +1,14 @@
+clc
+clear
+close
+
+n=[0:10]';//defining the discrete time
+y= [4;13;zeros(length(n)-2,1)];//predefining the initial conditions + zero output array
+x=(3*n+5);
+for k=1:length(n)-2
+y(k+2) = 5*y(k+1)-6*y(k)+x(k+1)-5*x(k);
+end;
+
+plot2d3(n,y/(10^5),[2]);title("system_solution","fontsize",4);
+set(gca(),"zoom_box",[-10 -4 10 4],"x_location","middle","y_location","middle");
+legend("scale=10^5","fontsize",2)
diff --git a/3901/CH3/EX3.18/Ex3_18.png b/3901/CH3/EX3.18/Ex3_18.png
new file mode 100644
index 000000000..109d21bba
--- /dev/null
+++ b/3901/CH3/EX3.18/Ex3_18.png
Binary files differ
diff --git a/3901/CH3/EX3.18/Ex3_18.sce b/3901/CH3/EX3.18/Ex3_18.sce
new file mode 100644
index 000000000..b3d4e0157
--- /dev/null
+++ b/3901/CH3/EX3.18/Ex3_18.sce
@@ -0,0 +1,13 @@
+clc
+clear
+close
+
+n=[0:10]';
+y= [0;zeros(length(n)-1,1)];//predefining the initial conditions + zero output array
+x=(n+1).^2;
+for k=1:length(n)-1
+ y(k+1) =y(k)+x(k);
+end;
+
+plot2d3(n,y,[5]);title("Sum of the k^2","fontsize",4);
+
diff --git a/3901/CH3/EX3.19/Ex3_19.png b/3901/CH3/EX3.19/Ex3_19.png
new file mode 100644
index 000000000..f9964eb79
--- /dev/null
+++ b/3901/CH3/EX3.19/Ex3_19.png
Binary files differ
diff --git a/3901/CH3/EX3.19/Ex3_19.sce b/3901/CH3/EX3.19/Ex3_19.sce
new file mode 100644
index 000000000..e5f58cd35
--- /dev/null
+++ b/3901/CH3/EX3.19/Ex3_19.sce
@@ -0,0 +1,13 @@
+clc ;
+clear ;
+close ;
+
+
+n =0:20;
+x=(3.^n);
+a =[1 -3 2];
+b =[0 1 2];
+y= filter (b,a,x);
+plot2d3 (n,y/(10^9),[2]);
+title("forced respose","fontsize",4);
+legend("scale(y-axis)=(10^9)")
diff --git a/3901/CH3/EX3.20/Ex3_20.png b/3901/CH3/EX3.20/Ex3_20.png
new file mode 100644
index 000000000..3e2ebc609
--- /dev/null
+++ b/3901/CH3/EX3.20/Ex3_20.png
Binary files differ
diff --git a/3901/CH3/EX3.20/Ex3_20.sce b/3901/CH3/EX3.20/Ex3_20.sce
new file mode 100644
index 000000000..71f97dc1b
--- /dev/null
+++ b/3901/CH3/EX3.20/Ex3_20.sce
@@ -0,0 +1,13 @@
+clear ;
+close ;
+clc ;
+
+
+n =0:14;
+x= cos(2*n+%pi/3);//forcing function
+a =[1 -1 0.16];
+b =[0 1 0.32];
+y= filter (b,a,x);
+plot2d3 (n,y,[2]);
+title("forced respose","fontsize",4);
+set(gca(),"x_location","middle");
diff --git a/3901/CH3/EX3.21/Ex3_21.png b/3901/CH3/EX3.21/Ex3_21.png
new file mode 100644
index 000000000..7eb71a28b
--- /dev/null
+++ b/3901/CH3/EX3.21/Ex3_21.png
Binary files differ
diff --git a/3901/CH3/EX3.21/Ex3_21.sce b/3901/CH3/EX3.21/Ex3_21.sce
new file mode 100644
index 000000000..89d19a105
--- /dev/null
+++ b/3901/CH3/EX3.21/Ex3_21.sce
@@ -0,0 +1,12 @@
+clc
+clear
+close;
+
+n=0:18;
+h1=4*(n==0)-3*(0.5).^n;
+h2=(2^n);
+h_cas=conv(h1,h2);//response of cascaded system
+subplot(1,3,1);plot2d3(n,h1,[5]);title("h1_system 1","fontsize",4);
+set(gca(),"zoom_box",[0 -max(h1) 18 max(h1)],"x_location","middle");
+subplot(1,3,2);plot2d3(n,h2,[5]);title("h2 of system 2","fontsize",4);
+subplot(1,3,3);plot2d3(n,h_cas(1:length(n)),[2]);title("h of cascaded system","fontsize",4);
diff --git a/3901/CH3/EX3.3/Ex3_3.png b/3901/CH3/EX3.3/Ex3_3.png
new file mode 100644
index 000000000..ae5397295
--- /dev/null
+++ b/3901/CH3/EX3.3/Ex3_3.png
Binary files differ
diff --git a/3901/CH3/EX3.3/Ex3_3.sce b/3901/CH3/EX3.3/Ex3_3.sce
new file mode 100644
index 000000000..d20b80870
--- /dev/null
+++ b/3901/CH3/EX3.3/Ex3_3.sce
@@ -0,0 +1,13 @@
+clc
+clear
+
+n=[0:1:5];
+// Defining unit step function
+function y=u(x)
+ y=sign((sign(x)+1))
+endfunction
+
+n=0:1:11;
+f=n.*(u(n)-u(n-5))+4.*(u(n-5)-u(n-11))-2.*(n==8);//defining the given function
+plot2d3(n,f,[5])
+title("given signal","fontsize",4)
diff --git a/3901/CH3/EX3.8/Ex3_8.png b/3901/CH3/EX3.8/Ex3_8.png
new file mode 100644
index 000000000..9fe16f1be
--- /dev/null
+++ b/3901/CH3/EX3.8/Ex3_8.png
Binary files differ
diff --git a/3901/CH3/EX3.8/Ex3_8.sce b/3901/CH3/EX3.8/Ex3_8.sce
new file mode 100644
index 000000000..956093124
--- /dev/null
+++ b/3901/CH3/EX3.8/Ex3_8.sce
@@ -0,0 +1,16 @@
+clc
+clear
+close
+
+n=[-1:4]';//defining the discrete time
+y= [16;zeros(length(n)-1,1)];
+
+//predefining the initial conditions + zero output array
+
+x=[0;n(2:$).^2]; //defining input array with first entry corresponding to time instant -1
+
+for k=1:length(n)-2
+y(k+1) =0.5*y(k)+x(k+1);
+end;
+
+plot2d3(n,y,[5]);
diff --git a/3901/CH3/EX3.9/Ex3_9.png b/3901/CH3/EX3.9/Ex3_9.png
new file mode 100644
index 000000000..c473de43f
--- /dev/null
+++ b/3901/CH3/EX3.9/Ex3_9.png
Binary files differ
diff --git a/3901/CH3/EX3.9/Ex3_9.sce b/3901/CH3/EX3.9/Ex3_9.sce
new file mode 100644
index 000000000..10ed8c5a3
--- /dev/null
+++ b/3901/CH3/EX3.9/Ex3_9.sce
@@ -0,0 +1,19 @@
+clc
+clear
+close
+
+n=[-2:10]';//defining the discrete time
+y= [1;2;zeros(length(n)-2,1)];
+
+//predefining the initial conditions + zero output array
+
+x=[0;0;n(3:$)]; //defining input array with first two entries corresponding to time instants -2 and -1
+
+for k=1:length(n)-2
+y(k+2) = y(k+1) -0.24*y(k) + x(k+2) - 2*x(k+1);
+end;
+
+plot2d3(n,y,[2]);
+set(gca(),"zoom_box",[-10 -25 10 25],"x_location","middle","y_location","middle");
+title("iterative solution","fontsize",4)
+
diff --git a/3901/CH4/EX4.1/Ex4_1.png b/3901/CH4/EX4.1/Ex4_1.png
new file mode 100644
index 000000000..77e9d4f63
--- /dev/null
+++ b/3901/CH4/EX4.1/Ex4_1.png
Binary files differ
diff --git a/3901/CH4/EX4.1/Ex4_1.sce b/3901/CH4/EX4.1/Ex4_1.sce
new file mode 100644
index 000000000..87571a53a
--- /dev/null
+++ b/3901/CH4/EX4.1/Ex4_1.sce
@@ -0,0 +1,14 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+//use laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\laplace.sci', -1)
+clc
+Syms t s;
+a = 3;
+y =laplace('%e^(-a*t)',t,s);//finding laplace transform
+t1=0:0.001:8;
+plot(t1,exp(-a*t1),'r');
+title("x(t)=e^-at","fontsize",4);
+disp(y)
+y1 = laplace('%e^(a*-t)',t,s);//finding laplace transform
+disp(y1)
diff --git a/3901/CH4/EX4.10/Ex4_10.sce b/3901/CH4/EX4.10/Ex4_10.sce
new file mode 100644
index 000000000..f266eb397
--- /dev/null
+++ b/3901/CH4/EX4.10/Ex4_10.sce
@@ -0,0 +1,13 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+Syms t s;
+[A] = pfss((2*s^2+20*s+45)/((s+2)*(s+3)*(s+4)));
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F3 = ilaplace(A(3),s,t)
+F = F1+F2+F3
+disp(F,"y(t)=")
diff --git a/3901/CH4/EX4.11/Ex4_11.sce b/3901/CH4/EX4.11/Ex4_11.sce
new file mode 100644
index 000000000..ee213f813
--- /dev/null
+++ b/3901/CH4/EX4.11/Ex4_11.sce
@@ -0,0 +1,13 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+Syms t s;
+[A] = pfss((2*s)/(s^2+2*s+5));
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F3 = ilaplace(A(3),s,t)
+F = F1+F2+F3
+disp(F,"inductor_current=")
diff --git a/3901/CH4/EX4.12/Ex4_12.sce b/3901/CH4/EX4.12/Ex4_12.sce
new file mode 100644
index 000000000..a96fcc668
--- /dev/null
+++ b/3901/CH4/EX4.12/Ex4_12.sce
@@ -0,0 +1,13 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+Syms t s;
+[A] = pfss((3*s+3)/((s+5)*(s^2+5*s+6)));
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F3 = ilaplace(A(3),s,t)
+F = F1+F2+F3
+disp(F,"system_solution=")
diff --git a/3901/CH4/EX4.15/Ex4_15.sce b/3901/CH4/EX4.15/Ex4_15.sce
new file mode 100644
index 000000000..3c37f6b76
--- /dev/null
+++ b/3901/CH4/EX4.15/Ex4_15.sce
@@ -0,0 +1,14 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+
+Syms s t;
+[A] = pfss((10)/(s^2+3*s+2));
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F3 = ilaplace(A(3),s,t)
+F = F1+F2+F3
+disp(F,"Loop_current=");
diff --git a/3901/CH4/EX4.16/Ex4_16.sce b/3901/CH4/EX4.16/Ex4_16.sce
new file mode 100644
index 000000000..453728aaf
--- /dev/null
+++ b/3901/CH4/EX4.16/Ex4_16.sce
@@ -0,0 +1,12 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\laplace.sci', -1)
+
+clc
+Syms t s;
+y1 =laplace('24*%e^(-3*t)+48*%e^(-4*t)',t,s);
+disp(y1,"y1=")
+y2 =laplace('16*%e^(-3*t)-12*%e^(-4*t)',t,s);
+disp(y2,"y2")
diff --git a/3901/CH4/EX4.17/Ex4_17.sce b/3901/CH4/EX4.17/Ex4_17.sce
new file mode 100644
index 000000000..fcdb3a4c6
--- /dev/null
+++ b/3901/CH4/EX4.17/Ex4_17.sce
@@ -0,0 +1,13 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+Syms t s;
+[A] = pfss((2*s^2+9*s+4)/((s)*(s^2+3*s+1)));
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F3 = ilaplace(A(3),s,t)
+F = F1+F2+F3
+disp(F,"output")
diff --git a/3901/CH4/EX4.2/Ex4_2.sce b/3901/CH4/EX4.2/Ex4_2.sce
new file mode 100644
index 000000000..dbaf0aa15
--- /dev/null
+++ b/3901/CH4/EX4.2/Ex4_2.sce
@@ -0,0 +1,18 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\laplace.sci', -1)
+
+//(a) laplace transform of delta(t)
+Syms t s;
+y =laplace('0',t,s)
+disp(y)
+
+//(b) Laplace Transform of u(t)
+y1 =laplace('1',t,s);
+disp(y1)
+
+//(c) laplace transform of cos(w0*t)u(t)
+y2 =laplace('cos(w0*t)',t,s);
+disp(y2)
diff --git a/3901/CH4/EX4.23/Ex4_23.png b/3901/CH4/EX4.23/Ex4_23.png
new file mode 100644
index 000000000..d9932e185
--- /dev/null
+++ b/3901/CH4/EX4.23/Ex4_23.png
Binary files differ
diff --git a/3901/CH4/EX4.23/Ex4_23.sce b/3901/CH4/EX4.23/Ex4_23.sce
new file mode 100644
index 000000000..1321a20bb
--- /dev/null
+++ b/3901/CH4/EX4.23/Ex4_23.sce
@@ -0,0 +1,8 @@
+
+clc
+clear
+close;
+
+s=poly(0,'s');//polynomial definition
+h=syslin('c',(s+0.1)/(s+5));//transfer function
+bode(h,0.1,100);//plotting frequency response
diff --git a/3901/CH4/EX4.24/Ex4_24.sce b/3901/CH4/EX4.24/Ex4_24.sce
new file mode 100644
index 000000000..b7236e646
--- /dev/null
+++ b/3901/CH4/EX4.24/Ex4_24.sce
@@ -0,0 +1,13 @@
+clc
+clear
+close;
+
+s=poly(0,'s')//polynomial definition
+
+h=syslin('c',(s^2/s))
+figure(1)
+bode(h,0.1,100);
+
+h1=syslin('c',(1/s))//polynomial definition
+figure(2)
+bode(h1,0.1,100);
diff --git a/3901/CH4/EX4.24/Ex4_24a.png b/3901/CH4/EX4.24/Ex4_24a.png
new file mode 100644
index 000000000..bc02fcc93
--- /dev/null
+++ b/3901/CH4/EX4.24/Ex4_24a.png
Binary files differ
diff --git a/3901/CH4/EX4.24/Ex4_24b.png b/3901/CH4/EX4.24/Ex4_24b.png
new file mode 100644
index 000000000..5cd82f61c
--- /dev/null
+++ b/3901/CH4/EX4.24/Ex4_24b.png
Binary files differ
diff --git a/3901/CH4/EX4.25/Ex4_25.png b/3901/CH4/EX4.25/Ex4_25.png
new file mode 100644
index 000000000..a85dfe5e5
--- /dev/null
+++ b/3901/CH4/EX4.25/Ex4_25.png
Binary files differ
diff --git a/3901/CH4/EX4.25/Ex4_25.sce b/3901/CH4/EX4.25/Ex4_25.sce
new file mode 100644
index 000000000..2505f65fa
--- /dev/null
+++ b/3901/CH4/EX4.25/Ex4_25.sce
@@ -0,0 +1,8 @@
+
+clc
+clear
+close;
+
+s=%s;
+h=syslin('c',((20*s^2+2000*s)/(s^2+12*s+20)))//transfer function
+bode(h,0.1,100);
diff --git a/3901/CH4/EX4.26/Ex4_26.png b/3901/CH4/EX4.26/Ex4_26.png
new file mode 100644
index 000000000..f7ee8c0bc
--- /dev/null
+++ b/3901/CH4/EX4.26/Ex4_26.png
Binary files differ
diff --git a/3901/CH4/EX4.26/Ex4_26.sce b/3901/CH4/EX4.26/Ex4_26.sce
new file mode 100644
index 000000000..ae48157fb
--- /dev/null
+++ b/3901/CH4/EX4.26/Ex4_26.sce
@@ -0,0 +1,8 @@
+
+clc
+clear
+close;
+
+s=%s;
+h=syslin('c',((10*s+1000)/(s^2+2*s+100)))//transfer function
+bode(h,0.1,100);
diff --git a/3901/CH4/EX4.27/Ex4_27.png b/3901/CH4/EX4.27/Ex4_27.png
new file mode 100644
index 000000000..19378ccaa
--- /dev/null
+++ b/3901/CH4/EX4.27/Ex4_27.png
Binary files differ
diff --git a/3901/CH4/EX4.27/Ex4_27.sce b/3901/CH4/EX4.27/Ex4_27.sce
new file mode 100644
index 000000000..42a73b9a1
--- /dev/null
+++ b/3901/CH4/EX4.27/Ex4_27.sce
@@ -0,0 +1,14 @@
+clc
+clear
+close
+
+omega_0=2*%pi*60; theta = [60 80 87]*(%pi/180);
+omega = (0:0.5:1000)';
+mag = zeros(3,length(omega));
+s=poly(0,'s')
+figure(1)
+for m =1:length(theta)
+ H=syslin('c',((s^2+omega_0^2)/(s^2+2*omega_0*cos(theta(m))*s +omega_0^2)));
+ bode(H,10,100);
+end
+
diff --git a/3901/CH4/EX4.28/Ex4_28.sce b/3901/CH4/EX4.28/Ex4_28.sce
new file mode 100644
index 000000000..8390bbf9b
--- /dev/null
+++ b/3901/CH4/EX4.28/Ex4_28.sce
@@ -0,0 +1,31 @@
+
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+
+clc
+
+s=%s;
+t=%t;
+//**************part(a)**************************
+[A]=pfss(1/((s-1)*(s+2))) //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F=F1+F2;
+disp(F,"f(t)=")
+
+//********************part(b)*******************
+[A]=pfss(1/((s-1)*(s+2))) //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F = -F1-F2;
+disp(F,"f(t)=")
+
+//******************part(c)*********************
+[A]=pfss(1/((s-1)*(s+2))) //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F = -F1+F2;
+disp(F,"f(t)=")
diff --git a/3901/CH4/EX4.29/Ex4_29.sce b/3901/CH4/EX4.29/Ex4_29.sce
new file mode 100644
index 000000000..8c53b7fde
--- /dev/null
+++ b/3901/CH4/EX4.29/Ex4_29.sce
@@ -0,0 +1,14 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+
+Syms s t;
+[A] = pfss((-s)/((s-1)*(s-2)*(s+1)));//partial fraction of transfer function
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F3 = ilaplace(A(3),s,t)
+F = F1+F2+F3
+disp(F,"F=");
diff --git a/3901/CH4/EX4.3/Ex4_3.sce b/3901/CH4/EX4.3/Ex4_3.sce
new file mode 100644
index 000000000..a1bc614f7
--- /dev/null
+++ b/3901/CH4/EX4.3/Ex4_3.sce
@@ -0,0 +1,28 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+
+clc
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+//********************************part(a)**********************
+Syms t s;
+[A]=pfss((7*s-6)/((s^2-s-6))); //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+Fa = F1+F2;
+disp(Fa,"fa(t)=")
+
+//(****************************part(b)*************************
+[A]=pfss((2*s^2+5)/((s^2-3*s+2))); //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+Fb = F1+F2;
+disp(Fb,"fb(t)=")
+
+//**************************part(c)***************************
+[A]=pfss((6*(s+34))/(s*(s^2+10*s+34))); //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+Fc = F1+F2;
+disp(Fc,"fc(t)=")
diff --git a/3901/CH4/EX4.30/Ex4_30.sce b/3901/CH4/EX4.30/Ex4_30.sce
new file mode 100644
index 000000000..974fb79a7
--- /dev/null
+++ b/3901/CH4/EX4.30/Ex4_30.sce
@@ -0,0 +1,13 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+
+Syms s t;
+[A] = pfss((-1)/((s-1)*(s+2)));//partial fraction of transfer function
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F = F1+F2
+disp(F)
diff --git a/3901/CH4/EX4.31/Ex4_31.sce b/3901/CH4/EX4.31/Ex4_31.sce
new file mode 100644
index 000000000..0272539dc
--- /dev/null
+++ b/3901/CH4/EX4.31/Ex4_31.sce
@@ -0,0 +1,20 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+Syms t s;
+//for Re s>-1
+[A] = pfss(1/((s+1)*(s+5)));//partial fraction of transfer function
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F = F1+F2
+disp(F,"for Re(s)>-1")
+
+//for -5< Re s <-2
+[B] = pfss(-1/((s+2)*(s+5)));//partial fraction of transfer function
+G1 = ilaplace(B(1),s,t)
+G2 = ilaplace(B(2),s,t)
+G = G1+G2
+disp(G,"for -5<Re(s)<-2")
diff --git a/3901/CH4/EX4.4/Ex4_4.sce b/3901/CH4/EX4.4/Ex4_4.sce
new file mode 100644
index 000000000..9e917d1a9
--- /dev/null
+++ b/3901/CH4/EX4.4/Ex4_4.sce
@@ -0,0 +1,13 @@
+clc
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+//use laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\laplace.sci', -1)
+Syms t s;
+a = 3;
+T = 1;
+y1 = laplace('t',t,s);
+y2 = laplace('t',t,s);
+y3 = laplace('1',t,s);
+y=y1*(%e^(-s))+y2*(%e^(-2*s))+y3*(%e^(-4*s))
+disp(y)
diff --git a/3901/CH4/EX4.5/Ex4_5.sce b/3901/CH4/EX4.5/Ex4_5.sce
new file mode 100644
index 000000000..e154c6e20
--- /dev/null
+++ b/3901/CH4/EX4.5/Ex4_5.sce
@@ -0,0 +1,19 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+
+s1 =%s ;
+Syms t s;
+[A]=pfss((s1+3)/((s1+1)*(s1+2))); //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+Fa = F1+F2;
+disp(Fa,"f1(t)=")
+[B]=pfss((5)/((s1+1)*(s1+2))); //partial fraction of F(s)
+F1 = ilaplace(B(1),s,t)
+F2 = ilaplace(B(2),s,t)
+Fb = (F1+F2)*(%e^(-2*s));
+disp(Fb,"f2(t)=")
+disp(Fa+Fb,"f(t)=")
diff --git a/3901/CH4/EX4.8/Ex4_8.sce b/3901/CH4/EX4.8/Ex4_8.sce
new file mode 100644
index 000000000..fcf2530de
--- /dev/null
+++ b/3901/CH4/EX4.8/Ex4_8.sce
@@ -0,0 +1,12 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+//use inv_laplace.sci before this code using correct path]
+//exec('C:\Users\Satyajit\Desktop\sample_codes\inv_laplace.sci', -1)
+clc
+Syms t s;
+a=3;b=2;//taking random values of a and b
+[A]=pfss(1/(s^2-5*s+6)); //partial fraction of F(s)
+F1 = ilaplace(A(1),s,t)
+F2 = ilaplace(A(2),s,t)
+F = F1+F2;
+disp(F,"f(t)=")
diff --git a/3901/CH4/EX4.9/Ex4_9.sce b/3901/CH4/EX4.9/Ex4_9.sce
new file mode 100644
index 000000000..01642fc7b
--- /dev/null
+++ b/3901/CH4/EX4.9/Ex4_9.sce
@@ -0,0 +1,15 @@
+//scilab symbolic toolbox(scilab-scimax) is needed for this code
+//symbolic toolbox should be strictly installed in Ubuntu-14.04 and Scilab-5.0.0 as it's not supported in higher versions
+//limit can be used after installing symbolic toolbox only
+clc
+
+s=%s;
+num =poly([30 20],'s','coeff')
+den =poly([0 5 2 1],'s','coeff')
+X = num/den;
+disp (X,"X(s)=")
+SX = s*X;
+Initial_Value =limit(SX,s,%inf);
+final_value =limit(SX,s,0);
+disp(Initial_Value,"x(0)=")
+disp(final_value,"x(inf)=")
diff --git a/3901/CH5/EX5.1/Ex5_1.png b/3901/CH5/EX5.1/Ex5_1.png
new file mode 100644
index 000000000..824a91384
--- /dev/null
+++ b/3901/CH5/EX5.1/Ex5_1.png
Binary files differ
diff --git a/3901/CH5/EX5.1/Ex5_1.sce b/3901/CH5/EX5.1/Ex5_1.sce
new file mode 100644
index 000000000..3bd1728d8
--- /dev/null
+++ b/3901/CH5/EX5.1/Ex5_1.sce
@@ -0,0 +1,12 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+
+clc
+Syms n z;
+a = 0.5;
+x =(a)^n;
+n1=0:10;
+plot2d3(n1,a^n1); xtitle('a^n','n');
+plot(n1,a^n1,'r.')
+X = symsum(x*(z^(-n)),n,0,%inf)
+disp(X,"ans=")
diff --git a/3901/CH5/EX5.10/Ex5_10.png b/3901/CH5/EX5.10/Ex5_10.png
new file mode 100644
index 000000000..7fe58eaf4
--- /dev/null
+++ b/3901/CH5/EX5.10/Ex5_10.png
Binary files differ
diff --git a/3901/CH5/EX5.10/Ex5_10.sce b/3901/CH5/EX5.10/Ex5_10.sce
new file mode 100644
index 000000000..210085b43
--- /dev/null
+++ b/3901/CH5/EX5.10/Ex5_10.sce
@@ -0,0 +1,26 @@
+clc ;
+clear ;
+close ;
+
+
+n =0:20;
+T=0.001;
+x1=1.^n;
+x2=cos(%pi/6*n-0.2);
+x3=cos(1500*n*T);//sampled input
+a =[1 -0.8];
+b =[1 0];
+y1= filter (b,a,x1);
+y2= filter (b,a,x2);
+y3= filter (b,a,x3);
+
+subplot(1,3,1);plot2d3(n,y1,[5]);
+title("y[n] for part(a)","fontsize",4);
+
+subplot(1,3,2);plot2d3(n,y2,[5]);
+title("y[n] for part(b)","fontsize",4);
+set(gca(),"x_location","middle","zoom_box",[0 -2.1 10 2.1]);
+
+subplot(1,3,3);plot2d3(n,y3,[5]);
+title("y[n] for part(c)","fontsize",4);
+set(gca(),"x_location","middle","zoom_box",[0 -1.1 10 1.1]);
diff --git a/3901/CH5/EX5.12/Ex5_12.sce b/3901/CH5/EX5.12/Ex5_12.sce
new file mode 100644
index 000000000..7121cf914
--- /dev/null
+++ b/3901/CH5/EX5.12/Ex5_12.sce
@@ -0,0 +1,6 @@
+clc
+clear
+
+f=50*10^3;
+T=0.5/f;
+disp(1/(T*10^3),"the maximum sampling frequency in kHz=")//in seconds
diff --git a/3901/CH5/EX5.13/Ex5_13.sce b/3901/CH5/EX5.13/Ex5_13.sce
new file mode 100644
index 000000000..e9c7209b7
--- /dev/null
+++ b/3901/CH5/EX5.13/Ex5_13.sce
@@ -0,0 +1,5 @@
+clc
+clear
+
+T=25*10^-6;
+disp(1/(T*10^3),"the maximum sampling frequency in kHz=")//in seconds
diff --git a/3901/CH5/EX5.14/Ex5_14.png b/3901/CH5/EX5.14/Ex5_14.png
new file mode 100644
index 000000000..13b9cfc82
--- /dev/null
+++ b/3901/CH5/EX5.14/Ex5_14.png
Binary files differ
diff --git a/3901/CH5/EX5.14/Ex5_14.sce b/3901/CH5/EX5.14/Ex5_14.sce
new file mode 100644
index 000000000..74937872a
--- /dev/null
+++ b/3901/CH5/EX5.14/Ex5_14.sce
@@ -0,0 +1,14 @@
+clc
+clear
+close
+
+gm=[0.83 0.93 1.00];
+[xm1,fr1]=frmag([1 0 -1],[1 -sqrt(2)*gm(1) gm(1)^2],4097);
+[xm2,fr2]=frmag([1 0 -1],[1 -sqrt(2)*gm(2) gm(2)^2],4097);
+[xm3,fr3]=frmag([1 0 -1],[1 -sqrt(2)*gm(3) gm(3)^2],4097);
+plot(fr1,xm1,'k');
+plot(fr2,xm2,'r');
+plot(fr3,xm3,'b');
+zoom_rect([0 0 0.3 50])
+title("frequency_response of Bandpass filter for different gamma values","fontsize",4)
+legend("gamma=0.83","gamma=0.93","gamma=1");
diff --git a/3901/CH5/EX5.15/Ex5_15.png b/3901/CH5/EX5.15/Ex5_15.png
new file mode 100644
index 000000000..df92bbacc
--- /dev/null
+++ b/3901/CH5/EX5.15/Ex5_15.png
Binary files differ
diff --git a/3901/CH5/EX5.15/Ex5_15.sce b/3901/CH5/EX5.15/Ex5_15.sce
new file mode 100644
index 000000000..abfad8613
--- /dev/null
+++ b/3901/CH5/EX5.15/Ex5_15.sce
@@ -0,0 +1,17 @@
+clc
+clear
+close
+
+a=[0.3 0.6 0.95];
+[xm1,fr1]=frmag([1+a(1)^2 0 1+a(1)^2], [2 0 2*a(1)^2],4097);
+
+[xm2,fr2]=frmag([1+a(2)^2 0 1+a(2)^2], [2 0 2*a(2)^2],4097);
+
+[xm3,fr3]=frmag([1+a(3)^2 0 1+a(3)^2], [2 0 2*a(3)^2],4097);
+
+plot(fr1,xm1,'k');
+plot(fr2,xm2,'r');
+plot(fr3,xm3,'b');
+zoom_rect([0 0 0.5 1])
+title("frequency_response of Bandstop filter for different a values","fontsize",4)
+legend("a=0.3","a=0.6","a=0.95",[3]);
diff --git a/3901/CH5/EX5.16/Ex5_16.png b/3901/CH5/EX5.16/Ex5_16.png
new file mode 100644
index 000000000..67636e572
--- /dev/null
+++ b/3901/CH5/EX5.16/Ex5_16.png
Binary files differ
diff --git a/3901/CH5/EX5.16/Ex5_16.sce b/3901/CH5/EX5.16/Ex5_16.sce
new file mode 100644
index 000000000..aecd36274
--- /dev/null
+++ b/3901/CH5/EX5.16/Ex5_16.sce
@@ -0,0 +1,11 @@
+clc
+clear
+close
+
+wc=10^5;
+[xm1,fr1]=frmag([0.3142 0], [1 -0.7304],4097);//finding fr response from transfer functions
+
+plot(fr1,xm1,'r');
+zoom_rect([0 0 0.5 1.2])
+title("frequency_response of Low pass filter","fontsize",4)
+legend("wc=10^5");
diff --git a/3901/CH5/EX5.17/Ex5_17.sce b/3901/CH5/EX5.17/Ex5_17.sce
new file mode 100644
index 000000000..5015b7c5d
--- /dev/null
+++ b/3901/CH5/EX5.17/Ex5_17.sce
@@ -0,0 +1,14 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+
+clc
+Syms n z;
+a=0.9
+b = 1.2;
+
+x1=(a)^(n)
+x2=(b)^(-n)
+X1=symsum(x1*(z^(-n)),n,0,%inf)
+X2=symsum(x2*(z^(n)),n,1,%inf)
+X = X1+X2;
+disp(X,"ans=")
diff --git a/3901/CH5/EX5.18/Ex5_18.sce b/3901/CH5/EX5.18/Ex5_18.sce
new file mode 100644
index 000000000..f47ae9856
--- /dev/null
+++ b/3901/CH5/EX5.18/Ex5_18.sce
@@ -0,0 +1,48 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+//limit function can be accessed after installing symbolic toolbox
+
+clc
+z = %z;
+Syms n z1;
+
+
+//*******************************part(a)*******************************
+X =-z*(z+0.4)/((z-0.8)*(z-2))
+X1 = X.den;
+zp = roots(X1);
+X1 = -z1*(z1+0.4)/((z1-0.8)*(z1-2))
+F1 = X1*(z1^(n-1))*(z1-zp(1));
+F2 = X1*(z1^(n-1))*(z1-zp(2));
+h1 = limit(F1,z1,zp(1));
+disp(h1,'h1[n]=')
+h2 = limit(F2,z1,zp(2));
+disp(h2,'h2[n]=')
+h = h1+h2;
+disp(h,'h[n]=')
+
+//*******************************part(b)*******************************
+X =-z*(z+0.4)/((z-0.8)*(z-2))
+X1 = X.den;
+zp = roots(X1);
+X1 = -z1*(z1+0.4)/((z1-0.8)*(z1-2))
+F1 = X1*(z1^(n-1))*(z1-zp(1));
+F2 = X1*(z1^(n-1))*(z1-zp(2));
+h1 = limit(F1,z1,zp(1));
+disp(h1*'u(n)','h1[n]=')
+h2 = limit(F2,z1,zp(2));
+disp((h2)*'u(-n-1)','h2[n]=')
+disp((h1)*'u(n)'-(h2)*'u(n-1)','h[n]=')
+
+//*******************************part(c)*******************************
+X =-z*(z+0.4)/((z-0.8)*(z-2))
+X1 = X.den;
+zp = roots(X1);
+X1 = -z1*(z1+0.4)/((z1-0.8)*(z1-2))
+F1 = X1*(z1^(n-1))*(z1-zp(1));
+F2 = X1*(z1^(n-1))*(z1-zp(2));
+h1 = limit(F1,z1,zp(1));
+disp(h1*'u(-n-1)','h1[n]=')
+h2 = limit(F2,z1,zp(2));
+disp((h2)*'u(-n-1)','h2[n]=')
+disp(-(h1)*'u(-n-1)'-(h2)*'u(-n-1)','h[n]=')
diff --git a/3901/CH5/EX5.19/Ex5_19.sce b/3901/CH5/EX5.19/Ex5_19.sce
new file mode 100644
index 000000000..16d43a130
--- /dev/null
+++ b/3901/CH5/EX5.19/Ex5_19.sce
@@ -0,0 +1,21 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+//limit function can be accessed after installing symbolic toolbox
+
+clc
+syms n z;
+H1 = -z/(z-0.5);
+H2 = (8/3)*z/(z-0.8);
+H3=(-8/3)*z/(z-2);
+F1 = H1*z^(n-1)*(z-0.5);
+F2 = H2*z^(n-1)*(z-0.8);
+F3 = H3*z^(n-1)*(z-2);
+h1 = limit(F1,z,0.5);
+
+disp(h1,'h1[n]=')
+h2 = limit(F2,z,0.8);
+disp(h2,'h2[n]=')
+h3 = limit(F3,z,2);
+disp(h3,'h3[n]=')
+h = h1+h2+h3;
+disp(h,'h[n]=')
diff --git a/3901/CH5/EX5.2/Ex5_2.sce b/3901/CH5/EX5.2/Ex5_2.sce
new file mode 100644
index 000000000..d21e170ec
--- /dev/null
+++ b/3901/CH5/EX5.2/Ex5_2.sce
@@ -0,0 +1,25 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+
+clc
+Syms n z;
+Wo =%pi/4;
+a = (0.33)^n;
+x1=%e^(sqrt(-1)*Wo*n);
+X1=symsum(a*x1*(z^(-n)),n,0,%inf)
+x2=%e^(-sqrt(-1)*Wo*n)
+X2=symsum(a*x2*(z^(-n)),n,0,%inf)
+X =(1/(2*sqrt(-1)))*(X1+X2)
+disp(X,"ans1=")
+
+//*****************part(a)*******************8
+X=symsum(1*(z^(-n)),n,0,0);
+disp(X,"ans2=")
+
+//*****************part(b)*******************8
+X=symsum(1*(z^(-n)),n,0,4);
+disp(X,"ans3=")
+
+//*****************part(c)*******************8
+X=symsum(1*(z^(-n)),n,0,%inf);
+disp(X,"ans4=")
diff --git a/3901/CH5/EX5.20/Ex5_20.sce b/3901/CH5/EX5.20/Ex5_20.sce
new file mode 100644
index 000000000..7ef480ad6
--- /dev/null
+++ b/3901/CH5/EX5.20/Ex5_20.sce
@@ -0,0 +1,25 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+//limit function can be accessed after installing symbolic toolbox
+
+clc
+Syms n z;
+H1 = (-5/3)*z/(z-0.5);
+H2 = (8/3)*z/(z-0.8);
+H3=5*z/(z-0.5);
+H4=-6*z/(z-0.6);
+F1 = H1*z^(n-1)*(z-0.5);
+F2 = H2*z^(n-1)*(z-0.8);
+F3 = H3*z^(n-1)*(z-0.5);
+F4 = H4*z^(n-1)*(z-0.6);
+h1 = limit(F1,z,0.5);
+
+disp(h1,'h1[n]=')
+h2 = limit(F2,z,0.8);
+disp(h2,'h2[n]=')
+h3 = limit(F3,z,0.5);
+disp(h3,'h3[n]=')
+h4 = limit(F4,z,0.6);
+disp(h4,'h4[n]=')
+h = h1+h2+h3+h4;
+disp(h,'h[n]=')
diff --git a/3901/CH5/EX5.3/Ex5_3.sce b/3901/CH5/EX5.3/Ex5_3.sce
new file mode 100644
index 000000000..e135ac5f2
--- /dev/null
+++ b/3901/CH5/EX5.3/Ex5_3.sce
@@ -0,0 +1,36 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+//limit function can be accessed after installing symbolic toolbox
+clc
+
+//**********************************part(a)************************
+z = %z;
+Syms n z1;//To find out Inverse z transform z must be linear z = z1
+X =(8*z-19)/((z-2)*(z-3))
+X1 = X.den; //don't use denom() or numer(), they'll be removed in upcoming versions
+zp = roots(X1);
+X1 = (8*z1-19)/((z1-2)*(z1-3))
+F1 = X1*(z1^(n-1))*(z1-zp(1));
+F2 = X1*(z1^(n-1))*(z1-zp(2));
+h1 = limit(F1,z1,zp(1));
+disp(h1,'h1[n]=')
+h2 = limit(F2,z1,zp(2));
+disp(h2,'h2[n]=')
+h = h1+h2;
+disp(h,'h[n]=')
+
+
+
+//**********************************part(c)************************
+X =(2*z*(3*z+17))/((z-1)*(z^2-6*z+25))
+X1 = X.den;
+zp = roots(X1);
+X1 = 2*z1*(3*z1+17)/((z1-1)*(z1^2-6*z1+25))
+F1 = X1*(z1^(n-1))*(z1-zp(1));
+F2 = X1*(z1^(n-1))*(z1-zp(2));
+h1 = limit(F1,z1,zp(1));
+disp(h1,'h1[n]=')
+h2 = limit(F2,z1,zp(2));
+disp(h2,'h2[n]=')
+h = h1+h2;
+disp(h,'h[n]=')
diff --git a/3901/CH5/EX5.5/Ex5_5.sce b/3901/CH5/EX5.5/Ex5_5.sce
new file mode 100644
index 000000000..da9b604c7
--- /dev/null
+++ b/3901/CH5/EX5.5/Ex5_5.sce
@@ -0,0 +1,21 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+//limit function can be accessed after installing symbolic toolbox
+
+clc
+Syms n z;
+H1 = (26/15)/(z-(1/2));
+H2 = (7/3)/(z-2);
+H3 = (18/5)/(z-3);
+F1 = H1*z^(n)*(z-(1/2));
+F2 = H2*z^(n)*(z-2);
+F3 = H3*z^(n)*(z-3);
+
+h1 = limit(F1,z,1/2);
+disp(h1,'h1[n]=')
+h2 = limit(F2,z,2);
+disp(h2,'h2[n]=')
+h3 = limit(F3,z,3);
+disp(h3,'h3[n]=')
+h = h1-h2+h3;
+disp(h,'h[n]=')
diff --git a/3901/CH5/EX5.6/Ex5_6.sce b/3901/CH5/EX5.6/Ex5_6.sce
new file mode 100644
index 000000000..78bf206f4
--- /dev/null
+++ b/3901/CH5/EX5.6/Ex5_6.sce
@@ -0,0 +1,21 @@
+//This code needs symbolic tool(scilab-scimax) to be instaslled
+//The tool should be installed properly in Ubuntu-14.04 and scilab-5.5.0 as it may not work in higher versions
+//limit function can be accessed after installing symbolic toolbox
+
+clc
+Syms n z;
+H1 = (2/3)/(z+0.2);
+H2 = (8/3)/(z+0.8);
+H3 = (2)/(z+0.5);
+F1 = H1*z^(n)*(z+0.2);
+F2 = H2*z^(n)*(z+0.8);
+F3 = H3*z^(n)*(z+0.5);
+
+h1 = limit(F1,z,-0.2);
+disp(h1,'h1[n]=')
+h2 = limit(F2,z,-0.8);
+disp(h2,'h2[n]=')
+h3 = limit(F3,z,-0.5);
+disp(h3,'h3[n]=')
+h = h1-h2+h3;
+disp(h,'h[n]=')
diff --git a/3901/CH6/EX6.1/Ex6_1.png b/3901/CH6/EX6.1/Ex6_1.png
new file mode 100644
index 000000000..ec17a056f
--- /dev/null
+++ b/3901/CH6/EX6.1/Ex6_1.png
Binary files differ
diff --git a/3901/CH6/EX6.1/Ex6_1.sce b/3901/CH6/EX6.1/Ex6_1.sce
new file mode 100644
index 000000000..ecb7d9e75
--- /dev/null
+++ b/3901/CH6/EX6.1/Ex6_1.sce
@@ -0,0 +1,29 @@
+clc
+clear
+close;
+
+//finding fourier series
+w0=2; T0=2*%pi/w0;//period and frequency
+dt=0.01;
+t=0:dt:%pi-dt;
+y=(exp(-t/2)).*((t>=0)&(t<%pi));
+N=length(y);
+c0=sum(y.*dt)/T0;
+n1=[1:10]';
+for n=1:10
+ aa(n)=2*sum(y.*cos(n*w0*t).*dt)/T0;
+ bb(n)=2*sum(y.*sin(n*w0*t).*dt)/T0;
+ cn(n)=sqrt(aa(n).^2+bb(n).^2);
+ thetan(n)=atan(-bb(n)/aa(n));
+end
+
+cn=[c0;cn];thetan=[0;thetan];n=[0;n1];
+y=repmat(y,1,5);t=0:dt:(length(y)-1).*dt;//periodic signal definition
+
+subplot(3,1,1);plot(t,y,'r');title("given signal","fontsize",4);
+set(gca(),"zoom_box",[t(1) 0 t($) 1]);
+subplot(3,1,2);plot2d3(n,cn,[2]);title("c(n)","fontsize",4)
+subplot(3,1,3);plot2d3(n,thetan,[2]);title("theta(n)","fontsize",4)
+set(gca(),"x_location","top");
+
+
diff --git a/3901/CH6/EX6.10/Ex6_10.png b/3901/CH6/EX6.10/Ex6_10.png
new file mode 100644
index 000000000..4234edc0e
--- /dev/null
+++ b/3901/CH6/EX6.10/Ex6_10.png
Binary files differ
diff --git a/3901/CH6/EX6.10/Ex6_10.sce b/3901/CH6/EX6.10/Ex6_10.sce
new file mode 100644
index 000000000..b123d3f66
--- /dev/null
+++ b/3901/CH6/EX6.10/Ex6_10.sce
@@ -0,0 +1,14 @@
+clc
+clear
+close
+
+Ey=integrate("sin(t).^2","t",0,2*%pi);//energy of x(t)
+C=(1/Ey).*integrate("sin(t).*(1.*((t>=0)&(t<=%pi))-1.*((t>%pi)&(t<=2*%pi)))","t",0,2*%pi);
+printf("\napproximated signal is x(t) ~ %.3f*sin(t)\n",C);
+t=0:0.001:2*%pi;
+x=1.*((t>=0)&(t<=%pi))-1.*((t>%pi)&(t<=2*%pi));
+x_approx=(4/%pi).*sin(t);
+plot(t,x,'b');plot(t,x_approx,'r');
+title("signal approximation","fontsize",4);
+legend("actual_signal","approximated_signal");
+set(gca(),"x_location","middle","zoom_box",[t(1) -2 t($) 2]);
diff --git a/3901/CH6/EX6.11/Ex6_11.png b/3901/CH6/EX6.11/Ex6_11.png
new file mode 100644
index 000000000..720251cd8
--- /dev/null
+++ b/3901/CH6/EX6.11/Ex6_11.png
Binary files differ
diff --git a/3901/CH6/EX6.11/Ex6_11.sce b/3901/CH6/EX6.11/Ex6_11.sce
new file mode 100644
index 000000000..409762a0d
--- /dev/null
+++ b/3901/CH6/EX6.11/Ex6_11.sce
@@ -0,0 +1,45 @@
+clc
+clear all
+close;
+
+t=0:0.001:6.3;
+x=1.*((t>=0)&(t<%pi))-1.*((t>=%pi)&(t<=(2*%pi)));
+p=[1,3,5,19];
+
+x_approx=0;
+for n=1:2:p(1)
+ x_approx=x_approx+(4/%pi).*sin(n*t).*(1/n);
+end
+subplot(2,2,1);plot(t',x,'b');plot(t,x_approx,'r');
+set(gca(),"x_location","middle","zoom_box",[t(1) -1.5 t($) 1.5]);
+legend("actual_signal","approximated_signal(N=1)");
+
+x_approx=0;
+for n=1:2:p(2)
+ x_approx=x_approx+(4/%pi).*sin(n*t).*(1/n);
+end
+subplot(2,2,2);plot(t',x,'b');plot(t,x_approx,'r');
+set(gca(),"x_location","middle","zoom_box",[t(1) -1.5 t($) 1.5]);
+legend("actual_signal","approximated_signal(N=3)");
+
+x_approx=0;
+for n=1:2:p(3)
+ x_approx=x_approx+(4/%pi).*sin(n*t).*(1/n);
+end
+subplot(2,2,3);plot(t',x,'b');plot(t,x_approx,'r');
+set(gca(),"x_location","middle","zoom_box",[t(1) -1.5 t($) 1.5]);
+legend("actual_signal","approximated_signal(N=5)");
+
+x_approx=0;
+for n=1:2:p(4)
+ x_approx=x_approx+(4/%pi).*sin(n*t).*(1/n);
+end
+subplot(2,2,4);plot(t',x,'b');plot(t,x_approx,'r');
+set(gca(),"x_location","middle","zoom_box",[t(1) -1.5 t($) 1.5]);
+legend("actual_signal","approximated_signal(N=19)");
+
+//Finding Error
+E1=2*%pi-(16/%pi);//for N=1
+E3=2*%pi-(16/%pi)*(1+1/9);//for N=3
+print(E1)
+print(E3)
diff --git a/3901/CH6/EX6.12/Ex6_12.png b/3901/CH6/EX6.12/Ex6_12.png
new file mode 100644
index 000000000..705d32c50
--- /dev/null
+++ b/3901/CH6/EX6.12/Ex6_12.png
Binary files differ
diff --git a/3901/CH6/EX6.12/Ex6_12.sce b/3901/CH6/EX6.12/Ex6_12.sce
new file mode 100644
index 000000000..e3006fa5f
--- /dev/null
+++ b/3901/CH6/EX6.12/Ex6_12.sce
@@ -0,0 +1,10 @@
+clc
+clear all
+close;
+
+t=-1:0.001:1;
+x=1.*((t>=-1)&(t<0))-1.*((t>=0)&(t<=1));
+x_approx=(-3/2)*t+(7/8)*(2.5*t.^3-1.5*t);
+plot(t',x,'b');plot(t,x_approx,'r');title("legendre series approximation","fontsize",4)
+set(gca(),"x_location","middle","zoom_box",[t(1) -2 t($) 2]);
+legend("actual_signal","approximated signal");
diff --git a/3901/CH6/EX6.2/Ex6_2.png b/3901/CH6/EX6.2/Ex6_2.png
new file mode 100644
index 000000000..486c61a08
--- /dev/null
+++ b/3901/CH6/EX6.2/Ex6_2.png
Binary files differ
diff --git a/3901/CH6/EX6.2/Ex6_2.sce b/3901/CH6/EX6.2/Ex6_2.sce
new file mode 100644
index 000000000..fa6aadfd5
--- /dev/null
+++ b/3901/CH6/EX6.2/Ex6_2.sce
@@ -0,0 +1,30 @@
+clc
+clear
+close;
+//error in phase might be there as atan finds angle only in 1st quadrant
+//Taking A=0.5
+w0=%pi; T0=2;//period and frequency
+dt=0.01; //time increment
+t=(-0.5:dt:1.5-dt);
+y=(t.*((t>=-0.5)&(t<0.5)))+((-t+1).*((t>=0.5)&(t<1.5)));
+N=length(y);
+c0=sum(y.*dt)/T0;
+n1=[1:10]';
+for n=1:10
+ aa(n)=2*sum(y.*cos(n*w0*t).*dt)/T0;
+ bb(n)=2*sum(y.*sin(n*w0*t).*dt)/T0;
+ cn(n)=sqrt(aa(n).^2+bb(n).^2);
+ thetan(n)=atan(-bb(n)/aa(n));
+end
+thetan(7)=-thetan(7);
+thetan(2*(1:5))=[0;0;0;0;0];//as even components are zero angles at even n are not needed
+cn=[c0;cn];thetan=[0;thetan];n=[0;n1];
+y=repmat(y,1,5);t=-4.5:dt:(length(y)-1).*dt-4.5;//periodic signal definition
+
+subplot(3,1,1);plot(t,y,'r');title("given signal","fontsize",4);
+set(gca(),"zoom_box",[-4 -1 4 1],"x_location","middle","y_location","middle");
+subplot(3,1,2);plot2d3(n,cn,[2]);title("c(n)","fontsize",4)
+subplot(3,1,3);plot2d3(n,thetan,[2]);title("theta(n)","fontsize",4)
+set(gca(),"x_location","middle");
+
+
diff --git a/3901/CH6/EX6.3/Ex6_3.png b/3901/CH6/EX6.3/Ex6_3.png
new file mode 100644
index 000000000..9aed00cd1
--- /dev/null
+++ b/3901/CH6/EX6.3/Ex6_3.png
Binary files differ
diff --git a/3901/CH6/EX6.3/Ex6_3.sce b/3901/CH6/EX6.3/Ex6_3.sce
new file mode 100644
index 000000000..b6d6c959a
--- /dev/null
+++ b/3901/CH6/EX6.3/Ex6_3.sce
@@ -0,0 +1,28 @@
+clc
+clear
+close;
+//error in phase might be there as atan finds angle only in 1st quadrant
+
+w0=1; T0=2*%pi/w0;//period and frequency
+dt=0.01; //time increment
+t=(0:dt:T0-dt);
+y=2+3*cos(2*t)+4*sin(2*t)+2*sin(3*t+%pi/6)-cos(7*t+150*%pi/180);
+N=length(y);
+c0=sum(y.*dt)/T0;
+n1=[1:10]';
+for n=1:10
+ aa(n)=2*sum(y.*cos(n*w0*t).*dt)/T0;
+ bb(n)=2*sum(y.*sin(n*w0*t).*dt)/T0;
+ cn(n)=sqrt(aa(n).^2+bb(n).^2);
+ thetan(n)=atan(-bb(n)/aa(n));
+end
+
+cn=[c0;cn];thetan=[0;thetan];n=[0;n1];
+y=repmat(y,1,5);t=-3*T0:dt:(length(y)-1).*dt-3*T0;//periodic signal definition
+
+subplot(3,1,1);plot(t,y,'b');title("given signal","fontsize",4);
+subplot(3,1,2);plot2d3(n,cn,[5]);title("c(n)","fontsize",4)
+subplot(3,1,3);plot2d3(n,thetan,[2]);title("theta(n)","fontsize",4)
+set(gca(),"x_location","top","zoom_box",[0 -1.5 10 0]);
+
+
diff --git a/3901/CH6/EX6.4/Ex6_4.png b/3901/CH6/EX6.4/Ex6_4.png
new file mode 100644
index 000000000..584fb5b6d
--- /dev/null
+++ b/3901/CH6/EX6.4/Ex6_4.png
Binary files differ
diff --git a/3901/CH6/EX6.4/Ex6_4.sce b/3901/CH6/EX6.4/Ex6_4.sce
new file mode 100644
index 000000000..e586f4adb
--- /dev/null
+++ b/3901/CH6/EX6.4/Ex6_4.sce
@@ -0,0 +1,27 @@
+clc
+clear
+close;
+//error in phase might be there as atan finds angle only in 1st quadrant
+
+w0=1;T0=2*%pi/w0;//period and frequency
+dt=0.01; //time increment
+t=(-%pi:dt:%pi-dt);
+y=1.*((t>=-%pi/2)&(t<=%pi/2));
+N=length(y);
+c0=0.5;
+n1=[1:10]';
+for n=1:10
+ dn(n)=sum(y.*exp(-%i*w0*n*t).*dt)/T0;
+ cn(n)=2*dn(n);
+end
+
+cn=[c0;cn];n=[0;n1];
+y=repmat(y,1,7);t=-3.5*T0:dt:(length(y)-1).*dt-3.5*T0;//periodic signal definition
+
+subplot(2,1,1);plot(t,y,'b');
+title("given signal","fontsize",4);
+set(gca(),"zoom_box",[-15 -2 15 2],"x_location","middle","y_location","middle");
+subplot(2,1,2);plot2d3(n,cn,[5]);title("c(n)","fontsize",4);
+set(gca(),"x_location","middle","zoom_box",[0 -0.7 10 0.7]);
+
+
diff --git a/3901/CH6/EX6.5/Ex6_5.png b/3901/CH6/EX6.5/Ex6_5.png
new file mode 100644
index 000000000..83688853b
--- /dev/null
+++ b/3901/CH6/EX6.5/Ex6_5.png
Binary files differ
diff --git a/3901/CH6/EX6.5/Ex6_5.sce b/3901/CH6/EX6.5/Ex6_5.sce
new file mode 100644
index 000000000..7b6737eb6
--- /dev/null
+++ b/3901/CH6/EX6.5/Ex6_5.sce
@@ -0,0 +1,28 @@
+clc
+clear
+close;
+//error in phase might be there as atan finds angle only in 1st quadrant
+
+w0=2;T0=2*%pi/w0;//period and frequency
+dt=0.01; //time increment
+t=(0:dt:%pi-dt);
+y=exp(-t/2);
+N=length(y);
+p=1;
+for n=-10:10
+ dn(p)=sum(y.*exp(-%i*w0*n*t).*dt)/T0;
+ mag_dn(p)=abs(dn(p));
+ ang_dn(p)=phasemag(dn(p))*%pi/180;
+ p=p+1;
+end
+
+n=-10:10;
+y=repmat(y,1,7);t=-3*T0:dt:(length(y)-1).*dt-3*T0;//periodic signal definition
+
+subplot(3,1,1);plot(t,y,'b');
+title("given signal","fontsize",4);
+set(gca(),"zoom_box",[-8 -2 8 2],"x_location","middle","y_location","middle");
+subplot(3,1,2);plot2d3(n,mag_dn,[5]);title(" |Dn| ","fontsize",4)
+subplot(3,1,3);plot2d3(n,ang_dn,[5]);title("angle(Dn)","fontsize",4);
+set(gca(),"x_location","middle");
+
diff --git a/3901/CH6/EX6.6/Ex6_6.sce b/3901/CH6/EX6.6/Ex6_6.sce
new file mode 100644
index 000000000..e08e93c80
--- /dev/null
+++ b/3901/CH6/EX6.6/Ex6_6.sce
@@ -0,0 +1,23 @@
+clc
+clear
+close;
+
+
+n=-12:3:12;
+function cn=c(n) //defining given cn
+ cn=(16-(4/3)*n).*(n>=0);
+endfunction
+function thetan=theta(n) //defining given theta_n
+ thetan=((-%pi/12)*n).*((n>=0)&(n<=6))+((%pi/12)*(n-12)).*(n>6);
+endfunction
+
+dn=(c(n)+c(-n))/2;
+d_theta=(theta(n)-theta(-n));
+figure(1)
+subplot(1,2,1);plot2d3(n,c(n));title("C_n given","fontsize",4)
+subplot(1,2,2);plot2d3(n,theta(n));title("Theta_n given","fontsize",4)
+set(gca(),"x_location","top");
+figure(2)
+subplot(1,2,1);plot2d3(n,dn);title("|Dn|_calculated","fontsize",4)
+subplot(1,2,2);plot2d3(n,d_theta);title("Theta(Dn)_calculated","fontsize",4)
+set(gca(),"x_location","middle");
diff --git a/3901/CH6/EX6.6/Ex6_6a.png b/3901/CH6/EX6.6/Ex6_6a.png
new file mode 100644
index 000000000..41b2b34e3
--- /dev/null
+++ b/3901/CH6/EX6.6/Ex6_6a.png
Binary files differ
diff --git a/3901/CH6/EX6.6/Ex6_6b.png b/3901/CH6/EX6.6/Ex6_6b.png
new file mode 100644
index 000000000..d9194a1a4
--- /dev/null
+++ b/3901/CH6/EX6.6/Ex6_6b.png
Binary files differ
diff --git a/3901/CH6/EX6.7/Ex6_7.png b/3901/CH6/EX6.7/Ex6_7.png
new file mode 100644
index 000000000..597fcc582
--- /dev/null
+++ b/3901/CH6/EX6.7/Ex6_7.png
Binary files differ
diff --git a/3901/CH6/EX6.7/Ex6_7.sce b/3901/CH6/EX6.7/Ex6_7.sce
new file mode 100644
index 000000000..59ca77e6b
--- /dev/null
+++ b/3901/CH6/EX6.7/Ex6_7.sce
@@ -0,0 +1,24 @@
+clc
+clear
+close;
+//error in phase might be there as atan finds angle only in 1st quadrant
+
+//taking period of 3
+T0=3;
+dt=0.01; //time increment
+t=(0:dt:T0-dt);
+y=1.*(t==0);//definiing impulse function
+c0=1/T0;
+n1=[1:10]';
+for n=1:10
+ cn(n)=2/T0;
+end
+
+cn=[c0;cn];n=[0;n1];
+y=repmat(y,1,5);t=-3*T0:dt:(length(y)-1).*dt-3*T0;//periodic signal definition
+
+subplot(2,1,1);plot(t,y,'b');title("impulse train","fontsize",4);
+subplot(2,1,2);plot2d3(n,cn,[5]);title("c(n)","fontsize",4);
+set(gca(),"zoom_box",[0 0 10 1]);
+
+
diff --git a/3901/CH6/EX6.8/Ex6_8.png b/3901/CH6/EX6.8/Ex6_8.png
new file mode 100644
index 000000000..35e56a2d5
--- /dev/null
+++ b/3901/CH6/EX6.8/Ex6_8.png
Binary files differ
diff --git a/3901/CH6/EX6.8/Ex6_8.sce b/3901/CH6/EX6.8/Ex6_8.sce
new file mode 100644
index 000000000..ad4152f85
--- /dev/null
+++ b/3901/CH6/EX6.8/Ex6_8.sce
@@ -0,0 +1,32 @@
+clc
+clear
+close;
+//error in phase might be there as atan finds angle only in 1st quadrant
+
+w0=1; T0=2*%pi/w0;//assuming frequency 1Hz
+dt=0.01; //time increment
+t=(-T0/2:dt:T0/2-dt);
+y=(10*cos(w0*t)-8).*((t>=-0.1024*T0)&(t<=0.1024*T0))+(10*cos(w0*t)+8).*((t<=(-0.5+0.1024)*T0)&(t>=-0.5*T0))+(10*cos(w0*t)+8).*((t>=(0.5-0.1024)*T0)&(t<=0.5*T0));//distortion component
+N=length(y);
+c0=sum(y.*dt)/T0;
+n1=[1:10]';
+for n=1:10
+ dn(n)=sum(y.*exp(-%i*n*w0*t).*dt)/T0;
+ cn(n)=2*dn(n);
+end
+
+cn=[c0;cn];n=[0;n1];
+y=repmat(y,1,5);t=-3*T0:dt:(length(y)-1).*dt-3*T0;//periodic signal definition
+subplot(2,1,1);plot(t,y,'b');title("distortion component","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -5 10 5]);
+subplot(2,1,2);plot2d3(n,cn,[5]);title("c(n)","fontsize",4)
+set(gca(),"zoom_box",[0 0 10 1.2]);
+
+//distortion calculation
+en=50;//energy of undistortecd signal
+P=integrate("(10*cos(w0*t)-8).^2","t",0,0.1024*T0)*4/T0;//totaql harmonic power
+P_3rd=((abs(cn(4))).^2)/2; // power of third harmonic
+D_tot=(P/en)*100;
+D_3rd=(P_3rd/en)*100;
+printf("\nTotal hatrmonic distortion is %.2f percent \n 3rd harmonic distortion is %.2f percent\n",D_tot,D_3rd);
+//round-off error may be there
diff --git a/3901/CH6/EX6.9/Ex6_9.png b/3901/CH6/EX6.9/Ex6_9.png
new file mode 100644
index 000000000..12f870e19
--- /dev/null
+++ b/3901/CH6/EX6.9/Ex6_9.png
Binary files differ
diff --git a/3901/CH6/EX6.9/Ex6_9.sce b/3901/CH6/EX6.9/Ex6_9.sce
new file mode 100644
index 000000000..e3c8ce0df
--- /dev/null
+++ b/3901/CH6/EX6.9/Ex6_9.sce
@@ -0,0 +1,32 @@
+clc
+clear;
+close;
+
+t=0:0.1:20;
+pi=%pi;
+n=[0:20];
+p=1;
+//finding x(t) and y(t) from fourier series co-efficients
+for t1=t
+ cx=0;
+ cy=0;
+ for n1=n
+ cx=cx+(2/(pi*(1-4*n1.^2)))*exp(%i*2*n1*t1);
+ cy=cy+(2/(pi*(1-4*n1.^2)*(1+6*%i*n1)))*exp(%i*2*n1*t1);
+ end
+ x(p)=cx;
+ y(p)=cy;
+ p=p+1;
+end
+subplot(1,2,1);plot(t',x);title("output of rectifier(x(t))","font_size",4);
+subplot(1,2,2);plot(t',y);title("output across capacitor(y(t))","font_size",4)
+zoom_rect([t(1) 0 t($) 1]);
+//finding ripple
+DC=2/%pi;
+power=0;
+for n=1:50
+ Dn(n)=2/(pi*(1-4*n.^2)*(1+6*%i*n));
+ power=power+2*sum((abs(Dn(n))).^2);
+end
+rms=sqrt(power);
+printf("\n DC value of output is %.2f and ripple(rms) is %.2f\n",DC,rms);
diff --git a/3901/CH7/EX7.1/Ex7_1.png b/3901/CH7/EX7.1/Ex7_1.png
new file mode 100644
index 000000000..7c386f131
--- /dev/null
+++ b/3901/CH7/EX7.1/Ex7_1.png
Binary files differ
diff --git a/3901/CH7/EX7.1/Ex7_1.sce b/3901/CH7/EX7.1/Ex7_1.sce
new file mode 100644
index 000000000..a73521862
--- /dev/null
+++ b/3901/CH7/EX7.1/Ex7_1.sce
@@ -0,0 +1,23 @@
+clc
+clear
+close;
+//phase error will be there due to round-off error
+
+t=0:0.009:2;
+dt=0.009;
+x=exp(-2*t);
+omega=-20:0.009:20;
+p=0;
+for om=-20:0.009:20
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+subplot(1,3,1);plot(t,x,'k');
+title("given signal-(e^-2t)*u(t)","fontsize",4);
+subplot(1,3,2);plot(omega,abs(X),'r');
+title("|X(w)|","fontsize",4);
+set(gca(),"y_location","middle");
+subplot(1,3,3);plot(omega,phasemag(X)*%pi/180,'b');
+set(gca(),"x_location","middle","y_location","middle");
+title("phase(X(w))","fontsize",4);
diff --git a/3901/CH7/EX7.10/Ex7_10.png b/3901/CH7/EX7.10/Ex7_10.png
new file mode 100644
index 000000000..29255e30e
--- /dev/null
+++ b/3901/CH7/EX7.10/Ex7_10.png
Binary files differ
diff --git a/3901/CH7/EX7.10/Ex7_10.sce b/3901/CH7/EX7.10/Ex7_10.sce
new file mode 100644
index 000000000..8d5322c74
--- /dev/null
+++ b/3901/CH7/EX7.10/Ex7_10.sce
@@ -0,0 +1,23 @@
+//the result is the outer covering of the obtained plot
+clc
+clear
+close;
+
+t=-4:0.01:4;
+dt=0.01;
+x=sign(t);
+omega=-80:0.01:80;
+p=0;
+for om=-80:0.01:80
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+subplot(1,2,1);plot(t,x,'b');
+title("signum function","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -2 4 2]);
+subplot(1,2,2);plot(omega,abs(X),'r');
+title("|X(w)|","fontsize",4);
+set(gca(),"y_location","middle");
+//here absolute value of X(w) is shown
+//if angle is included then right side part of fig 2 will be downwards
diff --git a/3901/CH7/EX7.11/Ex7_11.sce b/3901/CH7/EX7.11/Ex7_11.sce
new file mode 100644
index 000000000..1fd22fbd5
--- /dev/null
+++ b/3901/CH7/EX7.11/Ex7_11.sce
@@ -0,0 +1,33 @@
+//taking tau=2
+clc
+clear
+close;
+
+t=-20:0.01:20;
+dt=0.01;
+x1=1.*((t>=-1)&(t<=1));
+x2=2*sinc(t);
+omega=-20:0.01:20;
+p=0;
+for om=-20:0.01:20
+ p=p+1;
+ X1(p)=sum(x1.*exp(-%i*om*t).*dt);
+ X2(p)=sum(x2.*exp(-%i*om*t).*dt);
+end
+X1=round(X1*10000)/10000;
+X2=round(X2*10000)/10000;
+figure(1)
+subplot(1,2,1);plot(t,x1,'b');
+title("x(t): rect(t/2)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -2 10 2]);
+subplot(1,2,2);plot(omega,X1,'r');
+title("X(w): 2*sinc(w)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[omega(1) -2 omega($) 2]);
+figure(2)
+subplot(1,2,1);plot(t,x2,'b');
+title("x(t): 2*sinc(t)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[t(1) -2 t($) 2]);
+subplot(1,2,2);plot(omega,X2,'r');
+title("X(w): 2*pi*rect(w/2)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -7 10 7]);
+
diff --git a/3901/CH7/EX7.11/Ex7_11a.png b/3901/CH7/EX7.11/Ex7_11a.png
new file mode 100644
index 000000000..3f53b41b9
--- /dev/null
+++ b/3901/CH7/EX7.11/Ex7_11a.png
Binary files differ
diff --git a/3901/CH7/EX7.11/Ex7_11b.png b/3901/CH7/EX7.11/Ex7_11b.png
new file mode 100644
index 000000000..4623b0ecc
--- /dev/null
+++ b/3901/CH7/EX7.11/Ex7_11b.png
Binary files differ
diff --git a/3901/CH7/EX7.12/Ex7_12.sce b/3901/CH7/EX7.12/Ex7_12.sce
new file mode 100644
index 000000000..dec4f1d4b
--- /dev/null
+++ b/3901/CH7/EX7.12/Ex7_12.sce
@@ -0,0 +1,33 @@
+//taking a=2
+clc
+clear
+close;
+
+t=-10:0.01:10;
+dt=0.01;
+x1=exp(2*t).*(t<=0);//defining e^at*u(-t)
+x2=exp(-2*abs(t));//defining e^a|t|
+omega=-10:0.01:10;
+p=0;
+for om=-10:0.01:10
+ p=p+1;
+ X1(p)=sum(x1.*exp(-%i*om*t).*dt);
+ X2(p)=sum(x2.*exp(-%i*om*t).*dt);
+end
+X1=round(X1*10000)/10000;
+X2=round(X2*10000)/10000;
+figure(1)
+subplot(1,2,1);plot(t,x1,'b');
+title("x1(t): (e^at)*u(-t)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -1.2 10 1.2]);
+subplot(1,2,2);plot(omega,X1,'r');
+title("X1(w): 2*sinc(w)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -2 10 2]);
+figure(2)
+subplot(1,2,1);plot(t,x2,'b');
+title("x2(t): e^-a|t|","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -1.2 10 1.2]);
+subplot(1,2,2);plot(omega,X2,'r');
+title("X2(w)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -2 10 2]);
+
diff --git a/3901/CH7/EX7.12/Ex7_12a.png b/3901/CH7/EX7.12/Ex7_12a.png
new file mode 100644
index 000000000..e0481be26
--- /dev/null
+++ b/3901/CH7/EX7.12/Ex7_12a.png
Binary files differ
diff --git a/3901/CH7/EX7.12/Ex7_12b.png b/3901/CH7/EX7.12/Ex7_12b.png
new file mode 100644
index 000000000..605276858
--- /dev/null
+++ b/3901/CH7/EX7.12/Ex7_12b.png
Binary files differ
diff --git a/3901/CH7/EX7.13/Ex7_13.png b/3901/CH7/EX7.13/Ex7_13.png
new file mode 100644
index 000000000..ad394f8a9
--- /dev/null
+++ b/3901/CH7/EX7.13/Ex7_13.png
Binary files differ
diff --git a/3901/CH7/EX7.13/Ex7_13.sce b/3901/CH7/EX7.13/Ex7_13.sce
new file mode 100644
index 000000000..5cb3951b7
--- /dev/null
+++ b/3901/CH7/EX7.13/Ex7_13.sce
@@ -0,0 +1,27 @@
+//taking a=2,t0=2
+clc
+clear
+close;
+
+t=-10:0.01:10;
+dt=0.01;
+x=exp(-2*abs(t-2));//defining e^a|t|
+omega=-10:0.01:10;
+p=0;
+for om=-10:0.01:10
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+figure(1)
+subplot(1,3,1);plot(t,x,'b');
+title("x(t): -e^a|t-t0|","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -1.2 10 1.2]);
+subplot(1,3,2);plot(omega,abs(X),'r');
+title("|X(w)|","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-10 -2 10 2]);
+subplot(1,3,3);plot(omega,phasemag(X)*%pi/180,'r');
+title("phas(X(w)): -wt0","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-%pi/2 -4 %pi/2 4]);
+
+//the angle is -wt0 but phasemag() will give angle in the range of [0:2*pi] only,hence the phase plot will be like -wt0 in the range[-pi/2:pi/2] and it will repeat thereafter
diff --git a/3901/CH7/EX7.14/Ex7_14.png b/3901/CH7/EX7.14/Ex7_14.png
new file mode 100644
index 000000000..e28e5cb4c
--- /dev/null
+++ b/3901/CH7/EX7.14/Ex7_14.png
Binary files differ
diff --git a/3901/CH7/EX7.14/Ex7_14.sce b/3901/CH7/EX7.14/Ex7_14.sce
new file mode 100644
index 000000000..0f42423dd
--- /dev/null
+++ b/3901/CH7/EX7.14/Ex7_14.sce
@@ -0,0 +1,26 @@
+//taking tau=2
+clc
+clear
+close;
+
+t=-10:0.01:10;
+dt=0.01;
+x=1.*((t>=0.5)&(t<=2.5));//rect(t/2) delayed by (3*tau/4)=1.5
+omega=-10:0.01:10;
+p=0;
+for om=-10:0.01:10
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+ph=round(phasemag(X)*10000)/10000;
+figure(1)
+subplot(1,3,1);plot(t,x,'b');
+title("x(t): rect(t/2-1.5)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -1.2 4 1.2]);
+subplot(1,3,2);plot(omega,abs(X),'r');
+title("|X(w)|","fontsize",4);
+set(gca(),"y_location","middle");
+subplot(1,3,3);plot(omega,ph*%pi/180,'r');
+title("phas(X(w)): -wt0","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-6 -4 6 4]);
diff --git a/3901/CH7/EX7.15/Ex7_15.png b/3901/CH7/EX7.15/Ex7_15.png
new file mode 100644
index 000000000..0a572e308
--- /dev/null
+++ b/3901/CH7/EX7.15/Ex7_15.png
Binary files differ
diff --git a/3901/CH7/EX7.15/Ex7_15.sce b/3901/CH7/EX7.15/Ex7_15.sce
new file mode 100644
index 000000000..1e41e83a6
--- /dev/null
+++ b/3901/CH7/EX7.15/Ex7_15.sce
@@ -0,0 +1,20 @@
+clc
+clear
+close;
+t=-10:0.01:10;
+dt=0.01;
+x=(1.*((t>=-2)&(t<=2))).*cos(10*t);//modulated signal
+omega=-30:0.01:30;
+p=0;
+for om=-30:0.01:30
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+figure(1)
+subplot(1,2,1);plot(t,x,'b');
+title("x(t): modulated signal","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-2.2 -1.2 2.2 1.2]);
+subplot(1,2,2);plot(omega,X,'r');
+title("X(w): peak at -10 and 10","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-20 -3 20 3]);
diff --git a/3901/CH7/EX7.17/Ex7_17.png b/3901/CH7/EX7.17/Ex7_17.png
new file mode 100644
index 000000000..dde88f2e1
--- /dev/null
+++ b/3901/CH7/EX7.17/Ex7_17.png
Binary files differ
diff --git a/3901/CH7/EX7.17/Ex7_17.sce b/3901/CH7/EX7.17/Ex7_17.sce
new file mode 100644
index 000000000..b18719646
--- /dev/null
+++ b/3901/CH7/EX7.17/Ex7_17.sce
@@ -0,0 +1,22 @@
+//taking tau=2
+clc
+clear
+close;
+
+t=-3:0.01:5;
+dt=0.01;
+x=(t+1).*((t>=-1)&(t<=0))+(1-t).*((t>0)&(t<=1));
+omega=-20:0.01:20;
+p=0;
+for om=-20:0.01:20
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+figure(1)
+subplot(1,2,1);plot(t,x,'b');
+title("x(t): tri(t/tau), tau=2","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-2.2 -1.2 2.2 1.2]);
+subplot(1,2,2);plot(omega,X,'r');
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-20 -1.1 20 1.1]);
diff --git a/3901/CH7/EX7.19/Ex7_19.sce b/3901/CH7/EX7.19/Ex7_19.sce
new file mode 100644
index 000000000..fb5b16d77
--- /dev/null
+++ b/3901/CH7/EX7.19/Ex7_19.sce
@@ -0,0 +1,35 @@
+clc
+clear
+close;
+
+//*********************part a*******************************
+//defining x(t)
+function x=p(t)
+ x=cos(10*%pi*(t-0.05)).*((t>=0)&(t<=0.1));
+endfunction
+
+t=-0.12:0.0009:0.12;
+wc=2000*%pi;
+x=p(t);
+z=x.*cos(wc*t);
+tg=10^-3;
+y=2*p(t-tg).*cos(wc*(t-tg)-0.4*%pi);
+
+figure(1)
+subplot(1,3,1);plot(t,x,'b');
+title("x(t)","fontsize",4);
+set(gca(),"zoom_box",[t(1) -2 t($) 2],"x_location","middle","y_location","middle");
+subplot(1,3,2);plot(t,z,'r');
+title("z(t)","fontsize",4);
+set(gca(),"zoom_box",[t(1) -2 t($) 2],"x_location","middle","y_location","middle");
+subplot(1,3,3);plot(t,y,'r');
+title("y(t): distortionless","fontsize",4);
+set(gca(),"zoom_box",[t(1) -2 t($) 2],"x_location","middle","y_location","middle");
+
+//********************part b***********************************
+wc=4000*%pi;
+y2=1.5*p(t).*cos(wc*t-3.1*%pi);
+figure(2)
+plot(t,y2,'b');
+title("(part_b) y2(t): distortionless","fontsize",4);
+set(gca(),"zoom_box",[t(1) -2 t($) 2],"x_location","middle","y_location","middle");
diff --git a/3901/CH7/EX7.19/Ex7_19a.png b/3901/CH7/EX7.19/Ex7_19a.png
new file mode 100644
index 000000000..acf31051d
--- /dev/null
+++ b/3901/CH7/EX7.19/Ex7_19a.png
Binary files differ
diff --git a/3901/CH7/EX7.19/Ex7_19b.png b/3901/CH7/EX7.19/Ex7_19b.png
new file mode 100644
index 000000000..38928b42e
--- /dev/null
+++ b/3901/CH7/EX7.19/Ex7_19b.png
Binary files differ
diff --git a/3901/CH7/EX7.2/Ex7_2.sce b/3901/CH7/EX7.2/Ex7_2.sce
new file mode 100644
index 000000000..919113fa8
--- /dev/null
+++ b/3901/CH7/EX7.2/Ex7_2.sce
@@ -0,0 +1,28 @@
+clc
+clear
+close;
+//taking tau=2
+t=-4:0.009:4;
+dt=0.009;
+x=1.*((t>=-1)&(t<=1));
+omega=-20:0.009:20;
+p=0;
+for om=-20:0.009:20
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+figure(1)
+subplot(1,2,1);plot(t,x,'k');
+title("given signal-rect(t/2)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -2 4 2]);
+subplot(1,2,2);plot(omega,X,'r');
+title("X(w)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-20 -2 20 2]);
+
+figure(2)
+subplot(1,2,1);plot(omega,abs(X),'r');
+title("|X(w)|","fontsize",4);
+subplot(1,2,2);plot(omega,-phasemag(X)*%pi/180,'r');
+title("phase(X(w))","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-20 -4 20 4]);
diff --git a/3901/CH7/EX7.2/Ex7_2a.png b/3901/CH7/EX7.2/Ex7_2a.png
new file mode 100644
index 000000000..8ecbd69ef
--- /dev/null
+++ b/3901/CH7/EX7.2/Ex7_2a.png
Binary files differ
diff --git a/3901/CH7/EX7.2/Ex7_2b.png b/3901/CH7/EX7.2/Ex7_2b.png
new file mode 100644
index 000000000..512255570
--- /dev/null
+++ b/3901/CH7/EX7.2/Ex7_2b.png
Binary files differ
diff --git a/3901/CH7/EX7.20/Ex7_20.sce b/3901/CH7/EX7.20/Ex7_20.sce
new file mode 100644
index 000000000..e4c5baef6
--- /dev/null
+++ b/3901/CH7/EX7.20/Ex7_20.sce
@@ -0,0 +1,8 @@
+clc
+clear
+close;
+
+a=1;//taking a=1
+E=1/(2*a);
+W=a*tan(0.95*%pi*a*E);
+printf("\nthe frequency upto W=%.3f rad/s will contain \n95 percent of the signal energy\n",W);
diff --git a/3901/CH7/EX7.23/Ex7_23.png b/3901/CH7/EX7.23/Ex7_23.png
new file mode 100644
index 000000000..9fe935da4
--- /dev/null
+++ b/3901/CH7/EX7.23/Ex7_23.png
Binary files differ
diff --git a/3901/CH7/EX7.23/Ex7_23.sce b/3901/CH7/EX7.23/Ex7_23.sce
new file mode 100644
index 000000000..2ca49b3d0
--- /dev/null
+++ b/3901/CH7/EX7.23/Ex7_23.sce
@@ -0,0 +1,18 @@
+clc
+clear
+close;
+//assuming some random values
+A=1;
+wm=10*%pi;
+wc=2000*%pi;
+t=-0.1:0.00092:0.5;
+m1=0.5;
+m2=1;
+y_am1=A*(1+m1*cos(wm*t)).*cos(wc*t);
+y_am2=A*(1+m2*cos(wm*t)).*cos(wc*t);
+subplot(1,2,1);plot(t,y_am1,'b');
+title("Tone_modulated signal(mu=0.5)","fontsize",4);
+set(gca(),"zoom_box",[t(1) -2.1 t($) 2.1],"x_location","middle");
+subplot(1,2,2);plot(t,y_am2,'b');
+title("Tone_modulated signal(mu=1)","fontsize",4);
+set(gca(),"zoom_box",[t(1) -2.1 t($) 2.1],"x_location","middle");
diff --git a/3901/CH7/EX7.3/Ex7_3.png b/3901/CH7/EX7.3/Ex7_3.png
new file mode 100644
index 000000000..9de272012
--- /dev/null
+++ b/3901/CH7/EX7.3/Ex7_3.png
Binary files differ
diff --git a/3901/CH7/EX7.3/Ex7_3.sce b/3901/CH7/EX7.3/Ex7_3.sce
new file mode 100644
index 000000000..b45beb3f0
--- /dev/null
+++ b/3901/CH7/EX7.3/Ex7_3.sce
@@ -0,0 +1,13 @@
+clc
+clear
+close;
+
+t=-2:0.001:2;
+dt=0.001;
+x=1.*(t==0);
+omega=-20:0.001:20;
+X=ones(1,length(omega));
+subplot(1,2,1);plot(t,x,'k');
+title("given signal-constant function","fontsize",4);
+subplot(1,2,2);plot(omega,abs(X),'r');
+title("X(w)","fontsize",4);
diff --git a/3901/CH7/EX7.4/Ex7_4.png b/3901/CH7/EX7.4/Ex7_4.png
new file mode 100644
index 000000000..7b07961fd
--- /dev/null
+++ b/3901/CH7/EX7.4/Ex7_4.png
Binary files differ
diff --git a/3901/CH7/EX7.4/Ex7_4.sce b/3901/CH7/EX7.4/Ex7_4.sce
new file mode 100644
index 000000000..291e7cc4c
--- /dev/null
+++ b/3901/CH7/EX7.4/Ex7_4.sce
@@ -0,0 +1,13 @@
+clc
+clear
+close;
+
+t=0:0.001:2;
+dt=0.001;
+x=ones(1,length(t));
+omega=-20:0.001:20;
+X=1.*(omega==0);
+subplot(1,2,1);plot(t,x,'k');
+title("given signal-constant function","fontsize",4);
+subplot(1,2,2);plot(omega,abs(X),'r');
+title("X(w)","fontsize",4);
diff --git a/3901/CH7/EX7.6/Ex7_6.png b/3901/CH7/EX7.6/Ex7_6.png
new file mode 100644
index 000000000..ba0b1d5a3
--- /dev/null
+++ b/3901/CH7/EX7.6/Ex7_6.png
Binary files differ
diff --git a/3901/CH7/EX7.6/Ex7_6.sce b/3901/CH7/EX7.6/Ex7_6.sce
new file mode 100644
index 000000000..70370010f
--- /dev/null
+++ b/3901/CH7/EX7.6/Ex7_6.sce
@@ -0,0 +1,22 @@
+clc
+clear
+close;
+//taking wo=2*%pi
+
+t=-8:0.01:8;
+dt=0.01;
+x=cos(2*%pi*t);
+omega=-20:0.01:20;
+p=0;
+for om=-20:0.01:20
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+figure(1)
+subplot(1,2,1);plot(t,x,'b');
+title("given signal: cos(w0t) at w0=2*pi","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -2 4 2]);
+subplot(1,2,2);plot(omega,abs(X),'r');
+title("X(w)-two impulses at w0 and -w0","fontsize",4);
+set(gca(),"y_location","middle");
diff --git a/3901/CH7/EX7.9/Ex7_9.png b/3901/CH7/EX7.9/Ex7_9.png
new file mode 100644
index 000000000..2df2e7019
--- /dev/null
+++ b/3901/CH7/EX7.9/Ex7_9.png
Binary files differ
diff --git a/3901/CH7/EX7.9/Ex7_9.sce b/3901/CH7/EX7.9/Ex7_9.sce
new file mode 100644
index 000000000..aa529d098
--- /dev/null
+++ b/3901/CH7/EX7.9/Ex7_9.sce
@@ -0,0 +1,21 @@
+clc
+clear
+close;
+
+t=-4:0.01:4;
+dt=0.01;
+x=exp(-9*t).*(t>=0);
+x1=1.*(t>=0);
+omega=-20:0.01:20;
+p=0;
+for om=-20:0.01:20
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+subplot(1,2,1);plot(t,x,'b');plot(t,x1,'g');
+title("u(t) approximated as (lim(t-0)e^-at)*u(t)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -2 4 2]);
+subplot(1,2,2);plot(omega,abs(X),'r');
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle");
diff --git a/3901/CH8/EX8.1/Ex8_1.sce b/3901/CH8/EX8.1/Ex8_1.sce
new file mode 100644
index 000000000..5c53f8117
--- /dev/null
+++ b/3901/CH8/EX8.1/Ex8_1.sce
@@ -0,0 +1,90 @@
+clc
+clear
+close;
+t=-5:0.01:5;
+dt=0.01;
+x=sinc(5*%pi*t).^2;
+omega=-30:0.01:30;
+p=0;
+for om=-30:0.01:30
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+X=round(X*10000)/10000;
+figure(1)
+subplot(2,2,1);plot(t,x,'b');
+title("x(t)=sinc(5pi*t).^2","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-2 -1.2 2 1.2]);
+subplot(2,2,2);plot(omega,X,'r');
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-30 -0.4 30 0.4]);
+
+//Under sampling(period=0.2)
+p=1;
+r=0.2;
+for n=t(1)/r:1:t($)/r
+ x1(p)=sinc(5*%pi*r*n).^2;
+ p=p+1;
+end
+x1=x1';
+t1=t(1)/r:1:t($)/r;
+omega=-30:0.01:30;
+p=0;
+for om=-30:0.01:30
+ p=p+1;
+ X1(p)=sum(x1.*exp(-%i*om*t1));
+end
+X1=round(X1*10000)/10000;
+subplot(2,2,3);plot2d3(t1,x1,[2]);
+title("Under sampling(T=0.2)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-2 -1.2 2 1.2]);
+subplot(2,2,4);plot(omega,abs(X1),'r');
+title("X(w): signal unrecoverable","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-20 -4 20 4]);
+
+//Nyquist rate(period=0.1)
+p=1;
+r=0.1;
+for n=t(1)/r:1:t($)/r
+ x2(p)=sinc(5*%pi*r*n).^2;
+ p=p+1;
+end
+x2=x2';
+t2=t(1)/r:1:t($)/r;
+omega=-30:0.01:30;
+p=0;
+for om=-30:0.01:30
+ p=p+1;
+ X2(p)=sum(x2.*exp(-%i*om*t2));
+end
+X2=round(X2*10000)/10000;
+figure(2)
+subplot(2,2,1);plot2d3(t2,x2,[2]);
+title("sampling at Nyquist rate","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -1.2 4 1.2]);
+subplot(2,2,2);plot(omega,abs(X2),'r');
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-20 -4 20 4]);
+
+//oversampling(period=0.05)
+p=1;
+r=0.05;
+for n=t(1)/r:1:t($)/r
+ x3(p)=sinc(5*%pi*r*n).^2;
+ p=p+1;
+end
+x3=x3';
+t3=t(1)/r:1:t($)/r;
+omega=-30:0.01:30;
+p=0;
+for om=-30:0.01:30
+ p=p+1;
+ X3(p)=sum(x3.*exp(-%i*om*t3));
+end
+X3=round(X3*10000)/10000;
+subplot(2,2,3);plot2d3(t3,x3,[2]);
+title("oversampliing","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-4 -1.2 4 1.2]);
+subplot(2,2,4);plot(omega,abs(X3),'r');
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-20 -4 20 4]);
diff --git a/3901/CH8/EX8.1/Ex8_1a.png b/3901/CH8/EX8.1/Ex8_1a.png
new file mode 100644
index 000000000..1ac209d91
--- /dev/null
+++ b/3901/CH8/EX8.1/Ex8_1a.png
Binary files differ
diff --git a/3901/CH8/EX8.1/Ex8_1b.png b/3901/CH8/EX8.1/Ex8_1b.png
new file mode 100644
index 000000000..815fdc6de
--- /dev/null
+++ b/3901/CH8/EX8.1/Ex8_1b.png
Binary files differ
diff --git a/3901/CH8/EX8.10/Ex8_10.png b/3901/CH8/EX8.10/Ex8_10.png
new file mode 100644
index 000000000..a8091e363
--- /dev/null
+++ b/3901/CH8/EX8.10/Ex8_10.png
Binary files differ
diff --git a/3901/CH8/EX8.10/Ex8_10.sce b/3901/CH8/EX8.10/Ex8_10.sce
new file mode 100644
index 000000000..9242a23da
--- /dev/null
+++ b/3901/CH8/EX8.10/Ex8_10.sce
@@ -0,0 +1,26 @@
+clc
+clear
+close;
+
+N0=32; //samples no
+T0=4;
+T=T0/N0;
+x=[ones(1,4) 0.5 zeros(1,23) 0.5 ones(1,3)]';
+Xr=fft(x);
+Hr=[ones(1,8) 0.5 zeros(1,15) 0.5 ones(1,7)]';
+Yr=Xr.*Hr;
+y=ifft(Yr);
+r=-N0/2:N0/2-1;
+n=r;
+omega=r*2*%pi/T0;
+y=fftshift(y);
+figure(1)
+subplot(1,3,1);plot2d3([-32:63],repmat(x',1,3));
+set(gca(),"zoom_box",[-10 0 10 1.1],"y_location","middle");
+title("x(t)=8*rect(t)","fontsize",4);
+subplot(1,3,2);plot2d3([-32:63],repmat(Hr',1,3));
+title("|H(w)|","fontsize",4);
+set(gca(),"y_location","middle","zoom_box",[-10 0 10 1.1]);
+subplot(1,3,3);plot(omega,y,'b');plot2d3(omega,y,[5]);
+title("Filtered_output=y(t)","fontsize",4);
+set(gca(),"zoom_box",[-25 -1.1 25 1.1],"y_location","middle","x_location","middle");
diff --git a/3901/CH8/EX8.2/Ex8_2.sce b/3901/CH8/EX8.2/Ex8_2.sce
new file mode 100644
index 000000000..42fc6de47
--- /dev/null
+++ b/3901/CH8/EX8.2/Ex8_2.sce
@@ -0,0 +1,41 @@
+//this code will take some time to give result as increments are very small
+clc
+clear
+close;
+
+t=-0.5:0.01:0.5;
+dt=0.01;
+x=sinc(5*%pi*t).^2;
+omega=-30:0.01:30;
+p=0;
+for om=-30:0.01:30
+ p=p+1;
+ X(p)=sum(x.*exp(-%i*om*t).*dt);
+end
+figure(1)
+subplot(1,2,1);plot(t,x,'b');
+title("x(t)=sinc(5pi*t).^2","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-0.3 -1.2 0.3 1.2]);
+subplot(1,2,2);plot(omega,X,'r');
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[-30 -0.4 30 0.4]);
+
+//practical sampling
+T=0.1;
+p=1;
+x1=(sinc(5*%pi*t).^2).*((abs(modulo(t,T))<0.0125)|(abs(modulo(t,T))>0.0875));
+omega=-50*%pi:0.01:50*%pi;
+p=0;
+for om=-50*%pi:0.01:50*%pi
+ p=p+1;
+ X1(p)=sum(x1.*exp(-%i*om*t).*0.009);
+end
+figure(2)
+subplot(1,2,1);plot(t,x1,'b');plot(t,x,'r');
+title("practical_sampling of x(t)","fontsize",4);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-0.3 -1.2 0.3 1.2]);
+subplot(1,2,2);plot(omega,abs(X1),'r');
+title("X(w) new","fontsize",4);
+set(gca(),"y_location","middle","x_location","middle","zoom_box",[omega(1) -0.06 omega($) 0.06]);
+
+//there will be small error in amplitude
diff --git a/3901/CH8/EX8.2/Ex8_2a.png b/3901/CH8/EX8.2/Ex8_2a.png
new file mode 100644
index 000000000..38a241f94
--- /dev/null
+++ b/3901/CH8/EX8.2/Ex8_2a.png
Binary files differ
diff --git a/3901/CH8/EX8.2/Ex8_2b.png b/3901/CH8/EX8.2/Ex8_2b.png
new file mode 100644
index 000000000..2e872ecb0
--- /dev/null
+++ b/3901/CH8/EX8.2/Ex8_2b.png
Binary files differ
diff --git a/3901/CH8/EX8.5/Ex8_5.sce b/3901/CH8/EX8.5/Ex8_5.sce
new file mode 100644
index 000000000..a0f874446
--- /dev/null
+++ b/3901/CH8/EX8.5/Ex8_5.sce
@@ -0,0 +1,10 @@
+
+clc
+clear
+
+fN=2*3000;//Nyquist sampling rate
+fA=fN*(4/3);//actual sampling rate
+L=256;//as it shouldn't be more than 0.05% and shouls be power of 2
+bit=8;
+bit_rate=bit*fA;
+printf("\n required sampling rate= %.0f, bits required= %d, bit_rate= %d bits/s\n",fA,bit,bit_rate);
diff --git a/3901/CH8/EX8.7/Ex8_7.sce b/3901/CH8/EX8.7/Ex8_7.sce
new file mode 100644
index 000000000..576656f81
--- /dev/null
+++ b/3901/CH8/EX8.7/Ex8_7.sce
@@ -0,0 +1,10 @@
+clc
+clear
+
+f0=100;
+T0=1/f0;
+B=10000;
+fs=2*B;
+T=1/fs;
+N0=fs/f0;
+printf("N0_calculated is %d\nfor proper DFT N0 should be 2^n closet to %d(i.e;N0=256)",N0,N0);
diff --git a/3901/CH8/EX8.8/Ex8_8.png b/3901/CH8/EX8.8/Ex8_8.png
new file mode 100644
index 000000000..c4165cef8
--- /dev/null
+++ b/3901/CH8/EX8.8/Ex8_8.png
Binary files differ
diff --git a/3901/CH8/EX8.8/Ex8_8.sce b/3901/CH8/EX8.8/Ex8_8.sce
new file mode 100644
index 000000000..746e3e914
--- /dev/null
+++ b/3901/CH8/EX8.8/Ex8_8.sce
@@ -0,0 +1,26 @@
+clc
+clear
+close;
+
+N0=256; //samples no
+T0=4;
+T=T0/N0;
+t=(0:T:(N0-1)*T)';
+
+x=T*exp(-2*t);
+x(1)=T*(exp(-2*T0)+1)/2;
+Xr=fft(x);
+r=-N0/2:N0/2-1;
+omega=r*2*%pi/T0;
+Xr_abs=fftshift(abs(Xr));
+Xr_phase=fftshift(phasemag(Xr)*%pi/180);
+
+figure(1)
+subplot(1,3,1);plot(t,x,'r');
+title("x(t)=e^-2t u(t)","fontsize",4);
+subplot(1,3,2);plot(omega,Xr_abs,'b');plot2d3(omega,Xr_abs,[5]);
+title("|X(w)|","fontsize",4);
+set(gca(),"zoom_box",[0 0 40 0.5]);
+subplot(1,3,3);plot2d3(omega,Xr_phase,[5]);plot(omega,Xr_phase,'b');
+title("angle(X(w))","fontsize",4);
+set(gca(),"zoom_box",[0 -1.5 40 0],"x_location","top");
diff --git a/3901/CH8/EX8.9/Ex8_9.png b/3901/CH8/EX8.9/Ex8_9.png
new file mode 100644
index 000000000..4e7c66d35
--- /dev/null
+++ b/3901/CH8/EX8.9/Ex8_9.png
Binary files differ
diff --git a/3901/CH8/EX8.9/Ex8_9.sce b/3901/CH8/EX8.9/Ex8_9.sce
new file mode 100644
index 000000000..ae9fede03
--- /dev/null
+++ b/3901/CH8/EX8.9/Ex8_9.sce
@@ -0,0 +1,23 @@
+clc
+clear
+close;
+
+N0=32; //samples no
+T0=4;
+T=T0/N0;
+x=[ones(1,4) 0.5 zeros(1,23) 0.5 ones(1,3)]';
+Xr=fft(x);
+r=-N0/2:N0/2-1;
+omega=r*2*%pi/T0;
+Xr_abs=fftshift(abs(Xr));
+X_phase=fftshift(phasemag(Xr)*%pi/180);
+
+figure(1)
+subplot(1,3,1);plot2d3([-32:63],repmat(x',1,3));
+set(gca(),"zoom_box",[-10 0 10 1.1]);
+subplot(1,3,2);plot(omega,Xr_abs,'b');
+title("|X(w)|","fontsize",4);
+set(gca(),"y_location","middle","zoom_box",[-25 0 25 8]);
+subplot(1,3,3);plot(omega,X_phase,'b');
+title("angle(X(w))","fontsize",4);
+set(gca(),"zoom_box",[-25 -0.5 25 3.5],"y_location","middle");
diff --git a/3901/CH9/EX9.1/Ex9_1.png b/3901/CH9/EX9.1/Ex9_1.png
new file mode 100644
index 000000000..ba7c5dec9
--- /dev/null
+++ b/3901/CH9/EX9.1/Ex9_1.png
Binary files differ
diff --git a/3901/CH9/EX9.1/Ex9_1.sce b/3901/CH9/EX9.1/Ex9_1.sce
new file mode 100644
index 000000000..e976474c7
--- /dev/null
+++ b/3901/CH9/EX9.1/Ex9_1.sce
@@ -0,0 +1,20 @@
+clc
+clear
+close;
+
+ N0=20;
+n=0:N0-1;
+x=sin(0.1*%pi*n);
+xr=fft(x)/N0;
+xr=round(xr*10000)/10000;
+n=-4*N0/2:4*N0/2-1;
+
+subplot(1,3,1);plot2d3(n,repmat(x,1,4));
+set(gca(),"x_location","middle","y_location","middle");
+title("x(n)=sin(0.1*pi*n)","fontsize",4);
+subplot(1,3,2);plot2d3(n,repmat(abs(xr),1,4),[5]);
+set(gca(),"y_location","middle");
+title("|Dn|","fontsize",4);
+subplot(1,3,3);plot2d3(n,repmat(phasemag(xr)*%pi/180,1,4),[5]);
+set(gca(),"x_location","middle","y_location","middle");
+title("phase(Dn)","fontsize",4);
diff --git a/3901/CH9/EX9.10/Ex9_10.sce b/3901/CH9/EX9.10/Ex9_10.sce
new file mode 100644
index 000000000..0841aa414
--- /dev/null
+++ b/3901/CH9/EX9.10/Ex9_10.sce
@@ -0,0 +1,36 @@
+clc
+clear
+close;
+
+//******************************part a(wc=pi/2)**********************
+N=1024; //samples number
+n=-(N/2):N/2-1;
+x=sinc(%pi*n/4).*cos(%pi*n/2);
+omega=[-N/2:(N/2)-1]*2*%pi/N;
+X=fft(x);
+X_mode=fftshift(abs(X));
+X=round(X*10000)/10000;
+X_angle=fftshift(phasemag(X)*%pi/180);
+
+figure(1)
+subplot(2,1,1);plot2d3(n,x,[2]);
+title("part(a)_modulated signal","fontsize",4);
+set(gca(),"zoom_box",[-30 -1.1 30 1.1],"y_location","middle","x_location","middle");
+subplot(2,1,2);plot(omega,X_mode,'r');
+set(gca(),"y_location","middle");
+title("|X(w)|","fontsize",4);
+
+//***************************part b(wc=0.875*pi)****************************
+x=sinc(%pi*n/4).*cos(%pi*n*0.875);
+X=fft(x);
+X_mode=fftshift(abs(X));
+X=round(X*10000)/10000;
+X_angle=fftshift(phasemag(X)*%pi/180);
+n1=[-3*N/2:3*N/2-1]*2*%pi/N;
+figure(2)
+subplot(2,1,1);plot2d3(n,x,[2]);
+title("part(b)_modulated signal","fontsize",4);
+set(gca(),"zoom_box",[-30 -1.1 30 1.1],"y_location","middle","x_location","middle");
+subplot(2,1,2);plot(n1,repmat(X_mode,1,3),'r');
+set(gca(),"y_location","middle");
+title("|X(w)|","fontsize",4);
diff --git a/3901/CH9/EX9.10/Ex9_10a.png b/3901/CH9/EX9.10/Ex9_10a.png
new file mode 100644
index 000000000..e9a12bd1c
--- /dev/null
+++ b/3901/CH9/EX9.10/Ex9_10a.png
Binary files differ
diff --git a/3901/CH9/EX9.10/Ex9_10b.png b/3901/CH9/EX9.10/Ex9_10b.png
new file mode 100644
index 000000000..2a607a24f
--- /dev/null
+++ b/3901/CH9/EX9.10/Ex9_10b.png
Binary files differ
diff --git a/3901/CH9/EX9.13/Ex9_13.png b/3901/CH9/EX9.13/Ex9_13.png
new file mode 100644
index 000000000..0ac2db467
--- /dev/null
+++ b/3901/CH9/EX9.13/Ex9_13.png
Binary files differ
diff --git a/3901/CH9/EX9.13/Ex9_13.sce b/3901/CH9/EX9.13/Ex9_13.sce
new file mode 100644
index 000000000..3e61af8ec
--- /dev/null
+++ b/3901/CH9/EX9.13/Ex9_13.sce
@@ -0,0 +1,13 @@
+clc
+clear
+close;
+
+
+a=[1 -0.5]; b=[1 0];
+n=[0:10]';x=(0.8).^n;
+zsr=filter(b,a,x);
+z_check=(-5/3)*(0.5).^n+(8/3)*(0.8).^n;
+subplot(1,2,1);plot2d3(n,zsr,[2]);
+title("ZSR of the given system","fontsize",4);
+subplot(1,2,2);plot2d3(n,z_check,[5]);
+title("Estimated answer for checking","fontsize",4);
diff --git a/3901/CH9/EX9.2/Ex9_2.png b/3901/CH9/EX9.2/Ex9_2.png
new file mode 100644
index 000000000..377cd17d1
--- /dev/null
+++ b/3901/CH9/EX9.2/Ex9_2.png
Binary files differ
diff --git a/3901/CH9/EX9.2/Ex9_2.sce b/3901/CH9/EX9.2/Ex9_2.sce
new file mode 100644
index 000000000..05d21cb11
--- /dev/null
+++ b/3901/CH9/EX9.2/Ex9_2.sce
@@ -0,0 +1,17 @@
+clc
+clear
+close;
+
+N0=32;
+n=0:N0-1;
+x=[ones(1,5) zeros(1,23) ones(1,4)];
+xr=fft(x)/N0;
+xr=round(xr*10000)/10000;
+n=-4*N0/2:4*N0/2-1;
+
+subplot(1,2,1);plot2d3(n,repmat(x,1,4));
+set(gca(),"y_location","middle","zoom_box",[-40 0 40 1.1]);
+title("sampled gate function","fontsize",4);
+subplot(1,2,2);plot2d3(n,repmat(xr,1,4),[5]);
+set(gca(),"x_location","middle","y_location","middle","zoom_box",[-40 -0.3 40 0.3]);
+title("Dn","fontsize",4);
diff --git a/3901/CH9/EX9.3/Ex9_3.png b/3901/CH9/EX9.3/Ex9_3.png
new file mode 100644
index 000000000..6b502c337
--- /dev/null
+++ b/3901/CH9/EX9.3/Ex9_3.png
Binary files differ
diff --git a/3901/CH9/EX9.3/Ex9_3.sce b/3901/CH9/EX9.3/Ex9_3.sce
new file mode 100644
index 000000000..e2a59331a
--- /dev/null
+++ b/3901/CH9/EX9.3/Ex9_3.sce
@@ -0,0 +1,23 @@
+clc
+clear
+close;
+
+N=1024; //samples number
+n=0:N-1;
+x=(0.8).^n;
+omega=[-N/2:(N/2)-1]*2*%pi/N;
+X=fft(x);
+X_mode=fftshift(abs(X));
+X=round(X*10000)/10000;
+X_angle=fftshift(phasemag(X)*%pi/180);
+
+figure(1)
+subplot(3,1,1);plot2d3(n,x,[2]);
+title("x(n)=(0.8).^n","fontsize",4);
+set(gca(),"zoom_box",[0 0 10 0.9]);
+subplot(3,1,2);plot(omega,X_mode,'r');
+set(gca(),"y_location","middle");
+title("|X(w)|","fontsize",4);
+subplot(3,1,3);plot(omega,X_angle,'r');
+set(gca(),"x_location","middle");
+title("phase(X(w)","fontsize",4);
diff --git a/3901/CH9/EX9.4/Ex9_4.png b/3901/CH9/EX9.4/Ex9_4.png
new file mode 100644
index 000000000..7dee43e8b
--- /dev/null
+++ b/3901/CH9/EX9.4/Ex9_4.png
Binary files differ
diff --git a/3901/CH9/EX9.4/Ex9_4.sce b/3901/CH9/EX9.4/Ex9_4.sce
new file mode 100644
index 000000000..6526d7293
--- /dev/null
+++ b/3901/CH9/EX9.4/Ex9_4.sce
@@ -0,0 +1,23 @@
+clc
+clear
+close;
+
+N=1024; //samples number
+n=-N:-1;
+x=(1.5).^n;
+omega=[-N/2:(N/2)-1]*2*%pi/N;
+X=fft(x);
+X_mode=fftshift(abs(X));
+X=round(X*10000)/10000;
+X_angle=fftshift(phasemag(X)*%pi/180);
+
+figure(1)
+subplot(3,1,1);plot2d3(n,x,[2]);
+title("x(n)=(1.5).^n","fontsize",4);
+set(gca(),"zoom_box",[-10 0 10 0.9],"y_location","middle");
+subplot(3,1,2);plot(omega,X_mode,'r');
+set(gca(),"y_location","middle");
+title("|X(w)|","fontsize",4);
+subplot(3,1,3);plot(omega,X_angle,'r');
+set(gca(),"x_location","middle","y_location","middle");
+title("phase(X(w)","fontsize",4);
diff --git a/3901/CH9/EX9.5/Ex9_5.png b/3901/CH9/EX9.5/Ex9_5.png
new file mode 100644
index 000000000..2faab464b
--- /dev/null
+++ b/3901/CH9/EX9.5/Ex9_5.png
Binary files differ
diff --git a/3901/CH9/EX9.5/Ex9_5.sce b/3901/CH9/EX9.5/Ex9_5.sce
new file mode 100644
index 000000000..3168de30b
--- /dev/null
+++ b/3901/CH9/EX9.5/Ex9_5.sce
@@ -0,0 +1,23 @@
+clc
+clear
+close;
+
+N=256; //samples number
+n=-(N/2):N/2-1;
+x=1.*((n>=-4)&(n<=4));
+omega=[-N/2:(N/2)-1]*2*%pi/N;
+X=fft(x);
+X_mode=fftshift(abs(X));
+X=round(X*10000)/10000;
+X_angle=fftshift(phasemag(X)*%pi/180);
+
+figure(1)
+subplot(3,1,1);plot2d3(n,x,[2]);
+title("Discrete rect pulse","fontsize",4);
+set(gca(),"zoom_box",[-10 0 10 1.1],"y_location","middle");
+subplot(3,1,2);plot(omega,X_mode,'r');
+set(gca(),"y_location","middle");
+title("|X(w)|","fontsize",4);
+subplot(3,1,3);plot(omega,X_angle,'r');
+set(gca(),"y_location","middle");
+title("angle(X(w))","fontsize",4)
diff --git a/3901/CH9/EX9.6/Ex9_6.png b/3901/CH9/EX9.6/Ex9_6.png
new file mode 100644
index 000000000..4499d61ed
--- /dev/null
+++ b/3901/CH9/EX9.6/Ex9_6.png
Binary files differ
diff --git a/3901/CH9/EX9.6/Ex9_6.sce b/3901/CH9/EX9.6/Ex9_6.sce
new file mode 100644
index 000000000..02ccba524
--- /dev/null
+++ b/3901/CH9/EX9.6/Ex9_6.sce
@@ -0,0 +1,26 @@
+clc
+clear
+close;
+
+
+function y=X(om)
+ y=1.*(abs(om)<=%pi/4);
+endfunction
+
+omega=linspace(-%pi,%pi,1024);
+domega=omega(2)-omega(1);
+q=length(omega);
+n=-80:1:q-81;
+p=1;
+for n1=n
+ r(p)=(1/(2*%pi)).*sum(X(omega).*exp(%i*omega*n1).*domega);
+ p=p+1;
+end
+
+figure(1)
+subplot(1,2,1);plot(omega,X(omega));
+title("X(w)","fontsize",4);
+set(gca(),"y_location","middle","zoom_box",[-4 0 4 1.5]);
+subplot(1,2,2);plot2d3(n,r,[5]);
+set(gca(),"zoom_box",[-18 -0.26 18 0.26],"x_location","middle","y_location","middle");
+title("x[n]","fontsize",4);
diff --git a/3901/CH9/EX9.9/Ex9_9.png b/3901/CH9/EX9.9/Ex9_9.png
new file mode 100644
index 000000000..965c975b6
--- /dev/null
+++ b/3901/CH9/EX9.9/Ex9_9.png
Binary files differ
diff --git a/3901/CH9/EX9.9/Ex9_9.sce b/3901/CH9/EX9.9/Ex9_9.sce
new file mode 100644
index 000000000..43cc0091d
--- /dev/null
+++ b/3901/CH9/EX9.9/Ex9_9.sce
@@ -0,0 +1,21 @@
+clc
+clear
+close;
+//error in phase calculation will there
+N=1024; //samples number
+n=-(N/2):N/2-1;
+function y=f(n)
+ y=(1/4)*sinc(%pi*n/4);
+endfunction
+x=f(n-2);
+omega=[-N/2:(N/2)-1]*2*%pi/N;
+X=fft(x);
+X_mode=fftshift(abs(X));
+
+figure(1)
+subplot(2,1,1);plot2d3(n,x,[2]);
+title("Given_function after time shifting by 2","fontsize",4);
+set(gca(),"zoom_box",[-10 -0.26 10 0.25],"y_location","middle","x_location","middle");
+subplot(2,1,2);plot(omega,X_mode,'r');
+set(gca(),"y_location","middle","zoom_box",[-3 0 3 1.3]);
+title("|X(w)|","fontsize",4);
diff --git a/3901/DEPENDENCIES/conv_gui.sci b/3901/DEPENDENCIES/conv_gui.sci
new file mode 100644
index 000000000..51a450515
--- /dev/null
+++ b/3901/DEPENDENCIES/conv_gui.sci
@@ -0,0 +1,363 @@
+//this is the existing dependency file to be used for graphical convolution
+//******************************************************************
+//******************************************************************
+
+//functions should be declared like this and the function should be called after the execution of function definition file
+//t='[-5:0.02:5]';
+//f1='u(t)'; //defining x(t)
+//f2='-2*exp(2*t).*u(-t)+2*exp(-t).*u(t)'; //defining h(t)
+//conv_gui(f1,f2,t);(should be executed at the last part)
+
+funcprot(0);
+
+// Defining event handling for plot window
+
+function conv_gui_event(win,x,y,ibut)
+ if ibut==37
+ conv_gui('move_left');
+ elseif ibut==39
+ conv_gui('move_right');
+ end
+endfunction
+
+
+function []=conv_gui(varargin)
+
+ // Defining unit step function
+ function y=u(x)
+ y=sign((sign(x)+1))
+ endfunction
+
+ action='init_gui';
+
+
+ if argn(2) ==1 then
+ action=varargin(1);
+ elseif argn(2) ==2 then
+ if varargin(1)=="load_sample" then
+ action="load_sample";
+ n_sample= varargin(2);
+ end
+ end
+
+ if action == 'init_gui' //********************************************
+ h=findobj('tag','conv_gui_main_window');
+ if h == [] then
+ // Drawing the figure
+ h=figure('Tag','conv_gui_main_window','Figure_name','Convolution of two function');
+ h.event_handler="conv_gui_event";
+ h.event_handler_enable="on";
+
+ // creating axes
+ subplot(3,1,1);
+ ax1= gca();
+ ax1.tight_limits='on';
+ ax1.auto_clear='on';
+ subplot(3,1,2);
+ ax2= gca();
+ ax2.tight_limits='on';
+ ax2.auto_clear='on';
+ subplot(3,1,3);
+ ax3= gca();
+ ax3.tight_limits='on';
+ ax3.auto_clear='on';
+
+
+
+ // Deleting menus
+ delmenu(h.figure_id, gettext("&File"));
+ delmenu(h.figure_id, gettext("&Edit"));
+ delmenu(h.figure_id, gettext("&Tools"));
+ delmenu(h.figure_id, gettext("&?"));
+
+ // Hiding toolbar
+ toolbar(h,'off');
+
+ // adding menus
+
+ mnu_options = uimenu(h, ...
+ 'Label','Options');
+ mnu_options_set_fun = uimenu(mnu_options, ...
+ 'Label','Set Functions',...
+ 'Callback', 'conv_gui(''set_functions'')');
+ mnu_options_illustrate=uimenu(mnu_options, ...
+ 'checked','off',...
+ 'Label','Illustratrate',...
+ 'Callback', 'conv_gui(''illustrate'')');
+
+ mnu_samples = uimenu(h, ...
+ 'Label','Samples');
+ mnu_samples_1 = uimenu(mnu_samples, ...
+ 'Label','Sample 1', ...
+ 'Callback', 'conv_gui(''load_sample'',1)');
+ mnu_samples_2 = uimenu(mnu_samples, ...
+ 'Label','Sample 2', ...
+ 'Callback', 'conv_gui(''load_sample'',2)');
+ mnu_samples_1 = uimenu(mnu_samples, ...
+ 'Label','Sample 3', ...
+ 'Callback', 'conv_gui(''load_sample'',3)');
+
+ mnu_move_left = uimenu(h, ...
+ 'Label','Move Left <--',...
+ 'Enable','off',...
+ 'Callback','conv_gui(''move_left'')');
+ mnu_move_right = uimenu(h, ...
+ 'Label',' --> Move Right',...
+ 'Enable','off',...
+ 'Callback','conv_gui(''move_right'')');
+ mnu_about = uimenu(h, ...
+ 'Label','About',...
+ 'Callback','conv_gui(''about'')');
+
+
+
+ mnu=struct('illustrate',mnu_options_illustrate,'left',mnu_move_left,'right',mnu_move_right);
+
+ // Storing Data
+ move_step=0.1;
+ t_shift=0;
+ t_data=[];
+ t_min=[];
+ t_max=[];
+ t_step=[];
+ f1_data=[];
+ f2_data=[];
+ conv_data=[];
+ init_plot=1;
+ user_data = struct('t',t,'f1',f1,'f2',f2,'move_step',move_step, ...
+ 'ax1',[ax1],'ax2',[ax2],'ax3',[ax3],...
+ 't_shift',[t_shift],'t_data',[t_data],'f1_data',[f1_data],...
+ 'f2_data',[f2_data],'conv_data',[conv_data],'init_plot',init_plot,...
+ 't_min',t_min,'t_max',t_max','t_step',t_step,'mnu',mnu);
+
+ h.userdata = user_data
+
+ // evaluating functions
+ conv_gui('eval_functions');
+
+ else
+ show_window(h);
+ end
+
+ elseif action == 'about' //*********************************************
+ messagebox(["Author: Mahmoud A. AlNaanah" ...
+ "email: malnaanah@gmail.com" ...
+ "Last update: 10.08.2015 (DD.MM.YYYY)" ...
+ "License: GPL" ...
+ "tested on scilab v 5.5.0" ...
+ ], "About", "info");
+
+ elseif action == 'illustrate' //*********************************************
+ h=findobj('tag','conv_gui_main_window');
+
+ if (h.userdata.mnu.illustrate.checked=='off') then
+ h.info_message="Click on the figures and use left and right arrows (or click Move Left, Move Right from menu) to move function 2";
+ h.userdata.mnu.illustrate.checked='on';
+ h.userdata.mnu.left.enable='on';
+ h.userdata.mnu.right.enable='on';
+ h.userdata.ax1.children.children(2).visible='on';
+ h.userdata.ax1.title.text="First function (F1) (Red line), F1 x F2 (Blue line) "
+ conv_gui('plot')
+ else
+ conv_gui('eval_functions')
+ end
+
+ elseif action == 'load_sample' //*********************************************
+ h=findobj('tag','conv_gui_main_window');
+
+ if n_sample == 1 then
+ h.userdata.t='[-5:0.02:5]';
+ h.userdata.f1='2*(u(t)-u(t-1))';
+ h.userdata.f2='(u(t)-u(t-2))';
+ conv_gui('eval_functions')
+ elseif n_sample == 2 then
+ h.userdata.t='[-5:0.02:5]';
+ h.userdata.f1='t .* (u(t)-u(t-1))';
+ h.userdata.f2='t .* (u(t)-u(t-1))';
+ conv_gui('eval_functions')
+ elseif n_sample == 3 then
+ h.userdata.t='[-5:0.02:5]';
+ h.userdata.f1='t .* (u(t+1)-u(t-1))';
+ h.userdata.f2='t .* (u(t+1)-u(t-1))';
+ conv_gui('eval_functions')
+ end
+
+ elseif action == 'move_right' //*********************************************
+ h=findobj('tag','conv_gui_main_window');
+ if h.userdata.mnu.illustrate.checked=='on' then
+ h.userdata.t_shift=h.userdata.t_shift+h.userdata.move_step;
+ if h.userdata.t_shift > (h.userdata.t_max -h.userdata.t_min) then
+ h.userdata.t_shift=h.userdata.t_shift-h.userdata.move_step;
+ else
+ conv_gui('plot')
+ end
+ end
+
+
+ elseif action == 'move_left' //*********************************************
+ h=findobj('tag','conv_gui_main_window');
+
+ if h.userdata.mnu.illustrate.checked=='on' then
+ h.userdata.t_shift=h.userdata.t_shift-h.userdata.move_step;
+ if h.userdata.t_shift < (h.userdata.t_min -h.userdata.t_max) then
+ h.userdata.t_shift=h.userdata.t_shift+h.userdata.move_step;
+ else
+ conv_gui('plot')
+ end
+ end
+
+ elseif action == 'set_functions' //*********************************************
+ h=findobj('tag','conv_gui_main_window');
+
+ labels = ["t=";"f1=";"f2=";"Move step="];
+ vals = [h.userdata.t;h.userdata.f1;h.userdata.f2;string(h.userdata.move_step)]
+ lst = list("str",1,"str",1,"str",1,"str",1);
+
+ [ok,t,f1,f2,move_step]=getvalue("Use t as variable. u(t) is the unit step function. Use .* instead of * for multiplication", labels,lst,vals);
+
+ if ok
+ h.userdata.t = t;
+ h.userdata.f1 = f1;
+ h.userdata.f2 = f2;
+ h.userdata.move_step = evstr(move_step);
+ conv_gui('eval_functions');
+ end
+
+
+
+ elseif action == 'eval_functions' //*********************************************
+
+ h=findobj('tag','conv_gui_main_window');
+ h.info_message="Go to Options > Illustrate, to see graphical illustration of convolution";
+ t=evstr(h.userdata.t);
+ f1=evstr(h.userdata.f1);
+ f2=evstr(h.userdata.f2);
+ mov_step=h.userdata.move_step;
+
+ h.userdata.t_min=min(t);
+ h.userdata.t_max=max(t);
+ h.userdata.t_step=t(2)-t(1);
+
+ conv=convol(f1,f2)*h.userdata.t_step;
+ SZ = size(t,2);
+ STRT = round(abs(h.userdata.t_min/h.userdata.t_step));
+ END = STRT+SZ-1;
+ conv=conv(STRT:END);
+
+
+ h.userdata.t_data=[];
+ h.userdata.f1_data=[];
+ h.userdata.f2_data=[];
+ h.userdata.conv_data=[];
+
+ h.userdata.t_data=t;
+ h.userdata.f1_data=f1;
+ h.userdata.f2_data=f2;
+ h.userdata.conv_data=conv;
+ h.userdata.init_plot=1;
+ h.userdata.t_shift=0;
+
+
+ h.userdata.mnu.illustrate.checked='off'
+ h.userdata.mnu.left.enable='off';
+ h.userdata.mnu.right.enable='off'
+ h.userdata.t_shift=0;
+
+ conv_gui('plot');
+
+ h.userdata.ax1.children.children(2).visible='off';
+
+ elseif action == 'plot' //*********************************************
+
+ h=findobj('tag','conv_gui_main_window');
+ t=h.userdata.t_data;
+ f1_data=h.userdata.f1_data;
+ f2_data=h.userdata.f2_data;
+ conv_data=h.userdata.conv_data;
+
+ if h.userdata.init_plot then
+ sca(h.userdata.ax1)
+ plot(t,f1_data,t,f1_data);
+
+ data_bounds=h.userdata.ax1.data_bounds;
+ data_bounds=data_bounds .*[1,1.1;1,1.1];
+ h.userdata.ax1.title.text="input_function(x(t))";
+ h.userdata.ax1.title.font_size=4;
+ h.userdata.ax1.data_bounds=data_bounds;
+ h.userdata.ax1.children.children(1).polyline_style=1;
+ h.userdata.ax1.children.children(1).thickness=2;
+ h.userdata.ax1.children.children(1).foreground=2;
+
+ h.userdata.ax1.children.children(2).polyline_style=1;
+ h.userdata.ax1.children.children(2).line_style=8;
+ h.userdata.ax1.children.children(2).thickness=2;
+ h.userdata.ax1.children.children(2).foreground=5;
+ h.userdata.ax1.children.children(2).visible='off';
+
+
+ sca(h.userdata.ax2)
+ plot(t,f2_data);
+ h.userdata.ax2.title.text="impulse_function(h(t))";
+ h.userdata.ax2.title.font_size=4;
+ data_bounds=h.userdata.ax2.data_bounds;
+ data_bounds=data_bounds .*[1,1.1;1,1.1];
+ h.userdata.ax2.data_bounds=data_bounds;
+ h.userdata.ax2.children.children.polyline_style=1;
+ h.userdata.ax2.children.children.thickness=2;
+ h.userdata.ax2.children.children.foreground=3;
+
+ sca(h.userdata.ax3)
+ plot(t,conv_data);
+ h.userdata.ax3.title.text="Convoluted_output(y(t))";
+ h.userdata.ax3.title.font_size=4;
+ data_bounds=h.userdata.ax3.data_bounds;
+ data_bounds=data_bounds .*[1,1.1;1,1.1];
+ h.userdata.ax3.data_bounds=data_bounds;
+ h.userdata.ax3.children.children.polyline_style=1;
+ h.userdata.ax3.children.children.thickness=2;
+ h.userdata.ax3.children.children.foreground=4;
+ h.userdata.init_plot=0;
+ else
+ // evalute f2 **************
+ f2_data=flipdim(f2_data,2);
+
+ // trimming f2
+ N=round((h.userdata.t_max+h.userdata.t_min-h.userdata.t_shift)/h.userdata.t_step);
+ SZ = size(h.userdata.t_data,2);
+
+ if N >0 then
+ f2_data=[f2_data(N+1:$),zeros(1,N)];
+ elseif N<0
+ f2_data=[zeros(1,abs(N)),f2_data(1:$-abs(N))];
+ end
+
+ f2_data(1)=0;
+ f2_data($)=0;
+
+ h.userdata.ax2.children.children.data=[h.userdata.t_data',f2_data'];
+
+ // updating convolution plot
+ N_conv=round((h.userdata.t_shift-h.userdata.t_min)/h.userdata.t_step);
+
+ if ((N_conv <= SZ ) & (N_conv >= 1) )
+ conv_data(N_conv:$)=0;
+ elseif N_conv < 1 then
+ conv_data(1:$)=0;
+ end
+
+ h.userdata.ax3.children.children.data=[h.userdata.t_data',conv_data'];
+
+ f1_data=f1_data .* f2_data;
+ h.userdata.ax1.children.children(1).data=[h.userdata.t_data',f1_data'];
+ end
+
+ else
+ conv_gui();
+
+
+ end
+
+endfunction
+//***********************************************************
+//***********************************************************
+
diff --git a/3901/DEPENDENCIES/inv_laplace.sci b/3901/DEPENDENCIES/inv_laplace.sci
new file mode 100644
index 000000000..41cfe03c7
--- /dev/null
+++ b/3901/DEPENDENCIES/inv_laplace.sci
@@ -0,0 +1,43 @@
+function [sym1] = ilaplace(A,t,s)
+
+// ilaplace
+//-----------------------------------------------------------------
+// PURPOSE
+// Inverse laplace transform.
+//
+// SYNOPSIS
+// B = ilaplace(A[,s[,t]])
+//
+// INPUT ARGUMENTS
+// A Symbolic expression.
+// t Time variable ('t' by default)
+// s Laplace variable ('s' by default)
+//
+// OUTPUT ARGUMENT
+// B Symbolic expression.
+//
+// See also: laplace
+//#----------------------------------------------------------------
+// // EXAMPLE
+// syms t p
+// ilaplace('exp(-2*p)/(1+p^2)',p,t) // Maxima ignores Heaviside!
+// ilaplace('1/(p*(1+p^2))',p,t)
+// laplace(ilaplace(1/p^2,p,t),t,p)
+
+// Author: : J.F. Magni
+// 18-04-2006
+
+ [%nargout,%nargin] = argn(0);
+ if %nargin ~= 1 & %nargin ~= 2 & %nargin ~= 3; error('One to three arguments'); end;
+
+ if %nargin == 1; t = 's'; s = 't'; end;
+ if %nargin == 2; s = 't'; end;
+
+ A = sym(A);
+ t = sym(t);
+ s = sym(s);
+ str1 = 'ilt('+A.str1+','+t.str1+','+s.str1+')'
+
+ sym1 = str2max2sym(str1);
+
+endfunction
diff --git a/3901/DEPENDENCIES/laplace.sci b/3901/DEPENDENCIES/laplace.sci
new file mode 100644
index 000000000..c1af5e45e
--- /dev/null
+++ b/3901/DEPENDENCIES/laplace.sci
@@ -0,0 +1,50 @@
+clc
+clear
+
+function [sym1] = laplace(A,t,s)
+
+// laplace
+//-----------------------------------------------------------------
+// PURPOSE
+// Laplace transform. Recognizes the functions or strings: delta,
+// exp, log, sin, cos, sinh, cosh, erf and ilt (name of the Maxima
+// inverse Laplace transform).
+//
+// SYNOPSIS
+// B = laplace(A[,t[,s]])
+//
+// INPUT ARGUMENTS
+// A Symbolic expression.
+// t Time variable ('t' by default)
+// s Laplace variable ('s' by default)
+//
+// OUTPUT ARGUMENT
+// B Symbolic expression.
+//
+// See also: ilaplace, sym/integ
+//#----------------------------------------------------------------
+// // EXAMPLE
+// syms t s
+// laplace('3*delta(t-2)+cos(t)*sin(t)',t,s)
+// laplace('3*delta(t-2)+cos(t)*sin(t)',t,'p')
+// laplace(diff(cos(t)^3,t),t,s)
+
+// Author: : J.F. Magni
+// 18-04-2006
+
+ [%nargout,%nargin] = argn(0);
+ if %nargin ~= 1 & %nargin ~= 2 & %nargin ~= 3; error('One to three arguments'); end;
+
+ if %nargin == 1; t = 't'; s = 's'; end;
+ if %nargin == 2; s = 's'; end;
+
+ A = sym(A);
+ t = sym(t);
+ s = sym(s);
+ str1 = 'laplace('+A.str1+','+t.str1+','+s.str1+')'
+
+ sym1 = str2max2sym(str1);
+
+endfunction
+
+