From da8b74319eda501ba1d72f168122d55bbc4967f0 Mon Sep 17 00:00:00 2001 From: prashantsinalkar Date: Fri, 3 May 2019 12:41:06 +0530 Subject: initial commit / add all books --- 3897/CH10/EX10.1/Ex10_1.sce | 17 ++ 3897/CH10/EX10.10/Ex10_10.sce | 20 +++ 3897/CH10/EX10.11/Ex10_11.sce | 23 +++ 3897/CH10/EX10.12/Ex10_12.sce | 17 ++ 3897/CH10/EX10.13/Ex10_13.sce | 22 +++ 3897/CH10/EX10.2/Ex10_2.sce | 19 ++ 3897/CH10/EX10.3/Ex10_3.sce | 14 ++ 3897/CH10/EX10.4/Ex10_4.sce | 24 +++ 3897/CH10/EX10.5/Ex10_5.sce | 17 ++ 3897/CH10/EX10.6/Ex10_6.sce | 23 +++ 3897/CH10/EX10.7/Ex10_7.sce | 20 +++ 3897/CH10/EX10.8/Ex10_8.sce | 14 ++ 3897/CH10/EX10.9/Ex10_9.sce | 14 ++ 3897/CH11/EX11.1/Ex11_1.sce | 17 ++ 3897/CH11/EX11.2/Ex11_2.sce | 19 ++ 3897/CH11/EX11.3/Ex11_3.sce | 20 +++ 3897/CH13/EX13.1/Ex13_1.sce | 18 ++ 3897/CH13/EX13.2/Ex13_2.sce | 21 +++ 3897/CH13/EX13.3/Ex13_3.sce | 22 +++ 3897/CH13/EX13.4/Ex13_4.sce | 22 +++ 3897/CH13/EX13.5/Ex13_5.sce | 24 +++ 3897/CH13/EX13.6/Ex13_6.sce | 23 +++ 3897/CH14/EX14.1/Ex14_1.sce | 15 ++ 3897/CH14/EX14.2/Ex14_2.sce | 14 ++ 3897/CH14/EX14.3/Ex14_3.sce | 15 ++ 3897/CH14/EX14.4/Ex14_4.sce | 18 ++ 3897/CH14/EX14.5/Ex14_5.sce | 18 ++ 3897/CH14/EX14.6/Ex14_6.sce | 18 ++ 3897/CH2/EX2.1/Ex2_1.sce | 14 ++ 3897/CH2/EX2.10/Ex2_10.sce | 21 +++ 3897/CH2/EX2.11/Ex2_11.sce | 20 +++ 3897/CH2/EX2.12/Ex2_12.sce | 15 ++ 3897/CH2/EX2.13/Ex2_13.sce | 19 ++ 3897/CH2/EX2.14/Ex2_14.sce | 17 ++ 3897/CH2/EX2.15/Ex2_15.sce | 19 ++ 3897/CH2/EX2.16/Ex2_16.sce | 19 ++ 3897/CH2/EX2.17/Ex2_17.sce | 19 ++ 3897/CH2/EX2.18/Ex2_18.sce | 20 +++ 3897/CH2/EX2.19/Ex2_19.sce | 17 ++ 3897/CH2/EX2.2/Ex2_2.sce | 19 ++ 3897/CH2/EX2.20/Ex2_20.sce | 17 ++ 3897/CH2/EX2.21/Ex2_21.sce | 20 +++ 3897/CH2/EX2.22/Ex2_22.sce | 16 ++ 3897/CH2/EX2.23/Ex2_23.sce | 22 +++ 3897/CH2/EX2.24/Ex2_24.sce | 20 +++ 3897/CH2/EX2.25/Ex2_25.sce | 18 ++ 3897/CH2/EX2.26/Ex2_26.sce | 20 +++ 3897/CH2/EX2.3/Ex2_3.sce | 11 ++ 3897/CH2/EX2.4/Ex2_4.sce | 14 ++ 3897/CH2/EX2.5/Ex2_5.sce | 11 ++ 3897/CH2/EX2.6/Ex2_6.sce | 12 ++ 3897/CH2/EX2.7/Ex2_7.sce | 12 ++ 3897/CH2/EX2.8/Ex2_8.sce | 14 ++ 3897/CH2/EX2.9/Ex2_9.sce | 16 ++ 3897/CH3/EX3.1/Ex3_1.sce | 16 ++ 3897/CH3/EX3.10/Ex3_10.sce | 15 ++ 3897/CH3/EX3.2/Ex3_2.sce | 14 ++ 3897/CH3/EX3.3/Ex3_3.sce | 18 ++ 3897/CH3/EX3.4/Ex3_4.sce | 15 ++ 3897/CH3/EX3.5/Ex3_5.sce | 20 +++ 3897/CH3/EX3.6/Ex3_6.sce | 10 ++ 3897/CH3/EX3.7/Ex3_7.sce | 15 ++ 3897/CH3/EX3.8/Ex3_8.sce | 10 ++ 3897/CH3/EX3.9/Ex3_9.sce | 10 ++ 3897/CH4/EX4.1/Ex4_1.sce | 22 +++ 3897/CH4/EX4.2/Ex4_2.sce | 15 ++ 3897/CH4/EX4.3/Ex4_3.sce | 15 ++ 3897/CH4/EX4.4/Ex4_4.sce | 20 +++ 3897/CH4/EX4.5/Ex4_5.sce | 17 ++ 3897/CH4/EX4.6/Ex4_6.sce | 14 ++ 3897/CH5/EX5.1/Ex5_1.sce | 16 ++ 3897/CH5/EX5.2/Ex5_2.sce | 16 ++ 3897/CH5/EX5.3/Ex5_3.sce | 31 ++++ 3897/CH6/EX6.1/Ex6_1.sce | 15 ++ 3897/CH6/EX6.2/Ex6_2.sce | 19 ++ 3897/CH6/EX6.3/Ex6_3.sce | 13 ++ 3897/CH6/EX6.4/Ex6_4.sce | 23 +++ 3897/CH6/EX6.5/Ex6_5.sce | 17 ++ 3897/CH6/EX6.6/Ex6_6.sce | 17 ++ 3897/CH6/EX6.7/Ex6_7.sce | 18 ++ 3897/CH6/EX6.8/Ex6_8.sce | 17 ++ 3897/CH6/EX6.9/Ex6_9.sce | 14 ++ 3897/CH7/EX7.1/EX7_1.sce | 23 +++ 3897/CH7/EX7.10/Ex7_10.sce | 20 +++ 3897/CH7/EX7.11/Ex7_11.sce | 25 +++ 3897/CH7/EX7.12/Ex7_12.sce | 23 +++ 3897/CH7/EX7.13/Ex7_13.sce | 10 ++ 3897/CH7/EX7.14/Ex7_14.sce | 6 + 3897/CH7/EX7.2/Ex7_2.sce | 19 ++ 3897/CH7/EX7.3/Ex7_3.sce | 18 ++ 3897/CH7/EX7.4/Ex7_4.sce | 10 ++ 3897/CH7/EX7.5/Ex7_5.sce | 10 ++ 3897/CH7/EX7.6/Ex7_6.sce | 10 ++ 3897/CH7/EX7.7/Ex7_7.sce | 17 ++ 3897/CH7/EX7.8/Ex7_8.sce | 21 +++ 3897/CH7/EX7.9/Ex7_9.sce | 18 ++ 3897/CH8/EX8.1/Ex8_1.sce | 16 ++ 3897/CH8/EX8.2/Ex8_2.sce | 17 ++ 3897/CH8/EX8.3/Ex8_3.sce | 10 ++ 3897/CH8/EX8.4/Ex8_4.sce | 35 ++++ 3897/CH8/EX8.5/Ex8_5.sce | 19 ++ 3897/CH8/EX8.6/Ex8_6.sce | 16 ++ 3897/CH8/EX8.7/Ex8_7.sce | 26 +++ 3897/CH8/EX8.8/Ex8_8.sce | 18 ++ 3897/CH8/EX8.9/Ex8_9.sce | 22 +++ 3897/CH9/EX9.1/Ex9_1.sce | 15 ++ 3897/CH9/EX9.10/Ex9_10.sce | 26 +++ 3897/CH9/EX9.2/Ex9_2.sce | 17 ++ 3897/CH9/EX9.3/Ex9_3.sce | 19 ++ 3897/CH9/EX9.4/Ex9_4.sce | 21 +++ 3897/CH9/EX9.5/Ex9_5.sce | 19 ++ 3897/CH9/EX9.6/Ex9_6.sce | 21 +++ 3897/CH9/EX9.7/Ex9_7.sce | 53 ++++++ 3897/CH9/EX9.8/Ex9_8.sce | 20 +++ 3897/CH9/EX9.9/Ex9_9.sce | 17 ++ 3901/CH1/EX0.B.5/ExB_5.sce | 13 ++ 3901/CH1/EX0.b.1/ExB_1.sce | 14 ++ 3901/CH1/EX0.b.10/ExB_10.sce | 20 +++ 3901/CH1/EX0.b.11/ExB_11.sce | 11 ++ 3901/CH1/EX0.b.12/ExB_12.sce | 6 + 3901/CH1/EX0.b.13/ExB_13.sce | 21 +++ 3901/CH1/EX0.b.2/ExB_2.sce | 18 ++ 3901/CH1/EX0.b.3/ExB_3.sce | 16 ++ 3901/CH1/EX0.b.4/ExB_4.sce | 15 ++ 3901/CH1/EX0.b.6/ExB_6.sce | 18 ++ 3901/CH1/EX0.b.7/ExB_7.sce | 17 ++ 3901/CH1/EX0.b.8/ExB_8.sce | 23 +++ 3901/CH1/EX0.b.9/ExB_9.sce | 12 ++ 3901/CH1/EX1.1/Ex1_1.sce | 18 ++ 3901/CH1/EX1.3/Ex1_3.png | Bin 0 -> 9843 bytes 3901/CH1/EX1.3/Ex1_3.sce | 14 ++ 3901/CH1/EX1.4/Ex1_4.png | Bin 0 -> 20089 bytes 3901/CH1/EX1.4/Ex1_4.sce | 31 ++++ 3901/CH1/EX1.5/Ex1_5.png | Bin 0 -> 20031 bytes 3901/CH1/EX1.5/Ex1_5.sce | 24 +++ 3901/CH1/EX1.6/Ex1_6.png | Bin 0 -> 20815 bytes 3901/CH1/EX1.6/Ex1_6.sce | 40 +++++ 3901/CH1/EX1.7/Ex1_7.png | Bin 0 -> 15785 bytes 3901/CH1/EX1.7/Ex1_7.sce | 15 ++ 3901/CH1/EX1.8/Ex1_8.png | Bin 0 -> 28468 bytes 3901/CH1/EX1.8/Ex1_8.sce | 24 +++ 3901/CH10/EX10.10/Ex10_10.sce | 12 ++ 3901/CH10/EX10.11/Ex10_11.sce | 25 +++ 3901/CH10/EX10.12/Ex10_12.sce | 16 ++ 3901/CH10/EX10.13/Ex10_13.sce | 20 +++ 3901/CH10/EX10.4/Ex10_4.sce | 9 + 3901/CH10/EX10.5/Ex10_5.sce | 16 ++ 3901/CH10/EX10.6/Ex10_6.sce | 10 ++ 3901/CH10/EX10.7/Ex10_7.sce | 16 ++ 3901/CH10/EX10.8/Ex10_8.sce | 18 ++ 3901/CH10/EX10.9/Ex10_9.sce | 9 + 3901/CH2/EX2.1/Ex2_1.sce | 87 +++++++++ 3901/CH2/EX2.1/Ex2_1a.png | Bin 0 -> 25705 bytes 3901/CH2/EX2.1/Ex2_1b.png | Bin 0 -> 26327 bytes 3901/CH2/EX2.10/Ex2_10.png | Bin 0 -> 19653 bytes 3901/CH2/EX2.10/Ex2_10.sce | 28 +++ 3901/CH2/EX2.11/Ex2_11.png | Bin 0 -> 22284 bytes 3901/CH2/EX2.11/Ex2_11.sce | 69 ++++++++ 3901/CH2/EX2.12/Ex2_12.png | Bin 0 -> 18500 bytes 3901/CH2/EX2.12/Ex2_12.sce | 29 +++ 3901/CH2/EX2.2/Ex2_2.png | Bin 0 -> 11598 bytes 3901/CH2/EX2.2/Ex2_2.sce | 22 +++ 3901/CH2/EX2.3/Ex2_3.png | Bin 0 -> 18985 bytes 3901/CH2/EX2.3/Ex2_3.sce | 27 +++ 3901/CH2/EX2.4/Ex2_4.png | Bin 0 -> 18737 bytes 3901/CH2/EX2.4/Ex2_4.sce | 28 +++ 3901/CH2/EX2.5/Ex2_5.png | Bin 0 -> 21818 bytes 3901/CH2/EX2.5/Ex2_5.sce | 24 +++ 3901/CH2/EX2.6/Ex2_6.png | Bin 0 -> 18773 bytes 3901/CH2/EX2.6/Ex2_6.sce | 24 +++ 3901/CH2/EX2.7/Ex2_7.sce | 17 ++ 3901/CH2/EX2.7/Ex2_7a.png | Bin 0 -> 13139 bytes 3901/CH2/EX2.7/Ex2_7b.png | Bin 0 -> 12391 bytes 3901/CH2/EX2.8/Ex2_8.sce | 18 ++ 3901/CH2/EX2.8/Ex2_8a.png | Bin 0 -> 12895 bytes 3901/CH2/EX2.8/Ex2_8b.png | Bin 0 -> 12500 bytes 3901/CH2/EX2.9/Ex2_9.png | Bin 0 -> 11681 bytes 3901/CH2/EX2.9/Ex2_9.sce | 18 ++ 3901/CH3/EX3.1/Ex3_1.png | Bin 0 -> 18499 bytes 3901/CH3/EX3.1/Ex3_1.sce | 19 ++ 3901/CH3/EX3.10/Ex3_10.png | Bin 0 -> 21528 bytes 3901/CH3/EX3.10/Ex3_10.sce | 34 ++++ 3901/CH3/EX3.11/Ex3_11.png | Bin 0 -> 14025 bytes 3901/CH3/EX3.11/Ex3_11.sce | 11 ++ 3901/CH3/EX3.13/Ex3_13.png | Bin 0 -> 15181 bytes 3901/CH3/EX3.13/Ex3_13.sce | 17 ++ 3901/CH3/EX3.14/Ex3_14.png | Bin 0 -> 12967 bytes 3901/CH3/EX3.14/Ex3_14.sce | 10 ++ 3901/CH3/EX3.15/Ex3_15.png | Bin 0 -> 16965 bytes 3901/CH3/EX3.15/Ex3_15.sce | 16 ++ 3901/CH3/EX3.16/Ex3_16.png | Bin 0 -> 15910 bytes 3901/CH3/EX3.16/Ex3_16.sce | 19 ++ 3901/CH3/EX3.17/Ex3_17.png | Bin 0 -> 12970 bytes 3901/CH3/EX3.17/Ex3_17.sce | 14 ++ 3901/CH3/EX3.18/Ex3_18.png | Bin 0 -> 13928 bytes 3901/CH3/EX3.18/Ex3_18.sce | 13 ++ 3901/CH3/EX3.19/Ex3_19.png | Bin 0 -> 14551 bytes 3901/CH3/EX3.19/Ex3_19.sce | 13 ++ 3901/CH3/EX3.20/Ex3_20.png | Bin 0 -> 14803 bytes 3901/CH3/EX3.20/Ex3_20.sce | 13 ++ 3901/CH3/EX3.21/Ex3_21.png | Bin 0 -> 19953 bytes 3901/CH3/EX3.21/Ex3_21.sce | 12 ++ 3901/CH3/EX3.3/Ex3_3.png | Bin 0 -> 15085 bytes 3901/CH3/EX3.3/Ex3_3.sce | 13 ++ 3901/CH3/EX3.8/Ex3_8.png | Bin 0 -> 10762 bytes 3901/CH3/EX3.8/Ex3_8.sce | 16 ++ 3901/CH3/EX3.9/Ex3_9.png | Bin 0 -> 12721 bytes 3901/CH3/EX3.9/Ex3_9.sce | 19 ++ 3901/CH4/EX4.1/Ex4_1.png | Bin 0 -> 13283 bytes 3901/CH4/EX4.1/Ex4_1.sce | 14 ++ 3901/CH4/EX4.10/Ex4_10.sce | 13 ++ 3901/CH4/EX4.11/Ex4_11.sce | 13 ++ 3901/CH4/EX4.12/Ex4_12.sce | 13 ++ 3901/CH4/EX4.15/Ex4_15.sce | 14 ++ 3901/CH4/EX4.16/Ex4_16.sce | 12 ++ 3901/CH4/EX4.17/Ex4_17.sce | 13 ++ 3901/CH4/EX4.2/Ex4_2.sce | 18 ++ 3901/CH4/EX4.23/Ex4_23.png | Bin 0 -> 22564 bytes 3901/CH4/EX4.23/Ex4_23.sce | 8 + 3901/CH4/EX4.24/Ex4_24.sce | 13 ++ 3901/CH4/EX4.24/Ex4_24a.png | Bin 0 -> 22455 bytes 3901/CH4/EX4.24/Ex4_24b.png | Bin 0 -> 22514 bytes 3901/CH4/EX4.25/Ex4_25.png | Bin 0 -> 24103 bytes 3901/CH4/EX4.25/Ex4_25.sce | 8 + 3901/CH4/EX4.26/Ex4_26.png | Bin 0 -> 23416 bytes 3901/CH4/EX4.26/Ex4_26.sce | 8 + 3901/CH4/EX4.27/Ex4_27.png | Bin 0 -> 20622 bytes 3901/CH4/EX4.27/Ex4_27.sce | 14 ++ 3901/CH4/EX4.28/Ex4_28.sce | 31 ++++ 3901/CH4/EX4.29/Ex4_29.sce | 14 ++ 3901/CH4/EX4.3/Ex4_3.sce | 28 +++ 3901/CH4/EX4.30/Ex4_30.sce | 13 ++ 3901/CH4/EX4.31/Ex4_31.sce | 20 +++ 3901/CH4/EX4.4/Ex4_4.sce | 13 ++ 3901/CH4/EX4.5/Ex4_5.sce | 19 ++ 3901/CH4/EX4.8/Ex4_8.sce | 12 ++ 3901/CH4/EX4.9/Ex4_9.sce | 15 ++ 3901/CH5/EX5.1/Ex5_1.png | Bin 0 -> 11135 bytes 3901/CH5/EX5.1/Ex5_1.sce | 12 ++ 3901/CH5/EX5.10/Ex5_10.png | Bin 0 -> 20301 bytes 3901/CH5/EX5.10/Ex5_10.sce | 26 +++ 3901/CH5/EX5.12/Ex5_12.sce | 6 + 3901/CH5/EX5.13/Ex5_13.sce | 5 + 3901/CH5/EX5.14/Ex5_14.png | Bin 0 -> 16769 bytes 3901/CH5/EX5.14/Ex5_14.sce | 14 ++ 3901/CH5/EX5.15/Ex5_15.png | Bin 0 -> 19972 bytes 3901/CH5/EX5.15/Ex5_15.sce | 17 ++ 3901/CH5/EX5.16/Ex5_16.png | Bin 0 -> 14978 bytes 3901/CH5/EX5.16/Ex5_16.sce | 11 ++ 3901/CH5/EX5.17/Ex5_17.sce | 14 ++ 3901/CH5/EX5.18/Ex5_18.sce | 48 +++++ 3901/CH5/EX5.19/Ex5_19.sce | 21 +++ 3901/CH5/EX5.2/Ex5_2.sce | 25 +++ 3901/CH5/EX5.20/Ex5_20.sce | 25 +++ 3901/CH5/EX5.3/Ex5_3.sce | 36 ++++ 3901/CH5/EX5.5/Ex5_5.sce | 21 +++ 3901/CH5/EX5.6/Ex5_6.sce | 21 +++ 3901/CH6/EX6.1/Ex6_1.png | Bin 0 -> 16498 bytes 3901/CH6/EX6.1/Ex6_1.sce | 29 +++ 3901/CH6/EX6.10/Ex6_10.png | Bin 0 -> 14709 bytes 3901/CH6/EX6.10/Ex6_10.sce | 14 ++ 3901/CH6/EX6.11/Ex6_11.png | Bin 0 -> 21324 bytes 3901/CH6/EX6.11/Ex6_11.sce | 45 +++++ 3901/CH6/EX6.12/Ex6_12.png | Bin 0 -> 14615 bytes 3901/CH6/EX6.12/Ex6_12.sce | 10 ++ 3901/CH6/EX6.2/Ex6_2.png | Bin 0 -> 16102 bytes 3901/CH6/EX6.2/Ex6_2.sce | 30 ++++ 3901/CH6/EX6.3/Ex6_3.png | Bin 0 -> 16213 bytes 3901/CH6/EX6.3/Ex6_3.sce | 28 +++ 3901/CH6/EX6.4/Ex6_4.png | Bin 0 -> 14850 bytes 3901/CH6/EX6.4/Ex6_4.sce | 27 +++ 3901/CH6/EX6.5/Ex6_5.png | Bin 0 -> 16106 bytes 3901/CH6/EX6.5/Ex6_5.sce | 28 +++ 3901/CH6/EX6.6/Ex6_6.sce | 23 +++ 3901/CH6/EX6.6/Ex6_6a.png | Bin 0 -> 16421 bytes 3901/CH6/EX6.6/Ex6_6b.png | Bin 0 -> 15019 bytes 3901/CH6/EX6.7/Ex6_7.png | Bin 0 -> 15988 bytes 3901/CH6/EX6.7/Ex6_7.sce | 24 +++ 3901/CH6/EX6.8/Ex6_8.png | Bin 0 -> 15160 bytes 3901/CH6/EX6.8/Ex6_8.sce | 32 ++++ 3901/CH6/EX6.9/Ex6_9.png | Bin 0 -> 17015 bytes 3901/CH6/EX6.9/Ex6_9.sce | 32 ++++ 3901/CH7/EX7.1/Ex7_1.png | Bin 0 -> 24150 bytes 3901/CH7/EX7.1/Ex7_1.sce | 23 +++ 3901/CH7/EX7.10/Ex7_10.png | Bin 0 -> 16640 bytes 3901/CH7/EX7.10/Ex7_10.sce | 23 +++ 3901/CH7/EX7.11/Ex7_11.sce | 33 ++++ 3901/CH7/EX7.11/Ex7_11a.png | Bin 0 -> 16212 bytes 3901/CH7/EX7.11/Ex7_11b.png | Bin 0 -> 17658 bytes 3901/CH7/EX7.12/Ex7_12.sce | 33 ++++ 3901/CH7/EX7.12/Ex7_12a.png | Bin 0 -> 16135 bytes 3901/CH7/EX7.12/Ex7_12b.png | Bin 0 -> 15723 bytes 3901/CH7/EX7.13/Ex7_13.png | Bin 0 -> 21005 bytes 3901/CH7/EX7.13/Ex7_13.sce | 27 +++ 3901/CH7/EX7.14/Ex7_14.png | Bin 0 -> 24842 bytes 3901/CH7/EX7.14/Ex7_14.sce | 26 +++ 3901/CH7/EX7.15/Ex7_15.png | Bin 0 -> 21802 bytes 3901/CH7/EX7.15/Ex7_15.sce | 20 +++ 3901/CH7/EX7.17/Ex7_17.png | Bin 0 -> 16765 bytes 3901/CH7/EX7.17/Ex7_17.sce | 22 +++ 3901/CH7/EX7.19/Ex7_19.sce | 35 ++++ 3901/CH7/EX7.19/Ex7_19a.png | Bin 0 -> 18926 bytes 3901/CH7/EX7.19/Ex7_19b.png | Bin 0 -> 14411 bytes 3901/CH7/EX7.2/Ex7_2.sce | 28 +++ 3901/CH7/EX7.2/Ex7_2a.png | Bin 0 -> 16339 bytes 3901/CH7/EX7.2/Ex7_2b.png | Bin 0 -> 18706 bytes 3901/CH7/EX7.20/Ex7_20.sce | 8 + 3901/CH7/EX7.23/Ex7_23.png | Bin 0 -> 26794 bytes 3901/CH7/EX7.23/Ex7_23.sce | 18 ++ 3901/CH7/EX7.3/Ex7_3.png | Bin 0 -> 15515 bytes 3901/CH7/EX7.3/Ex7_3.sce | 13 ++ 3901/CH7/EX7.4/Ex7_4.png | Bin 0 -> 15778 bytes 3901/CH7/EX7.4/Ex7_4.sce | 13 ++ 3901/CH7/EX7.6/Ex7_6.png | Bin 0 -> 20900 bytes 3901/CH7/EX7.6/Ex7_6.sce | 22 +++ 3901/CH7/EX7.9/Ex7_9.png | Bin 0 -> 18951 bytes 3901/CH7/EX7.9/Ex7_9.sce | 21 +++ 3901/CH8/EX8.1/Ex8_1.sce | 90 ++++++++++ 3901/CH8/EX8.1/Ex8_1a.png | Bin 0 -> 20265 bytes 3901/CH8/EX8.1/Ex8_1b.png | Bin 0 -> 19947 bytes 3901/CH8/EX8.10/Ex8_10.png | Bin 0 -> 23122 bytes 3901/CH8/EX8.10/Ex8_10.sce | 26 +++ 3901/CH8/EX8.2/Ex8_2.sce | 41 +++++ 3901/CH8/EX8.2/Ex8_2a.png | Bin 0 -> 18716 bytes 3901/CH8/EX8.2/Ex8_2b.png | Bin 0 -> 20032 bytes 3901/CH8/EX8.5/Ex8_5.sce | 10 ++ 3901/CH8/EX8.7/Ex8_7.sce | 10 ++ 3901/CH8/EX8.8/Ex8_8.png | Bin 0 -> 25117 bytes 3901/CH8/EX8.8/Ex8_8.sce | 26 +++ 3901/CH8/EX8.9/Ex8_9.png | Bin 0 -> 23705 bytes 3901/CH8/EX8.9/Ex8_9.sce | 23 +++ 3901/CH9/EX9.1/Ex9_1.png | Bin 0 -> 26353 bytes 3901/CH9/EX9.1/Ex9_1.sce | 20 +++ 3901/CH9/EX9.10/Ex9_10.sce | 36 ++++ 3901/CH9/EX9.10/Ex9_10a.png | Bin 0 -> 14101 bytes 3901/CH9/EX9.10/Ex9_10b.png | Bin 0 -> 14915 bytes 3901/CH9/EX9.13/Ex9_13.png | Bin 0 -> 17134 bytes 3901/CH9/EX9.13/Ex9_13.sce | 13 ++ 3901/CH9/EX9.2/Ex9_2.png | Bin 0 -> 21451 bytes 3901/CH9/EX9.2/Ex9_2.sce | 17 ++ 3901/CH9/EX9.3/Ex9_3.png | Bin 0 -> 15895 bytes 3901/CH9/EX9.3/Ex9_3.sce | 23 +++ 3901/CH9/EX9.4/Ex9_4.png | Bin 0 -> 15340 bytes 3901/CH9/EX9.4/Ex9_4.sce | 23 +++ 3901/CH9/EX9.5/Ex9_5.png | Bin 0 -> 16640 bytes 3901/CH9/EX9.5/Ex9_5.sce | 23 +++ 3901/CH9/EX9.6/Ex9_6.png | Bin 0 -> 16609 bytes 3901/CH9/EX9.6/Ex9_6.sce | 26 +++ 3901/CH9/EX9.9/Ex9_9.png | Bin 0 -> 14323 bytes 3901/CH9/EX9.9/Ex9_9.sce | 21 +++ 3901/DEPENDENCIES/conv_gui.sci | 363 ++++++++++++++++++++++++++++++++++++++ 3901/DEPENDENCIES/inv_laplace.sci | 43 +++++ 3901/DEPENDENCIES/laplace.sci | 50 ++++++ 353 files changed, 5419 insertions(+) create mode 100644 3897/CH10/EX10.1/Ex10_1.sce create mode 100644 3897/CH10/EX10.10/Ex10_10.sce create mode 100644 3897/CH10/EX10.11/Ex10_11.sce create mode 100644 3897/CH10/EX10.12/Ex10_12.sce create mode 100644 3897/CH10/EX10.13/Ex10_13.sce create mode 100644 3897/CH10/EX10.2/Ex10_2.sce create mode 100644 3897/CH10/EX10.3/Ex10_3.sce create mode 100644 3897/CH10/EX10.4/Ex10_4.sce create mode 100644 3897/CH10/EX10.5/Ex10_5.sce create mode 100644 3897/CH10/EX10.6/Ex10_6.sce create mode 100644 3897/CH10/EX10.7/Ex10_7.sce create mode 100644 3897/CH10/EX10.8/Ex10_8.sce create mode 100644 3897/CH10/EX10.9/Ex10_9.sce create mode 100644 3897/CH11/EX11.1/Ex11_1.sce create mode 100644 3897/CH11/EX11.2/Ex11_2.sce create mode 100644 3897/CH11/EX11.3/Ex11_3.sce create mode 100644 3897/CH13/EX13.1/Ex13_1.sce create mode 100644 3897/CH13/EX13.2/Ex13_2.sce create mode 100644 3897/CH13/EX13.3/Ex13_3.sce create mode 100644 3897/CH13/EX13.4/Ex13_4.sce create mode 100644 3897/CH13/EX13.5/Ex13_5.sce create mode 100644 3897/CH13/EX13.6/Ex13_6.sce create mode 100644 3897/CH14/EX14.1/Ex14_1.sce create mode 100644 3897/CH14/EX14.2/Ex14_2.sce create mode 100644 3897/CH14/EX14.3/Ex14_3.sce create mode 100644 3897/CH14/EX14.4/Ex14_4.sce create mode 100644 3897/CH14/EX14.5/Ex14_5.sce create mode 100644 3897/CH14/EX14.6/Ex14_6.sce create mode 100644 3897/CH2/EX2.1/Ex2_1.sce create mode 100644 3897/CH2/EX2.10/Ex2_10.sce create mode 100644 3897/CH2/EX2.11/Ex2_11.sce create mode 100644 3897/CH2/EX2.12/Ex2_12.sce create mode 100644 3897/CH2/EX2.13/Ex2_13.sce create mode 100644 3897/CH2/EX2.14/Ex2_14.sce create mode 100644 3897/CH2/EX2.15/Ex2_15.sce create mode 100644 3897/CH2/EX2.16/Ex2_16.sce create mode 100644 3897/CH2/EX2.17/Ex2_17.sce create mode 100644 3897/CH2/EX2.18/Ex2_18.sce create mode 100644 3897/CH2/EX2.19/Ex2_19.sce create mode 100644 3897/CH2/EX2.2/Ex2_2.sce create mode 100644 3897/CH2/EX2.20/Ex2_20.sce create mode 100644 3897/CH2/EX2.21/Ex2_21.sce create mode 100644 3897/CH2/EX2.22/Ex2_22.sce create mode 100644 3897/CH2/EX2.23/Ex2_23.sce create mode 100644 3897/CH2/EX2.24/Ex2_24.sce create mode 100644 3897/CH2/EX2.25/Ex2_25.sce create mode 100644 3897/CH2/EX2.26/Ex2_26.sce create mode 100644 3897/CH2/EX2.3/Ex2_3.sce create mode 100644 3897/CH2/EX2.4/Ex2_4.sce create mode 100644 3897/CH2/EX2.5/Ex2_5.sce create mode 100644 3897/CH2/EX2.6/Ex2_6.sce create mode 100644 3897/CH2/EX2.7/Ex2_7.sce create mode 100644 3897/CH2/EX2.8/Ex2_8.sce create mode 100644 3897/CH2/EX2.9/Ex2_9.sce create mode 100644 3897/CH3/EX3.1/Ex3_1.sce create mode 100644 3897/CH3/EX3.10/Ex3_10.sce create mode 100644 3897/CH3/EX3.2/Ex3_2.sce create mode 100644 3897/CH3/EX3.3/Ex3_3.sce create mode 100644 3897/CH3/EX3.4/Ex3_4.sce create mode 100644 3897/CH3/EX3.5/Ex3_5.sce create mode 100644 3897/CH3/EX3.6/Ex3_6.sce create mode 100644 3897/CH3/EX3.7/Ex3_7.sce create mode 100644 3897/CH3/EX3.8/Ex3_8.sce create mode 100644 3897/CH3/EX3.9/Ex3_9.sce create mode 100644 3897/CH4/EX4.1/Ex4_1.sce create mode 100644 3897/CH4/EX4.2/Ex4_2.sce create mode 100644 3897/CH4/EX4.3/Ex4_3.sce create mode 100644 3897/CH4/EX4.4/Ex4_4.sce create mode 100644 3897/CH4/EX4.5/Ex4_5.sce create mode 100644 3897/CH4/EX4.6/Ex4_6.sce create mode 100644 3897/CH5/EX5.1/Ex5_1.sce create mode 100644 3897/CH5/EX5.2/Ex5_2.sce create mode 100644 3897/CH5/EX5.3/Ex5_3.sce create mode 100644 3897/CH6/EX6.1/Ex6_1.sce create mode 100644 3897/CH6/EX6.2/Ex6_2.sce create mode 100644 3897/CH6/EX6.3/Ex6_3.sce create mode 100644 3897/CH6/EX6.4/Ex6_4.sce create mode 100644 3897/CH6/EX6.5/Ex6_5.sce create mode 100644 3897/CH6/EX6.6/Ex6_6.sce create mode 100644 3897/CH6/EX6.7/Ex6_7.sce create mode 100644 3897/CH6/EX6.8/Ex6_8.sce create mode 100644 3897/CH6/EX6.9/Ex6_9.sce create mode 100644 3897/CH7/EX7.1/EX7_1.sce create mode 100644 3897/CH7/EX7.10/Ex7_10.sce create mode 100644 3897/CH7/EX7.11/Ex7_11.sce create mode 100644 3897/CH7/EX7.12/Ex7_12.sce create mode 100644 3897/CH7/EX7.13/Ex7_13.sce create mode 100644 3897/CH7/EX7.14/Ex7_14.sce create mode 100644 3897/CH7/EX7.2/Ex7_2.sce create mode 100644 3897/CH7/EX7.3/Ex7_3.sce create mode 100644 3897/CH7/EX7.4/Ex7_4.sce create mode 100644 3897/CH7/EX7.5/Ex7_5.sce create mode 100644 3897/CH7/EX7.6/Ex7_6.sce create mode 100644 3897/CH7/EX7.7/Ex7_7.sce create mode 100644 3897/CH7/EX7.8/Ex7_8.sce create mode 100644 3897/CH7/EX7.9/Ex7_9.sce create mode 100644 3897/CH8/EX8.1/Ex8_1.sce create mode 100644 3897/CH8/EX8.2/Ex8_2.sce create mode 100644 3897/CH8/EX8.3/Ex8_3.sce create mode 100644 3897/CH8/EX8.4/Ex8_4.sce create mode 100644 3897/CH8/EX8.5/Ex8_5.sce create mode 100644 3897/CH8/EX8.6/Ex8_6.sce create mode 100644 3897/CH8/EX8.7/Ex8_7.sce create mode 100644 3897/CH8/EX8.8/Ex8_8.sce create mode 100644 3897/CH8/EX8.9/Ex8_9.sce create mode 100644 3897/CH9/EX9.1/Ex9_1.sce create mode 100644 3897/CH9/EX9.10/Ex9_10.sce create mode 100644 3897/CH9/EX9.2/Ex9_2.sce create mode 100644 3897/CH9/EX9.3/Ex9_3.sce create mode 100644 3897/CH9/EX9.4/Ex9_4.sce create mode 100644 3897/CH9/EX9.5/Ex9_5.sce create mode 100644 3897/CH9/EX9.6/Ex9_6.sce create mode 100644 3897/CH9/EX9.7/Ex9_7.sce create mode 100644 3897/CH9/EX9.8/Ex9_8.sce create mode 100644 3897/CH9/EX9.9/Ex9_9.sce create mode 100644 3901/CH1/EX0.B.5/ExB_5.sce create mode 100644 3901/CH1/EX0.b.1/ExB_1.sce create mode 100644 3901/CH1/EX0.b.10/ExB_10.sce create mode 100644 3901/CH1/EX0.b.11/ExB_11.sce create mode 100644 3901/CH1/EX0.b.12/ExB_12.sce create mode 100644 3901/CH1/EX0.b.13/ExB_13.sce create mode 100644 3901/CH1/EX0.b.2/ExB_2.sce create mode 100644 3901/CH1/EX0.b.3/ExB_3.sce create mode 100644 3901/CH1/EX0.b.4/ExB_4.sce create mode 100644 3901/CH1/EX0.b.6/ExB_6.sce create mode 100644 3901/CH1/EX0.b.7/ExB_7.sce create mode 100644 3901/CH1/EX0.b.8/ExB_8.sce create mode 100644 3901/CH1/EX0.b.9/ExB_9.sce create mode 100644 3901/CH1/EX1.1/Ex1_1.sce create mode 100644 3901/CH1/EX1.3/Ex1_3.png create mode 100644 3901/CH1/EX1.3/Ex1_3.sce create mode 100644 3901/CH1/EX1.4/Ex1_4.png create mode 100644 3901/CH1/EX1.4/Ex1_4.sce create mode 100644 3901/CH1/EX1.5/Ex1_5.png create mode 100644 3901/CH1/EX1.5/Ex1_5.sce create mode 100644 3901/CH1/EX1.6/Ex1_6.png create mode 100644 3901/CH1/EX1.6/Ex1_6.sce create mode 100644 3901/CH1/EX1.7/Ex1_7.png create mode 100644 3901/CH1/EX1.7/Ex1_7.sce create mode 100644 3901/CH1/EX1.8/Ex1_8.png create mode 100644 3901/CH1/EX1.8/Ex1_8.sce create mode 100644 3901/CH10/EX10.10/Ex10_10.sce create mode 100644 3901/CH10/EX10.11/Ex10_11.sce create mode 100644 3901/CH10/EX10.12/Ex10_12.sce create mode 100644 3901/CH10/EX10.13/Ex10_13.sce create mode 100644 3901/CH10/EX10.4/Ex10_4.sce create mode 100644 3901/CH10/EX10.5/Ex10_5.sce create mode 100644 3901/CH10/EX10.6/Ex10_6.sce create mode 100644 3901/CH10/EX10.7/Ex10_7.sce create mode 100644 3901/CH10/EX10.8/Ex10_8.sce create mode 100644 3901/CH10/EX10.9/Ex10_9.sce create mode 100644 3901/CH2/EX2.1/Ex2_1.sce create mode 100644 3901/CH2/EX2.1/Ex2_1a.png create mode 100644 3901/CH2/EX2.1/Ex2_1b.png create mode 100644 3901/CH2/EX2.10/Ex2_10.png create mode 100644 3901/CH2/EX2.10/Ex2_10.sce create mode 100644 3901/CH2/EX2.11/Ex2_11.png create mode 100644 3901/CH2/EX2.11/Ex2_11.sce create mode 100644 3901/CH2/EX2.12/Ex2_12.png create mode 100644 3901/CH2/EX2.12/Ex2_12.sce create mode 100644 3901/CH2/EX2.2/Ex2_2.png create mode 100644 3901/CH2/EX2.2/Ex2_2.sce create mode 100644 3901/CH2/EX2.3/Ex2_3.png create mode 100644 3901/CH2/EX2.3/Ex2_3.sce create mode 100644 3901/CH2/EX2.4/Ex2_4.png create mode 100644 3901/CH2/EX2.4/Ex2_4.sce create mode 100644 3901/CH2/EX2.5/Ex2_5.png create mode 100644 3901/CH2/EX2.5/Ex2_5.sce create mode 100644 3901/CH2/EX2.6/Ex2_6.png create mode 100644 3901/CH2/EX2.6/Ex2_6.sce create mode 100644 3901/CH2/EX2.7/Ex2_7.sce create mode 100644 3901/CH2/EX2.7/Ex2_7a.png create mode 100644 3901/CH2/EX2.7/Ex2_7b.png create mode 100644 3901/CH2/EX2.8/Ex2_8.sce create mode 100644 3901/CH2/EX2.8/Ex2_8a.png create mode 100644 3901/CH2/EX2.8/Ex2_8b.png create mode 100644 3901/CH2/EX2.9/Ex2_9.png create mode 100644 3901/CH2/EX2.9/Ex2_9.sce create mode 100644 3901/CH3/EX3.1/Ex3_1.png create mode 100644 3901/CH3/EX3.1/Ex3_1.sce create mode 100644 3901/CH3/EX3.10/Ex3_10.png create mode 100644 3901/CH3/EX3.10/Ex3_10.sce create mode 100644 3901/CH3/EX3.11/Ex3_11.png create mode 100644 3901/CH3/EX3.11/Ex3_11.sce create mode 100644 3901/CH3/EX3.13/Ex3_13.png create mode 100644 3901/CH3/EX3.13/Ex3_13.sce create mode 100644 3901/CH3/EX3.14/Ex3_14.png create mode 100644 3901/CH3/EX3.14/Ex3_14.sce create mode 100644 3901/CH3/EX3.15/Ex3_15.png create mode 100644 3901/CH3/EX3.15/Ex3_15.sce create mode 100644 3901/CH3/EX3.16/Ex3_16.png create mode 100644 3901/CH3/EX3.16/Ex3_16.sce create mode 100644 3901/CH3/EX3.17/Ex3_17.png create mode 100644 3901/CH3/EX3.17/Ex3_17.sce create mode 100644 3901/CH3/EX3.18/Ex3_18.png create mode 100644 3901/CH3/EX3.18/Ex3_18.sce create mode 100644 3901/CH3/EX3.19/Ex3_19.png create mode 100644 3901/CH3/EX3.19/Ex3_19.sce create mode 100644 3901/CH3/EX3.20/Ex3_20.png create mode 100644 3901/CH3/EX3.20/Ex3_20.sce create mode 100644 3901/CH3/EX3.21/Ex3_21.png create mode 100644 3901/CH3/EX3.21/Ex3_21.sce create mode 100644 3901/CH3/EX3.3/Ex3_3.png create mode 100644 3901/CH3/EX3.3/Ex3_3.sce create mode 100644 3901/CH3/EX3.8/Ex3_8.png create mode 100644 3901/CH3/EX3.8/Ex3_8.sce create mode 100644 3901/CH3/EX3.9/Ex3_9.png create mode 100644 3901/CH3/EX3.9/Ex3_9.sce create mode 100644 3901/CH4/EX4.1/Ex4_1.png create mode 100644 3901/CH4/EX4.1/Ex4_1.sce create mode 100644 3901/CH4/EX4.10/Ex4_10.sce create mode 100644 3901/CH4/EX4.11/Ex4_11.sce create mode 100644 3901/CH4/EX4.12/Ex4_12.sce create mode 100644 3901/CH4/EX4.15/Ex4_15.sce create mode 100644 3901/CH4/EX4.16/Ex4_16.sce create mode 100644 3901/CH4/EX4.17/Ex4_17.sce create mode 100644 3901/CH4/EX4.2/Ex4_2.sce create mode 100644 3901/CH4/EX4.23/Ex4_23.png create mode 100644 3901/CH4/EX4.23/Ex4_23.sce create mode 100644 3901/CH4/EX4.24/Ex4_24.sce create mode 100644 3901/CH4/EX4.24/Ex4_24a.png create mode 100644 3901/CH4/EX4.24/Ex4_24b.png create mode 100644 3901/CH4/EX4.25/Ex4_25.png create mode 100644 3901/CH4/EX4.25/Ex4_25.sce create mode 100644 3901/CH4/EX4.26/Ex4_26.png create mode 100644 3901/CH4/EX4.26/Ex4_26.sce create mode 100644 3901/CH4/EX4.27/Ex4_27.png create mode 100644 3901/CH4/EX4.27/Ex4_27.sce create mode 100644 3901/CH4/EX4.28/Ex4_28.sce create mode 100644 3901/CH4/EX4.29/Ex4_29.sce create mode 100644 3901/CH4/EX4.3/Ex4_3.sce create mode 100644 3901/CH4/EX4.30/Ex4_30.sce create mode 100644 3901/CH4/EX4.31/Ex4_31.sce create mode 100644 3901/CH4/EX4.4/Ex4_4.sce create mode 100644 3901/CH4/EX4.5/Ex4_5.sce create mode 100644 3901/CH4/EX4.8/Ex4_8.sce create mode 100644 3901/CH4/EX4.9/Ex4_9.sce create mode 100644 3901/CH5/EX5.1/Ex5_1.png create mode 100644 3901/CH5/EX5.1/Ex5_1.sce create mode 100644 3901/CH5/EX5.10/Ex5_10.png create mode 100644 3901/CH5/EX5.10/Ex5_10.sce create mode 100644 3901/CH5/EX5.12/Ex5_12.sce create mode 100644 3901/CH5/EX5.13/Ex5_13.sce create mode 100644 3901/CH5/EX5.14/Ex5_14.png create mode 100644 3901/CH5/EX5.14/Ex5_14.sce create mode 100644 3901/CH5/EX5.15/Ex5_15.png create mode 100644 3901/CH5/EX5.15/Ex5_15.sce create mode 100644 3901/CH5/EX5.16/Ex5_16.png create mode 100644 3901/CH5/EX5.16/Ex5_16.sce create mode 100644 3901/CH5/EX5.17/Ex5_17.sce create mode 100644 3901/CH5/EX5.18/Ex5_18.sce create mode 100644 3901/CH5/EX5.19/Ex5_19.sce create mode 100644 3901/CH5/EX5.2/Ex5_2.sce create mode 100644 3901/CH5/EX5.20/Ex5_20.sce create mode 100644 3901/CH5/EX5.3/Ex5_3.sce create mode 100644 3901/CH5/EX5.5/Ex5_5.sce create mode 100644 3901/CH5/EX5.6/Ex5_6.sce create mode 100644 3901/CH6/EX6.1/Ex6_1.png create mode 100644 3901/CH6/EX6.1/Ex6_1.sce create mode 100644 3901/CH6/EX6.10/Ex6_10.png create mode 100644 3901/CH6/EX6.10/Ex6_10.sce create mode 100644 3901/CH6/EX6.11/Ex6_11.png create mode 100644 3901/CH6/EX6.11/Ex6_11.sce create mode 100644 3901/CH6/EX6.12/Ex6_12.png create mode 100644 3901/CH6/EX6.12/Ex6_12.sce create mode 100644 3901/CH6/EX6.2/Ex6_2.png create mode 100644 3901/CH6/EX6.2/Ex6_2.sce create mode 100644 3901/CH6/EX6.3/Ex6_3.png create mode 100644 3901/CH6/EX6.3/Ex6_3.sce create mode 100644 3901/CH6/EX6.4/Ex6_4.png create mode 100644 3901/CH6/EX6.4/Ex6_4.sce create mode 100644 3901/CH6/EX6.5/Ex6_5.png create mode 100644 3901/CH6/EX6.5/Ex6_5.sce create mode 100644 3901/CH6/EX6.6/Ex6_6.sce create mode 100644 3901/CH6/EX6.6/Ex6_6a.png create mode 100644 3901/CH6/EX6.6/Ex6_6b.png create mode 100644 3901/CH6/EX6.7/Ex6_7.png create mode 100644 3901/CH6/EX6.7/Ex6_7.sce create mode 100644 3901/CH6/EX6.8/Ex6_8.png create mode 100644 3901/CH6/EX6.8/Ex6_8.sce create mode 100644 3901/CH6/EX6.9/Ex6_9.png create mode 100644 3901/CH6/EX6.9/Ex6_9.sce create mode 100644 3901/CH7/EX7.1/Ex7_1.png create mode 100644 3901/CH7/EX7.1/Ex7_1.sce create mode 100644 3901/CH7/EX7.10/Ex7_10.png create mode 100644 3901/CH7/EX7.10/Ex7_10.sce create mode 100644 3901/CH7/EX7.11/Ex7_11.sce create mode 100644 3901/CH7/EX7.11/Ex7_11a.png create mode 100644 3901/CH7/EX7.11/Ex7_11b.png create mode 100644 3901/CH7/EX7.12/Ex7_12.sce create mode 100644 3901/CH7/EX7.12/Ex7_12a.png create mode 100644 3901/CH7/EX7.12/Ex7_12b.png create mode 100644 3901/CH7/EX7.13/Ex7_13.png create mode 100644 3901/CH7/EX7.13/Ex7_13.sce create mode 100644 3901/CH7/EX7.14/Ex7_14.png create mode 100644 3901/CH7/EX7.14/Ex7_14.sce create mode 100644 3901/CH7/EX7.15/Ex7_15.png create mode 100644 3901/CH7/EX7.15/Ex7_15.sce create mode 100644 3901/CH7/EX7.17/Ex7_17.png create mode 100644 3901/CH7/EX7.17/Ex7_17.sce create mode 100644 3901/CH7/EX7.19/Ex7_19.sce create mode 100644 3901/CH7/EX7.19/Ex7_19a.png create mode 100644 3901/CH7/EX7.19/Ex7_19b.png create mode 100644 3901/CH7/EX7.2/Ex7_2.sce create mode 100644 3901/CH7/EX7.2/Ex7_2a.png create mode 100644 3901/CH7/EX7.2/Ex7_2b.png create mode 100644 3901/CH7/EX7.20/Ex7_20.sce create mode 100644 3901/CH7/EX7.23/Ex7_23.png create mode 100644 3901/CH7/EX7.23/Ex7_23.sce create mode 100644 3901/CH7/EX7.3/Ex7_3.png create mode 100644 3901/CH7/EX7.3/Ex7_3.sce create mode 100644 3901/CH7/EX7.4/Ex7_4.png create mode 100644 3901/CH7/EX7.4/Ex7_4.sce create mode 100644 3901/CH7/EX7.6/Ex7_6.png create mode 100644 3901/CH7/EX7.6/Ex7_6.sce create mode 100644 3901/CH7/EX7.9/Ex7_9.png create mode 100644 3901/CH7/EX7.9/Ex7_9.sce create mode 100644 3901/CH8/EX8.1/Ex8_1.sce create mode 100644 3901/CH8/EX8.1/Ex8_1a.png create mode 100644 3901/CH8/EX8.1/Ex8_1b.png create mode 100644 3901/CH8/EX8.10/Ex8_10.png create mode 100644 3901/CH8/EX8.10/Ex8_10.sce create mode 100644 3901/CH8/EX8.2/Ex8_2.sce create mode 100644 3901/CH8/EX8.2/Ex8_2a.png create mode 100644 3901/CH8/EX8.2/Ex8_2b.png create mode 100644 3901/CH8/EX8.5/Ex8_5.sce create mode 100644 3901/CH8/EX8.7/Ex8_7.sce create mode 100644 3901/CH8/EX8.8/Ex8_8.png create mode 100644 3901/CH8/EX8.8/Ex8_8.sce create mode 100644 3901/CH8/EX8.9/Ex8_9.png create mode 100644 3901/CH8/EX8.9/Ex8_9.sce create mode 100644 3901/CH9/EX9.1/Ex9_1.png create mode 100644 3901/CH9/EX9.1/Ex9_1.sce create mode 100644 3901/CH9/EX9.10/Ex9_10.sce create mode 100644 3901/CH9/EX9.10/Ex9_10a.png create mode 100644 3901/CH9/EX9.10/Ex9_10b.png create mode 100644 3901/CH9/EX9.13/Ex9_13.png create mode 100644 3901/CH9/EX9.13/Ex9_13.sce create mode 100644 3901/CH9/EX9.2/Ex9_2.png create mode 100644 3901/CH9/EX9.2/Ex9_2.sce create mode 100644 3901/CH9/EX9.3/Ex9_3.png create mode 100644 3901/CH9/EX9.3/Ex9_3.sce create mode 100644 3901/CH9/EX9.4/Ex9_4.png create mode 100644 3901/CH9/EX9.4/Ex9_4.sce create mode 100644 3901/CH9/EX9.5/Ex9_5.png create mode 100644 3901/CH9/EX9.5/Ex9_5.sce create mode 100644 3901/CH9/EX9.6/Ex9_6.png create mode 100644 3901/CH9/EX9.6/Ex9_6.sce create mode 100644 3901/CH9/EX9.9/Ex9_9.png create mode 100644 3901/CH9/EX9.9/Ex9_9.sce create mode 100644 3901/DEPENDENCIES/conv_gui.sci create mode 100644 3901/DEPENDENCIES/inv_laplace.sci create mode 100644 3901/DEPENDENCIES/laplace.sci 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=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 Binary files /dev/null and b/3901/CH2/EX2.3/Ex2_3.png 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 Binary files /dev/null and b/3901/CH2/EX2.4/Ex2_4.png 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 Binary files /dev/null and b/3901/CH2/EX2.5/Ex2_5.png 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 Binary files /dev/null and b/3901/CH2/EX2.6/Ex2_6.png 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 Binary files /dev/null and b/3901/CH2/EX2.7/Ex2_7a.png 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 Binary files /dev/null and b/3901/CH2/EX2.7/Ex2_7b.png 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 Binary files /dev/null and b/3901/CH2/EX2.8/Ex2_8a.png 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 Binary files /dev/null and b/3901/CH2/EX2.8/Ex2_8b.png 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 Binary files /dev/null and b/3901/CH2/EX2.9/Ex2_9.png 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 Binary files /dev/null and b/3901/CH3/EX3.1/Ex3_1.png 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 Binary files /dev/null and b/3901/CH3/EX3.10/Ex3_10.png 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 Binary files /dev/null and b/3901/CH3/EX3.11/Ex3_11.png 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 Binary files /dev/null and b/3901/CH3/EX3.13/Ex3_13.png 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 Binary files /dev/null and b/3901/CH3/EX3.14/Ex3_14.png 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 Binary files /dev/null and b/3901/CH3/EX3.15/Ex3_15.png 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 Binary files /dev/null and b/3901/CH3/EX3.16/Ex3_16.png 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 Binary files /dev/null and b/3901/CH3/EX3.17/Ex3_17.png 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 Binary files /dev/null and b/3901/CH3/EX3.18/Ex3_18.png 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 Binary files /dev/null and b/3901/CH3/EX3.19/Ex3_19.png 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 Binary files /dev/null and b/3901/CH3/EX3.20/Ex3_20.png 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 Binary files /dev/null and b/3901/CH3/EX3.21/Ex3_21.png 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 Binary files /dev/null and b/3901/CH3/EX3.3/Ex3_3.png 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 Binary files /dev/null and b/3901/CH3/EX3.8/Ex3_8.png 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 Binary files /dev/null and b/3901/CH3/EX3.9/Ex3_9.png 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 Binary files /dev/null and b/3901/CH4/EX4.1/Ex4_1.png 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 Binary files /dev/null and b/3901/CH4/EX4.23/Ex4_23.png 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 Binary files /dev/null and b/3901/CH4/EX4.24/Ex4_24a.png 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 Binary files /dev/null and b/3901/CH4/EX4.24/Ex4_24b.png 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 Binary files /dev/null and b/3901/CH4/EX4.25/Ex4_25.png 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 Binary files /dev/null and b/3901/CH4/EX4.26/Ex4_26.png 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 Binary files /dev/null and b/3901/CH4/EX4.27/Ex4_27.png 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=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 Binary files /dev/null and b/3901/CH6/EX6.11/Ex6_11.png 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 Binary files /dev/null and b/3901/CH6/EX6.12/Ex6_12.png 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 Binary files /dev/null and b/3901/CH6/EX6.2/Ex6_2.png 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 Binary files /dev/null and b/3901/CH6/EX6.3/Ex6_3.png 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 Binary files /dev/null and b/3901/CH6/EX6.4/Ex6_4.png 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 Binary files /dev/null and b/3901/CH6/EX6.5/Ex6_5.png 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 Binary files /dev/null and b/3901/CH6/EX6.6/Ex6_6a.png 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 Binary files /dev/null and b/3901/CH6/EX6.6/Ex6_6b.png 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 Binary files /dev/null and b/3901/CH6/EX6.7/Ex6_7.png 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 Binary files /dev/null and b/3901/CH6/EX6.8/Ex6_8.png 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 Binary files /dev/null and b/3901/CH6/EX6.9/Ex6_9.png 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 Binary files /dev/null and b/3901/CH7/EX7.1/Ex7_1.png 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 Binary files /dev/null and b/3901/CH7/EX7.10/Ex7_10.png 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 Binary files /dev/null and b/3901/CH7/EX7.11/Ex7_11a.png 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 Binary files /dev/null and b/3901/CH7/EX7.11/Ex7_11b.png 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 Binary files /dev/null and b/3901/CH7/EX7.12/Ex7_12a.png 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 Binary files /dev/null and b/3901/CH7/EX7.12/Ex7_12b.png 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 Binary files /dev/null and b/3901/CH7/EX7.13/Ex7_13.png 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 Binary files /dev/null and b/3901/CH7/EX7.14/Ex7_14.png 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 Binary files /dev/null and b/3901/CH7/EX7.15/Ex7_15.png 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 Binary files /dev/null and b/3901/CH7/EX7.17/Ex7_17.png 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 Binary files /dev/null and b/3901/CH7/EX7.19/Ex7_19a.png 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 Binary files /dev/null and b/3901/CH7/EX7.19/Ex7_19b.png 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 Binary files /dev/null and b/3901/CH7/EX7.2/Ex7_2a.png 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 Binary files /dev/null and b/3901/CH7/EX7.2/Ex7_2b.png 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 Binary files /dev/null and b/3901/CH7/EX7.23/Ex7_23.png 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 Binary files /dev/null and b/3901/CH7/EX7.3/Ex7_3.png 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 Binary files /dev/null and b/3901/CH7/EX7.4/Ex7_4.png 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 Binary files /dev/null and b/3901/CH7/EX7.6/Ex7_6.png 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 Binary files /dev/null and b/3901/CH7/EX7.9/Ex7_9.png 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 Binary files /dev/null and b/3901/CH8/EX8.1/Ex8_1a.png 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 Binary files /dev/null and b/3901/CH8/EX8.1/Ex8_1b.png 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 Binary files /dev/null and b/3901/CH8/EX8.10/Ex8_10.png 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 Binary files /dev/null and b/3901/CH8/EX8.2/Ex8_2a.png 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 Binary files /dev/null and b/3901/CH8/EX8.2/Ex8_2b.png 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 Binary files /dev/null and b/3901/CH8/EX8.8/Ex8_8.png 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 Binary files /dev/null and b/3901/CH8/EX8.9/Ex8_9.png 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 Binary files /dev/null and b/3901/CH9/EX9.1/Ex9_1.png 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 Binary files /dev/null and b/3901/CH9/EX9.10/Ex9_10a.png 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 Binary files /dev/null and b/3901/CH9/EX9.10/Ex9_10b.png 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 Binary files /dev/null and b/3901/CH9/EX9.13/Ex9_13.png 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 Binary files /dev/null and b/3901/CH9/EX9.2/Ex9_2.png 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 Binary files /dev/null and b/3901/CH9/EX9.3/Ex9_3.png 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 Binary files /dev/null and b/3901/CH9/EX9.4/Ex9_4.png 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 Binary files /dev/null and b/3901/CH9/EX9.5/Ex9_5.png 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 Binary files /dev/null and b/3901/CH9/EX9.6/Ex9_6.png 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 Binary files /dev/null and b/3901/CH9/EX9.9/Ex9_9.png 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 + + -- cgit