From fbe366f4f4e49899794544dffa7f5974bee7f80d Mon Sep 17 00:00:00 2001 From: Trupti Kini Date: Fri, 17 Jun 2016 23:30:26 +0600 Subject: Added(A)/Deleted(D) following books A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap10_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap11_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap12_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap13_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap16_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap17_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap18_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap19_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap20_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap21_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap22_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap23_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap24_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap25_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap26_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap27_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap28_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap29_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap30_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap31_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap32_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap33_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap34_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap3_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap5_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap7_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap8_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap9_1.ipynb A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28Capacitance_1.png A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28OpFreq_1.png A A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28VoltageGain_1.png A Electronics_Circuits_and_Systems_by_Y._N._Bapat/README.txt A Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_5.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_6.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_7.ipynb A Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1_4.PNG A Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2_4.PNG A Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3_4.PNG M Fluid_Flow_For_The_Practicing_Chemical_Engineer_by_J._P._Abulencia_And_L._Theodore/Chapter-27.ipynb M Fluid_Flow_For_The_Practicing_Chemical_Engineer_by_J._P._Abulencia_And_L._Theodore/Chapter-27_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter10_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter1_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter21_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter22_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter23_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter24_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter26_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter27_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter28_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter2_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter34_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter35_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter4_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter5_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter6_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter9_1.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen1_1.png A Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen2_1.png A Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen3_1.png A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter10_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter11_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter13_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter14_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter15_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter17_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter18_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter19_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter1_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter21_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter22_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter23_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter25_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter26_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter3_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter4_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter5_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter6_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter7_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter9_1.ipynb A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14PathOfAscent_1.png A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14RandomNumberGenerator_1.png A Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch26EulerMethod_1.png A "sample_notebooks/GundlaKeerthi vani/J.B.Gupta_Chapter_6_(1).ipynb" --- .../Chap10_1.ipynb | 78 ++ .../Chap11_1.ipynb | 201 +++ .../Chap12_1.ipynb | 186 +++ .../Chap13_1.ipynb | 248 ++++ .../Chap16_1.ipynb | 538 ++++++++ .../Chap17_1.ipynb | 277 ++++ .../Chap18_1.ipynb | 1220 +++++++++++++++++ .../Chap19_1.ipynb | 749 +++++++++++ .../Chap20_1.ipynb | 501 +++++++ .../Chap21_1.ipynb | 495 +++++++ .../Chap22_1.ipynb | 763 +++++++++++ .../Chap23_1.ipynb | 628 +++++++++ .../Chap24_1.ipynb | 316 +++++ .../Chap25_1.ipynb | 568 ++++++++ .../Chap26_1.ipynb | 227 ++++ .../Chap27_1.ipynb | 636 +++++++++ .../Chap28_1.ipynb | 509 +++++++ .../Chap29_1.ipynb | 474 +++++++ .../Chap30_1.ipynb | 135 ++ .../Chap31_1.ipynb | 108 ++ .../Chap32_1.ipynb | 426 ++++++ .../Chap33_1.ipynb | 165 +++ .../Chap34_1.ipynb | 859 ++++++++++++ .../Chap3_1.ipynb | 859 ++++++++++++ .../Chap5_1.ipynb | 539 ++++++++ .../Chap7_1.ipynb | 385 ++++++ .../Chap8_1.ipynb | 486 +++++++ .../Chap9_1.ipynb | 62 + .../screenshots/Ch28Capacitance_1.png | Bin 0 -> 22161 bytes .../screenshots/Ch28OpFreq_1.png | Bin 0 -> 20977 bytes .../screenshots/Ch28VoltageGain_1.png | Bin 0 -> 20719 bytes .../README.txt | 10 + .../Chapter1_6.ipynb | 393 ++++++ .../chapter10_6.ipynb | 781 +++++++++++ .../chapter11_6.ipynb | 376 ++++++ .../chapter12_6.ipynb | 411 ++++++ .../chapter13_5.ipynb | 215 +++ .../chapter2_6.ipynb | 325 +++++ .../chapter4_6.ipynb | 439 ++++++ .../chapter5_6.ipynb | 865 ++++++++++++ .../chapter6_6.ipynb | 570 ++++++++ .../chapter7_6.ipynb | 257 ++++ .../chapter8_6.ipynb | 345 +++++ .../chapter9_6.ipynb | 229 ++++ .../charpter_3_7.ipynb | 288 ++++ .../screenshots/1_4.PNG | Bin 0 -> 55244 bytes .../screenshots/2_4.PNG | Bin 0 -> 43946 bytes .../screenshots/3_4.PNG | Bin 0 -> 55584 bytes .../Chapter-27.ipynb | 2 +- .../Chapter-27_1.ipynb | 2 +- .../chapter10_1.ipynb | 720 ++++++++++ .../chapter13_1.ipynb | 600 +++++++++ .../chapter1_1.ipynb | 737 ++++++++++ .../chapter21_1.ipynb | 1304 ++++++++++++++++++ .../chapter22_1.ipynb | 244 ++++ .../chapter23_1.ipynb | 762 +++++++++++ .../chapter24_1.ipynb | 331 +++++ .../chapter26_1.ipynb | 522 ++++++++ .../chapter27_1.ipynb | 1084 +++++++++++++++ .../chapter28_1.ipynb | 437 ++++++ .../chapter2_1.ipynb | 1360 +++++++++++++++++++ .../chapter34_1.ipynb | 1414 ++++++++++++++++++++ .../chapter35_1.ipynb | 536 ++++++++ .../chapter4_1.ipynb | 1208 +++++++++++++++++ .../chapter5_1.ipynb | 317 +++++ .../chapter6_1.ipynb | 743 ++++++++++ .../chapter9_1.ipynb | 476 +++++++ .../screenshots/screen1_1.png | Bin 0 -> 12613 bytes .../screenshots/screen2_1.png | Bin 0 -> 13336 bytes .../screenshots/screen3_1.png | Bin 0 -> 14986 bytes .../Chapter10_1.ipynb | 259 ++++ .../Chapter11_1.ipynb | 303 +++++ .../Chapter13_1.ipynb | 193 +++ .../Chapter14_1.ipynb | 260 ++++ .../Chapter15_1.ipynb | 358 +++++ .../Chapter17_1.ipynb | 607 +++++++++ .../Chapter18_1.ipynb | 268 ++++ .../Chapter19_1.ipynb | 268 ++++ .../Chapter1_1.ipynb | 121 ++ .../Chapter21_1.ipynb | 737 ++++++++++ .../Chapter22_1.ipynb | 334 +++++ .../Chapter23_1.ipynb | 271 ++++ .../Chapter25_1.ipynb | 178 +++ .../Chapter26_1.ipynb | 402 ++++++ .../Chapter3_1.ipynb | 382 ++++++ .../Chapter4_1.ipynb | 514 +++++++ .../Chapter5_1.ipynb | 528 ++++++++ .../Chapter6_1.ipynb | 688 ++++++++++ .../Chapter7_1.ipynb | 718 ++++++++++ .../Chapter9_1.ipynb | 608 +++++++++ .../screenshots/Ch14PathOfAscent_1.png | Bin 0 -> 31554 bytes .../screenshots/Ch14RandomNumberGenerator_1.png | Bin 0 -> 37659 bytes .../screenshots/Ch26EulerMethod_1.png | Bin 0 -> 21044 bytes .../J.B.Gupta_Chapter_6_(1).ipynb | 196 +++ 94 files changed, 39132 insertions(+), 2 deletions(-) create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap10_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap11_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap12_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap13_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap16_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap17_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap18_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap19_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap20_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap21_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap22_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap23_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap24_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap25_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap26_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap27_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap28_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap29_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap30_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap31_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap32_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap33_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap34_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap3_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap5_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap7_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap8_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap9_1.ipynb create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28Capacitance_1.png create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28OpFreq_1.png create mode 100644 A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28VoltageGain_1.png create mode 100644 Electronics_Circuits_and_Systems_by_Y._N._Bapat/README.txt create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_5.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_6.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_7.ipynb create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1_4.PNG create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2_4.PNG create mode 100644 Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3_4.PNG create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter10_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter1_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter21_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter22_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter23_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter24_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter26_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter27_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter28_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter2_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter34_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter35_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter4_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter5_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter6_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/chapter9_1.ipynb create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen1_1.png create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen2_1.png create mode 100644 Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen3_1.png create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter10_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter11_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter13_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter14_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter15_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter17_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter18_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter19_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter1_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter21_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter22_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter23_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter25_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter26_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter3_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter4_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter5_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter6_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter7_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter9_1.ipynb create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14PathOfAscent_1.png create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14RandomNumberGenerator_1.png create mode 100644 Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch26EulerMethod_1.png create mode 100644 sample_notebooks/GundlaKeerthi vani/J.B.Gupta_Chapter_6_(1).ipynb diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap10_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap10_1.ipynb new file mode 100644 index 00000000..f57bdbb9 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap10_1.ipynb @@ -0,0 +1,78 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 10 : BJT LOW FREQUENCY MODELS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 10.1 Pg 187" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gm=0.40 ohm\n", + "rbe=250.00 ohm\n", + "rbb = 250.0\n", + "gbc= 4.0 *10**-7\n", + "rce=32.89 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Ic=10#\n", + "Vce=10#\n", + "hie=500#\n", + "hoe=10**-5#\n", + "hfe=100#\n", + "hre=10**-4#\n", + "gm=Ic/25#\n", + "print \"gm=%0.2f\"%gm,'ohm'\n", + "rbe=hfe/gm#\n", + "print \"rbe=%0.2f\"%rbe,'ohm'\n", + "rbb=hie-rbe#\n", + "print \"rbb =\",rbb\n", + "gbc=hre/rbe#\n", + "print \"gbc=\",gbc*10**7,'*10**-7'\n", + "rce=-1/((hoe-(1+hfe)*gbc))\n", + "print \"rce=%0.2f\"%(rce*10**-3),'kohm'" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap11_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap11_1.ipynb new file mode 100644 index 00000000..e56e99a4 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap11_1.ipynb @@ -0,0 +1,201 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter -11 : BJT HIGH FREQUENCY MODELS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 11.1 Pg 204" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Id=15.00 mA\n", + "Id=9.60 mA\n", + "Id=0.60 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Idss=15*10**-3\n", + "Vgso=-5\n", + "#Id=Idss*(1-(Vgs/Vgso))**2\n", + "Vgs=0\n", + "Id=Idss*(1-(Vgs/Vgso))**2\n", + "print \"Id=%0.2f\"%(Id*10**3),\"mA\"\n", + "Vgs1=-1\n", + "Id=Idss*(1-(Vgs1/Vgso))**2\n", + "print \"Id=%0.2f\"%(Id*10**3),\"mA\"\n", + "Vgs2=-4\n", + "Id=Idss*(1-(Vgs2/Vgso))**2\n", + "print \"Id=%0.2f\"%(Id*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ex 11.2 Pg 204" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Id=6.75 mA\n", + "Id=3.00 mA\n", + "Id=0.75 mA\n", + "Id=0.00 mA\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "from numpy import arange\n", + "from __future__ import division\n", + "Vgs=arange(-5,-21,-5) ##Id=Idss*(1-(Vgs/Vgso))**2\n", + "Vgso=-20\n", + "Idss=12*10**-3\n", + "Id=[]\n", + "for x in Vgs:\n", + " Id.append(Idss*(1-(x/Vgso))**2)\n", + "for x in Id:\n", + " print \"Id=%0.2f\"%(x*10**3),\"mA\"\n", + "y=arange(0,13,1)\n", + "x=arange(0,-21,-5)\n", + "plot(Vgs,Id)\n", + "xlabel(\"Gate-to-source voltage (VGS)\")\n", + "ylabel(\"Drain current ID(mA)\")\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 11.4 Pg 205" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Id=5.00 mA\n", + "gm=2500.00 microsec\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Idss=20*10**-3\n", + "vp=-8\n", + "gmo=5000*10**-6\n", + "vgs=-4\n", + "#Id=Idss*(1-(Vgs/Vgso))**2\n", + "Id=Idss*(1-(vgs/vp))**2\n", + "print \"Id=%0.2f\"%(Id*10**3),'mA'\n", + "gm=gmo*(1-(vgs/vp))\n", + "print \"gm=%0.2f\"%(gm*10**6),'microsec'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 11.5 Pg 206" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "k=0.12 mA\n", + "Idon=1.11 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Idon=10*10**-3\n", + "vgs=-12\n", + "vgsth=-3\n", + "#Id=K*(vgs-vgsth)**2\n", + "#Idon=K*(vgs-vgsth)**2\n", + "k=Idon/((vgs-vgsth)**2)\n", + "print \"k=%0.2f\"%(k*10**3),'mA'\n", + "vgs1=-6\n", + "Idon=k*(vgs1-vgsth)**2\n", + "print \"Idon=%0.2f\"%(Idon*10**3),'mA'\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap12_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap12_1.ipynb new file mode 100644 index 00000000..3a0afb22 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap12_1.ipynb @@ -0,0 +1,186 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter -12 : THYRISTORS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 12.1 Pg 224" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SCR= 24.0 A**2s\n" + ] + } + ], + "source": [ + "I=40#\n", + "t=15*10**-3#\n", + "SCR=(I**2)*t#\n", + "print \"SCR=\",SCR,'A**2s'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 12.2 Pg 224" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tmax= 7.5 ms\n" + ] + } + ], + "source": [ + "a=75.0\n", + "Is=100.0\n", + "tmax=a/Is**2#\n", + "print \"tmax=\",tmax*10**3,'ms'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 12.3 Pg 224" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vp= 9.7 V\n" + ] + } + ], + "source": [ + "VD=0.7#\n", + "n=0.75#\n", + "Vbb=12#\n", + "Vp=n*Vbb+VD#\n", + "print \"Vp=\",Vp,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 12.4 Pg 225" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n= 0.615384615385\n", + "Vp= 9.93076923077 V\n" + ] + } + ], + "source": [ + "rb1=4*10**3#\n", + "rb2=2.5*10**3#\n", + "Vbb=15#\n", + "Vd=0.7#\n", + "n=rb1/(rb1+rb2)#\n", + "print \"n=\",n##intrinsic standoff ratio\n", + "Vp=n*Vbb+Vd#\n", + "print \"Vp=\",Vp,\"V\" #peak point voltage" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 12.5 Pg 225" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rb1=4.20 kohm\n", + "rb2=2.80 kohm\n" + ] + } + ], + "source": [ + "n=0.60#\n", + "rbb=7*10**3#\n", + "rb1=rbb*n#\n", + "print \"rb1=%0.2f\"%(rb1*10**-3),\"kohm\"\n", + "rb2=rbb-rb1#\n", + "print \"rb2=%0.2f\"%(rb2*10**-3),\"kohm\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap13_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap13_1.ipynb new file mode 100644 index 00000000..7a012030 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap13_1.ipynb @@ -0,0 +1,248 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 13 : PASSIVE CIRCUITS DEVICES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 13.4 Pg 248" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reqmin= 1.76538461538 ohm\n", + "Reqmax= 2.23235294118 ohm\n", + "Req= 2.0 ohm\n", + "t= 11.75 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1min=2.7#\n", + "R2min=5.1#\n", + "Rmin=R1min+R2min#\n", + "R1max=3.3#\n", + "R2max=6.9#\n", + "Rmax=R1max+R2max#\n", + "a=9-Rmin#\n", + "b=Rmax-9#\n", + "tolerance=b/9#\n", + "Reqmin=(R1min*R2min)/(R1min+R2min)#\n", + "print \"Reqmin=\",Reqmin,'ohm'\n", + "Reqmax=(R1max*R2max)/(R1max+R2max)#\n", + "print \"Reqmax=\",Reqmax,'ohm'\n", + "R1N=3#\n", + "R2N=6#\n", + "Req=(R1N*R2N)/(R1N+R2N)#\n", + "print \"Req=\",Req,'ohm'\n", + "minval=Reqmin#\n", + "maxval=Reqmax#\n", + "maxchng=0.235#\n", + "t=(maxchng/2)*100#\n", + "print \"t=\",t,'%'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 13.5 Pg 248" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L= 1.00091141943 H\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "N=150#\n", + "mur=3540#\n", + "mu0=4*pi*10**-7#\n", + "l=0.05#\n", + "A=5*10**-4#\n", + "L=(mur*mu0*A*N*N)/l#\n", + "print \"L=\",L,\"H\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 13.6 Pg 249" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "k= 0.199757665685\n" + ] + } + ], + "source": [ + "from math import sqrt\n", + "from __future__ import division\n", + "\n", + "#e.g 13.6\n", + "L1=40*10**-6#\n", + "L2=80*10**-6#\n", + "M=11.3*10**-6#\n", + "k=M/sqrt(L1*L2)#\n", + "print \"k=\",k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 13.7 Pg 250" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R0= 10.471975512 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "Q=90#\n", + "L=15*10**-6#\n", + "f=10*10**6#\n", + "R0=(2*pi*f*L)/Q#\n", + "print \"R0=\",R0,'ohm'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 13.8 Pg 251" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C= 88.5 pF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "A=0.04#\n", + "d=0.02#\n", + "e0=8.85*10**-12#\n", + "er=5.0#\n", + "C=(e0*er*A)/d# \n", + "print \"C=\",C*10**12,\"pF\"##answer printed in the book is wrong." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 13.9 Pg 252" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d= 4.96261682243 mm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "A=0.2#\n", + "C=0.428*10**-6#\n", + "e0=8.85*10**-12#\n", + "er=1200#\n", + "d=(e0*er*A)/C##ans printed in the book is wrong\n", + "print \"d=\",d*10**3,'mm'" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap16_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap16_1.ipynb new file mode 100644 index 00000000..f6fdd499 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap16_1.ipynb @@ -0,0 +1,538 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 16 : PN JUNCTION DIODE APPLICATIONS RECTIFIERS AND FILTERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.1 Pg 329" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "V2 = 23.0 V\n", + "Vm=32.53 V\n", + "Vdc=10.34 V\n", + "PIV=32.53 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "V1=230#\n", + "#a=(N2/N1)\n", + "b=(1/10)#\n", + "V2=V1*b#\n", + "print \"V2 =\",V2,\"V\"\n", + "Vm=sqrt(2)*V2#\n", + "print \"Vm=%0.2f\"%Vm,\"V\"\n", + "Vdc=0.318*Vm#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "PIV=Vm#\n", + "print 'PIV=%0.2f'%PIV,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.2 Pg 329" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vm=33.94 V\n", + "Im=1.70 mA\n", + "Idc=0.54 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "RL=20*10**3#\n", + "V2=24#\n", + "Vm=sqrt(2)*V2#\n", + "print 'Vm=%0.2f'%Vm,\"V\"\n", + "Im=Vm/RL#\n", + "print 'Im=%0.2f'%(Im*10**3),\"mA\"\n", + "Idc= 0.318*Im#\n", + "print 'Idc=%0.2f'%(Idc*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.3 Pg 330" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "V2=115.00 V\n", + "Vm=162.63 V\n", + "Im=0.81 A\n", + "Pm=132.25 W\n", + "Vdc=51.72 V\n", + "Idc=0.26 A\n", + "Pdc=13.37 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "V1=230#\n", + "#a=(N2/N1)\n", + "b=(1/2)#\n", + "RL=200#\n", + "V2=V1*b#\n", + "print 'V2=%0.2f'%V2,\"V\"\n", + "Vm=sqrt(2)*V2#\n", + "print 'Vm=%0.2f'%Vm,\"V\"\n", + "Im=Vm/RL#\n", + "print 'Im=%0.2f'%Im,\"A\"\n", + "Pm=(Im**2)*RL#\n", + "print 'Pm=%0.2f'%Pm,\"W\"\n", + "Vdc=0.318*Vm#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "Idc=(Vdc/RL)#\n", + "print 'Idc=%0.2f'%Idc,\"A\"\n", + "Pdc=(Idc**2)*RL#\n", + "print 'Pdc=%0.2f'%Pdc,\"W\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.4 Pg 331" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Idc=0.05 A\n", + "Im=0.16 A\n", + "Vin=98.17 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "Vdc=30#\n", + "RL=600#\n", + "Rf=25#\n", + "Idc=(Vdc/RL)#\n", + "print 'Idc=%0.2f'%Idc,\"A\"\n", + "Im=pi*Idc#\n", + "print 'Im=%0.2f'%Im,\"A\"\n", + "Vin=Im*(Rf+RL)#\n", + "print 'Vin=%0.2f'%Vin,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.5 Pg 332" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vdc=13.49 V\n", + "vdc=2.65 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "V2=30#\n", + "RL=5.1*10**3#\n", + "VS=V2/2#\n", + "Vm=sqrt(2)*VS#\n", + "Vdc=0.636*Vm#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "vdc=Vdc/RL#\n", + "print 'vdc=%0.2f'%(vdc*1e3),\"mV\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.6 Pg 333" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vdc=51.72 V\n", + "PIV=81.32 V\n", + "fout=100.00 Hz\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "V1=230#\n", + "fin=50#\n", + "#let a=N1/N2\n", + "a=1/4#\n", + "V2=V1*a#\n", + "Vm=sqrt(2)*V2#\n", + "Vdc=0.636*Vm#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "PIV=Vm#\n", + "print 'PIV=%0.2f'%PIV,\"V\"\n", + "fout=2*fin#\n", + "print 'fout=%0.2f'%fout,\"Hz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.7 Pg 334" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vdc=20.71 V\n", + "PIV=65.05 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi,sqrt\n", + "V1=230#\n", + "#LET a=N2/N1\n", + "a=1/5#\n", + "RL=100#\n", + "V2=V1*a#\n", + "Vs=V2/2#\n", + "Vm=sqrt(2)*Vs#\n", + "Vdc=2*Vm/pi#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "PIV=2*Vm#\n", + "print 'PIV=%0.2f'%PIV,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.8 Pg 335" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Imax=560.00 mA\n", + "RL=505.08 ohm\n", + "Vdc=180.06 V\n", + "Idc=0.36 A\n", + "PIV=565.69 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi,sqrt\n", + "Vs=200#\n", + "Imax=700*10**-3#\n", + "Iavg=250*10**-3#\n", + "Imax=0.8*Imax#\n", + "print 'Imax=%0.2f'%(Imax*10**3),\"mA\"\n", + "Vm=sqrt(2)*Vs#\n", + "RL=Vm/Imax#\n", + "print 'RL=%0.2f'%RL,\"ohm\"\n", + "Vdc=2*Vm/pi#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "Idc=Vdc/RL#\n", + "print 'Idc=%0.2f'%Idc,\"A\"\n", + "PIV=2*Vm#\n", + "print 'PIV=%0.2f'%PIV,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.9 Pg 336" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L=1.50 H\n", + "L=0.19 H\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "f=50#\n", + "y=0.05#\n", + "RL=100#\n", + "L=RL/(y*3*sqrt(2)*2*pi*f)#\n", + "print \"L=%0.2f\"%L,\"H\"\n", + "f=400#\n", + "y=0.05#\n", + "L=RL/(y*3*sqrt(2)*2*pi*f)#\n", + "print \"L=%0.2f\"%L,\"H\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.10 Pg 337" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C=289.00 microF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vdc=30#\n", + "RL=1*10**3#\n", + "y=0.01#\n", + "C=2890/(y*RL)#\n", + "print \"C=%0.2f\"%C,'microF'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.11 Pg 338" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C=119.50 microF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vdc=12#\n", + "Idc=100*10**-3#\n", + "y=0.01#\n", + "L=1#\n", + "C=1.195/(L*y)#\n", + "print \"C=%0.2f\"%C,'microF'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.12 Pg 339" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y= 0.076 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Idc=0.2#\n", + "Vdc=30#\n", + "C1=100#\n", + "C2=100#\n", + "L=5#\n", + "f=50#\n", + "RL=Vdc/Idc#\n", + "y=5700/(L*C1*C2*RL)#\n", + "print 'y=',y*100,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 16.13 Pg 340" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vdc=351.00 V\n", + "I=2.09 A\n", + "Iavg=0.67 A\n", + "Pdc=702.00 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vs=150#\n", + "Idc=2#\n", + "Vdc=2.34*Vs#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"\n", + "I=Idc/0.955#\n", + "print 'I=%0.2f'%I,\"A\"\n", + "Iavg=2/3#\n", + "print 'Iavg=%0.2f'%Iavg,\"A\"\n", + "Pdc=Vdc*Idc#\n", + "print 'Pdc=%0.2f'%Pdc,\"W\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap17_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap17_1.ipynb new file mode 100644 index 00000000..d1a76597 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap17_1.ipynb @@ -0,0 +1,277 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 17 : CONTROLLED RECTIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 17.1 Pg 370" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=22.797\n", + "cosalpha=0.873\n", + "alpha=29.157 degree\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi,sqrt,cos,acos\n", + "RL=100#\n", + "Vm=300#\n", + "#load power P= Vdc*Idc\n", + "a=(Vm/(2*pi))**2*(1/RL)#\n", + "print \"a=%0.3f\"%a\n", + "p=25#\n", + "#1+cosb=sgrt(25/a)\n", + "b=a*1+cos(sqrt(p/a))#\n", + "cosalpha=(sqrt(p/a))-1#\n", + "p=80#\n", + "cosalpha=(sqrt(p/a))-1#\n", + "print \"cosalpha=%0.3f\"%cosalpha\n", + "#or#\n", + "alpha=acos(cosalpha)*180/pi\n", + "print 'alpha=%0.3f'%alpha,'degree'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 17.2 Pg 371" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P=4044.96 mW OR\n", + "P=4.04 W\n", + "P=2916.00 mW OR\n", + "P=2.92 W\n", + "P=1011.240000 mW OR\n", + "P=1.01 W\n", + "P=86.86 mW OR\n", + "P=0.09 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "vm=200#\n", + "Rl=1*10**3#\n", + "#ALPHA=0degree\n", + "Vdc=vm*0.318#\n", + "Idc=Vdc/Rl#\n", + "P=Vdc*Idc#\n", + "print \"P=%0.2f\"%(P*1e3),'mW',\"OR\"\n", + "print \"P=%0.2f\"%P,'W'\n", + "#alpha=45 degree\n", + "Vdc=vm*0.27#\n", + "Idc=Vdc/Rl#\n", + "P=Vdc*Idc#\n", + "print \"P=%0.2f\"%(P*1e3),'mW',\"OR\"\n", + "print \"P=%0.2f\"%P,'W'\n", + "#alpha=90 degree\n", + "Vdc=vm*0.159#\n", + "Idc=Vdc/Rl#\n", + "P=Vdc*Idc#\n", + "print \"P=%02f\"%(P*1e3),'mW',\"OR\"\n", + "print \"P=%0.2f\"%P,'W'\n", + "\n", + "#alpha=135 degree\n", + "Vdc=vm*0.04660#\n", + "Idc=Vdc/Rl#\n", + "P=Vdc*Idc#\n", + "print \"P=%0.2f\"%(P*1e3),'mW',\"OR\"\n", + "print \"P=%0.2f\"%P,'W'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 17.3 Pg 372" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vm=311 V\n", + "Vdc=74.28 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi,cos\n", + "Vrms=220#\n", + "a=60#\n", + "Vm=sqrt (2)*Vrms#\n", + "print 'Vm=%02.f'%Vm,\"V\"\n", + "Vdc=(Vm/(2*pi))*(1+cos(pi/180*60))#\n", + "print 'Vdc=%0.2f'%Vdc,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 17.4 Pg 373" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vm=141.42 V\n", + "RL=76.85 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi,cos\n", + "Vrms=100#\n", + "a=45#\n", + "Idc=0.5#\n", + "Vm=sqrt (2)*Vrms#\n", + "print 'Vm=%0.2f'%Vm,\"V\"\n", + "#Idc=(Vm/(2*pi*RL))*(1+cosd(a))#\n", + "RL=(Vm/(2*pi*Idc))*(1+cos(pi/180*a))#\n", + "print \"RL=%0.2f\"%RL,'ohm'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 17.5 Pg 374" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=0.75\n", + "f=25.00 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Ton=30*10**-6#\n", + "Toff=10*10**-6#\n", + "#consider duty cycle=a\n", + "a=Ton/(Ton+Toff)#\n", + "print \"a=%0.2f\"%a\n", + "f=(1/(Ton+Toff))\n", + "print \"f=%0.2f\"%(f*10**-3),'kHZ'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 17.6 Pg 375" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=0.75\n", + "Vl=150.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Ton=30*10**-3#\n", + "Toff=10*10**-3#\n", + "Vdc=200#\n", + "a=Ton/(Ton+Toff)#\n", + "print \"a=%0.2f\"%a\n", + "Vl=Vdc*a#\n", + "print 'Vl=%0.2f'%(Vl),\"V\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap18_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap18_1.ipynb new file mode 100644 index 00000000..2161d14f --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap18_1.ipynb @@ -0,0 +1,1220 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 18 : BJT BIASING AND STABILISATION" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.1 Pg 402" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=2.00 mA\n", + "Vce=20.00 V\n" + ] + }, + { + "data": { + "image/png": "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\nYCXfIREAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "Vbb=10#\n", + "Rb=47*10**3#\n", + "Vcc=20#\n", + "Rc=10*10**3#\n", + "B=100#\n", + "Ic=Vcc/Rc##saturation current\n", + "print \"Ic=%0.2f\"%(Ic*10**3),'mA'\n", + "Vce=Vcc##cut-off voltage\n", + "print 'Vce=%0.2f'%Vce,\"V\"\n", + "i=arange(2,0,-0.1)\n", + "plot(i)#\n", + "xlabel(\"VCE\")#\n", + "ylabel( \"IC\")#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.2 Pg 403" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IC=66.67 mA\n", + "Vce=20.00 V\n", + "Ib=1.86e-04 A\n", + "Ic=3.72e-02 A\n", + "Vce=8.84 V\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEPCAYAAABCyrPIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAERFJREFUeJzt3W+MbHV9x/H3p158oJBcaZWLlvbepFothUJMTaNSJtzU\nglL/9IF/miZok2pv6p/amyj4hH1WJcHYtJE0dTXYVlqj0QAtKQgs0BhLpBe4IEhpIZUWLraKvfdB\no63fPpiz3GHZXfbuzplz5sz7lWyYPTuz85vDgW/ec2ZmU1VIkvQTXS9AktQPDgRJEuBAkCQ1HAiS\nJMCBIElqOBAkSUCLAyHJGUluTXJ/kvuSfLDZvpTksSSHmq8L21qDJGnr0tb7EJLsAfZU1d1JTgbu\nAt4KvB04WlWfbOWOJUnbsqutX1xVTwBPNJePJXkAeFnz47R1v5Kk7ZnJOYQke4FzgW80mz6Q5J4k\ny0l2z2INkqTNtT4QmqeLvgR8qKqOAVcB+4BzgMeBK9tegyTpubV2DgEgyUnA9cANVfWpdX6+F7iu\nqs5as90PWJKkbaiqbT8l3+arjAIsA9+aHAZJTp+42tuAw+vdvqr8quLyyy/vfA19+XJfuC/cF5t/\n7VRrJ5WB1wG/Ddyb5FCz7WPAu5KcAxTwCPC+FtcgSdqiNl9l9A+sXyA3tHWfkqTt853KPTcajbpe\nQm+4L45zXxznvpieVk8qb1eS6uO6JKnPklB9PKksSZovDgRJEuBAkCQ1HAiSJMCBIElqOBAkSYAD\nQZLUcCBIkgAHgiSp4UCQJAEOBElSw4EgSQIcCJKkhgNBkgQ4ECRJDQeCJAlwIEiSGg4ESRLgQJAk\nNRwIkiTAgSBJajgQJEmAA0GS1HAgSJIAB4IkqeFAkCQBDgRJUsOBIEkCHAiSpEZvB8KBA3D0aNer\nkKTF0duB8MMfwllnwc03d70SSVoMqaqu1/AsSaqquOEGeO974eKL4Yor4JRTul6ZJPVXEqoq2719\nbwsB4KKL4PBha0GSZqHXhTDJWpCkzfW2EJKckeTWJPcnuS/JB5vtpya5KclDSW5Msnsrv89akKR2\ntVYISfYAe6rq7iQnA3cBbwXeA/xnVV2R5KPAi6rq0jW3fVYhTLIWJOnZelsIVfVEVd3dXD4GPAC8\nDHgzcHVztasZD4kTYi1I0vTN5BxCkr3AbcAvAv9WVS9qtgf43ur3E9fftBAmWQuSNLbTQtg1zcWs\np3m66MvAh6rq6HgGjFVVJVn3//xLS0tPXx6NRoxGo3V//2otHDw4roXlZdi/f4oPQJJ6amVlhZWV\nlan9vlYLIclJwPXADVX1qWbbg8Coqp5Icjpwa1W9cs3ttlwIk6wFSYust+cQmqeDloFvrQ6DxrXA\nJc3lS4CvTus+PbcgSdvX5quMXg/cDtwLrN7JZcCdwBeBnwEeBd5eVU+tue22CmGStSBp0ey0EObm\njWnb8dRT43MLN9/suQVJw+dA2AJrQdIi6O05hD7x3IIkPbeFKIRJ1oKkobIQTpC1IEnrW7hCmGQt\nSBoSC2EHrAVJOm6hC2GStSBp3lkIU2ItSFp0FsI6rAVJ88hCaIG1IGkRWQjPwVqQNC8shJZZC5IW\nhYVwAqwFSX1mIcyQtSBpyCyEbbIWJPWNhdARa0HS0FgIU2AtSOoDC6EHrAVJQ2AhTJm1IKkrFkLP\nWAuS5pWF0CJrQdIsWQg9Zi1ImicWwoxYC5LaZiHMCWtBUt9ZCB2wFiS1wUKYQ9aCpD6yEDpmLUia\nFgthzlkLkvrCQugRa0HSTlgIA2ItSOqShdBT1oKkE2UhDJS1IGnWLIQ5YC1I2goLYQFYC5JmwUKY\nM9aCpI30uhCSfDbJkSSHJ7YtJXksyaHm68I21zA01oKktrRaCEnOA44Bn6+qs5ptlwNHq+qTm9zO\nQtgCa0HSpF4XQlXdAXx/nR9te8E6zlqQNE1dnVT+QJJ7kiwn2d3RGgZh925YXoarroJ3vxsOHICj\nR7telaR51MVAuArYB5wDPA5c2cEaBsdakLRTu2Z9h1X15OrlJJ8BrlvvektLS09fHo1GjEajtpc2\n91Zr4YYbxrXguQVp2FZWVlhZWZna72v9ZadJ9gLXTZxUPr2qHm8ufxj45ar6rTW38aTyDj31FBw8\nOC6F5WXYv7/rFUlq205PKrf9KqNrgPOBnwKOAJcDI8ZPFxXwCPC+qjqy5nYOhCnxlUjS4uj1QNgu\nB8J0WQvSYnAgaMusBWnYev0+BPWLr0SStBkLYUFZC9LwWAjaFmtB0loWgqwFaSAsBO2YtSAJLASt\nYS1I88tC0FRZC9LishC0IWtBmi8WglpjLUiLxULQllgLUv9ZCJoJa0EaPgtBJ8xakPrJQtDMWQvS\nMFkI2hFrQeqP1gohyUuSnLnO9jOTvHi7d6hhsRak4djsKaM/YfyXztb6SeCP21mO5tHq33K+6qrx\n33I+cACOHu16VZJO1GYD4eeq6ra1G6vqduCX2luS5pW1IM23zQbCZs8GnzTthWgYrAVpfm02EB5O\n8qa1G5O8EfiX9pakIbAWpPmz4auMkrwCuB74OnAXEODVwGuBi6vq260tylcZDYqvRJJmo7VXGVXV\nQ8DZwO3APuBngduAs9scBhoea0GaD74PQTNlLUjtafN9CMeSHN3g67+3e4dabNaC1F8WgjpjLUjT\n5WcZaW5ZC1K/WAjqBWtB2jkLQYNgLUjdsxDUO9aCtD0WggbHWpC6YSGo16wFaessBA2atSDNjoWg\nuWEtSJuzELQwrAWpXRaC5pK1ID2bhaCFZC1I09fqQEjy2SRHkhye2HZqkpuSPJTkxiS721yDhsu/\nziZNV9uF8DngwjXbLgVuqqpXADc330vbZi1I09H6OYQke4Hrquqs5vsHgfOr6kiSPcBKVb1yzW08\nh6Bt8dyCFtk8nkM4raqONJePAKd1sAYNlLUgbV+nJ5WbDDAFNFWeW5C2Z1cH93kkyZ6qeiLJ6cCT\n611paWnp6cuj0YjRaDSb1WkwVmvh4MFxLSwvw/79Xa9Kmp6VlRVWVlam9vu6OIdwBfBfVfWJJJcC\nu6vq0jW38RyCpspzC1oEvT6HkOQa4OvAzyf5TpL3AB8Hfi3JQ8AFzfdSqzy3ID0336mshWMtaKh6\nXQhSH1kL0vosBC00a0FDYiFIO2AtSMdZCFLDWtC8sxCkKbEWtOgsBGkd1oLmkYUgtcBa0CKyEKTn\nYC1oXlgIUsusBS0KC0E6AdaC+sxCkGbIWtCQWQjSNlkL6hsLQeqItaChsRCkKbAW1AcWgtQD1oKG\nwEKQpsxaUFcsBKlnrAXNKwtBapG1oFmyEKQesxY0TywEaUasBbXNQpDmhLWgvrMQpA5YC2qDhSDN\noclaOPtsuOWWrlckWQhS56wFTYuFIM05a0F9YSFIPWItaCcsBGlArAV1yUKQespa0ImyEKSBshY0\naxaCNAesBW2FhSAtAGtBs2AhSHPGWtBGLARpwVgLaouFIM0xa0GTLARpgVkLmiYLQRoIa0FzWwhJ\nHk1yb5JDSe7sah3SUFgL2qnOCiHJI8Crq+p76/zMQpB2wFpYTHNbCI1tL1zSxqwFbUeXhfCvwA+A\n/wP+rKr+fOJnFoI0JdbC4thpIeya5mJO0Ouq6vEkLwZuSvJgVd2x+sOlpaWnrzgajRiNRrNfoTQA\nq7Vw8OC4FpaX4YILul6VpmFlZYWVlZWp/b5evMooyeXAsaq6svneQpBaYC0M21yeQ0jygiSnNJdf\nCLwBONzFWqRF4rkFbaaTQkiyD/hK8+0u4K+q6o8mfm4hSC2zFoZnp4XQi6eM1nIgSLPx1FPjcwu3\n3OK5hSFwIEjaMWthGObyHIKkfvHcgsBCkLSGtTC/LARJU2UtLC4LQdKGrIX5YiFIao21sFgsBElb\nYi30n4UgaSasheGzECSdMGuhnywESTNnLQyThSBpR6yF/rAQJHXKWhgOC0HS1FgL3bIQJPWGtTDf\nLARJrbAWZs9CkNRL1sL8sRAktc5amA0LQVLvWQvzwUKQNFPWQnssBElzxVroLwtBUmeshemyECTN\nLWuhXywESb1gLeychSBpEKyF7lkIknrHWtgeC0HS4FgL3bAQJPWatbB1FoKkQbMWZsdCkDQ3rIXN\nWQiSFoa10C4LQdJcshaezUKQtJCshemzECTNPWthzEKQtPCshemwECQNyiLXwlwWQpILkzyY5J+T\nfLSLNUgaJmth+2Y+EJI8D/hT4ELgF4B3JXnVrNcxL1ZWVrpeQm+4L45zXxy33r7YvRuWl+HTn4ZL\nLoEDB+Do0dmvbd50UQivAR6uqker6kfAXwNv6WAdc8H/8I9zXxznvjhus31hLZyYLgbCy4DvTHz/\nWLNNkqZubS28//3gKcr1dTEQ/FchaeZWa+H88yHbPu06bDN/lVGSXwGWqurC5vvLgB9X1ScmruPQ\nkKRt2MmrjLoYCLuAbwP7gf8A7gTeVVUPzHQhkqRn2DXrO6yq/03yfuDvgecByw4DSepeL9+YJkma\nvd59dMWiv2ktyaNJ7k1yKMmdzbZTk9yU5KEkNybZ3fU625Dks0mOJDk8sW3Dx57ksuY4eTDJG7pZ\ndTs22BdLSR5rjo1DSS6a+Nkg90WSM5LcmuT+JPcl+WCzfeGOi032xfSOi6rqzRfjp5AeBvYCJwF3\nA6/qel0z3gePAKeu2XYF8JHm8keBj3e9zpYe+3nAucDh53rsjN/UeHdznOxtjpuf6PoxtLwvLgf+\ncJ3rDnZfAHuAc5rLJzM+//iqRTwuNtkXUzsu+lYIvmltbO2rBN4MXN1cvhp462yXMxtVdQfw/TWb\nN3rsbwGuqaofVdWjjA/218xinbOwwb6AZx8bMOB9UVVPVNXdzeVjwAOM37e0cMfFJvsCpnRc9G0g\n+Ka18fs0vpbkm0l+t9l2WlUdaS4fAU7rZmmd2Oixv5Tx8bFqUY6VDyS5J8nyxNMkC7EvkuxlXE3/\nyIIfFxP74hvNpqkcF30bCJ7hhtdV1bnARcDvJzlv8oc1bsGF3E9beOxD3y9XAfuAc4DHgSs3ue6g\n9kWSk4EvAx+qqmd8KtGiHRfNvvgS431xjCkeF30bCP8OnDHx/Rk8c8INXlU93vzzu8BXGCfekSR7\nAJKcDjzZ3QpnbqPHvvZY+elm22BV1ZPVAD7D8fwf9L5IchLjYfAXVfXVZvNCHhcT++IvV/fFNI+L\nvg2EbwIvT7I3yfOBdwDXdrymmUnygiSnNJdfCLwBOMx4H1zSXO0S4Kvr/4ZB2uixXwu8M8nzk+wD\nXs74TY6D1fyPb9XbGB8bMOB9kSTAMvCtqvrUxI8W7rjYaF9M9bjo+sz5OmfGL2J89vxh4LKu1zPj\nx76P8asC7gbuW338wKnA14CHgBuB3V2vtaXHfw3jd6//kPG5pPds9tiBjzXHyYPAr3e9/pb3xe8A\nnwfuBe5h/D/A04a+L4DXAz9u/ps41HxduIjHxQb74qJpHhe+MU2SBPTvKSNJUkccCJIkwIEgSWo4\nECRJgANBktRwIEiSAAeC9LQkt6z9iOAkf5Dk00lekeTvmo9bvivJ3yR5SZJRkh9MfPTwoSQXdPUY\npJ2Y+V9Mk3rsGuCdjN/otOodwEeA64EPV9XfAiQ5H3gx48+Gub2qfmPGa5WmzkKQjvsy8Kbm736v\nfqLkSxm/5f/rq8MAoKpuq6r7Wf9jh6W55ECQGlX1Pcaf9fLGZtM7gS8CZwL/tMlNz1vzlNG+lpcq\ntcKBID3T6tNGMH666AtbuM0dVXXuxNcj7S1Pao8DQXqma4H9Sc4FXlBVh4D7gVd3uyypfQ4EaUKN\n/+DIrcDnOF4HXwBem2T1qSSS/GqSMztYotQaB4L0bNcAZzX/pKr+B7iY8Z8pfCjJ/cDvAd9l/Cqj\ntecQfrOrhUs74cdfS5IAC0GS1HAgSJIAB4IkqeFAkCQBDgRJUsOBIEkCHAiSpIYDQZIEwP8Dkz0a\nLXMgajYAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "\n", + "Vbb=10#\n", + "Rb=50*10**3#\n", + "Vcc=20#\n", + "Rc=300#\n", + "beta=200#\n", + "Ic=Vcc/Rc##saturation current\n", + "print \"IC=%0.2f\"%(Ic*1e3),'mA'\n", + "Vce=Vcc##cut-off voltage\n", + "print 'Vce=%0.2f'%Vce,\"V\"\n", + "Ib=(Vbb-0.7)/Rb#\n", + "print \"Ib=%0.2e\"%Ib,\"A\"\n", + "Ic=beta*Ib#\n", + "print \"Ic=%0.2e\"%Ic,\"A\"\n", + "Vce=Vcc-Ic*Rc#\n", + "print 'Vce=%0.2f'%Vce,\"V\"\n", + "i=arange(21,0,-0.1)\n", + "plot(i)#\n", + "xlabel(\"VCE\")#\n", + "ylabel( \"IC\")#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.3 Pg 404" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=0.14 mA\n", + "Ic=11.11 mA\n", + "Vce=15.89 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rb=180*10**3#\n", + "Vcc=25#\n", + "Rc=820#\n", + "beta=80#\n", + "Ib=Vcc/Rb##saturation current\n", + "print \"Ib=%0.2f\"%(Ib*1e3),'mA'\n", + "Ic=beta*Ib#\n", + "print \"Ic=%0.2f\"%(Ic*1e3),'mA'\n", + "Vce=Vcc-(Ic*Rc)##cut-off voltage\n", + "print 'Vce=%0.2f'%Vce,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.4 Pg 404" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rb=40.00 Kohm\n", + "S= 101\n", + "Ic=3.00e-02 A\n", + "Vce=2.10 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=12#\n", + "Rc=330#\n", + "Ib=0.3*10**-3#\n", + "beta=100#\n", + "#Ib=Vcc/Rb##saturation current\n", + "Rb=Vcc/Ib#\n", + "print \"Rb=%0.2f\"%(Rb*1e-3),'Kohm'\n", + "S=1+beta#\n", + "print \"S=\",S\n", + "Ic=beta*Ib#\n", + "print \"Ic=%0.2e\"%Ic,\"A\"\n", + "Vce=Vcc-(Ic*Rc)##cut-off voltage\n", + "print 'Vce=%0.2f'%Vce,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.5 Pg 405" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=0.04 mA\n", + "Ic=4.00 mA\n", + "Vce=8.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rb=400*10**3#\n", + "Vcc=20#\n", + "Rc=2*10**3#\n", + "Re=1*10**3#\n", + "beta=100#\n", + "Ib=Vcc/(Rb+(beta*Re))##saturation current\n", + "print \"Ib=%0.2f\"%(Ib*10**3),'mA'\n", + "Ic=beta*Ib#\n", + "print \"Ic=%0.2f\"%(Ic*10**3),'mA'\n", + "Vce=Vcc-(Ic*(Rc+Re))##cut-off voltage\n", + "print 'Vce=%0.2f'%Vce,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.6 Pg 406" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=2.35 mA\n", + "VCe=6.82 V\n", + "Icsat=5.45 mA\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEPCAYAAABMTw/iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEmBJREFUeJzt3X+s3XV9x/HnW25R0bZm88eKpYNtljhiheIMcTqPv5bC\ngC24zBk3pRKTWYeolE6WMm4FGhGN4jYjUDU203YGl83+mFKEAyQm/ugPxRZhM0opkx+ZCuJmUsZ7\nf3zPoae3t7f3x/me7/d8z/OR3PT8uvfz4aR98b2f1/fzPZGZSJKa6xlVT0CSVC6DXpIazqCXpIYz\n6CWp4Qx6SWo4g16SGq7UoI+I50XEzRFxT0Tsi4izyhxPknSksZJ//vXA9sz804gYA55T8niSpAmi\nrA1TEbEQ2J2Zv1XKAJKkaSlz6eYU4NGI+FxE7IqImyLihBLHkyRNosygHwOWA5/KzOXAL4EPljie\nJGkSZa7RHwAOZOa3O/dvZkLQR4QX2pGkWcjMmO5rSzuiz8yHgAciYmnnoTcCeyd5nV+ZXHnllZXP\noS5fvhe+F74XU3/NVNln3VwMfCEijgd+CKwseTxJ0gSlBn1mfhf4vTLHkCRNzZ2xNdFqtaqeQm34\nXhzie3GI78XslXYe/bQGj8gqx5ekYRQRZB3KWElSPRj0ktRwBr0kNZxBL0kNZ9BLUsMZ9JLUcAa9\nJDWcQS9JDWfQS1LDGfSS1HAGvSQ1nEEvSQ1n0EtSw1Ue9L/4RdUzkKRmqzzoly6FG26AJ5+seiaS\n1EyVB/3WrbB5M7z85bB9O3h5eknqr1p88EhmEfiXXQaLF8NHPwqnn17ZtCSp1obyg0ci4Lzz4O67\n4c1vhhUrYOVKOHCg6plJ0vCrRdB3zZsH73433HcfnHhisZxzxRUWtpI0F7UK+q4FC+Caa2D3brj/\nfgtbSZqLWqzRH8vOnbB6NTzyCFx3HZx9drHcI0mjaKZr9EMR9ICFrSR1DGUZOx0WtpI0O0MT9F29\nhe2iRRa2knQsQxf0XQsWwPr1FraSdCxDs0Z/LBa2kkZF7crYiPgx8Djwf8DBzHxlz3N9C3qwsJU0\nGupYxibQyswzekO+DBa2knSkQa3RD3QRxcJWkg4Z1BH9rRHxnYh41wDGe5qFrSQNZo1+UWb+JCJe\nAOwALs7MuzrP9XWN/lgsbCU1Qe3K2MMGi7gSeCIzP9a5n1deeeXTz7daLVqtVqlzsLCVNGza7Tbt\ndvvp++vWratP0EfECcBxmfmLiHgOcAuwLjNv6Tw/0CP6XgcPwoYNsG5dUdpefXUR/JJUd3U76+ZF\nwF0RsQf4JrC1G/JV85LIkkZFYzZMzdX+/bB2Ldx6K4yPwzvfCWNjVc9Kko5U6zX6IwavUdB3WdhK\nqjuDvg8sbCXVWd3W6IeSO2wlNYlBPwULW0lNYNBPw8TPsD31VLjxRnfYShoOrtHPwq5dcOmlFraS\nqmEZOyAWtpKqYhk7IEcrbB98sOqZSdLhDPo5mljYLltmYSupXgz6PrGwlVRXrtGXxMJWUlksY2sk\nE7ZtKwrbF7/YwlZSf1jG1kgEnHuuha2kahn0AzA2ZmErqToG/QBZ2Eqqgmv0FbKwlTQblrFDxsJW\n0kxZxg4ZC1tJZTPoa8LCVlJZDPqasbCV1G+u0decha2kiSxjG8jCVlIvy9gGOlph62fYSpoOg36I\nTCxs/QxbSdNh0A8hC1tJM+EafQNY2EqjxTJ2RFnYSqPDMnZEWdhKOhqDvmEsbCVNVHrQR8RxEbE7\nIraUPZYOmVjYLl0KN9xgYSuNokEc0V8C7ANcjK/AkiWwcWOxfr95c3GEv317saYvaTSUGvQRsRg4\nB9gAeB5IhZYvh9tugw9/GD7wAXjTm2DPnqpnJWkQyj6i/zhwGfBUyeNoGiLgvPMsbKVRM1bWD46I\nc4FHMnN3RLSO9rrx8fGnb7daLVqto75UfTJvXlHYvu1tcO21xXLOqlWwZg3Mn1/17CRN1G63abfb\ns/7+0s6jj4j1wF8CTwLPAhYAX87Mt/e8xvPoa2D/fli7FnbsgPFxuOii4uwdSfVUyw1TEfFaYHVm\nnjfhcYO+RnbuhNWr3WEr1V2dN0yZ6DV35pkWtlITeQkETergQdiwAdatK47sr7oKFi+uelaSoN5H\n9Boi3cLWHbbS8DPoNSV32ErDz6UbzYiXRJaqV8uzbo46uEE/lDJh69biksiLF3tJZGnQXKNX6dxh\nKw0Xg16zZmErDQeDXnNmYSvVm2v06jt32ErlsoxVLVjYSuWxjFUtWNhK9WHQq1S9he2iRRa2UhUM\neg3EggWwfr2FrVQF1+hVCQtbafYsYzU0LGyl2bGM1dCwsJUGw6BX5SxspXIZ9KoNC1upHK7Rq7Ys\nbKXJWcaqUSxspSNZxqpRLGyluTPoNRQsbKXZM+g1VCxspZlzjV5DzcJWo8gyViPHwlajxjJWI8fC\nVpqaQa/GsLCVJmfQq3EsbKXDuUavxrOwVdPUqoyNiGcBdwDPBI4H/i0zL+953qDXQFjYqkn6VsZG\nxAsj4rRJHj8tIl4wnR+emb8CXpeZpwPLgNdFxKunOzmpXyYrbC+80MJWo2GqNfq/B54/yeO/Dlw/\n3QEy8386N48HjgN+Ou3ZSX3WW9ieeGJR2K5da2GrZpsq6H8nM++Y+GBm3gm8fLoDRMQzImIP8DBw\ne2bum/k0pf7qLWz377ewVbONTfHc/CmemzfdATLzKeD0iFgIfC0iWpnZ7j4/Pj7+9GtbrRatVmu6\nP1qasyVLYOPGQ4XtJz9pYav6abfbtNvtWX//UcvYiNgO/GNmbpvw+DnAxZl59owHi7gC+N/M/Gjn\nvmWsamNiYXvddXDGGVXPSjpS3866iYilwFbgG8BOIIAzgVcB52bmvdOYzPOBJzPz5xHxbOBrwLrM\n/HrneYNetXPwINx0E3zoQ0Vpe/XVRfBLddG3s24y8z6KM2XuBE4BfpPiVMll0wn5jkXAbZ01+m8C\nW7ohL9XVvHmwapWFrZrDDVPSMezfXwT9jh0wPg4XXQRjU7VbUsn6uXTzBHC0FM7MXDCL+U0cw6DX\n0HCHreqiVjtjjzm4Qa8h4w5b1YGXKZZK5A5bDSODXpoFd9hqmBj00hy4w1bDwDV6qY8sbDUIlrFS\nxSxsVTbLWKliFraqG4NeKkm3sL33XgtbVcugl0q2cKGFrarlGr00YBa2mivLWGkIWNhqLixjpSHQ\nW9hecIGFrcpl0EsV6l4SubewveIKC1v1l0Ev1UBvYXv//Ra26i/X6KUa6i1sP/IROOccC1sdYhkr\nNUQmbNkCa9ZY2OpwlrFSQ0TA+ecfXtiuXGlhq5kz6KWa6y1sFy2ysNXMGfTSkLCw1Wy5Ri8NKXfY\nji7LWGmEuMN2NFnGSiNksksiW9hqIoNeaoDez7C1sNVEBr3UIL2fYWthqy7X6KUGs7BtJstYSYex\nsG0ey1hJh7GwValBHxEnRcTtEbE3Ir4fEe8tczxJR9db2HpJ5NFS9hH9QeD9mXkacBbwnoh4aclj\nSprCggVwzTUWtqOk1KDPzIcyc0/n9hPAPcCJZY4paXqWLIGNG2HbNti8uTjC3769WNNXswysjI2I\nk4E7gNM6oW8ZK9WEhe1wmWkZO1bmZLoi4rnAzcAl3ZDvGh8ff/p2q9Wi1WoNYkqSenQL2xUrYMOG\n4s+zz4arriqCX9Vqt9u02+1Zf3/pR/QRMQ/YCvx7Zn5iwnMe0Us19PjjcO218OlPF5dIXrMG5s+v\nelbqqtXplRERwGeAfRNDXlJ9dQvbPXssbJug1CP6iHg1cCfwPaA70OWZ+dXO8x7RS0Ng1y649FJ3\n2NaFO2MllcLCtj5qtXQjqTncYTu8DHpJM+IO2+Fj0EuaFXfYDg/X6CX1hYXt4FjGSqqMhe1gWMZK\nqoyFbT0Z9JL6zsK2Xgx6SaWxsK0H1+glDYyFbX9YxkqqNQvbubOMlVRrFraDZ9BLqoSF7eAY9JIq\nZWFbPtfoJdXKzp2werWF7VQsYyUNPQvbqVnGShp6kxW2F15oYTtbBr2k2rKw7Q+DXlLtLVgA69db\n2M6Wa/SShs6oF7aWsZJGwigXtpaxkkaCO2ynz6CXNNR6C9tFiyxsJ2PQS2qEiYXtqafCjTda2IJr\n9JIaqsmFrWWsJHU0tbC1jJWkDgvbgkEvqfG6he29945mYWvQSxoZCxeOZmFbatBHxGcj4uGIuLvM\ncSRpJpYsgY0bYcsW2LSpOMLfvr1Y02+iUsvYiHgN8ASwMTNfNsnzlrGSKjWMhW2tytjMvAv4WZlj\nSNJc9Ba2F1xwqLB98MGqZ9Y/rtFLEkVhu2rVocJ22bLmFLYGvST1aGJhO1b1BMbHx5++3Wq1aLVa\nlc1Fkrq6hW13h+3111e3w7bdbtNut2f9/aXvjI2Ik4EtlrGShlXdCttalbERsQn4BrA0Ih6IiJVl\njidJZRj2wtZr3UjSDD32GFx7bfFxhqtWwZo1MH/+4Mav1RG9JDXRsBW2HtFL0hzt3AmXXgqPPjqY\nwtbLFEtSBQZZ2Lp0I0kVqHNha9BLUh/VcYetQS9JJahTYesavSQNQD8LW8tYSaqpfhW2lrGSVFNV\nFbYGvSQN2KALW4NekioyqMLWNXpJqonpFraWsZI0xKZT2FrGStIQK6OwNeglqYb6Wdi6dCNJQ2D/\nfli7Fm69FX7yE9foJamxdu6EV7zCoJekRrOMlSQdxqCXpIYz6CWp4Qx6SWo4g16SGs6gl6SGM+gl\nqeEMeklqOINekhrOoJekhis16CNiRUT8ICL+IyL+psyxJEmTKy3oI+I44B+AFcDvAm+NiJeWNd6w\na7fbVU+hNnwvDvG9OMT3YvbKPKJ/JfCfmfnjzDwIbAb+uMTxhpp/iQ/xvTjE9+IQ34vZKzPoXww8\n0HP/QOcxSdIAlRn0Xn9YkmqgtOvRR8RZwHhmrujcvxx4KjOv7XmN/zOQpFmoxQePRMQYcC/wBuC/\ngG8Bb83Me0oZUJI0qbGyfnBmPhkRfw18DTgO+IwhL0mDV+lHCUqSylfZzlg3UxUi4qSIuD0i9kbE\n9yPivVXPqWoRcVxE7I6ILVXPpUoR8byIuDki7omIfZ3eayRFxOWdfyN3R8QXI+KZVc9pUCLisxHx\ncETc3fPYr0XEjoi4LyJuiYjnTfUzKgl6N1Md5iDw/sw8DTgLeM8IvxddlwD78Myt64HtmflSYBkw\nkkufEXEy8C5geWa+jGIp+M+rnNOAfY4iK3t9ENiRmUuBr3fuH1VVR/RupurIzIcyc0/n9hMU/5hP\nrHZW1YmIxcA5wAZg2mcVNE1ELARek5mfhaLzyszHKp5WVR6nOCA6oXOSxwnAg9VOaXAy8y7gZxMe\nPh/4fOf254E/mepnVBX0bqaaROfI5Qzgm9XOpFIfBy4Dnqp6IhU7BXg0Ij4XEbsi4qaIOKHqSVUh\nM38KfAzYT3EG388z89ZqZ1W5F2Xmw53bDwMvmurFVQX9qP9KfoSIeC5wM3BJ58h+5ETEucAjmbmb\nET6a7xgDlgOfyszlwC85xq/nTRURvw28DziZ4rfd50bE2yqdVI1kcUbNlJlaVdA/CJzUc/8kiqP6\nkRQR84AvA/+Umf9a9Xwq9Crg/Ij4EbAJeH1EbKx4TlU5ABzIzG937t9MEfyj6BXANzLzvzPzSeBf\nKP6ujLKHI+I3ACJiEfDIVC+uKui/A7wkIk6OiOOBtwBfqWgulYqIAD4D7MvMT1Q9nypl5t9m5kmZ\neQpF2XZbZr696nlVITMfAh6IiKWdh94I7K1wSlX6AXBWRDy78+/ljRRl/Sj7CvCOzu13AFMeIJa2\nYWoqbqY6zO8DfwF8LyJ2dx67PDO/WuGc6mLUl/guBr7QORj6IbCy4vlUIjO/2/nN7jsU3c0u4MZq\nZzU4EbEJeC3w/Ih4APg74MPAlyLiIuDHwJ9N+TPcMCVJzeZHCUpSwxn0ktRwBr0kNZxBL0kNZ9BL\nUsMZ9JLUcAa9Rk5E3BYRfzjhsfdFxKciYmlEbO9c/nVnRPxzRLwwIloR8Vjn8sndr9dX9d8gzUQl\nG6akim2i2Hl7S89jbwHWAFspLhu9DSAiXgu8gGLz1p2Zed6A5yrNmUf0GkVfBv6oc8nb7lVDTwRe\nQnFNlW3dF2bmHZm5Fy+ypiFm0GvkdC57+y2K695DcXT/JeA0iu31R/OaCUs3p5Q8VakvDHqNqu7y\nDRTLNl+cxvfclZln9Hz9qLzpSf1j0GtUfQV4Q0ScAZzQuQb+XuDMaqcl9Z9Br5HU+XCX2yk+j7N7\nNP9F4FUR0V3SISL+ICJOq2CKUt8Y9Bplm4CXdf4kM38FnAtc3Dm9ci/wV8CjFGfdTFyjv6CqiUsz\n4WWKJanhPKKXpIYz6CWp4Qx6SWo4g16SGs6gl6SGM+glqeEMeklqOINekhru/wGO+l+4xPWeSQAA\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "\n", + "Vcc=12#\n", + "Rc=2.2*10**3#\n", + "Rb=240#\n", + "B=50#\n", + "Vbe=0.7#\n", + "RE=0#\n", + "Ic=(Vcc-Vbe)/(RE+(Rb/B))##collector current\n", + "print \"Ic=%0.2f mA\"%Ic\n", + "Vce=Vcc-(Ic*10**-3)*Rc##CE voltage\n", + "print 'VCe=%0.2f V'%Vce\n", + "Icsat=Vcc/Rc#\n", + "print 'Icsat=%0.2f mA'%(Icsat*10**3)\n", + "Vcec=Vcc##cutoff voltage\n", + "i=arange(5.45,0,-0.5)\n", + "plot(i)#\n", + "xlabel(\"VCE\")#\n", + "ylabel( \"IC\")#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.7 Pg 407" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=6.00 mA\n", + "Vce=30.00 V\n", + "Ib=20.00 microA\n", + "Ic=2.00 mA\n", + "Vce= 20.00 V\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEPCAYAAACjjWTcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEd5JREFUeJzt3X2sZGV9wPHvDxbL8qJWeVErDYvRxC5LQVrc1CJjfQlQ\ntYV0UZq2wh+mTSyCCVhtAvf2HwlrW5VVTFqR7lKl3cW4pUAj2jIV0uwi7IJ0odomkIhFliqlbFkS\nLL/+MTPLcLn3MjN3zpy37ye52blzZuc8J0ee/frcM+dGZiJJaraDyh6AJKl4TvaS1AJO9pLUAk72\nktQCTvaS1AJO9pLUAoVO9hHxyoi4MSIejIgHImJ9kfuTJC1uVcHv/zng1sz8rYhYBRxe8P4kSYuI\noj5UFRGvAHZn5gmF7ECSNLIil3HWAI9HxHURsSsi/jIiDitwf5KkJRQ52a8C3gJck5lvAf4X+ESB\n+5MkLaHINftHgEcy8zv9729kwWQfEd6YR5ImkJkxzusLK/vM/BHwg4h4U/+pdwF7Fr7u6aeTyy5L\njj022bo1yWzO19zcXOlj8Pg8vjYeX5OPLXOyRi76OvuLgK9ExH3AScCnFr5g9WrYuBG2b4fLL4cN\nG2Dv3oJHJUktU+hkn5n3ZeYvZ+YvZua5mfnkUq9dvx5274Y1a+Ckk2DbtiJHJkntUqlP0Dat8jud\nTtlDKJTHV29NPr4mH9ukCrvOfqSdR+RS+9+/H+bmYMsW2LSpN/FLkiAiyDF/QFvZyX5gxw644AJY\ntw6+8AU45pjZjE2SqmqSyb5SyziLcS1fklau8mU/bMcOuPBCOPFEK19SezWy7IetXw+7dln5kjSu\nWpX9MNfyJbVV48t+2GAt/4QTrHxJeim1LfthruVLapNWlf0wK1+SlteIsh9m5UtqutaW/TArX5Je\nrHFlP8zKl9RElv0CVr4k9TS67IdZ+ZKawrJfhpUvqc1aU/bDrHxJdWbZj8jKl9Q2rSz7YVa+pLqx\n7CfgnTQltUHry36Yd9KUVAeW/Qr5W7EkNZVlvwQrX1JVWfZTZOVLahLLfgRWvqQqsewLYuVLqjvL\nfkxWvqSyWfYzYOVLqqPCyz4iHgb+B/g/4NnMPG1oW+3KfpiVL6kMVS37BDqZecrwRN8E3mNHUl3M\nouwfAn4pM3+8yLZal/0w77EjaVaqXPbfioi7I+LDM9hfKax8SVU2i7J/bWY+GhFHA98ELsrMO/rb\nGlP2w6x8SUWapOxXFTWYgcx8tP/n4xHxdeA04I7B9vn5+QOv7XQ6dDqdoodUuEHlz831Kn/TJtiw\noexRSaqrbrdLt9td0XsUWvYRcRhwcGY+FRGHA7cBf5KZt/W3N7Lsh1n5kqatimv2xwJ3RMS9wE7g\n5sFE3xau5UuqAj9BO0NWvqRpqGLZa4iVL6ksln1JrHxJk7Lsa2Rh5W/dWvaIJDWZZV8BVr6kcVj2\nNbV+Peza5Z00JRXHsq8Y76Qp6aVY9g3g/fIlFcGyrzArX9JiLPuGsfIlTYtlXxNWvqQBy77BrHxJ\nK2HZ15DX5UvtZtm3hNflSxqXZV9zruVL7WPZt5B30pQ0Csu+QVzLl9rBsm85K1/SUiz7hrLypeay\n7HWAlS9pmGXfAla+1CyWvRZl5Uuy7FvGypfqz7LXS7LypXay7FvMypfqybLXWKx8qT0sewFWvlQn\nlr0m5p00pWaz7PUi3klTqjbLXlOx8Ldibd1a9ogkrVThZR8RBwN3A49k5vsWbLPsK87Kl6qnqmV/\nMfAA4KxeQ1a+1AyFTvYR8XrgbOBLwFj/Cqk6Vq+GjRth+3a44grYsAH27i17VJLGUXTZfwa4DHiu\n4P1oBqx8qb5WFfXGEfFeYG9m7o6IzlKvm5+fP/C40+nQ6Sz5UlXAoPLPPbd3Xf62ba7lS0Xrdrt0\nu90VvUdhP6CNiE8Bvwv8FDgUeDnwtcz8vaHX+APaGtu/H+bmYMsWuPpqOO+8skcktcMkP6CdyXX2\nEXEGcKlX4zSTV+xIs1XVq3EGnNUbyrV8qfr8BK2mynvsSMWretmrBRbeSdPKl6rBsldhrHypGJa9\nKsXKl6rDstdMWPnS9Fj2qix/K5ZULsteM2flSytj2asWrHxp9ix7lcrKl8Zn2at2rHxpNix7VYaV\nL43GsletLbzHjpUvTY9lr0qy8qWlWfZqDNfypemy7FV5Vr70Qpa9Gsl77EgrZ9mrVqx8ybJXC1j5\n0mQse9XWzp29331r5attLHu1ylvfauVLo7Ls1Qiu5atNLHu1lmv50vIsezWOla+ms+wlrHxpMZa9\nGs3KVxNZ9tICVr7UY9mrNax8NYVlLy3DO2mqzSx7tZKVrzqrXNlHxKERsTMi7o2IByLiyiL3J43K\nylfbLFn2EXEMcHRm7lnw/Fpgb2Y+PtIOIg7LzKcjYhVwJ3BpZt7Z32bZq3RWvupm2mW/CThqkedf\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "\n", + "Vcc=30#\n", + "Rb=1.5*10**6#\n", + "Rc=5*10**3#\n", + "beta=100#\n", + "Ic=Vcc/Rc##saturation current\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Vce=Vcc##cut-off voltage\n", + "print 'Vce=%0.2f V'%Vce\n", + "Ib=Vcc/Rb##base current\n", + "print 'Ib=%0.2f microA'%(Ib*10**6)\n", + "Ic=beta*Ib#\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Vce=Vcc-Ic*Rc#\n", + "print 'Vce= %0.2f V'%Vce\n", + "i=arange(6,0,-0.2)\n", + "plot(i)#\n", + "xlabel(\"VCE\")#\n", + "ylabel( \"IC\")#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.9 Pg 408" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=9.92 mA\n", + "Vce= 16.87 V\n", + "S=74.394\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rb=180*10**3#\n", + "Vcc=25#\n", + "Rc=820#\n", + "Re=200#\n", + "beta=80#\n", + "Vbe=0.7#\n", + "Ic=(Vcc-Vbe)/(Re+(Rb/beta))##collector current\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Vce=Vcc-(Ic*Rc)##collector to emitter voltage\n", + "print 'Vce= %0.2f V'%Vce\n", + "S=(1+beta)/(1+beta*(Re/(Re+Rb)))#\n", + "print \"S=%0.3f\"%S##stability factor" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.10 Pg 409" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=0.85 mA\n", + "Vce= 1.55 V\n", + "Ic=1.00 mA\n", + "Vce= 10.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vbe=0.7#\n", + "Rb=100*10**3#\n", + "Vcc=10#\n", + "Rc=10*10**3#\n", + "beta=100#\n", + "Ic=(Vcc-Vbe)/(Rc+(Rb/beta))##collector current\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Vce=Vcc-(Ic*Rc)##collector to emitter voltage\n", + "print 'Vce= %0.2f V'%Vce\n", + "Ic=Vcc/Rc#\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Vce=Vcc#\n", + "print 'Vce= %0.2f V'%Vce" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.11 Pg 410" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=0.05 mA\n", + "Ic=2.33 mA\n", + "Ie=2.33 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rb=100*10**3#\n", + "Vcc=10#\n", + "Rc=2*10**3#\n", + "beta1=50#\n", + "Vbe=0.7#\n", + "Ib=(Vcc-Vbe)/(Rb+(beta1*Rc))#\n", + "print 'Ib=%0.2f mA'%(Ib*10**3)\n", + "Ic=beta1*Ib#\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Ie=Ic#\n", + "print 'Ie=%0.2f mA'%(Ie*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.12 Pg 411" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IB=15.82 microA\n", + "IC=1581.82 microA\n", + "IC=1.58 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=9#\n", + "RB=220*10**3#\n", + "RC=3.3*10**3#\n", + "VBE=0.3#\n", + "B=100#\n", + "#if vc=0\n", + "IB=(VCC-VBE)/(RB+(B*RC))#\n", + "print 'IB=%0.2f microA'%(IB*10**6)\n", + "IC=B*IB#\n", + "print 'IC=%0.2f microA'%(IC*10**6) #CORRECTION IN BOOK\n", + "#if VC=9\n", + "VC=9#\n", + "IC=B*IB#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "#IC*RC=0,which means collector resistance is short circuited" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.13 Pg 412" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=1.96 mA\n", + "Vb=0.90 V\n", + "Vc=5.53 V\n", + "IR2=0.28 mA\n", + "Ib=0.04 mA\n", + "IR1=0.32 mA\n", + "R1=14.63 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=12#\n", + "Rc=3.3*10**3#\n", + "Re=100#\n", + "Ie=2*10**-3#\n", + "Vbe=0.7#\n", + "alpha=0.98#\n", + "Ic=alpha*Ie#\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Vb=Vbe+(Ie*Re)#\n", + "print 'Vb=%0.2f V'%Vb\n", + "Vc=Vcc-(Ic*Rc)##collector to emitter voltage\n", + "print 'Vc=%0.2f V'%Vc\n", + "R2=20*10**3#\n", + "IR2=Vc/R2#\n", + "print 'IR2=%0.2f mA'%(IR2*10**3)\n", + "Ib=Ie-Ic#\n", + "print 'Ib=%0.2f mA'%(Ib*10**3)\n", + "IR1=IR2+Ib#\n", + "print 'IR1=%0.2f mA'%(IR1*10**3)\n", + "R1=(Vc-Vb)/IR1#\n", + "print 'R1=%0.2f kohm'%(R1*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.14 Pg 414" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IC=1.90 mA\n", + "RB=117.00 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=24#\n", + "RC=10*10**3#\n", + "RE=270#\n", + "VBE=0.7#\n", + "B=45#\n", + "VCE=5#\n", + "IC=(VCC-VCE)/RC#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "RB=(2.6*10**3)*B#\n", + "print 'RB=%0.2f kohm'%(RB*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.15 Pg 416" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=0.01 mA\n", + "Ic=1.06 mA\n", + "Vce=1.09 V\n", + "S=16.091\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rb=33*10**3#\n", + "Vcc=3#\n", + "Rc=1.8*10**3#\n", + "beta=90#\n", + "Vbe=0.7#\n", + "Ib=(Vcc-Vbe)/(Rb+(Rc*beta))##collector current\n", + "print 'Ib=%0.2f mA'%(Ib*10**3)\n", + "Ic=beta*Ib#\n", + "print 'Ic=%.2f mA'%(Ic*10**3)\n", + "Vce=Vcc-(Ic*Rc)##collector to emitter voltage\n", + "print 'Vce=%0.2f V'%Vce\n", + "S=(1+beta)/(1+beta*(Rc/(Rc+Rb)))#stability factor\n", + "print \"S=%0.3f\"%S" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.16 Pg 416" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vb=3.33 V\n", + "Ve=2.63 V\n", + "Ie=05 mA\n", + "Ic=05 mA\n", + "Ve=2.63 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vbe=0.7#\n", + "Vcc=10#\n", + "Rc=1*10**3#\n", + "beta=100#\n", + "R1=10*10**3#\n", + "R2=5*10**3#\n", + "Re=500#\n", + "Vb=Vcc*(R2/(R1+R2))#\n", + "print 'Vb=%0.2f V'%Vb\n", + "Ve=Vb-Vbe#\n", + "print 'Ve=%0.2f V'%Ve\n", + "Ie=Ve/Re#\n", + "print 'Ie=%02.f mA'%(Ie*10**3)\n", + "Ic=Ie#\n", + "print 'Ic=%02.f mA'%(Ic*10**3)\n", + "Vce=Vcc-(Rc+Re)#\n", + "print 'Ve=%0.2f V'%Ve" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.17 Pg 418" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vb=2.81 V\n", + "Ve=2.11 V\n", + "Ie=3.11 mA\n", + "Ic=3.11 mA\n", + "VRc=3.11 V\n", + "Vc=5.89 V\n", + "Vce=3.78 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=9#\n", + "Rc=1*10**3#\n", + "Re=680#\n", + "beta=100#\n", + "R1=33*10**3#\n", + "R2=15*10**3#\n", + "Vb=Vcc*(R2/(R1+R2))#\n", + "print 'Vb=%0.2f V'%Vb\n", + "Vbe=0.7#\n", + "Ve=Vb-Vbe#\n", + "print 'Ve=%0.2f V'%Ve\n", + "Ie=Ve/Re#\n", + "print 'Ie=%0.2f mA'%(Ie*10**3)\n", + "Ic=Ie#\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "VRc=Ic*Rc#\n", + "print 'VRc=%0.2f V'%VRc\n", + "Vc=Vcc-VRc#\n", + "print 'Vc=%0.2f V'%Vc\n", + "Vce=Vc-Ve#\n", + "print 'Vce=%0.2f V'%Vce" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.18 Pg 419" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rc=2200.00 ohm\n", + "R1=40.00 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=5#\n", + "RE=0.3*10**3#\n", + "IC=1*10**-3#\n", + "VCE=2.5#\n", + "B=100#\n", + "VBE=0.7#\n", + "ICO=0#\n", + "R2=10*10**3#\n", + "IE=IC#\n", + "RC=((VCC-VCE)/IC)-RE#\n", + "print 'Rc=%0.2f ohm'%RC\n", + "VE=IE*RE#\n", + "VB=VE+VBE#\n", + "R1=VCC*R2-R2#\n", + "print 'R1=%0.2f kohm'%(R1*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.19 Pg 420" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VB=10.00 V\n", + "IE=1.86 mA\n", + "VCE=18.14 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=20#\n", + "RC=1*10**3#\n", + "RE=5*10**3#\n", + "R1=10*10**3#\n", + "R2=10*10**3#\n", + "B=462#\n", + "VBE=0.7#\n", + "VB=Vcc*R2/(R1+R2)#\n", + "print 'VB=%0.2f V'%VB\n", + "VE=VB-VBE#\n", + "IE=VE/RE#\n", + "print 'IE=%0.2f mA'%(IE*10**3)\n", + "IC=IE#\n", + "VCE=Vcc-IC*RC#\n", + "print 'VCE=%0.2f V'%VCE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.20 Pg 422" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IC=0.62 mA\n", + "IE=0.65 mA\n", + "IB=26.04 microA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=8#\n", + "VRC=0.5#\n", + "RC=800#\n", + "a=0.96#\n", + "VCE=VCC-VRC##VRC=IC*RC\n", + "IC=VRC/RC#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "IE=IC/a#\n", + "print 'IE=%0.2f mA'%(IE*10**3)\n", + "IB=IE-IC#\n", + "print 'IB=%0.2f microA'%(IB*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.21 Pg 423" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ICdiff=43.478 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=12#\n", + "RC=1*10**3#\n", + "RE=100#\n", + "R1=25*10**3#\n", + "R2=5*10**3#\n", + "B=50#\n", + "VBE=0.6#\n", + "VTH=VCC*R2/(R1+R2)#\n", + "RTH=R1*R2/(R1+R2)#\n", + "IE50=(VTH-VBE)/(RE+RTH/B)#\n", + "B=150#\n", + "IE150=(VTH-VBE)/(RE+RTH/B)#\n", + "ICdiff=(IE150-IE50)/IE50#\n", + "print \"ICdiff=%0.3f %%\"%(ICdiff*100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.24 Pg 424" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RE=1.40 kohm\n", + "RTH=2.98 kohm\n", + "R2=7.00 kohm\n", + "R1=5.17 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "B=50#\n", + "VBE=0.7#\n", + "VCC=22.5#\n", + "RC=5.6*10**3#\n", + "VCE=12#\n", + "IC=1.5*10**-3#\n", + "S=3#\n", + "RE=(VCC-IC*RC-VCE)/IC#\n", + "print 'RE=%0.2f kohm'%(RE*10**-3)\n", + "RTH=(4375)-RE#\n", + "print 'RTH=%0.2f kohm'%(RTH*10**-3)\n", + "R2=0.1*B*RE#\n", + "print 'R2=%0.2f kohm'%(R2*10**-3)\n", + "R1=(-RTH*R2)/(RTH-R2)#\n", + "print 'R1=%0.2f kohm'%(R1*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.25 Pg 425" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ie=1.86 mA\n", + "IC=1.86 mA\n", + "VCE=8.84 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=10#\n", + "VEE=10#\n", + "RC=1*10**3#\n", + "RE=5*10**3#\n", + "RB=50*10**3#\n", + "VBE=0.7#\n", + "VE=-VBE#\n", + "IE=(VEE-VBE)/RE#\n", + "print 'Ie=%0.2f mA'%(IE*10**3)\n", + "IC=IE#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "VC=VCC-IC*RC#\n", + "VCE=VC-VE#\n", + "print 'VCE=%0.2f V'%VCE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.26 Pg 426" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IE1=1.89 mA\n", + "VC1=10.54 V\n", + "VCE1=11.24 V\n", + "IE2=1.92 mA\n", + "VC2=10.40 V\n", + "VCE2=8.74 V\n", + "delIc=1.51 %\n", + "delVCE=28.60 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=20#\n", + "VEE=20#\n", + "RC=5*10**3#\n", + "RE=10*10**3#\n", + "RB=10*10**3#\n", + "B1=50#\n", + "B2=100#\n", + "VBE1=0.7#\n", + "VBE2=0.6#\n", + "IE1=(VEE-VBE1)/(RE+RB/B1)#\n", + "print 'IE1=%0.2f mA'%(IE1*10**3)\n", + "IC1=IE1#\n", + "VC1=VCC-IC1*RC#\n", + "print 'VC1=%0.2f V'%VC1\n", + "VE=-VBE1#\n", + "VCE1=VC1-VE#\n", + "print 'VCE1=%0.2f V'%VCE1\n", + "IE2=(VEE-VBE2)/(RE+RB/B2)#\n", + "print 'IE2=%0.2f mA'%(IE2*10**3)\n", + "IC2=IE2#\n", + "VC2=VCC-IC2*RC#\n", + "print 'VC2=%0.2f V'%VC2\n", + "VE=-VBE2#\n", + "VCE2=VC-VE#\n", + "print 'VCE2=%0.2f V'%VCE2\n", + "delIc=(IC2-IC1)/IC1#\n", + "print \"delIc=%0.2f %%\"%(delIc*100)\n", + "delVCE=(VCE1-VCE2)/VCE2#\n", + "print \"delVCE=%0.2f %%\"%(delVCE*100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.27 Pg 427" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VB=-2.00 V\n", + "VE=-1.80 V\n", + "IC=1.80 mA\n", + "VC=-8.40 V\n", + "VCE=-6.60 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=12#\n", + "RC=2*10**3#\n", + "RE=1*10**3#\n", + "R1=100*10**3#\n", + "R2=20*10**3#\n", + "B=100#\n", + "VBE=-0.2#\n", + "VB=-VCC*R2/(R1+R2)#\n", + "print 'VB=%0.2f V'%VB\n", + "VE=VB-VBE#\n", + "print 'VE=%0.2f V'%VE\n", + "IE=-VE/RE#\n", + "IC=IE#\n", + "print \"IC=%0.2f mA\"%(IC*10**3)\n", + "VC=-(VCC-IC*RC)#\n", + "print 'VC=%0.2f V'%VC\n", + "VCE=VC-(VE)#\n", + "print 'VCE=%0.2f V'%VCE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 18.28 Pg 428" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VB=-0.41 V\n", + "VE=-0.11 V\n", + "IC=0.40 mA\n", + "VRC=0.61 V\n", + "VC=-3.89 V\n", + "VCE=-3.78 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=4.5#\n", + "RC=1.5*10**3#\n", + "RE=0.27*10**3#\n", + "R2=2.7*10**3#\n", + "R1=27*10**3#\n", + "B=44#\n", + "VBE=-0.3#\n", + "VB=-VCC*R2/(R1+R2)#\n", + "print 'VB=%0.2f V'%VB\n", + "VE=VB-VBE#\n", + "print 'VE=%0.2f V'%VE\n", + "IE=-VE/RE#\n", + "IC=IE#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "VRC=IC*RC#\n", + "print 'VRC=%0.2f V'%VRC\n", + "VC=-(VCC-VRC)\n", + "print 'VC=%0.2f V'%VC\n", + "VCE=VC-(VE)#\n", + "print 'VCE=%0.2f V'%VCE" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap19_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap19_1.ipynb new file mode 100644 index 00000000..4d1188c0 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap19_1.ipynb @@ -0,0 +1,749 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 19 : SINGLE STAGE BJT AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.1 Pg 456" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=9.30 microA\n", + "Ic=0.93 mA\n", + "re=26.88 ohm\n", + "Ri=2.69 kohm\n", + "Ris=2.68 kohm\n", + "R0=10.00 kOhm\n", + "Av=372.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=10#\n", + "Rc=10*10**3#\n", + "Rb=1*10**6#\n", + "beta=100#\n", + "Vbe=0.7#\n", + "Ib=(Vcc-Vbe)/Rb#\n", + "print 'Ib=%0.2f microA'%(Ib*10**6)\n", + "Ic=beta*Ib#\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Ie=Ic#\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "Ri=beta*re#\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "Ris=(Rb*beta*re)/(Rb+beta*re)\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)\n", + "R0=Rc#\n", + "print 'R0=%0.2f kOhm'%(R0*10**-3)\n", + "Av=Rc/re#\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.2 Pg 458" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ib=2.00 microA\n", + "ic=100.00 microA\n", + "Ap=10000.00\n", + "Gp=40.00 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Ri=2.5*10**3#\n", + "Av=200#\n", + "Vs=5*10**-3#\n", + "beta=50#\n", + "ib=(Vs/Ri)\n", + "print 'ib=%0.2f microA'%(ib*10**6)\n", + "ic=beta*ib#\n", + "print 'ic=%0.2f microA'%(ic*10**6)\n", + "Ai=beta#\n", + "Ap=Ai*Av#\n", + "print \"Ap=%0.2f\"%Ap\n", + "Gp=10*log10(Ap)\n", + "print 'Gp=%0.2f dB'%Gp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.3 Pg 460" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=12.00 mA\n", + "re=2.08 ohm\n", + "Ri=150.31 kohm\n", + "rIS=60.05 kohm\n", + "Av=5.00\n", + "Gp=6.99 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Vcc=20#\n", + "Rc=5*10**3#\n", + "Re=1*10**3#\n", + "Rb=100*10**3#\n", + "beta=150#\n", + "Vbe=0.7\n", + "Ic=Vcc/(Re+(Rb/beta))\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Ie=Ic#\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "Ri=beta*(re+Re)\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "Ris=(Rb*Ri)/(Rb+Ri)\n", + "print 'rIS=%0.2f kohm'%(Ris*10**-3)\n", + "Av=Rc/Re#\n", + "print \"Av=%0.2f\"%Av\n", + "Gp=10*log10(Av)\n", + "print 'Gp=%0.2f dB'%Gp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.4 Pg 462" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=1.09 mA\n", + "re=22.92 ohm\n", + "Ri=1145.83 ohm\n", + "Ris=1143.21 ohm\n", + "Av=436.36\n", + "Av=10.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=12#\n", + "Rc=10*10**3#\n", + "Re=1*10**3#\n", + "Rb=500*10**3#\n", + "beta=50#\n", + "Ic=Vcc/(Re+(Rb/beta))\n", + "print 'Ic=%0.2f mA'%(Ic*10**3)\n", + "Ie=Ic#\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "Ri=beta*re#\n", + "print 'Ri=%0.2f ohm'%Ri\n", + "Ris=(Rb*Ri)/(Rb+Ri)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "R0=Rc#\n", + "Av=R0/re#\n", + "print \"Av=%0.2f\"%Av\n", + "Av=Rc/Re#\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.5 Pg 463" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vth=7.26 V\n", + "Rth=1.14e+04 ohm\n", + "IE=0.79 mA\n", + "re=31.48 ohm\n", + "rl=2.48 kohm\n", + "Av=78.83 \n", + "V0=394.14 mV\n", + "Ri=6.30 kohm\n", + "Ris=4.05 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=30#\n", + "Rc=10*10**3#\n", + "RL=3.3*10**3#\n", + "R1=47*10**3#\n", + "R2=15*10**3#\n", + "Re=8.2*10**3#\n", + "beta=200#\n", + "Vs=5*10**-3#\n", + "Vbe=0.7#\n", + "Vth=(Vcc*R2)/(R1+R2)\n", + "print 'Vth=%0.2f V'%Vth\n", + "Rth=(R1*R2)/(R1+R2)\n", + "print 'Rth=%0.2e ohm'%Rth\n", + "Ie=(Vth-Vbe)/(Re+(Rth/beta))\n", + "print 'IE=%0.2f mA'%(Ie*10**3)\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "rl=(Rc*RL)/(Rc+RL)\n", + "print 'rl=%0.2f kohm'%(rl*10**-3)\n", + "Av=rl/re#\n", + "print \"Av=%0.2f \"%Av\n", + "Vin=5#\n", + "V0=Av*Vin\n", + "print 'V0=%0.2f mV'%V0\n", + "Ri=beta*re#\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "Ris=(Rth*Ri)/(Rth+Ri)\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.6 Pg 465" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vth=1.67 V\n", + "Rth=8.33e+03 ohm\n", + "IE=0.83 mA\n", + "re=30.17 ohm\n", + "Ris=1277.37 ohm\n", + "rl=4.55 kohm\n", + "Av=150.65\n", + "Vin=6.80 mV\n", + "V0=1.03 mV\n", + "Avs=102.50\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=10#\n", + "Rc=5*10**3#\n", + "Re=1*10**3#0\n", + "RL=50*10**3#\n", + "R1=50*10**3#\n", + "R2=10*10**3#\n", + "Rs=600#\n", + "beta=50#\n", + "Vs=10*10**-3#\n", + "Vbe=0.7#\n", + "Vth=(Vcc*R2)/(R1+R2)\n", + "print 'Vth=%0.2f V'%Vth\n", + "Rth=(R1*R2)/(R1+R2)\n", + "print 'Rth=%0.2e ohm'%Rth\n", + "Ie=(Vth-Vbe)/(Re+(Rth/beta))\n", + "print 'IE=%0.2f mA'%(Ie*10**3)\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "Ri=beta*re#\n", + "Ris=(Rth*Ri)/(Rth+Ri)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "rl=(Rc*RL)/(Rc+RL)\n", + "print 'rl=%0.2f kohm'%(rl*10**-3)\n", + "Av=rl/re#\n", + "print \"Av=%0.2f\"%Av\n", + "Vin=(Vs*Ris)/(Ris+Rs)\n", + "print 'Vin=%0.2f mV'%(Vin*10**3)\n", + "V0=Av*Vin#\n", + "print 'V0=%0.2f mV'%V0\n", + "Avs=(Av*Vin)/Vs#\n", + "print \"Avs=%0.2f\"%Avs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.7 Pg 467" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vth=-3.13 V\n", + "Rth=6.78 kohm\n", + "IE=-2.35 mA\n", + "re1=12.78 ohm\n", + "Ris=3.19 kohm\n", + "re=1.77 kohm\n", + "Av=138.28\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=-18#\n", + "Rc=4.3*10**3#\n", + "Re=1*10**3#0\n", + "RL=3*10**3#\n", + "R1=39*10**3#\n", + "R2=8.2*10**3#\n", + "beta1=200#\n", + "Vbe=-0.7#\n", + "Vth=(Vcc*R2)/(R1+R2)\n", + "print 'Vth=%0.2f V'%Vth\n", + "Rth=(R1*R2)/(R1+R2)\n", + "print 'Rth=%0.2f kohm'%(Rth*10**-3)\n", + "Ie=(Vth-Vbe)/(Re+(Rth/beta1))\n", + "print 'IE=%0.2f mA'%(Ie*10**3)\n", + "re1=(30*10**-3)/(-Ie)\n", + "print 're1=%0.2f ohm'%re1\n", + "Ri=beta1*re#\n", + "Ris=(Rth*Ri)/(Rth+Ri)\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)\n", + "re=(Rc*RL)/(Rc+RL)\n", + "print 're=%0.2f kohm'%(re*10**-3)\n", + "Av=re/re1#\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.8 Pg 468" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vth=1.82 V\n", + "Rth=9.09 kohm\n", + "IE=1.02 mA\n", + "re=24.39 ohm\n", + "Ris=1923.08 ohm\n", + "Av=233.70\n", + "Vin=0.01 mV\n", + "V0=0.00 V\n", + "Avs=222.15\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=20#\n", + "Rc=5.7*10**3#\n", + "Re=1*10**3#\n", + "R1=100*10**3#\n", + "R2=10*10**3#\n", + "Rs=100#\n", + "beta1=100#\n", + "Vbe=0.7#\n", + "Vth=(Vcc*R2)/(R1+R2)\n", + "print 'Vth=%0.2f V'%Vth\n", + "Rth=(R1*R2)/(R1+R2)\n", + "print 'Rth=%0.2f kohm'%(Rth*10**-3)\n", + "Ie=(Vth-Vbe)/(Re+(Rth/beta1))\n", + "print 'IE=%0.2f mA'%(Ie*10**3)\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "Ri=beta1*re#\n", + "Ris=(Rth*Ri)/(Rth+Ri)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "rl=Rc#\n", + "Av=rl/re#\n", + "print \"Av=%0.2f\"%Av\n", + "Vin=(Vs*Ris)/(Ris+Rs)\n", + "print 'Vin=%0.2f mV'%Vin\n", + "V0=Av*Vin#\n", + "print 'V0=%0.2f V'%(V0*10**-3)\n", + "Avs=(Av*Vin)/Vs#\n", + "print \"Avs=%0.2f\"%Avs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.9 Pg 469" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vth=1.67 V\n", + "Rth=8.33e+00 ohm\n", + "RE=1000.00 ohm\n", + "Ie=0.83 mA\n", + "re=30.17 ohm\n", + "Ri=26.51 kohm\n", + "Ris=6340.21 ohm\n", + "rl=4.55 kohm\n", + "Av=8.57 \n", + "VinBYVs=0.91\n", + "Avs=7.83\n", + "V0=783.23 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=10#\n", + "Rc=5*10**3#\n", + "RE1=500#\n", + "R1=50*10**3#\n", + "R2=10*10**3#\n", + "Rs=600#\n", + "rE=500#\n", + "beta1=50#\n", + "Vbe=0.7#\n", + "vs=100*10**-3#\n", + "Rl=50*10**3#\n", + "Vth=(Vcc*R2)/(R1+R2)\n", + "print 'Vth=%0.2f V'%Vth\n", + "Rth=(R1*R2)/(R1+R2)\n", + "print 'Rth=%0.2e ohm'%(Rth*10**-3)\n", + "RE=RE1+rE#\n", + "print 'RE=%0.2f ohm'%RE\n", + "Ie=(Vth-Vbe)/(RE+(Rth/beta1))\n", + "print 'Ie=%0.2f mA'%(Ie*10**3)\n", + "re=25/(Ie*10**3)\n", + "print 're=%0.2f ohm'%re\n", + "Ri=beta1*(re+rE)\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "Ris=(Rth*Ri)/(Rth+Ri)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "rl=(Rc*Rl)/(Rc+Rl)\n", + "print 'rl=%0.2f kohm'%(rl*10**-3)\n", + "Av=rl/(re+rE)\n", + "print \"Av=%0.2f \"%Av\n", + "VinBYVs=(Ris)/(Ris+Rs)\n", + "print \"VinBYVs=%0.2f\"%VinBYVs\n", + "Avs=Av*VinBYVs#\n", + "print \"Avs=%0.2f\"%Avs\n", + "V0=Avs*vs#\n", + "print 'V0=%0.2f mV'%(V0*10**3) #answer printed in the book is wrong(variation in decimal point) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " ## Ex 19.10 Pg 470" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ris=53.62 ohm\n", + "Ai=0.98\n", + "Av=62.82\n", + "Ap=61.56\n", + "Gp=17.89 dB\n", + "Vo=628.21 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "\n", + "VS=10*10**-3#\n", + "a=0.98#\n", + "VBE=0.7#\n", + "VCC=10#\n", + "RC=10*10**3#\n", + "RL=5.1*10**3#\n", + "RE=20*10**3#\n", + "VEE=10#\n", + "IE=(VEE-VBE)/RE#\n", + "re=25/IE*10**-3#\n", + "Ri=re#\n", + "Ris=(RE*re)/(RE+re)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "Ai=a#\n", + "print \"Ai=%0.2f\"%Ai\n", + "rL=(RC*RL)/(RC+RL)\n", + "Av=rL/re#\n", + "print \"Av=%0.2f\"%Av\n", + "Ap=Av*Ai#\n", + "print \"Ap=%0.2f\"%Ap\n", + "Gp=10*log10(Ap)\n", + "print 'Gp=%0.2f dB'%Gp\n", + "Vin=VS#\n", + "Vo=Av*Vin#\n", + "print 'Vo=%0.2f mV'%(Vo*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.11 Pg 471" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Avs=32.56\n", + "Av=62.83\n", + "vin=5.18 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rs=50#\n", + "IE=0.465*10**-3#\n", + "re1=53.8#\n", + "Ri=53.8#\n", + "Ris=52.4#\n", + "rL=3.38*10**3#\n", + "Avs=rL/(Rs+re1)\n", + "print \"Avs=%0.2f\"%Avs\n", + "Av=rL/re1#\n", + "print \"Av=%0.2f\"%Av\n", + "Vs=10#\n", + "vo=Avs*Vs#\n", + "vin=vo/Av#\n", + "print 'vin=%0.2f mV'%vin" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.12 Pg 473" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri=501.61 kohm\n", + "Ro=32.26 ohm\n", + "Av=1.00 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VEE=10#\n", + "RE=10*10**3#\n", + "RB=100*10**3#\n", + "B=50#\n", + "VBE=0.7#\n", + "IE=(VEE-VBE)/(RE+(RB/B))\n", + "re=25/IE*10**-3#\n", + "Ri=B*(RE+re)\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "Ris=(RB*Ri)/(RB+Ri)\n", + "Rs=0#\n", + "Ro=re+((RB*Rs)/(RB+Rs))/B#\n", + "print 'Ro=%0.2f ohm'%Ro\n", + "Av=RE/(re+RE)\n", + "print \"Av=%0.2f \"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 19.13 Pg 475" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IE=0.82 mA\n", + "Ris=9.12 kohm\n", + "Ro=51.44 ohm\n", + "Vin=4.10 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "B=80#\n", + "VBE=0.7#\n", + "VCC=15#\n", + "R1=20*10**3#\n", + "R2=20*10**3#\n", + "RS=2*10**3#\n", + "VS=5*10**-3#\n", + "RE=8.2*10**3#\n", + "RL=1.5*10**3#\n", + "VTH=VCC*R2/(R1+R2)\n", + "RTH=(R1*R2)/(R1+R2)\n", + "IE=(VTH-VBE)/(RE+(RTH/B))\n", + "print 'IE=%0.2f mA'%(IE*10**3)\n", + "re=25/IE*10**-3#\n", + "rL=(RE*RL)/(RE+RL)\n", + "Ri=B*(rL+re)\n", + "Ris=(RTH*Ri)/(RTH+Ri)\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)\n", + "Ro=re+((RS*RTH)/(RS+RTH))/B#\n", + "print 'Ro=%0.2f ohm'%Ro\n", + "Vin=VS*Ris/(RS+Ris)\n", + "print 'Vin=%0.2f mV'%(Vin*10**3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap20_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap20_1.ipynb new file mode 100644 index 00000000..8176c9b7 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap20_1.ipynb @@ -0,0 +1,501 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 20 : HYBRID PARAMETERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.2 Pg 511" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ris=995.45 Ohm\n", + "Ro=10.26 kohm\n", + "Ros=911.16 ohm\n", + "Ais=-22.78\n", + "Avs=-22.78\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hie=1.0*10**3\n", + "hre=1*10**-4\n", + "hoe=100*10**-6\n", + "RC=1000\n", + "RS=1000\n", + "rL=RC\n", + "hfe=50\n", + "Ai=-hfe/(1+hoe*rL)\n", + "Ri=hie+hre*Ai*rL\n", + "Ris=Ri\n", + "print 'Ris=%0.2f Ohm'%Ris\n", + "delh=hie*hoe-hre*hfe\n", + "his=1000\n", + "Ro=(RS+his)/(RS*hoe+delh)\n", + "print 'Ro=%0.2f kohm'%(Ro*10**-3)\n", + "Ros=(Ro*rL)/(Ro+rL)\n", + "print 'Ros=%0.2f ohm'%Ros\n", + "Ais=(Ai*RS)/(RS+Ris)\n", + "print \"Ais=%0.2f\"%Ais\n", + "Av=(Ai*rL)/Ri\n", + "Avs=(Av*Ris)/(RS+Ris)\n", + "print \"Avs=%0.2f\"%Avs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.3 Pg 512" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ai=48.78 \n", + "Ri=1112.20 Ohm\n", + "Av=43.86 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hie=1.1*10**3\n", + "hre=2.5*10**-4\n", + "hfe=50\n", + "hoe=25*10**-6\n", + "rs=1*10**3\n", + "rL=1*10**3\n", + "Ai=hfe/(1+hoe*rL)\n", + "print \"Ai=%0.2f \"%Ai\n", + "Ri=hie+hre*Ai*rL\n", + "print 'Ri=%0.2f Ohm'%Ri\n", + "Av=(Ai*rL)/Ri\n", + "print \"Av=%0.2f \"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.4 Pg 513" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ris=197.38 ohm\n", + "Ros=3636.36 ohm\n", + "Avs=-3.20 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RC=4*10**3\n", + "RB=40*10**3\n", + "RS=10*10**3\n", + "hie=1100\n", + "hfe=50\n", + "hre=0\n", + "hoe=0\n", + "RB2=40*10**3\n", + "rL=(RC*RB2)/(RC+RB2)\n", + "Ai=-hfe/(1+hoe*rL)\n", + "Ri=hie+hre*Ai*rL\n", + "Av=(Ai*rL)/Ri\n", + "RB1=40*10**3/(1-Av)\n", + "Ris=(Ri*RB1)/(Ri+RB1)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "Ros=rL##Ro=infinity\n", + "print 'Ros=%0.2f ohm'%Ros\n", + "Avs=(Av*Ris)/(RS+Ris)\n", + "print \"Avs=%0.2f \"%Avs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.5 Pg 514" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ai=0.98\n", + "Ri=28.59 ohm\n", + "Ro=56.05 kohm\n", + "Av=41.12\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hib=28\n", + "hfb=-0.98\n", + "hrb=5*10**-4\n", + "hob=0.34*10**-6\n", + "rL=1.2*10**3\n", + "Rs=0\n", + "Ai=-hfb/(1+hob*rL)\n", + "print \"Ai=%0.2f\"%Ai\n", + "Ri=hib+hrb*Ai*rL\n", + "print 'Ri=%0.2f ohm'%Ri\n", + "delh=hib*hob-hrb*hfb\n", + "Ro=(Rs+hib)/(Rs*hib+delh)\n", + "print 'Ro=%0.2f kohm'%(Ro*10**-3)\n", + "Av=(Ai*rL)/Ri\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.6 Pg 515" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ai=45.33\n", + "Ri=228.67 kohm\n", + "Ris=4893.01 ohm\n", + "Ros=58.14 ohm\n", + "Aid=7.69\n", + "Av=0.99\n", + "Avs=0.82\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hic=2*10**3\n", + "hfc=-51\n", + "hrc=1\n", + "hoc=25*10**-6\n", + "rL=5*10**3\n", + "RE=5*10**3\n", + "Rs=1000\n", + "R1=10*10**3\n", + "R2=10*10**3\n", + "Ai=-hfc/(1+hoc*rL)\n", + "print \"Ai=%0.2f\"%Ai\n", + "Ri=hic+hrc*Ai*rL\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "a=(R1*R2)/(R1+R2)\n", + "Ris=(Ri*a)/(Ri+a)\n", + "print 'Ris=%0.2f ohm'%Ris\n", + "Ro=-(Rs+hic)/hfc\n", + "Ros=(Ro*RE)/(Ro+RE)\n", + "print 'Ros=%0.2f ohm'%Ros\n", + "Ais=(Ai*Rs)/(Rs+Ris)\n", + "print \"Aid=%0.2f\"%Ais\n", + "Av=(Ai*rL)/Ri\n", + "print \"Av=%0.2f\"%Av\n", + "Avs=(Av*Ris)/(Rs+Ris)\n", + "print \"Avs=%0.2f\"%Avs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.7 Pg 516" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ris=1.22 kohm\n", + "Ros=3.12 kohm\n", + "Avs=-111.11\n", + "Ais=-50.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hie=1500\n", + "hfe=50\n", + "hre=50*10**-4\n", + "hoe=20*10**-6\n", + "RC=5*10**3\n", + "RL=10*10**3\n", + "R1=20*10**3\n", + "R2=10*10**3\n", + "rL=(RC*RL)/(RC+RL)\n", + "Ai=-hfe\n", + "Ri=hie\n", + "a=(R1*R2)/(R1+R2)\n", + "Ris=(Ri*a)/(Ri+a)\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)\n", + "Ro=1/hoe\n", + "Ros=(Ro*rL)/(Ro+rL)##correction \n", + "print 'Ros=%0.2f kohm'%(Ros*10**-3)\n", + "Avs=(Ai*rL)/Ri\n", + "print \"Avs=%0.2f\"%Avs\n", + "Ais=Ai##correction\n", + "print \"Ais=%0.2f\"%Ais" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.8 Pg 517" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hie=2.24 kohm\n", + "hfe=156.52 ohm\n", + "Ris=1.45 kohm\n", + "Avs=236.41\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "RC=12*10**3#\n", + "RL=4.7*10**3#\n", + "R1=33*10**3#\n", + "R2=4.7*10**3#\n", + "IC=1*10**-3#\n", + "hiemin=1*10**3#\n", + "hiemax=5*10**3#\n", + "hfemin=70#\n", + "hfemax=350#\n", + "hie=sqrt(hiemin*hiemax)#\n", + "print 'hie=%0.2f kohm'%(hie*10**-3)\n", + "hfe=sqrt(hfemin*hfemax)#\n", + "print 'hfe=%0.2f ohm'%hfe ##answer printed in the book is wrong\n", + "Ri=hie#\n", + "a=(R1*R2)/(R1+R2)#\n", + "Ris=(Ri*a)/(Ri+a)#\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)\n", + "Ai=hfe#\n", + "rc=(RC*RL)/(RC+RL)#\n", + "Avs=(Ai*rc)/Ri#\n", + "print \"Avs=%0.2f\"%Avs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.9 Pg 518" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ris=1.17 kohm\n", + "Ros=2.56 kohm\n", + "Ai=120.00\n", + "Av=275.74\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RB=330*10**3\n", + "RC=2.7*10**3\n", + "hfe=120\n", + "hie=1.175*10**3\n", + "hoe=20*10**-6\n", + "Ri=hie\n", + "Ris=(hie*RB)/(hie+RB)\n", + "print 'Ris=%0.2f kohm'%(Ris*10**-3)\n", + "Ro=1/hoe\n", + "Ros=(Ro*RC)/(Ro+RC)\n", + "print 'Ros=%0.2f kohm'%(Ros*10**-3)\n", + "Ai=hfe\n", + "print \"Ai=%0.2f\"%Ai\n", + "Av=(hfe*RC)/Ri\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.10 Pg 519" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hfb=-0.98\n", + "hfc=-51.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hfe=50\n", + "hfb=-hfe/(1+hfe)\n", + "print \"hfb=%0.2f\"%hfb\n", + "hfc=-(1+hfe)\n", + "print \"hfc=%0.2f\"%hfc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 20.11 Pg 520" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ai=-41.13\n", + "Ri=412.29 kohm\n", + "Av=1.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hie=1100\n", + "hre=2.5*10**-4\n", + "hfe=50\n", + "hoe=24*10**-6\n", + "rL=10*10**3\n", + "RS=1*10**3\n", + "hic=hie\n", + "hrc=1-hre\n", + "hfc=-(1+hfe)\n", + "Ai=hfc/(1+hoe*rL)\n", + "print \"Ai=%0.2f\"%Ai\n", + "Ri=hie+hrc*-Ai*rL\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "Av=(-Ai*rL)/Ri\n", + "print \"Av=%0.2f\"%Av" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap21_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap21_1.ipynb new file mode 100644 index 00000000..56603bf0 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap21_1.ipynb @@ -0,0 +1,495 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 21 : MULTISTAGE BJT AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.1 Pg 565" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=8000.00\n", + "GV=78.06 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Av1=10#\n", + "Av2=20#\n", + "Av3=40#\n", + "Av=Av1*Av2*Av3#\n", + "print \"Av=%0.2f\"%Av\n", + "GV1=20*log10(Av1)#\n", + "GV2=20*log10(Av2)#\n", + "GV3=20*log10(Av3)#\n", + "GV=GV1+GV2+GV3##CORRECTION\n", + "print 'GV=%0.2f dB'%GV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.2 Pg 565" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=3000.00\n", + "Av3=10.00\n", + "Av2=15.00\n", + "vin2=1.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "vin1=0.05#\n", + "vout3=150#\n", + "Av1=20#\n", + "vin3=15#\n", + "Av=vout3/vin1#\n", + "print \"Av=%0.2f\"%Av\n", + "Av3=vout3/vin3#\n", + "print \"Av3=%0.2f\"%Av3\n", + "Av2=Av/(Av3*Av1)#\n", + "print \"Av2=%0.2f\"%Av2\n", + "vin2=Av2/vin3#\n", + "print 'vin2=%0.2f V'%vin2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.3 Pg 566" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri1=2750.00 ohm\n", + "Ri2=2750.00 ohm\n", + "Ro1=1774.19 ohm\n", + "Ro2=3333.33 ohm\n", + "Av1=64.52\n", + "Av2=121.21\n", + "Av=7820.14\n", + "Gv=77.86 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "VCC=10#\n", + "Rc=5*10**3#\n", + "RB=1*10**6#\n", + "RE=1*10**3#\n", + "RL=10*10**3#\n", + "B1=100#\n", + "B2=100#\n", + "B=B1#\n", + "IE=VCC/(RE+(RB/B1))#\n", + "re=25/(IE*10**3)#\n", + "Ri1=B*re#\n", + "print 'Ri1=%0.2f ohm'%Ri1\n", + "Ri2=B*re#\n", + "print 'Ri2=%0.2f ohm'%Ri2\n", + "Ro1=(Rc*Ri2)/(Rc+Ri2)#\n", + "print 'Ro1=%0.2f ohm'%Ro1\n", + "Ro2=(Rc*RL)/(Rc+RL)#\n", + "print 'Ro2=%0.2f ohm'%Ro2\n", + "Av1=Ro1/re#\n", + "print \"Av1=%0.2f\"%Av1\n", + "Av2=Ro2/re#\n", + "print \"Av2=%0.2f\"%Av2\n", + "Av=Av1*Av2#\n", + "print \"Av=%0.2f\"%Av\n", + "Gv=20*log10(Av)#\n", + "print 'Gv=%0.2f dB'%Gv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.4 Pg 567" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri1=1165.73 ohm\n", + "Ro1=861.43 ohm\n", + "Ro2=2481.20 ohm\n", + "Av1=73.90\n", + "Av2=212.85\n", + "Av=15728.47\n", + "Gv=83.93 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "VCC=15#\n", + "Rc=3.3*10**3#\n", + "RE=1000#\n", + "R1=33*10**3#\n", + "R2=8.2*10**3#\n", + "RL=10*10**3#\n", + "B=100#\n", + "VBE=0.7#\n", + "VTH=VCC*(R2/(R1+R2))#\n", + "RTH=(R1*R2)/(R1+R2)#\n", + "IE=(VTH-VBE)/(RE+(RTH/B))#\n", + "re=25/(IE*10**3)#\n", + "Ri2=B*re#\n", + "print 'Ri1=%0.2f ohm'%Ri2 #the answer of Ri2 varies from the answer printed in the book with slight difference(11.7 in book & 11.65 here),but this affects some answers further.\n", + "Ro1=(Rc*Ri2)/(Rc+Ri2)#\n", + "print 'Ro1=%0.2f ohm'%Ro1 \n", + "Ro2=(Rc*RL)/(Rc+RL)#\n", + "print 'Ro2=%0.2f ohm'%Ro2 \n", + "Av1=Ro1/re#\n", + "print \"Av1=%0.2f\"%Av1\n", + "Av2=Ro2/re#\n", + "print \"Av2=%0.2f\"%Av2\n", + "Av=Av1*Av2#\n", + "print \"Av=%0.2f\"%Av\n", + "Gv=20*log10(Av)#\n", + "print 'Gv=%0.2f dB'%Gv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.5 Pg 568" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f2=500.03 kHZ\n", + "Av=84.85\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "bw=500*10**3#\n", + "Avmax=120#\n", + "f1=25#\n", + "f2=bw+f1#\n", + "print 'f2=%0.2f kHZ'%(f2*10**-3)\n", + "Av=Avmax/(sqrt(2))\n", + "print \"Av=%0.2f\"%Av #ans printed in the book is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.6 Pg 569" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri1=1296.41 ohm\n", + "Ri2=1296.41 ohm\n", + "Av1=797.79\n", + "Av2=615.38\n", + "Av=490949.75\n", + "Gv=113.82 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "VCC=10#\n", + "RB=470*10**3#\n", + "RE=1*10**3#\n", + "RL=1*10**3#\n", + "a=4#\n", + "B=50#\n", + "IE=VCC/(RE+(RB/B))#\n", + "re=25/(IE*10**3)#\n", + "Ri1=(RB*(B*re))/(RB+(B*re))#\n", + "print 'Ri1=%0.2f ohm'%Ri1\n", + "Ri2=(RB*(B*re))/(RB+(B*re))#\n", + "print 'Ri2=%0.2f ohm'%Ri2\n", + "RI2=(a**2)*Ri2#\n", + "RO1=RI2#\n", + "RI2=(a**2)*RL#\n", + "Av1=RO1/re#\n", + "print \"Av1=%0.2f\"%Av1\n", + "RO2=RI2#\n", + "Av2=RO2/re#\n", + "print \"Av2=%0.2f\"%Av2\n", + "Av=Av1*Av2#\n", + "print \"Av=%0.2f\"%Av\n", + "Gv=20*log10(Av)#\n", + "print 'Gv=%0.2f dB'%Gv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.7 Pg 570" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av1=4.71\n", + "Av2=4.94\n", + "Av=23.24\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=12#\n", + "R1=100*10**3#\n", + "R2=20*10**3#\n", + "R3=10*10**3#\n", + "R4=2*10**3#\n", + "R5=10*10**3#\n", + "R6=2*10**3#\n", + "B=100#\n", + "B2=100#\n", + "VTH=VCC*(R2/(R1+R2))#\n", + "IE1=VTH/R4#\n", + "re1=25/IE1*10**-3#\n", + "VR6=VCC-IE1*R3#\n", + "IE2=VR6/R6#\n", + "re2=25/IE2*10**-3#\n", + "Ri2=B2*(re2+R6)#\n", + "R01=(R3*Ri2)/(R3+Ri2)#\n", + "RO2=R5#\n", + "Av1=R01/(re1+R4)#\n", + "print \"Av1=%0.2f\"%Av1\n", + "Av2=RO2/(re2+R6)#\n", + "print \"Av2=%0.2f\"%Av2\n", + "Av=Av1*Av2#\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.8 Pg 571" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IC1=07 mA\n", + "VCE1=4.80 V\n", + "VCE2=-6.48 V\n", + "Av1=2.93 \n", + "Av2=1.00 \n", + "Av=2.93 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=10#\n", + "R1=800#\n", + "R2=200#\n", + "R3=600#\n", + "R4=200#\n", + "R5=100#\n", + "R6=1*10**3#\n", + "B=100#\n", + "B2=B#\n", + "VBE=0.7#\n", + "RE=200#\n", + "VR2=VCC*(R2/(R1+R2))#\n", + "IE1=(VR2-VBE)/RE#\n", + "IC1=IE1#\n", + "print 'IC1=%02.f mA'%(IC1*10**3)\n", + "VC1=VCC-IC1*R3#\n", + "VE1=IE1*R4#\n", + "VCE1=VC1-VE1#\n", + "print 'VCE1=%0.2f V'%VCE1\n", + "VE2=VC1-(-VBE)#\n", + "IE2=(VCC-VE2)/R6#\n", + "IC2=IE2#\n", + "VC2=IC2*R5#\n", + "VCE2=VC2-VE2#\n", + "print 'VCE2=%0.2f V'%VCE2\n", + "re1=25/IE1*10**-3#\n", + "re2=25/IE2*10**-3#\n", + "Ri2=B2*(re2+R6)#\n", + "R01=(R3*Ri2)/(R3+Ri2)#\n", + "Av1=R01/(re1+R4)#\n", + "print \"Av1=%0.2f \"%Av1\n", + "Av2=1#\n", + "print \"Av2=%0.2f \"%Av2\n", + "Av=Av1*Av2#\n", + "print \"Av=%0.2f \"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 21.9 Pg 572" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ai=15000.00\n", + "re2=14.42 ohm\n", + "re1=1442.31 ohm\n", + "Ri1=12.00 kohm\n", + "Av=0.98 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=10#\n", + "R1=30*10**3#\n", + "R2=20*10**3#\n", + "RE=1.5*10**3#\n", + "B1=150#\n", + "B2=100#\n", + "VBE=0.7#\n", + "Ai=B1*B2#\n", + "print \"Ai=%0.2f\"%Ai\n", + "VR2=VCC*(R2/(R1+R2))#\n", + "VB2=VR2-VBE#\n", + "VE2=VB2-VBE#\n", + "IE2=VE2/RE#\n", + "re2=25/(IE2*10**3)#\n", + "print 're2=%0.2f ohm'%re2\n", + "Ib2=IE2/B2#\n", + "IE1=Ib2#\n", + "re1=25/(IE1*10**3)#\n", + "print 're1=%0.2f ohm'%re1\n", + "Ri1=(R1*R2)/(R1+R2)#\n", + "print 'Ri1=%0.2f kohm'%(Ri1*10**-3)\n", + "Av=RE/((re1/B2)+(re2+RE))#\n", + "print \"Av=%0.2f \"%Av" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap22_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap22_1.ipynb new file mode 100644 index 00000000..d28c4e5e --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap22_1.ipynb @@ -0,0 +1,763 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 22 : FET AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.1 Pg 601" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VS=2.50 V\n", + "VD=5.00 V\n", + "VDS=2.50 V\n", + "VGS=-2.50 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "ID=5*10**-3#\n", + "VDD=10#\n", + "RD=1*10**3#\n", + "RS=500#\n", + "VS=ID*RS#\n", + "print 'VS=%0.2f V'%VS\n", + "VD=VDD-ID*RD#\n", + "print 'VD=%0.2f V'%VD\n", + "VDS=VD-VS#\n", + "print 'VDS=%0.2f V'%VDS\n", + "VGS=-VS#\n", + "print 'VGS=%0.2f V'%VGS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.2 Pg 602" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID=0.18 mA\n", + "VGS=-0.98 V\n", + "R1=1.50 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "RD=56*10**3#\n", + "RG=1*10**6#\n", + "IDSS=1.5*10**-3#\n", + "VP=-1.5#\n", + "VD=10#\n", + "VDD=20#\n", + "ID=VD/RD#\n", + "print 'ID=%0.2f mA'%(ID*10**3)\n", + "#ID=IDSS*(1-(VGS/VP))**2\n", + "VGS=VP*(1-sqrt(ID/IDSS))#\n", + "print 'VGS=%0.2f V'%VGS\n", + "VS=VGS#\n", + "R1=(-VS/ID)-4*10**3#\n", + "print 'R1=%0.2f kohm'%(R1*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.3 Pg 603" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RS=933.33 ohm\n", + "RD=5.73 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "ID=1.5*10**-3#\n", + "VDS=10#\n", + "IDSS=5*10**-3#\n", + "VP=-2#\n", + "VDD=20#\n", + "#ID=IDSS*(1-(VGS/VP))**2\n", + "VGS=VP*(1-(ID/IDSS))#\n", + "VS=-VGS#\n", + "RS=(VS/ID)#\n", + "print 'RS=%0.2f ohm'%RS\n", + "RD=((VDD-VDS)/ID)-RS#\n", + "print 'RD=%0.2f kohm'%(RD*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.5 Pg 604" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RS=528.31 ohm\n", + "RD=1.50 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "VP=5#\n", + "IDSS=12*10**-3#\n", + "VDD=12#\n", + "ID=4*10**-3#\n", + "VDS=6#\n", + "VGS=VP*(1-sqrt(ID/IDSS))#\n", + "VS=VGS#\n", + "RS=VS/ID#\n", + "print 'RS=%0.2f ohm'%RS\n", + "RD=VDS/ID#\n", + "print 'RD=%0.2f kohm'%(RD*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.6 Pg 605" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IDQ=5.00 mA\n", + "VDS=10.00 V\n", + "RD=2.00 kohm\n", + "RS=440.00 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "IDSS=10*10**-3#\n", + "VDD=20#\n", + "IDQ=IDSS/2#\n", + "print 'IDQ=%0.2f mA'%(IDQ*10**3)\n", + "VDSQ=VDD/2#\n", + "print 'VDS=%0.2f V'%VDSQ\n", + "VGS=-2.2#\n", + "RD=(VDD-VDSQ)/IDQ#\n", + "print 'RD=%0.2f kohm'%(RD*10**-3)\n", + "RS=-VGS/IDQ#\n", + "print 'RS=%0.2f ohm'%(RS)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.7 Pg 606" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VGS=-3.78 V\n", + "VDS=4.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VDD=20#\n", + "RD=2.5*10**3#\n", + "RS=1.5*10**3#\n", + "R1=2*10**6#\n", + "R2=250*10**3#\n", + "ID=4*10**-3#\n", + "VG=(R2*VDD)/(R1+R2)#\n", + "VS=ID*RS#\n", + "VGS=VG-VS#\n", + "print 'VGS=%0.2f V'%VGS\n", + "VD=VDD-ID*RD#\n", + "VDS=VD-VS#\n", + "print 'VDS=%0.2f V'%VDS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.8 Pg 607" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=-6.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=4*10**-3#\n", + "RD=1.5*10**3#\n", + "AV=-gm*RD#\n", + "print \"Av=%0.2f\"%AV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.9 Pg 608" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rL=9.80e+03 ohm\n", + "Av=-24.51\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=2.5*10**-3#\n", + "rd=500*10**3#\n", + "RD=10*10**3#\n", + "rL=(RD*rd)/(rd+RD)#\n", + "print 'rL=%0.2e ohm'%rL\n", + "AV=-gm*rL#\n", + "print \"Av=%0.2f\"%AV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.10 Pg 608" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=-26.67\n", + "Ri=100.00 Mohm\n", + "Ro=13.33 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=2*10**-3#\n", + "rd=40*10**3#\n", + "RD=20*10**3#\n", + "RG=100*10**6#\n", + "rL=(RD*rd)/(RD+rd)#\n", + "Av=-gm*rL#\n", + "print \"Av=%0.2f\"%Av\n", + "Ri=RG#\n", + "print 'Ri=%0.2f Mohm'%(Ri*10**-6)\n", + "Ro=rL#\n", + "print 'Ro=%0.2f kohm'%(Ro*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.11 Pg 609" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=-16.67\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 22.11\n", + "gm=2*10**-3#\n", + "rd=10*10**3#\n", + "RD=50*10**3#\n", + "rl=(rd*RD)/(rd+RD)#\n", + "Av=-gm*rl#\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.12 Pg 610" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=-48.89\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RD=100*10**3#\n", + "gm=1.6*10**-3#\n", + "rd=44*10**3#\n", + "Cgs=3*10**-12#\n", + "Cds=1*10**-12#\n", + "Cgd=2.8*10**-12#\n", + "rl=(RD*rd)/(RD+rd)#\n", + "Av=-gm*rl#\n", + "print \"Av=%0.2f\"%Av" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.13 Pg 610" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VO=0.84 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=4500*10**-6#\n", + "RD=3*10**3#\n", + "RL=5*10**3#\n", + "vin=100*10**-3#\n", + "ID=2*10**-3#\n", + "rl=(RD*RL)/(RD+RL)#\n", + "VO=gm*rl*vin#\n", + "print 'VO=%0.2f V'%VO" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.14 Pg 611" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=-2.00\n", + "Av=-1.97\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 22.14#\n", + "gm=4*10**-3#\n", + "RD=1.5*10**3#\n", + "RG=10*10**6#\n", + "rs=500#\n", + "rl=RD#\n", + "AV=-(gm*rl)/(1+gm*rs)#\n", + "print \"Av=%0.2f\"%AV\n", + "RL=100*10**3#\n", + "rL=(RD*RL)/(RD+RL)#\n", + "AV=-(gm*rL)/(1+gm*rs)#\n", + "print \"Av=%0.2f\"%AV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.15 Pg 612" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=-1.35\n", + "Av=-4.16\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RD=1.5*10**3#\n", + "RS=750#\n", + "RG=1*10**6#\n", + "IDSS=10*10**-3#\n", + "VP=-3.5#\n", + "IDQ=2.3*10**-3#\n", + "VGSQ=-1.8#\n", + "gmo=-2*IDSS/VP#\n", + "gm=gmo*(1-(VGSQ/VP))#\n", + "rL=RD#\n", + "AV=-(gm*rL)/(1+gm*RS)#\n", + "print \"Av=%0.2f\"%AV\n", + "AV=-gm*rL#\n", + "print \"Av=%0.2f\"%AV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.16 Pg 614" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AV=0.99\n", + "Ro=125.00 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=8000*10**-6#\n", + "RS=10*10**3#\n", + "RG=100*10**6#\n", + "(1/gm)#\n", + "AV=RS/(RS+(1/gm))#\n", + "print \"AV=%0.2f\"%AV\n", + "Ri=RG#\n", + "Ro=1/gm#\n", + "print 'Ro=%0.2f ohm'%Ro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.17 Pg 616" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AV=0.96 \n", + "Ri=0.50 Mohm\n", + "Ro=175.44 ohm\n", + "Vo=1.77 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "vin=2*10**-3#\n", + "gm=5500*10**-6#\n", + "R1=1*10**6#\n", + "R2=1*10**6#\n", + "RS=5000#\n", + "RL=2000#\n", + "(1/gm)#\n", + "AV=RS/(RS+(1/gm))#\n", + "print \"AV=%0.2f \"%AV\n", + "Ri=(R1*R2)/(R1+R2)#\n", + "print 'Ri=%0.2f Mohm'%(Ri*10**-6)\n", + "Ro=(RS/gm)/(RS+1/gm)#\n", + "print 'Ro=%0.2f ohm'%Ro\n", + "Vo=(RL/(RL+Ro))*(AV*vin)#\n", + "print 'Vo=%0.2f mV'%(Vo*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.18 Pg 618" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AV=25.00 \n", + "Ri1=333.33 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=2500*10**-6#\n", + "Ri=2000#\n", + "RD=10000#\n", + "AV=gm*RD#\n", + "print \"AV=%0.2f \"%AV\n", + "Ri1=(Ri/gm)/(Ri+1/gm)#\n", + "print 'Ri1=%0.2f ohm'%Ri1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.19 Pg 618" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ro=333.33 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "gm=2*10**-3#\n", + "rd=50*10**3#\n", + "Rs=1*10**3#\n", + "Ro=(Rs/gm)/(Rs+1/gm)#\n", + "print 'Ro=%0.2f ohm'%Ro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 22.20 Pg 619" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri1=100.00 ohm\n", + "Vs=1.00 V\n", + "Av=3.75 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 22.20\n", + "gmo=5*10**-3#\n", + "RD=1*10**3#\n", + "Rs=200#\n", + "ID=5*10**-3#\n", + "Ri1=(Rs/gmo)/(Rs+1/gmo)#\n", + "print 'Ri1=%0.2f ohm'%Ri1\n", + "Vs=ID*Rs#\n", + "print 'Vs=%0.2f V'%Vs\n", + "VGS=Vs#\n", + "IDSS=2*ID#\n", + "VGSo=(-2*IDSS)/ID#\n", + "gm=gmo*(1-VGS/-VGSo)#\n", + "Av=gm*RD#\n", + "print \"Av=%0.2f \"%Av" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap23_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap23_1.ipynb new file mode 100644 index 00000000..34612b3b --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap23_1.ipynb @@ -0,0 +1,628 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter -23 : AMPLIFIERS WITH COMPOUND CONFIGURATION" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.1 Pg 644" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=26.12\n", + "vo=522.35 mV\n", + "Zi=RG=10.00 Mohm\n", + "Z0=RD=2.20 kohm\n", + "VL=428.15 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "ID=4*10**-3#\n", + "IDSS=2*ID#\n", + "RS=390#\n", + "VGSQ=-ID*RS#\n", + "VP=-4.5#\n", + "RD=2.2*10**3#\n", + "gm0=(2*IDSS)/(-VP)#\n", + "gm=gm0*(1-(VGSQ/VP))#\n", + "Av1=-gm*RD#\n", + "Av2=-gm*RD#\n", + "Av=Av1*Av2#\n", + "print \"Av=%0.2f\"%Av\n", + "vi=20*10**-3#\n", + "vo=Av*vi#\n", + "print 'vo=%0.2f mV'%(vo*10**3)\n", + "Zi=10*10**6#\n", + "RG=10*10**6#\n", + "print \"Zi=RG=%0.2f Mohm\"%(Zi*10**-6)\n", + "Z0=2.2*10**3#\n", + "RD=2.2*10**3#\n", + "print \"Z0=RD=%0.2f\"%(Z0*10**-3),'kohm'\n", + "RL=10*10**3#\n", + "VL=(RL/(Z0+RL))*vo#\n", + "print 'VL=%0.2f V'%(VL*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.3 Pg 645" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VB1=10.33 V\n", + "VB2=3.99 V\n", + "AV=189.73\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=18#\n", + "R1=7.5*10**3#\n", + "R2=6.2*10**3#\n", + "R3=3.9*10**3#\n", + "RC=1.5*10**3#\n", + "B1=200#\n", + "B2=200#\n", + "RE=1*10**3#\n", + "CE=100*10**-6#\n", + "VB1=VCC*(R2+R3)/(R1+R2+R3)#\n", + "print 'VB1=%0.2f V'%VB1\n", + "VB2=VCC*(R3)/(R1+R2+R3)#\n", + "print 'VB2=%0.2f V'%VB2\n", + "IE2=(VB2-0.7)/RE#\n", + "IC2=IE2#\n", + "IE1=IC2#\n", + "IE=IE1#\n", + "re1=26*10**-3/IE#\n", + "AV1=-re1/re1#\n", + "AV2=-RC/re1#\n", + "AV=AV1*AV2#\n", + "print \"AV=%0.2f\"%AV ##ans given in book has -ve sign which is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.4 Pg 646" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BD=25600.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "B1=160#\n", + "B2=160#\n", + "BD=B1*B2#\n", + "print \"BD=%0.2f\"%(BD)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.5 Pg 647" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "B=77.46\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "BD=6000#\n", + "B1=BD#\n", + "B2=B1#\n", + "B=sqrt(BD)#\n", + "print \"B=%0.2f\"%(B)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.6 Pg 647" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IB=2.45 microA\n", + "IE=14.73 mA\n", + "VE2=7.51 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vcc=15#\n", + "RB=2.4*10**6#\n", + "BD=6000#\n", + "RE=510#\n", + "Vi=120*10**-3#\n", + "VBE=1.6#\n", + "IB=(Vcc-VBE)/(RB+BD*RE)#\n", + "print 'IB=%0.2f microA'%(IB*10**6)\n", + "IE=BD*IB#\n", + "print 'IE=%0.2f mA'%(IE*10**3)\n", + "IE2=IE\n", + "VE2=IE2*RE#\n", + "print 'VE2=%0.2f V'%VE2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.7 Pg 648" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri=10.00 Mohm\n", + "Ro=0.10 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hfe=100#\n", + "B=100#\n", + "BD=100**2#\n", + "RE=1*10**3#\n", + "hie=1*10**3#\n", + "ri=10**3#\n", + "Ri=ri+BD*RE#\n", + "print 'Ri=%0.2f Mohm'%(Ri*10**-6)\n", + "Ro=ri/BD#\n", + "print 'Ro=%0.2f ohm'%Ro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.8 Pg 649" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vidc=4.83 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=16#\n", + "B1=160#\n", + "B2=200#\n", + "RB=1.5*10**6#\n", + "Vi=120*10**-3#\n", + "VEB1=0.7#\n", + "RC=100#\n", + "IB1=(VCC-VEB1)/(RB+B1*B2*RC)#\n", + "IB2=B1*IB1#\n", + "IC2=B2*IB2#\n", + "IE1=IB2#\n", + "IC=IE1+IC2#\n", + "Vodc=VCC-IC*RC#\n", + "VBE=0.7#\n", + "Vidc=Vodc-VBE#\n", + "print 'Vidc=%0.2f V'%Vidc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.9 Pg 650" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID=6.00 mA\n", + "Vo=6.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VDD=18#\n", + "RD=2*10**3#\n", + "IDSS=6*10**-3#\n", + "VP=-3#\n", + "ID=IDSS#\n", + "print 'ID=%0.2f mA'%(ID*10**3)\n", + "Vo=VDD-ID*RD#\n", + "print 'Vo=%0.2f V'%Vo" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.10 Pg 650" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IE=4.61 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VEE=-18#\n", + "R1=4.3*10**3#\n", + "R2=4.3*10**3#\n", + "RE=1.8*10**3#\n", + "B=100#\n", + "VB=-(-VEE*R2)/(R1+R2)#\n", + "VE=VB-0.7\n", + "IE=(VE-(VEE))/RE#\n", + "print 'IE=%0.2f mA'%(IE*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.11 Pg 651" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I=3.67 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VZ=5.1#\n", + "VBE=0.7#\n", + "RE=1.2*10**3#\n", + "B=200#\n", + "I=(VZ-VBE)/RE#\n", + "print 'I=%0.2f mA'%(I*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.12 Pg 652" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I=8.65 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=18#\n", + "Rx=2*10**3#\n", + "VBE=0.7#\n", + "Ix=(VCC-VBE)/Rx#\n", + "I=Ix#\n", + "print 'I=%0.2f mA'%(I*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.13 Pg 653" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I=2.30 mA\n", + "I=4.60 mA\n", + "I=1.15 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VC=5#\n", + "Re=2*10**3#\n", + "VCC=6#\n", + "R=2.2*10**3#\n", + "VBE=0.7#\n", + "B=100#\n", + "I=(VCC-2*VBE)/Re#\n", + "print 'I=%0.2f mA'%(I*10**3)\n", + "Re=1*10**3#\n", + "I=(VCC-2*VBE)/Re#\n", + "print 'I=%0.2f mA'%(I*10**3)\n", + "Re=4*10**3#\n", + "I=(VCC-2*VBE)/Re#\n", + "print 'I=%0.2f mA'%(I*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.14 Pg 654" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IE=3.67 mA\n", + "IC=1.83 mA\n", + "VC=6.38 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=15#\n", + "VEE=15#\n", + "RE=3.9*10**3#\n", + "RC=4.7*10**3#\n", + "IE=(VEE-0.7)/RE#\n", + "print 'IE=%0.2f mA'%(IE*10**3)\n", + "IC=IE/2#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "VC=VCC-IC*RC#\n", + "print 'VC=%0.2f V'%VC" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.15 Pg 655" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IE=0.34 mA\n", + "IC=0.17 mA\n", + "VC=5.84 V\n", + "Av=246.55\n", + "vo1=0.49 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=12#\n", + "VEE=12#\n", + "RE=33*10**3#\n", + "RC1=36*10**3#\n", + "RC2=36*10**3#\n", + "B1=150#\n", + "B2=150#\n", + "vi1=2*10**-3#\n", + "IE=(VEE-0.7)/RE#\n", + "print 'IE=%0.2f mA'%(IE*10**3)\n", + "IC=IE/2#\n", + "print 'IC=%0.2f mA'%(IC*10**3)\n", + "RC=36*10**3#\n", + "VC=VCC-IC*RC#\n", + "print 'VC=%0.2f V'%VC\n", + "re1=25*10**-3/IE#\n", + "Av=RC/(2*re1)#\n", + "print \"Av=%0.2f\"%Av\n", + "vo1=Av*vi1#\n", + "print 'vo1=%0.2f V'%vo1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 23.16 Pg 656" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ac=0.50\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "B=200#\n", + "ri=20*10**3#\n", + "RC=47*10**3#\n", + "RE=43*10**3#\n", + "Ac=(B*RE)/(ri+2*(B+1)*RE)#\n", + "print \"Ac=%0.2f\"%Ac" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap24_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap24_1.ipynb new file mode 100644 index 00000000..a313e56d --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap24_1.ipynb @@ -0,0 +1,316 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter -24 : FREQUENCY RESPONSE OF BJT AND JFET AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 24.1 Pg 685" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G=13.01 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Pi=5#\n", + "Po=100#\n", + "G=10*log10(Po/Pi)#\n", + "print 'G=%0.2f dB'%G" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 24.2 Pg 685" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G=23.01 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Pi=5*10**-3#\n", + "Po=1#\n", + "G=10*log10(Po/Pi)#\n", + "print 'G=%0.2f dB'%G #ans given in the book is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 24.3 Pg 686" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G=6.99 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Pi=20*10**-6#\n", + "Po=100*10**-6#\n", + "G=10*log10(Po/Pi)#\n", + "print 'G=%0.2f dB'%G" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 24.4 Pg 687" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G=43.98 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Po=25#\n", + "G=10*log10(Po/(1*10**-3))#\n", + "print 'G=%0.2f dB'%G" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 24.5 Pg 688" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G=6.02 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "V2=100#\n", + "V1=25#\n", + "G=10*log10(V2/V1)#\n", + "print 'G=%0.2f dB'%G" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " ## Ex 24.8 Pg 689" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f1=318.31 HZ\n" + ] + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "R=5*10**3#\n", + "C=0.1*10**-6#\n", + "f1=1/(2*pi*R*C)#\n", + "print 'f1=%0.2f HZ'%f1\n", + "i=arange(-21,0,3)\n", + "plot(i)#\n", + "xlabel(\"f (log scale)\")#\n", + "ylabel( \"Av(dB)\")#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 24.9 Pg 690" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fLS=6.87 HZ\n", + "fLC=25.67 HZ\n", + "fLE=326.85 HZ\n" + ] + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,pi\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show\n", + "\n", + "\n", + "RC=4*10**3#\n", + "R1=40*10**3#\n", + "R2=10*10**3#\n", + "RE=2*10**3#\n", + "RS=1*10**3#\n", + "RL=2.2*10**3#\n", + "CS=10*10**-6#\n", + "CE=20*10**-6#\n", + "CC=1*10**-6#\n", + "B=100#\n", + "VCC=20#\n", + "VB=(R2*VCC)/(R2+R1)#\n", + "IE=(VB-0.7)/RE#\n", + "re=(26*10**-3)/IE#\n", + "B*re#\n", + "vo=-(RC*RL)/(RC+RL)#\n", + "Av=vo/re#\n", + "a=(R1*R2)/(R1+R2)#\n", + "Ri=(a*(B*re))/(a+(B*re))#\n", + "Rs=1*10**3#\n", + "vibyvs=Ri/(Ri+Rs)#\n", + "Avs=Av*vibyvs#\n", + "a=(R1*R2)/(R1+R2)#\n", + "Ri=(a*(B*re))/(a+(B*re))#\n", + "fLS=1/(2*pi*(Rs+Ri)*CS)#\n", + "print 'fLS=%0.2f HZ'%fLS\n", + "fLC=1/(2*pi*(RC+RL)*CC)#\n", + "print 'fLC=%0.2f HZ'%fLC\n", + "a=(R1*R2)/(R1+R2)#\n", + "RS=(a*RS)/(a+RS)#\n", + "b=(RS/B+re)#\n", + "Re=(RE*b)/(RE+b)#\n", + "fLE=1/(2*pi*Re*CE)#\n", + "print 'fLE=%0.2f HZ'%fLE\n", + "i=arange(-21,0,3)\n", + "plot(i)#\n", + "xlabel(\"f (log scale)\")#\n", + "ylabel( \"Av(dB)\")#\n", + "show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap25_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap25_1.ipynb new file mode 100644 index 00000000..cf6ed37c --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap25_1.ipynb @@ -0,0 +1,568 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 25 : LARGE SIGNAL OR POWER AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.1 Pg 734" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ICsat=8.77 mA\n", + "VCEsat=0.00 V\n", + "ICcutoff= 0\n", + "VCEcutoff=5.26 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=10#\n", + "R1=10*10**3#\n", + "R2=5*10**3#\n", + "RC=1*10**3#\n", + "RE=500#\n", + "RL=1.5*10**3#\n", + "B=100#\n", + "VBE=0.7#\n", + "VR2=VCC*(R2/(R1+R2))#\n", + "IEQ=(VR2-VBE)/RE#\n", + "ICQ=IEQ#\n", + "VCEQ=VCC-ICQ*(RC+RE)#\n", + "rL=(RC*RL)/(RC+RL)#\n", + "ICsat=ICQ+(VCEQ/rL)#\n", + "print 'ICsat=%0.2f mA'%(ICsat*10**3)\n", + "VCEsat=0#\n", + "print \"VCEsat=%0.2f V\"%VCEsat\n", + "ICcutoff=0#\n", + "print \"ICcutoff=\", ICcutoff\n", + "VCEcutoff=VCEQ+ICQ*rL#\n", + "print 'VCEcutoff=%0.2f V'%VCEcutoff" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.2 Pg 734" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PP=9.61 V\n", + "PP=20.72 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VCC=20#\n", + "R1=10*10**3#\n", + "R2=1.8*10**3#\n", + "RC=620#\n", + "RE=200#\n", + "RL=1.2*10**3#\n", + "hfe=180#\n", + "VB=VCC*(R2/(R1+R2))#\n", + "VBE=0.7#\n", + "VE=VB-VBE#\n", + "IE=VE/RE#\n", + "IC=IE#\n", + "VCE=VCC-IE*(RC+RE)#\n", + "ICQ=IC#\n", + "VCEQ=VCE#\n", + "rL=(RC*RL)/(RC+RL)#\n", + "PP=2*ICQ*rL#\n", + "print 'PP=%0.2f V'%PP\n", + "PP=2*VCEQ#\n", + "print 'PP=%0.2f V'%PP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.3 Pg 735" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ap=1375.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "re=8#\n", + "RC=220#\n", + "RE=47#\n", + "R1=4.7*10**3#\n", + "R2=470#\n", + "B=50#\n", + "rL=RC#\n", + "AV=rL/re#\n", + "Ai=B#\n", + "Ap=AV*Ai#\n", + "print \"Ap=%0.2f\" %Ap" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.4 Pg 736" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ne=25.00 %\n", + "power rating of transistor=20W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Ptrdc=20#\n", + "Poac=5#\n", + "ne=(Poac/Ptrdc)#\n", + "print 'ne=%0.2f %%'%(ne*100)\n", + "print \"power rating of transistor=20W\"#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.5 Pg 737" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "poac=4.71 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "pcdc=10#\n", + "nc=0.32#\n", + "poac=pcdc*nc/(1-nc)#\n", + "print 'poac=%0.2f W'%poac" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.6 Pg 738" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ptrdc=7.00 W\n", + "Pcdc=3.50 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "nc=0.5#\n", + "VCC=24#\n", + "Poac=3.5#\n", + "Ptrdc=Poac/nc#\n", + "print 'Ptrdc=%0.2f W'%Ptrdc\n", + "Pcdc=Ptrdc-Poac#\n", + "print 'Pcdc=%0.2f W'%Pcdc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.7 Pg 739" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pindc=12.00 W\n", + "PRLdc=5.76 W\n", + "Poac=0.72 W\n", + "Ptrdc=6.24 W\n", + "Pcdc=5.52 W\n", + "no=6.00 %\n", + "no=11.54 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "VCC=20#\n", + "VCEQ=10#\n", + "ICQ=600*10**-3#\n", + "RL=16#\n", + "IP=300*10**-3#\n", + "Pindc=VCC*ICQ#\n", + "print 'Pindc=%0.2f W'%Pindc\n", + "PRLdc=ICQ**2*RL#\n", + "print 'PRLdc=%0.2f W'%PRLdc\n", + "I=IP/sqrt(2)#\n", + "Poac=I**2*RL#\n", + "print 'Poac=%0.2f W'%Poac\n", + "Ptrdc=Pindc-PRLdc#\n", + "print 'Ptrdc=%0.2f W'%Ptrdc\n", + "Pcdc=Ptrdc-Poac#\n", + "print 'Pcdc=%0.2f W'%Pcdc\n", + "no=Poac/Pindc#\n", + "print 'no=%0.2f %%'%(no*100)\n", + "no=Poac/Ptrdc#\n", + "print 'no=%0.2f %%'%(no*100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.8 Pg 740" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RL1=1.80 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "a=15#\n", + "RL=8#\n", + "RL1=a**2*RL#\n", + "print 'RL1=%0.2f kohm'%(RL1*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.9 Pg 741" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=25.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "RL=16#\n", + "RL1=10*10**3#\n", + "a=sqrt(RL1/RL)#\n", + "print \"a=%0.2f\"%a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.10 Pg 742" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Poac=100.00 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RL=8#\n", + "a=10#\n", + "ICQ=500*10**-3#\n", + "RL=a**2*RL#\n", + "Poac=(1/2)*ICQ**2*RL#\n", + "print 'Poac=%0.2f W'%Poac" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.11 Pg 742" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Poac=50.00 mW\n", + "ICQ=0.01 A\n", + "a=7.9\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "Ptrdc=100*10**-3#\n", + "VCC=10#\n", + "RL=16#\n", + "no=0.5#\n", + "Poac=no*Ptrdc#\n", + "print 'Poac=%0.2f mW'%(Poac*10**3)\n", + "ICQ=2*Poac/VCC#\n", + "print 'ICQ=%0.2f A'%ICQ\n", + "RL1=VCC/ICQ#\n", + "a=sqrt(RL1/RL)#\n", + "print \"a=%0.1f\"%a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.12 Pg 743" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Poac=5.00 mW\n", + "a=7.07\n", + "P=250.00 mW\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "VCC=10#\n", + "IP=50*10**-3#\n", + "RL=4#\n", + "I=IP/sqrt(2)#\n", + "Poac=I**2*RL#\n", + "print 'Poac=%0.2f mW'%(Poac*10**3)\n", + "ICQ=IP#\n", + "RL1=VCC/ICQ#\n", + "a=sqrt(RL1/RL)#\n", + "print \"a=%0.2f\"%a\n", + "V1=VCC#\n", + "V2=V1/a#\n", + "I2p=V2/RL#\n", + "I2=I2p/sqrt(2)#\n", + "P=(I2**2)*RL#\n", + "print 'P=%0.2f mW'%(P*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.13 Pg 744" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "P=16.00 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RL=8#\n", + "VP=16#\n", + "P=(VP**2)/(2*RL)#\n", + "print 'P=%0.2f W'%P" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 25.14 Pg 745" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pindc=12.50 W\n", + "Poac=7.50 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "no=0.6#\n", + "Pcdc=2.5#\n", + "#Poac=Pindc*no#\n", + "#Pindc=2*Pcdc+Poac#\n", + "Pindc=(2*Pcdc)/(1-no)#\n", + "print 'Pindc=%0.2f W'%Pindc\n", + "Poac=0.6*Pindc#\n", + "print 'Poac=%0.2f W'%Poac" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap26_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap26_1.ipynb new file mode 100644 index 00000000..35554731 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap26_1.ipynb @@ -0,0 +1,227 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 26 : TUNED AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 26.1 Pg 802" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=1.30 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "L=150*10**-6#\n", + "C=100*10**-12#\n", + "fo=0.159/sqrt (L*C)#\n", + "print 'fo=%0.2f MHZ'%(fo*10**-6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 26.2 Pg 803" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=1.59 MHZ\n", + "Zp=200.00 Kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "L=100*10**-6#\n", + "C=100*10**-12#\n", + "R=5#\n", + "fo=0.159/sqrt (L*C)#\n", + "print 'fo=%0.2f MHZ'%(fo*10**-6)\n", + "Zp=L/(C*R)#\n", + "print 'Zp=%0.2f Kohm'%(Zp*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 26.3 Pg 804" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BW=10.00 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "fo=1*10**6#\n", + "Qo=100#\n", + "BW=fo/Qo#\n", + "print 'BW=%0.2f kHZ'%(BW*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 26.4 Pg 805" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Qo=160.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "fo=1600*10**3#\n", + "BW=10*10**3#\n", + "Qo=fo/BW#\n", + "print \"Qo=%0.2f\"%(Qo)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 26.5 Pg 806" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Qo=40.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "fo=2*10**6#\n", + "BW=50*10**3#\n", + "Qo=fo/BW#\n", + "print \"Qo=%0.2f\"%(Qo)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 26.6 Pg 807" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Zp=57.10 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "fo=455*10**3#\n", + "BW=10*10**3#\n", + "XL=1255#\n", + "Qo=fo/BW#\n", + "R=XL/Qo#\n", + "L=XL/(2*pi*fo)#\n", + "C=1/(XL*2*pi*fo)#\n", + "Zp=L/(C*R)#\n", + "print 'Zp=%0.2f kohm'%(Zp*10**-3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap27_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap27_1.ipynb new file mode 100644 index 00000000..865701c9 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap27_1.ipynb @@ -0,0 +1,636 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 27 : FEEDBACK AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.1 Pg 819" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av1=9.76 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=400#\n", + "beta=0.1#\n", + "AV1=AV/(1+beta*AV)#\n", + "print \"Av1=%0.2f \"%(AV1)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.2 Pg 820" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta=0.10\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=1000#\n", + "AV1=10#\n", + "beta=((AV/AV1)-1)/AV#\n", + "print \"beta=%0.2f\"%beta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.3 Pg 820" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta=0.04\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=100#\n", + "AV1=20#\n", + "beta=((AV/AV1)-1)/AV#\n", + "print \"beta=%0.2f\"%beta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.4 Pg 820" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=50.00\n", + "beta=0.10\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vo=12.5#\n", + "Vin1=1.5#\n", + "Vin=0.25#\n", + "AV=Vo/Vin#\n", + "print \"Av=%0.2f\"%(AV)#\n", + "AV1=Vo/Vin1#\n", + "beta=((AV/AV1)-1)/AV#\n", + "print \"beta=%0.2f\"%beta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.5 Pg 821" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta=4.17e-03\n", + "beta=0.02\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=60#\n", + "AV1=80#\n", + "#80=AV/(1-BETA*AV)\n", + "beta=((AV1/AV)-1)/AV1#\n", + "print \"beta=%0.2e\"%beta\n", + "beta=1/AV#\n", + "print \"beta=%0.2f\"%beta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.6 Pg 821" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av=1200.00\n", + "beta=9.17e-03\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV1=100#\n", + "Vin=50*10**-3#\n", + "Vin1=0.6#\n", + "Vo=AV1*Vin1#\n", + "Av=Vo/Vin#\n", + "print \"Av=%0.2f\"%(Av)\n", + "beta=((Av/AV1)-1)/Av#\n", + "print 'beta=%0.2e'%(beta)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.7 Pg 821" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=0.49 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Av=800#\n", + "B=0.05#\n", + "dAvbyAv=20#\n", + "a=dAvbyAv*(1/(1+B*Av))#\n", + "print 'a=%0.2f %%'%a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.8 Pg 821" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta=0.010\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV1=100#\n", + "A=0.01#\n", + "B=0.2#\n", + "C=B/A#\n", + "AV=AV1*C#\n", + "beta=C/AV#\n", + "print \"beta=%0.3f\"%beta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.9 Pg 822" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BW1=1200.00 kHZ\n", + "AV1=16.67 \n", + "beta1=0.04\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=100#\n", + "BW=200*10**3#\n", + "beta=0.05#\n", + "BW1=(1+beta*AV)*BW#\n", + "print 'BW1=%0.2f kHZ'%(BW1*10**-3)\n", + "AV1=AV/(1+beta*AV)#\n", + "print \"AV1=%0.2f \"%(AV1)#\n", + "#1*10**6=(1+beta1*AV)*BW#\n", + "beta1=(((1*10**6)/(200*10**3))-1)/100#\n", + "print \"beta1=%0.2f\"%beta1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.10 Pg 822" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta=0.01\n", + "BW1=40.00 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=1500#\n", + "BW=4*10**6#\n", + "AV1=150#\n", + "beta=((1500/150)-1)/1500#\n", + "print \"beta=%0.2f\"%beta\n", + "BW1=(1+beta*AV)*BW#\n", + "print 'BW1=%0.2f MHZ'%(BW1*10**-6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.11 Pg 822" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ri=13.44 kohm\n", + "FC1=468.75 HZ \n", + "FC2=1604800.00 HZ \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Rin=4.2*10**3#\n", + "AV=220#\n", + "beta=0.01#\n", + "Ri=(1+beta*AV)*Rin#\n", + "print 'Ri=%0.2f kohm'%(Ri*10**-3)\n", + "F1=1.5*10**3#\n", + "FC1=F1/(1+beta*AV)#\n", + "print 'FC1=%0.2f HZ '%FC1\n", + "F2=501.5*10**3#\n", + "FC2=(1+beta*AV)*F2#\n", + "print 'FC2=%0.2f HZ '%FC2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.12 Pg 822" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Av1=90.91\n", + "fl1=4.55 HZ\n", + "fu2=2.20 MHZ\n", + "D1=0.45 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=1000#\n", + "f1=50#\n", + "f2=200*10**3#\n", + "D=0.05#\n", + "beta=0.01#\n", + "AV1=AV/(1+beta*AV)#\n", + "print \"Av1=%0.2f\"%AV1\n", + "fl1=f1/(1+beta*AV)#\n", + "print 'fl1=%0.2f HZ'%(fl1)\n", + "fu2=(1+beta*AV)*f2#\n", + "print 'fu2=%0.2f MHZ'%(fu2*10**-6)\n", + "D1=D/(1+beta*AV)#\n", + "print 'D1=%0.2f %%'%(D1*100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.13 Pg 823" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta=0.04 \n", + "AV1=20.00 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=100#\n", + "RDN=0.8#\n", + "#0.8=1-(1/(1+beta*AV))#\n", + "beta=((1/0.2)-1)/100#\n", + "print \"beta=%0.2f \"%beta\n", + "AV1=AV/(1+beta*AV)#\n", + "print \"AV1=%0.2f \"%AV1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.14 Pg 823" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AV1=14.29 \n", + "Ri1=31.50 kohm\n", + "Ri1=2.38 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "AV=300#\n", + "Ri=1.5*10**3#\n", + "R0=50*10**3#\n", + "b=1/15#\n", + "AV1=AV/(1+b*AV)#\n", + "print \"AV1=%0.2f \"%AV1\n", + "Ri1=(1+b*AV)*Ri##input resistance\n", + "print 'Ri1=%0.2f kohm'%(Ri1*10**-3)\n", + "Ri1=R0/(1+b*AV)##output resistance\n", + "print 'Ri1=%0.2f kohm'%(Ri1*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.15 Pg 823" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AV=23.50\n", + "Ri=1341.85 ohm\n", + "AV1=3.92\n", + "Ri1=8051.12 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hfe=100#\n", + "hie=2*10**3#\n", + "Rc=470#\n", + "Re1=100#\n", + "Re2=100#\n", + "R1=15000#\n", + "R2=5600#\n", + "AV=(hfe*Rc)/hie#\n", + "print \"AV=%0.2f\"%(AV)\n", + "a=((R1*R2)/(R1+R2))#\n", + "Ri=(a*hie)/(a+hie)#\n", + "print 'Ri=%0.2f ohm'%Ri\n", + "b=Re1/Rc#\n", + "AV1=AV/(1+b*AV)#\n", + "print \"AV1=%0.2f\"%(AV1)\n", + "Ri1=Ri*(1+b*AV)#\n", + "print 'Ri1=%0.2f ohm'%Ri1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 27.16 Pg 823" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R01=1.68 kohm\n", + "R02=2.95 kohm\n", + "Ri1=308.99 kohm\n", + "RO2=19.07 ohm\n", + "AV1=78.49\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "hfe=99#\n", + "hie=2*10**3#\n", + "hie1=2000#\n", + "hie2=2000#\n", + "Rc=22*10**3#\n", + "R4=100#\n", + "R1=220*10**3#\n", + "R2=22*10**3#\n", + "RC1=4.7*10**3#\n", + "R3=7.8*10**3#\n", + "Ri=hie#\n", + "a=(R1*R2)/(R1+R2)#\n", + "b=(a*Rc)/(a+Rc)#\n", + "R01=(b*hie1)/(b+hie1)\n", + "print 'R01=%0.2f kohm'%(R01*10**-3)\n", + "Ri2=hie#\n", + "C=(R3+R4)#\n", + "R02=(RC1*C)/(RC1+C)\n", + "print 'R02=%0.2f kohm'%(R02*10**-3)\n", + "AV1=hfe*R01/hie#\n", + "AV2=hfe*R02/hie#\n", + "AV=AV1*AV2#\n", + "bta=R4/(R3+R4)#\n", + "Ri1=Ri*(1+bta*AV)#\n", + "print 'Ri1=%0.2f kohm'%(Ri1*10**-3)\n", + "RO2=R02/(1+bta*AV)#\n", + "print 'RO2=%0.2f ohm'%RO2\n", + "AV1=AV/(1+bta*AV)#\n", + "print \"AV1=%0.2f\"%AV1" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap28_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap28_1.ipynb new file mode 100644 index 00000000..dea0e081 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap28_1.ipynb @@ -0,0 +1,509 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 28 : SINUSOIDAL OSCILLATORS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.1 Pg 838" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L=0.03 H\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "fo=22*10**3##\n", + "C=2*10**-9#\n", + "L=((0.159/fo)**2)/C#\n", + "print \"L=%0.2f H\"%L" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.2 Pg 838" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo1=3.11 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "fo=2.2*10**6#\n", + "#fo1=(sqrt(2))/sqrt(C)#\n", + "fo1=sqrt(2)*fo#\n", + "print 'fo1=%0.2f MHZ'%(fo1*10**-6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.3 Pg 839" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=2.91 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C=100*10**-12#\n", + "L1=30*10**-6#\n", + "L2=1*10**-8#\n", + "fo=1/(2*pi*sqrt((L1+L2)*C))#\n", + "print 'fo=%0.2f MHZ'%(fo*10**-6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.4 Pg 839" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=1.05 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "L1=1000*10**-6#\n", + "L2=100*10**-6#\n", + "M=20*10**-6#\n", + "C=20*10**-12#\n", + "fo=1/(2*pi*sqrt((L1+L2+2*M)*C))#\n", + "print 'fo=%0.2f MHZ'%(fo*10**-6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.5 Pg 840" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=73.05 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C=1*10**-9#\n", + "L1=4.7*10**-3#\n", + "L2=47*10**-6#\n", + "fo=1/(2*pi*sqrt((L1+L2)*C))#\n", + "print 'fo=%0.2f kHZ'%(fo*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.6 Pg 840" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C=13.89 pF\n", + "C=2.98 pF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "L1=2*10**-3#\n", + "L2=20*10**-6#\n", + "fo=950*10**3#\n", + "C=1/(4*pi**2*(L1+L2)*fo**2)#\n", + "print 'C=%0.2f pF'%(C*10**12)\n", + "fo=2050*10**3#\n", + "C=1/(4*pi**2*(L1+L2)*fo**2)#\n", + "print 'C=%0.2f pF'%(C*10**12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.7 Pg 840" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C=11.53 pF\n", + "AV=10.00 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "L1=0.1*10**-3#\n", + "L2=10*10**-6#\n", + "fo=4110*10**3#\n", + "M=20*10**-6#\n", + "C=1/(4*pi**2*(L1+L2+M)*fo**2)#\n", + "print 'C=%0.2f pF'%(C*10**12)\n", + "AV=(L1/L2)#\n", + "print \"AV=%0.2f \"%AV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.8 Pg 841" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C=0.01 microF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "#e.g 28.8\n", + "fo=100*10**3#\n", + "L=0.5*10**-3#\n", + "C=2/(4*pi**2*L*fo**2)#\n", + "print 'C=%0.2f microF'%(C*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.9 Pg 841" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AV=10.00 \n", + "fo=2.36 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C1=0.001*10**-6#\n", + "C2=0.01*10**-6#\n", + "L=5*10**-6#\n", + "AV=C2/C1#\n", + "print \"AV=%0.2f \"%(AV)\n", + "C=(C1*C2)/(C1+C2)\n", + "fo=1/(2*pi*sqrt(L*C))#\n", + "print 'fo=%0.2f MHZ'%(fo*10**-6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.10 Pg 841" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=24.35 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C1=0.1*10**-6#\n", + "C2=1*10**-6#\n", + "L=470*10**-6#\n", + "C=(C1*C2)/(C1+C2)\n", + "fo=1/(2*pi*sqrt(L*C))#\n", + "print 'fo=%0.2f kHZ'%(fo*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.11 Pg 842" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "L1=284.41 microH\n", + "L2=61.08 microH\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C1=100*10**-12#\n", + "C2=7500*10**-12#\n", + "f01=950*10**3#\n", + "f02=2050*10**3#\n", + "C=(C1*C2)/(C1+C2)#\n", + "#f01=1/(2*pi*sqrt(L*C))\n", + "L1=1/(4*(pi)**2*C*f01**2)#\n", + "print 'L1=%0.2f microH'%(L1*10**6)\n", + "L2=1/(4*(pi)**2*C*f02**2)#\n", + "print 'L2=%0.2f microH'%(L2*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.13 Pg 842" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fo=734.53 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C1=0.1*10**-6#\n", + "C2=1*10**-6#\n", + "C3=100*10**-12#\n", + "L=470*10**-6#\n", + "C=1/((1/C1)+(1/C2)+(1/C3))#\n", + "fo=1/(2*pi*sqrt(L*C))#\n", + "print 'fo=%0.2f kHZ'%(fo*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.14 Pg 843" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fs=1.09 MHZ\n", + "Q=409.67\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "L=0.33#\n", + "C1=0.065*10**-12#\n", + "C2=1*10**-12#\n", + "R=5.5*10**3#\n", + "fs=1/(2*pi*sqrt(L*C1))#\n", + "print 'fs=%0.2f MHZ'%(fs*10**-6)\n", + "Q=(2*pi*fs*L)/R#\n", + "print \"Q=%0.2f\"%(Q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 28.15 Pg 843" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fs=0.63 MHZ\n", + "fp=0.65 MHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "L=0.8#\n", + "C1=0.08*10**-12#\n", + "C2=1*10**-12#\n", + "R=5*10**3#\n", + "fs=1/(2*pi*sqrt(L*C1))#\n", + "print 'fs=%0.2f MHZ'%(fs*10**-6)\n", + "C=(C1*C2)/(C1+C2)#\n", + "fp=1/(2*pi*sqrt(L*C))#\n", + "print 'fp=%0.2f MHZ'%(fp*10**-6)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap29_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap29_1.ipynb new file mode 100644 index 00000000..8536a43b --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap29_1.ipynb @@ -0,0 +1,474 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 29 : NON SINUSOIDAL OSCILLATORS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.1 Pg 861" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f=362.32 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R=20*10**3#\n", + "C=100*10**-12#\n", + "f=1/(1.38*R*C)#\n", + "print 'f=%0.2f kHZ'%(f*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.2 Pg 861" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T=0.70 ms\n", + "f=1.42 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=2*10**3#\n", + "R2=20*10**3#\n", + "C1=0.01*10**-6#\n", + "C2=0.05*10**-6#\n", + "T=0.69*(R1*C1+R2*C2)\n", + "print 'T=%0.2f ms'%(T*10**3)\n", + "f=1/T#\n", + "print 'f=%0.2f kHZ'%(f*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.3 Pg 861" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C1=144.93 pF\n", + "C2=1304.35 pF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "T1=1*10**-6#\n", + "f=100*10**3#\n", + "R1=10*10**3#\n", + "R2=10*10**3#\n", + "T=1/f#\n", + "C1=T1/(0.69*R1)#\n", + "print 'C1=%0.2f pF'%(C1*10**12)\n", + "T2=T-T1#\n", + "C2=T2/(0.69*R1)#\n", + "print 'C2=%0.2f pF'%(C2*10**12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.4 Pg 862" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RC1=RC2=RC= RC=3000.00 ohm\n", + "C1=14975.85 pF\n", + "C2=12077.29 pF\n", + "tao1=449.28 microsec\n", + "tao2=362.32 microsec\n", + "tao11=22.46 microsec\n", + "tao12=18.12 microsec\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "T2A=310*10**-6#\n", + "T2B=250*10**-6#\n", + "VCC=15#\n", + "IC=5*10**-3#\n", + "hFC=20#\n", + "RC=VCC/IC#\n", + "RC1=RC#\n", + "RC2=RC#\n", + "print \"RC1=RC2=RC=\",'RC=%0.2f ohm'%RC\n", + "hFE=hFC#\n", + "IBsat=IC/hFE#\n", + "IB=2*IBsat#\n", + "R=VCC/IB#\n", + "R1=R#\n", + "R2=R#\n", + "C1=T2A/(0.69*R1)#\n", + "print 'C1=%0.2f pF'%(C1*10**12)\n", + "C2=T2B/(0.69*R2)#\n", + "print 'C2=%0.2f pF'%(C2*10**12)\n", + "tao1=R1*C1#\n", + "print 'tao1=%0.2f microsec'%(tao1*10**6)\n", + "tao2=R2*C2#\n", + "print 'tao2=%0.2f microsec'%(tao2*10**6)\n", + "tao11=RC1*C1/2#\n", + "print 'tao11=%0.2f microsec'%(tao11*10**6)\n", + "tao12=RC2*C2/2#\n", + "print 'tao12=%0.2f microsec'%(tao12*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.5 Pg 862" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T=50.00 microsec\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "f=20*10**3#\n", + "T=1/f#\n", + "print 'T=%0.2f microsec'%(T*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.6 Pg 862" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T=10.00 us\n", + "tp=0.10 us\n", + "R3=7.25 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "f=100*10**(-3)#\n", + "T=(1/f)#\n", + "print 'T=%0.2f us'%(T)\n", + "tp=(1/T)#\n", + "print 'tp=%0.2f us'%tp\n", + "C1=0.001*10**(-6)#\n", + "R3=((5*10**(-6))/(0.69*C1))#\n", + "print 'R3=%0.2f kohm'%(R3*10**(-3))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.7 Pg 863" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T=13.80 microsec\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "RC=2*10**3#\n", + "R3=20*10**3#\n", + "rbb=200#\n", + "C1=1000*10**-12#\n", + "T=0.69*C1*R3#\n", + "print 'T=%0.2f microsec'%(T*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.8 Pg 864" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tp=24.20 microS\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=2.2*10**3#\n", + "C1=0.01*10**-6#\n", + "tp=1.1*R1*C1#\n", + "print 'tp=%0.2f microS'%(tp*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.9 Pg 864" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R1=9.09 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "tp=10*10**-6#\n", + "c=1000*10**-12#\n", + "R1=tp/(1.1*c)#\n", + "print 'R1=%0.2f kohm'%(R1*10**-3)\n", + "#t=(0:0.1:5*pi)'#\n", + "#plot2d1('onn',t,[squarewave(t,60)])#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.10 Pg 865" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "t2=3.29 microS\n", + "t1=8.05 microS\n", + "dc=70.99 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=6.8*10**3#\n", + "R2=4.7*10**3#\n", + "C1=1000*10**-12#\n", + "t2=0.7*R2*C1#\n", + "print 't2=%0.2f microS'%(t2*10**6)\n", + "t1=0.7*(R1+R2)*C1#\n", + "print 't1=%0.2f microS'%(t1*10**6)\n", + "dc=(t1/(t1+t2))*100#\n", + "print 'dc=%0.2f %%'%dc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.11 Pg 865" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f=1.03 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=27*10**3#\n", + "R2=56*10**3#\n", + "C1=0.01*10**-6#\n", + "t2=0.7*R2*C1#\n", + "t1=0.7*(R1+R2)*C1#\n", + "T=t1+t2#\n", + "f=1/T#\n", + "print 'f=%0.2f kHZ'%(f*10**-3)\n", + "#t=(0:0.1:6*pi)'#\n", + "#plot2d1('onn',t,[squarewave(t,60)])#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 29.12 Pg 866" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R2=5.19 kohm\n", + "R1=2.60 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "f=50*10**3#\n", + "dutyc=0.60#\n", + "C=0.0022*10**-6#\n", + "T=1/f#\n", + "t1=dutyc*T#\n", + "t2=T-t1#\n", + "R2=(t2)/(0.7*C)#\n", + "print 'R2=%0.2f kohm'%(R2*10**-3)\n", + "R1=(t1)/(0.7*C)-R2#\n", + "print 'R1=%0.2f kohm'%(R1*10**-3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap30_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap30_1.ipynb new file mode 100644 index 00000000..9bf4e426 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap30_1.ipynb @@ -0,0 +1,135 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 30 : LINEAR WAVE SHAPING CIRCUIT" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 30.2 Pg 886" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tao=10.00 msec\n", + "vf=3.30 V\n", + "Output=0.30 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import exp\n", + "C=1*10**-6#\n", + "Vi=6#\n", + "R=10*10**3#\n", + "Vo=-3#\n", + "t=8*10**-3#\n", + "tao=R*C#\n", + "print 'tao=%0.2f msec'%(tao*10**3)\n", + "vf=6*(1-exp(-8/10))#\n", + "print 'vf=%0.2f V'%vf\n", + "output=vf-3.0#\n", + "print 'Output=%0.2f V'%output" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 30.3 Pg 886" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vc=0.30 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import exp\n", + "t=0.1#\n", + "tao=0.2#\n", + "vc=0.5*exp(-t/tao)#\n", + "print 'vc=%0.2f V'%vc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 30.4 Pg 887" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vp=10.00 kV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "tao=250*10**-12#\n", + "v=50#\n", + "a=v/tao#\n", + "t=0.05*10**-6#\n", + "vp=a*t#\n", + "print 'vp=%0.2f kV'%(vp*10**-3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap31_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap31_1.ipynb new file mode 100644 index 00000000..725b5278 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap31_1.ipynb @@ -0,0 +1,108 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 31 : TIME BASE CIRCUIT" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 31.1 Pg 901" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f=29.66 HZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "R=100*10**3#\n", + "C=0.4*10**-6#\n", + "n=0.57#\n", + "f=1/(2.3*R*C*log10(1/(1-n)))#\n", + "print 'f=%0.2f HZ'%f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 31.2 Pg 901" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T=0.24 msec\n", + "f=4138.65 HZ\n", + "R=413.87 kohm\n", + "R=41.39 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "n=0.62#\n", + "R=5*10**3#\n", + "C=0.05*10**-6#\n", + "T=2.3*R*C*log10(1/(1-n))\n", + "print 'T=%0.2f msec'%(T*10**3)\n", + "f=1/T#\n", + "print 'f=%0.2f HZ'%f\n", + "f1=50#\n", + "T1=1/f1#\n", + "R=T1/(2.3*C*log10(1/(1-n)))#\n", + "print 'R=%0.2f kohm'%(R*10**-3)\n", + "C=0.5*10**-6#\n", + "R=T1/(2.3*C*log10(1/(1-n)))#\n", + "print 'R=%0.2f kohm'%(R*10**-3)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap32_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap32_1.ipynb new file mode 100644 index 00000000..62602e6d --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap32_1.ipynb @@ -0,0 +1,426 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 32 : OPERATIONAL AMPLIFIERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.1 Pg 919" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CMRR=89.99 dB\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import log10\n", + "Adm=200000#\n", + "Acm=6.33#\n", + "CMRR=20*log10(Adm/Acm)#\n", + "print 'CMRR=%0.2f dB'%CMRR" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.2 Pg 919" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Acm=0.95 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Adm=30000#\n", + "#CMRR=20*log10(Adm/Acm)#\n", + "a=90/20#\n", + "Acm=(Adm/10**a)#\n", + "print \"Acm=%0.2f \"%(Acm)#" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.3 Pg 919" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fmax=795.77 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "#e.g 32.3\n", + "SR=0.5*10**6#\n", + "Vpk=0.1#\n", + "fmax=SR/(2*pi*Vpk)#\n", + "print 'fmax=%0.2f kHZ'%(fmax*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.4 Pg 920" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fmax=7957.75 HZ\n", + "fmax=206.90 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "Vpk=10#\n", + "slewrate=0.5*10**6#\n", + "fmax=slewrate/(2*pi*Vpk)#\n", + "print 'fmax=%0.2f HZ'%fmax #value of microamp 741\n", + "slewrate=13*10**6#\n", + "fmax=slewrate/(2*pi*Vpk)#\n", + "print 'fmax=%0.2f kHZ'%(fmax*10**-3) #TLO 81\n", + "#value of microamp 741 is much lower than that of the input signal.And value of TLO81 is much higher than input signal,therefore TLO81 can be used" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.5 Pg 920" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vin=40.00 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "ACL=200#\n", + "Vout=8#\n", + "Vin=Vout/ACL#\n", + "print 'Vin=%0.2f mV'%(Vin*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.8 Pg 920" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "V0=2.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=1*10**3#\n", + "R2=2*10**3#\n", + "Vi=1#\n", + "Acl=R2/R1#\n", + "V0=Acl*Vi#\n", + "print 'V0=%0.2f V'%V0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.9 Pg 921" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Acl=10.00\n", + "Zin=10.00 kohm\n", + "Zout=80.00 ohm\n", + "CMRR=10000.00 \n", + "fmax=15.92 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "Acm=0.001#\n", + "Aol=180000#\n", + "Zin=1*10**6#\n", + "Zout=80#\n", + "SR=0.5#\n", + "R2=100*10**3#\n", + "R1=10*10**3#\n", + "Acl=R2/R1#\n", + "print \"Acl=%0.2f\"%Acl\n", + "Zin=R1#\n", + "print 'Zin=%0.2f kohm'%(Zin*10**-3)\n", + "print 'Zout=%0.2f ohm'%Zout\n", + "CMRR=Acl/Acm#\n", + "print \"CMRR=%0.2f \"%CMRR\n", + "Vpk=5#\n", + "fmax=SR/(2*pi*Vpk)#\n", + "print 'fmax=%0.2f kHZ'%(fmax*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.10 Pg 921" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Acl=11.00\n", + "CMRR=11000.00\n", + "fmax=14.47 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "R2=100*10**3#\n", + "R1=10*10**3#\n", + "Acl=1+(R2/R1)#\n", + "Acm=0.001#\n", + "print \"Acl=%0.2f\"%Acl\n", + "CMRR=Acl/Acm#\n", + "print \"CMRR=%0.2f\"%CMRR\n", + "SR=0.5#\n", + "Vpk=5.5#\n", + "fmax=SR/(2*pi*Vpk)#\n", + "print 'fmax=%0.2f kHZ'%(fmax*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.11 Pg 922" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CMRR=1000.00\n", + "fmax=26.53 kHZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Acm=0.001#\n", + "AOL=180000#\n", + "Zin=1*10**6#\n", + "Zout=80#\n", + "SR=0.5#\n", + "Acl=1#\n", + "CMRR=Acl/Acm#\n", + "print \"CMRR=%0.2f\"% CMRR\n", + "Vpk=3#\n", + "fmax=SR/(2*pi*Vpk)\n", + "print 'fmax=%0.2f kHZ'%(fmax*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.12 Pg 922" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vout=-3.52 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "V1= 0.1#\n", + "V2=1#\n", + "V3=0.5#\n", + "R1=10*10**3#\n", + "R2=10*10**3#\n", + "R3=10*10**3#\n", + "R4=22*10**3#\n", + "Vout=((-R4*V1)/R1)+((-R4*V2)/R2)+((-R4*V3)/R3)#\n", + "print 'Vout=%0.2f V'%Vout" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 32.14 Pg 922" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vout=4.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "V1=-2#\n", + "V2=2#\n", + "V3=-1#\n", + "R1=200*10**3#\n", + "R2=250*10**3#\n", + "R3=500*10**3#\n", + "Rf=1*10**6#\n", + "Vout=(-Rf/R1)*V1+(-Rf/R2)*V2+(-Rf/R3)*V3#\n", + "print 'Vout=%0.2f V'%Vout" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap33_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap33_1.ipynb new file mode 100644 index 00000000..51b66e83 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap33_1.ipynb @@ -0,0 +1,165 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 33 : OP AMP APPLICATION" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 33.1 Pg 935" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C=1.00e-08 microF\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "R1=1*10**3#\n", + "R2=100*10**3#\n", + "Rf=R2#\n", + "f1=159#\n", + "C=1/(2*pi*R2*f1)#\n", + "print 'C=%0.2e microF'%C" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 33.2 Pg 935" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f=31.21 HZ\n", + "fmin=312.07 HZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "R1=1*10**3#\n", + "Rf=51*10**3#\n", + "Cf=0.1*10**-6#\n", + "f=1/(2*pi*Rf*Cf)#\n", + "print 'f=%0.2f HZ'%f #ans given in book is wrong\n", + "fmin=10*f#\n", + "print 'fmin=%0.2f HZ'%fmin" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 33.3 Pg 935" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f=1591.55 HZ\n", + "fmin=159.15 HZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "R1=10*10**3#\n", + "Cf=0.01*10**-6#\n", + "f=1/(2*pi*R1*Cf)#\n", + "print 'f=%0.2f HZ'%f #ans given in book is wrong\n", + "fmin=f/10#\n", + "print 'fmin=%0.2f HZ'%fmin" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 33.4 Pg 936" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f0=3120.69 HZ\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi\n", + "R=51*10**3#\n", + "C=0.001*10**-6#\n", + "f0=1/(2*pi*R*C)#\n", + "print 'f0=%0.2f HZ'%f0" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap34_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap34_1.ipynb new file mode 100644 index 00000000..16a4ff5c --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap34_1.ipynb @@ -0,0 +1,859 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 34 : REUGULATED POWER SUPPLIES " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.1 Pg 955" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LR=20.00 microV/V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VL=100*10**-6#\n", + "VS=5#\n", + "LR=VL/VS#\n", + "print 'LR=%0.2f microV/V'%(LR*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.2 Pg 955" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VL=14.00 microV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "LR=1.4*10**-6#\n", + "VS=10#\n", + "#LR=VL/VS#\n", + "VL=LR*VS\n", + "print 'VL=%0.2f microV'%(VL*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.3 Pg 956" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LR=125.00 microV/mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "IL=40*10**-3#\n", + "VNL=8#\n", + "VFL=7.995#\n", + "LR=(VNL-VFL)/IL#\n", + "print 'LR=%0.2f microV/mA'%(LR*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.4 Pg 956" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VFL=5.00\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VNL=5#\n", + "IL=20*10**-3#\n", + "LR=10*10**-6#\n", + "#LR=(VNL-VFL)/IL#\n", + "VFL=VNL-IL*LR#\n", + "print 'VFL=%0.2f'%VFL" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.5 Pg 957" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VAR=0.20 mV\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 34.5\n", + "V0=10#\n", + "R=0.00002\n", + "VAR=V0*R#\n", + "print 'VAR=%0.2f mV'%(VAR*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.6 Pg 957" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "vl=12.00 V\n", + "Vd=18.00 V\n", + "Iz=0.05 A\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 34.6\n", + "vs=30#\n", + "rs=240#\n", + "vz=12#\n", + "rl=500#\n", + "vl=vz#\n", + "print 'vl=%0.2f V'%vl\n", + "Is=(vs-vz)/rs\n", + "Vd=Is*rs#\n", + "print 'Vd=%0.2f V'%Vd\n", + "Iz=Is-(vl/rl)\n", + "print 'Iz=%0.2f A'%Iz" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.7 Pg 957" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vomin=5.11 \n", + "Vsmin=5.71 \n", + "Vomax=5.25 \n", + "Vsmax=14.25 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vz=5.1#\n", + "rz=10#\n", + "Izmin=1*10**-3#\n", + "Izmax=15*10**-3#\n", + "Rs=600#\n", + "Vomin=Vz+Izmin*rz#\n", + "print 'Vomin=%0.2f '%Vomin\n", + "Vsmin=Izmin*Rs+Vomin#\n", + "print 'Vsmin=%0.2f '%Vsmin\n", + "Vomax=Vz+Izmax*rz#\n", + "print 'Vomax=%0.2f '%Vomax\n", + "Vsmax=Izmax*Rs+Vomax#\n", + "print 'Vsmax=%0.2f '%Vsmax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.8 Pg 958" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Is=24.00 mA\n", + "ILmax=21.00 mA\n", + "RLmin=571.43 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vs=24#\n", + "Rs=500#\n", + "Vz=12#\n", + "Izmin=3*10**-3#\n", + "Izmax=90*10**-3#\n", + "rz=0#\n", + "Is=(Vs-Vz)/Rs#\n", + "print 'Is=%0.2f mA'%(Is*10**3)\n", + "ILmax=Is-Izmin#\n", + "print 'ILmax=%0.2f mA'%(ILmax*10**3)\n", + "RLmin=Vz/ILmax#\n", + "print 'RLmin=%0.2f ohm'%(RLmin)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.9 Pg 958" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IL=5.00 mA\n", + "Izmax=25.00 mA\n", + "Izmin=7.00 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vsmin=22#\n", + "Rs=1*10**3#\n", + "Vz=10#\n", + "RL=2*10**3#\n", + "Vsmax=40#\n", + "IL=Vz/RL#\n", + "print 'IL=%0.2f mA'%(IL*10**3)\n", + "Izmax=((Vsmax-Vz)/Rs)-IL#\n", + "print 'Izmax=%0.2f mA'%(Izmax*10**3)\n", + "Izmin=((Vsmin-Vz)/Rs)-IL#\n", + "print 'Izmin=%0.2f mA'%(Izmin*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.10 Pg 958" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rsmax=30.00 ohm\n", + "Pzmx=1.90 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vz=10#\n", + "Vsmin=13#\n", + "Vsmax=16#\n", + "ILmin=10*10**-3#\n", + "ILmax=85*10**-3#\n", + "Izmin=15*10**-3#\n", + "Rsmax=(Vsmin-Vz)/(Izmin+ILmax)#\n", + "print 'Rsmax=%0.2f ohm'%Rsmax\n", + "Izmax=((Vsmax-Vz)/Rsmax)-ILmin#\n", + "Pzmax=Izmax*Vz#\n", + "print 'Pzmx=%0.2f W'%Pzmax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.11 Pg 959" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rsmax=499.67 ohm\n", + "Rsmin=77.89 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "Vsmin=19.5#\n", + "Vsmax=22.5#\n", + "RL=6*10**3#\n", + "Vz=18#\n", + "Izmin=2*10**-6#\n", + "Pzmax=60*10**-3#\n", + "rz=20#\n", + "Izmax=sqrt(Pzmax/rz)#\n", + "IL=Vz/RL#\n", + "ILmax=IL#\n", + "ILmin=IL#\n", + "Rsmax=(Vsmin-Vz)/(Izmin+ILmax)#\n", + "print 'Rsmax=%0.2f ohm'%Rsmax\n", + "Rsmin=(Vsmax-Vz)/(Izmax+ILmin)#\n", + "print 'Rsmin=%0.2f ohm'%Rsmin" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.12 Pg 959" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Izmin=0.86 mA\n", + "Izmax=2.68 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vsmin=8#\n", + "Vsmax=12#\n", + "Rs=2.2*10**3#\n", + "Vz=5#\n", + "RL=10*10**3#\n", + "Ismin=(Vsmin-Vz)/Rs#\n", + "Ismax=(Vsmax-Vz)/Rs#\n", + "IL=Vz/RL#\n", + "Izmin=Ismin-IL#\n", + "print 'Izmin=%0.2f mA'%(Izmin*10**3)\n", + "Izmax=Ismax-IL#\n", + "print 'Izmax=%0.2f mA'%(Izmax*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.13 Pg 960" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rsmin=83.33 ohm\n", + "Iz=28.00 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VL=5#\n", + "Vz=5#\n", + "IL=20*10**-3#\n", + "Pzmax=500*10**-3#\n", + "Vsmax=15#\n", + "Vsmin=9#\n", + "Izmax=Pzmax/Vz#\n", + "Ismax=IL+Izmax#\n", + "Vz=VL#\n", + "Rsmin=(Vsmax-Vz)/(Izmax+IL)#\n", + "print 'Rsmin=%0.2f ohm'%Rsmin\n", + "ILmax=IL#\n", + "Iz=((Vsmin-Vz)/Rsmin)-ILmax#\n", + "print 'Iz=%0.2f mA'%(Iz*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.14 Pg 960" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=233.03 microA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vz=10#\n", + "Vbe=0.7#\n", + "RL=100#\n", + "Vs=15#\n", + "B=100#\n", + "Rs=33#\n", + "VL=Vz+Vbe#\n", + "IL=VL/RL#\n", + "Is=(Vs-VL)/Rs#\n", + "Ic=Is-IL#\n", + "Ib=Ic/B#\n", + "print 'Ib=%0.2f microA'%(Ib*10**6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.15 Pg 960" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IB=38.00 microA\n", + "Iz=3.68 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vs=15#\n", + "Vz=8.3#\n", + "B=100#\n", + "R=1.8*10**3#\n", + "RL=2*10**3#\n", + "Vbe=0.7#\n", + "VL=Vz-Vbe#\n", + "Vce=Vs-VL#\n", + "IR=(Vs-Vz)/R#\n", + "IL=VL/RL#\n", + "IB=IL/B#\n", + "print 'IB=%0.2f microA'%(IB*10**6) #In question beta is 100 but while solving it is taken as 50 which is wrong\n", + "Iz=IR-IB#\n", + "print 'Iz=%0.2f mA'%(Iz*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.16 Pg 961" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rmax=119.05 ohm\n", + "Izmax=63.00 mA\n", + "Pzmax=0.79 W\n", + "PRmax=0.47 W\n", + "VCEmax=8.00 V\n", + "PDmax=16.00 W\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "ILmin=0#\n", + "ILmax=2#\n", + "VL=12#\n", + "Vsmin=15#\n", + "Vsmax=20#\n", + "B=100#\n", + "VBE=0.5#\n", + "Vz=12.5#\n", + "Izmin=1*10**-3#\n", + "IBmax=ILmax/B#\n", + "IR=IBmax+Izmin\n", + "Rmax=(Vsmin-Vz)/IR#\n", + "print 'Rmax=%0.2f ohm'%Rmax\n", + "Izmax=(Vsmax-Vz)/Rmax#\n", + "print 'Izmax=%0.2f mA'%(Izmax*10**3)\n", + "Pzmax=Vz*Izmax#\n", + "print 'Pzmax=%0.2f W'%Pzmax\n", + "PRmax=(Vsmax-Vz)*Izmax#\n", + "print 'PRmax=%0.2f W'%PRmax\n", + "VCEmax=Vsmax-VL#\n", + "print 'VCEmax=%0.2f V'%VCEmax\n", + "PDmax=VCEmax*ILmax#\n", + "print 'PDmax=%0.2f W'%PDmax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.17 Pg 961" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RD=600.00 ohm\n", + "R1=530.00 ohm\n", + "R2=670.00 ohm\n", + "R3=1.51 kohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VL=12#\n", + "IL=200*10**-3#\n", + "Vs=30#\n", + "Rs=10#\n", + "B1=150#\n", + "Ic1=10*10**-3#\n", + "VBE1=0.7#\n", + "B2=100#\n", + "VBE2=0.7#\n", + "Vz=6#\n", + "Rz=10#\n", + "Iz=20*10**-3#\n", + "ID=10*10**-3#\n", + "I1=10*10**-3#\n", + "RD=(VL-Vz)/ID#\n", + "print 'RD=%0.2f ohm'%RD\n", + "#a=R1/R2#\n", + "a=(VL/(Vz+VBE2))-1#\n", + "Ic2=Ic1#\n", + "IB2=Ic2/B2#\n", + "V2=Vz+VBE2#\n", + "Vz=12#\n", + "R1=(Vz-V2)/I1#\n", + "print 'R1=%0.2f ohm'%R1\n", + "R2=R1/a#\n", + "print 'R2=%0.2f ohm'%R2\n", + "hfe1=B1#\n", + "IB1=(IL+I1+ID)/hfe1#\n", + "I=IB1+Ic2#\n", + "R3=(Vs-(VBE1+VL))/I#\n", + "print 'R3=%0.2f kohm'%(R3*10**-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.18 Pg 961" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vout=8.20 V\n", + "IE1=8.20 mA\n", + "P1=137.76 mW\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vs=25#\n", + "Vz=15#\n", + "RL=1*10**3#\n", + "VBE2=0.7#\n", + "Vout=(Vz/2)+VBE2#\n", + "print 'Vout=%0.2f V'%Vout\n", + "IL=Vout/RL#\n", + "IE1=IL#\n", + "print 'IE1=%0.2f mA'%(IE1*10**3)\n", + "Vce1=Vs-Vout#\n", + "P1=Vce1*IE1#\n", + "print 'P1=%0.2f mW'%(P1*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.19 Pg 961" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voutmin=1.25 V\n", + "Voutmax=30.16 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "IADJ=100*10**-6#\n", + "Vin=35#\n", + "VREF=1.25#\n", + "R2=0#\n", + "R1=220#\n", + "Voutmin=VREF*(1+(R2/R1))+IADJ*R2#\n", + "print 'Voutmin=%0.2f V'%Voutmin\n", + "R2=5000#\n", + "Voutmax=VREF*(1+(R2/R1))+IADJ*R2#\n", + "print 'Voutmax=%0.2f V'%Voutmax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.20 Pg 962" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vo=9.77 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=220#\n", + "R2=1500#\n", + "Vo=1.25*(1+(R2/R1))#\n", + "print 'Vo=%0.2f V'%Vo #answer given in book is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 34.21 Pg 962" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vo=13.75 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "R1=240#\n", + "R2=2.4*10**3#\n", + "Vo=1.25*(1+(R2/R1))#\n", + "print 'Vo=%0.2f V'%Vo" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap3_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap3_1.ipynb new file mode 100644 index 00000000..abc387fe --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap3_1.ipynb @@ -0,0 +1,859 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 3 : Semiconductors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.1 Pg 59" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "l = 45.6 km\n", + "J = 5.80e+05 A/m**2\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt, pi\n", + "R=1000#\n", + "sigma=5.8*10**7#\n", + "d=0.001#\n", + "\n", + "#l is length of the cu wire\n", + "l=R*sigma*pi*(d*d/4)##R=l/(sigma*pi*(d*d/4))\n", + "print \"l = %0.1f km\"%(l*10**-3)\n", + "E=10*10**-3#\n", + "J=sigma*E##current density\n", + "print 'J = %0.2e A/m**2'%J" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.2 Pg 60" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 1.133e+29 /m**3\n", + "J = 1.16e+06 A/m**2\n", + "A = 3.14e-06 m**2\n", + "I = 3.64 A\n", + "V = 6.40e-05 m/s\n" + ] + } + ], + "source": [ + "from math import sqrt, pi\n", + "d=2*10**-3#\n", + "sigma=5.8*10**7#\n", + "mu=0.0032#\n", + "E=20*10**-3#\n", + "q=1.6*10**-19#\n", + "n=sigma/(q*mu)##sigma=q*n*mu\n", + "print 'n = %0.3e /m**3'%(n)\n", + "J=sigma*E##current density\n", + "print 'J = %0.2e A/m**2'%J\n", + "A=pi*d*d/4##area of cross-section of wire\n", + "print 'A = %0.2e m**2'%A\n", + "I=J*A##current flowing in the wire\n", + "print 'I = %0.2f A'%I\n", + "V=mu*E##electron drift velocity\n", + "print 'V = %0.2e m/s'%V\n", + "#answer printed in the book is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.3 Pg 61" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 6.49e+07 S/m\n", + "mu = 0.700 m**2/vs\n", + "t = 3.980 ps\n" + ] + } + ], + "source": [ + "p=1.54*10**-8#\n", + "n=5.8*10**28#\n", + "q=1.6*10**-19#\n", + "sigma=1/p##p=1/sigma..conductivity\n", + "print 'sigma = %0.2e S/m'%sigma\n", + "mu=sigma/(q*n*10**-2)##mobility\n", + "print 'mu = %0.3f m**2/vs'%mu\n", + "m=9.1*10**-31#\n", + "t=(m*mu)/q##relaxation time\n", + "print 't = %0.3f ps'%(t*1e12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.4 Pg 62" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 2.24 ohm-mu**-1\n", + "sigma1 = 4.32e-04 ohm-m**-1\n" + ] + } + ], + "source": [ + "mun=0.38#\n", + "mup=0.18#\n", + "n=2.5*10**19#\n", + "a=0.13#\n", + "b=0.05#\n", + "n2=1.5*10**16#\n", + "q=1.6*10**-19#\n", + "sigma=q*n*(mun+mup)## intrinsic coductivity for germanium\n", + "print 'sigma = %0.2f ohm-mu**-1'%sigma\n", + "sigma1=q*n2*(a+b)##intrinsic coductivity for silicon\n", + "print 'sigma1 = %0.2e ohm-m**-1'%sigma1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.5 Pg 62" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "e = 3.27e-04 ohm-m**-1\n", + "h = 1.13e-04 ohm-m**-1\n" + ] + } + ], + "source": [ + "n=1.41*10**16#\n", + "mun=0.145#\n", + "mup=0.05#\n", + "q=1.6*10**-19#\n", + "#sigma=q*n*(mun+mup)#\n", + "e=q*n*mun##contribution by electrons\n", + "h=q*n*mup##contribution by holes\n", + "print 'e = %0.2e ohm-m**-1'%e\n", + "print 'h = %0.2e ohm-m**-1'%h" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.6 Pg 63" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R = 125.00 ohm\n", + "rho = 0.025 ohm-m\n", + "n = 1.92e+21 /m**3\n", + "J = 2.00e+05 amp/m**2\n", + "v = 650.00 m/sec\n" + ] + } + ], + "source": [ + "q=1.60*10**-19#\n", + "l=0.2*10**-3#\n", + "a=0.04*10**-6#\n", + "v=1#\n", + "i=8*10**-3#\n", + "mun=0.13#\n", + "#concentration of free electrons\n", + "R=v/i##resistance\n", + "print 'R = %0.2f ohm'%R\n", + "rho=(R*a)/l#\n", + "print 'rho = %0.3f ohm-m'%rho\n", + "sigma=1/rho##conductivity\n", + "n=sigma/(q*mun)##concentration of free electrons\n", + "print 'n = %0.2e /m**3'%n\n", + "#Drift velocity\n", + "j=i/a#\n", + "print 'J = %0.2e amp/m**2'%j\n", + "v=j/(n*q)#\n", + "print 'v = %0.2f m/sec'%v" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.7 Pg 64" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 2.13 ohm-m**-1\n", + "n = 2.3e+19 /m**3\n" + ] + } + ], + "source": [ + "rho=0.47#\n", + "q=1.6*10**-19#\n", + "mun=0.39#\n", + "mup=0.19#\n", + "sigma=1/rho##conductivity of intrinsic semiconductor\n", + "print 'sigma = %0.2f ohm-m**-1'%sigma\n", + "n=sigma/(q*(mun+mup))##intrinsic carrier concentration of germanium\n", + "print 'n = %0.1e /m**3'%n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.8 Pg 66" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 5.00e+20 /m**3\n", + "SIGMA = 14.40 ohm-m**-1\n" + ] + } + ], + "source": [ + "ND=10**21#\n", + "NA=5*10**20#\n", + "q=1.6*10**-19#\n", + "mun=0.18#\n", + "ND1=ND-NA##number of free electrons\n", + "print 'n = %0.2e /m**3'%ND1\n", + "SIGMA=ND1*q*mun##conductivity of silicon\n", + "print 'SIGMA = %0.2f ohm-m**-1'%SIGMA" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.9 Pg 66" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 0.01 (ohm-m)**-1\n", + "ND = 1.74e+17 atoms/m**3\n" + ] + } + ], + "source": [ + "rho=100.0#\n", + "q=1.6*10**-19#\n", + "mun=0.36#\n", + "sigma=1.0/rho#\n", + "print 'sigma = %0.2f (ohm-m)**-1'%sigma\n", + "ND= sigma/(q*mun)##donar concentration\n", + "print 'ND = %0.2e atoms/m**3'%ND" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.10 Pg 66" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 1.76e+24 electrons/cm**3\n", + "p = 2.64e+24 holes/cm**3\n" + ] + } + ], + "source": [ + "ND=2*10**14#\n", + "NA=3*10**14#\n", + "ni=2.3*10**19#\n", + "n=(ni**2)/NA#\n", + "print 'n = %0.2e electrons/cm**3'%n\n", + "p=(ni**2)/ND#\n", + "print 'p = %0.2e holes/cm**3'%p" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.11 Pg 67" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 3750\n", + "p = 4.50e+11\n" + ] + } + ], + "source": [ + "ND=5*10**8#\n", + "NA=6*10**16#\n", + "ni=1.5*10**10#\n", + "n=(ni**2)/NA##number of electons\n", + "p=(ni**2)/ND##number of holes\n", + "print \"n = %0.f\"%n\n", + "print \"p = %0.2e\"%p" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.12 Pg 67" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 1.60 S/m\n", + "l = 1.26 mm\n" + ] + } + ], + "source": [ + "from math import pi\n", + "d=0.001#\n", + "q=1.6*10**-19#\n", + "ND=10**20#\n", + "R=1000#\n", + "mun=0.1#\n", + "n=ND##number of free electrons\n", + "sigma=q*n*mun##conductivity\n", + "print 'sigma = %0.2f S/m'%sigma\n", + "a=(1/sigma)*(1/(pi*(0.001**2)/4))\n", + "l=R/a#\n", + "print 'l = %0.2f mm'%(l*10**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.13 Pg 67" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p = 3.47e+17 /cm**3\n", + "n = 1.80e+09 /cm**3\n", + "n = 4.80e+14 /cm**3\n", + "p = 4.69e+05 /cm**3\n" + ] + } + ], + "source": [ + "sigma=100#\n", + "rho=0.1#\n", + "ni=1.5*10**10#\n", + "mun=1300#\n", + "mup=500#\n", + "ni1=2.5*10**13#\n", + "mun1=3800#\n", + "mup1=1800#\n", + "q=1.602*10**-19#\n", + "#concentration of p type germanium\n", + "p=sigma/(q*mup1)#\n", + "print 'p = %0.2e /cm**3'%p\n", + "n=(ni1**2)/p#\n", + "print 'n = %0.2e /cm**3'%n\n", + "#concentration of n type silicon\n", + "n=rho/(mun*q)#\n", + "print 'n = %0.2e /cm**3'%n\n", + "p=(ni**2)/n#\n", + "print 'p = %0.2e /cm**3'%p\n", + "# ans in the textbook are wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex3.14 Pg 68" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ND = 4.41e+14 /cm**3\n", + "p = 1.42e+12 /cm**3\n", + "sigma = 0.27 (ohm-cm**)-1\n", + "rho = 3.72 ohm-cm\n" + ] + } + ], + "source": [ + "mun=3800#\n", + "mup=1800#\n", + "ni=2.5*10**13#\n", + "Nge=4.41*10**22#\n", + "q=1.602*10**-19#\n", + "ND=Nge/10**8#\n", + "print 'ND = %0.2e /cm**3'%ND\n", + "p=(ni**2)/ND#\n", + "print 'p = %0.2e /cm**3'%p\n", + "n=ND#\n", + "sigma=q*n*mun#\n", + "print 'sigma = %0.2f (ohm-cm**)-1'%sigma\n", + "rho=1/sigma#\n", + "print 'rho = %0.2f ohm-cm'%rho" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.15 Pg 68" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 4.45e-06 (ohm-cm)**-1\n", + "rho = 224690.83 ohm-cm\n", + "ND = 9.92e+14 /cm**3\n", + "p = 2.33e+05 /cm**3\n", + "sigma = 0.21 (ohm-cm)**-1\n", + "rho = 4.67 ohm-cm\n" + ] + } + ], + "source": [ + "Nsi=4.96*10**22#\n", + "ni=1.52*10**10#\n", + "q=1.6*10**-19#\n", + "mun=1350#\n", + "mup=480#\n", + "#resistivity of intrinsic silicon\n", + "sigma=q*ni*(mun+mup)\n", + "print 'sigma = %0.2e (ohm-cm)**-1'%sigma\n", + "rho=1/sigma#\n", + "print 'rho = %0.2f ohm-cm'%rho\n", + "#resistivity of doped silicon\n", + "ND=Nsi/(50*10**6)#\n", + "print 'ND = %0.2e /cm**3'%ND\n", + "n=ND#\n", + "p=(ni**2)/n#\n", + "print 'p = %0.2e /cm**3'%p\n", + "sigma=q*n*mun#\n", + "print 'sigma = %0.2f (ohm-cm)**-1'%sigma\n", + "rho=1/sigma#\n", + "print 'rho = %0.2f ohm-cm'%rho" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex3.16 Pg 69" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 4.40e-04 ohm-m**-1\n", + "sigma = 38.45 ohm-m**-1\n", + "sigma34 = 7.48e-04 ohm-m**-1\n" + ] + } + ], + "source": [ + "mup=0.048#\n", + "mun=0.135#\n", + "q=1.602*10**-19#\n", + "Nsi=5*10**28#\n", + "ni=1.5*10**16#\n", + "sigma=q*ni*(mun+mup)#\n", + "print 'sigma = %0.2e ohm-m**-1'%sigma\n", + "NA=Nsi/10**7#\n", + "P=NA#\n", + "n=ni**2/P#\n", + "sigma=q*P*mup#\n", + "print 'sigma = %0.2f ohm-m**-1'%sigma\n", + "alpha=0.05#\n", + "T=34-20#\n", + "sigma20=0.44*10**-3#\n", + "sigma34=sigma20*(1+alpha*T)#\n", + "print 'sigma34 = %0.2e ohm-m**-1'%sigma34" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.17 Pg 71" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DP = 4.40e+01 m**2/s\n", + "Dn = 9.31e+01 m**2/s\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "mun=3600#\n", + "mup=1700#\n", + "k=1.38*10**23#\n", + "T=300#\n", + "DP=mup*(T/11600)##answer given in the book is wrong\n", + "print 'DP = %0.2e m**2/s'%DP\n", + "Dn=mun*(T/11600)##answer given in the book is wrong\n", + "print 'Dn = %0.2e m**2/s'%Dn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.18 Pg 74" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mu = 1000.00 cm**2/volt-sec\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "RH=160#\n", + "rho=0.16#\n", + "mun=(1/rho)*RH#\n", + "print 'mu = %0.2f cm**2/volt-sec'%mun" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.19 Pg 77" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 7.50e+21 /m**3\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "I=50#\n", + "B=1.2#\n", + "t=0.5*10**-3#\n", + "Vh=100#\n", + "q=1.6*10**-19#\n", + "n=(B*I)/(Vh*q*t)#\n", + "print 'n = %0.2e /m**3'%n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex3.20 Pg 77" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n = 3.12e+21 /m**3\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "rho=20*10**-2#\n", + "mu=100*10**-4#\n", + "q=1.6*10**-19#\n", + "n=1/(rho*q*mu)#\n", + "print 'n = %0.2e /m**3'%n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex3.21 Pg 77" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mu = 0.04 m**2/V-s\n", + "n = 1.71e+22 /m**3\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Rh=3.66*10**-4#\n", + "rho=8.93*10**-3#\n", + "mu=Rh/rho#\n", + "print 'mu = %0.2f m**2/V-s'%mu\n", + "q=1.6*10**-19#\n", + "\n", + "n=1/(q*Rh)#\n", + "print 'n = %0.2e /m**3'%n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex3.22 Pg 77" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sigma = 111.11 S/m\n", + "RH = 2.70e-05 m**3*C\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "rho=9*10**-3#\n", + "mup=0.003#\n", + "sigma=1/rho#\n", + "print 'sigma = %0.2f S/m'%sigma\n", + "RH= mup/sigma#\n", + "print 'RH = %0.2e m**3*C'%RH" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap5_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap5_1.ipynb new file mode 100644 index 00000000..5bd9c597 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap5_1.ipynb @@ -0,0 +1,539 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 5 : PN JUNCTION DIODE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.1 Pg 102" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I = 10.72 uA\n" + ] + } + ], + "source": [ + "from math import exp \n", + "I0=2*10**-7\n", + "Vf=0.1\n", + "I=I0*(exp (40*Vf)-1)\n", + "print \"I = %0.2f\"%(I*10**6),'uA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.2 Pg 102" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VT=25.69 mV\n", + "I=5.24 A\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import exp\n", + "I0=1*10**-3\n", + "Vf=0.22\n", + "T=298\n", + "n=1\n", + "VT=T/11600\n", + "print \"VT=%0.2f\"%(VT*10**3),'mV'\n", + "I=I0*(exp (Vf/(n*VT))-1)\n", + "print \"I=%0.2f\"%I,\"A\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.3 Pg 103" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "value of n = 1.17605641518\n" + ] + } + ], + "source": [ + "from math import log\n", + "from __future__ import division\n", + "I1=0.5*10**-3\n", + "V1=340*10**-3\n", + "I2=15*10**-3\n", + "V2=440*10**-3\n", + "kTbyq=25*10**-3\n", + "a=V1/kTbyq\n", + "b=V2/kTbyq\n", + "#log(I1/I2)==log(exp((b-a)/n))\n", + "n=(a-b)/(log(I1/I2))\n", + "print \"value of n =\",n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.4 Pg 103" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I400=10.24 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "I300=10*10**-6\n", + "T1=300\n", + "T2=400\n", + "I400=I300*(2**((T2-T1)/10))\n", + "print \"I400=%0.2f\"%(I400*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.5 Pg 103" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VF=0.72 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "rB=2.0\n", + "IF=12*10**-3\n", + "VF=0.7+IF*rB\n", + "print \"VF=%0.2f\"%VF,'V'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.8 Pg 104" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IF=0.50 A\n", + "IR=3.33 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "PD=0.5\n", + "VF=1\n", + "VBR=150\n", + "IF=(PD/VF)\n", + "print \"IF=%0.2f\"%IF,\"A\"\n", + "IR=(PD/VBR)\n", + "print \"IR=%0.2f\"%(IR*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.9 Pg 104" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VD=VS=5.00 V\n", + "VR= 0\n", + "I= 0\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "R=330\n", + "VS=5\n", + "VD=VS\n", + "print \"VD=VS=%0.2f\"% VD,'V'\n", + "VR=0\n", + "print \"VR=\",VR\n", + "I=0\n", + "print \"I=\",I" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.10 Pg 105" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VD= 0\n", + "VR= 12 V\n", + "I=25.53 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "VS=12\n", + "R=470\n", + "VD=0\n", + "print \"VD=\",VD\n", + "VR=VS\n", + "print \"VR=\",VR,\"V\"\n", + "I=(VS/R)\n", + "print \"I=%0.2f\"%(I*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.11 Pg 105" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I=6.62 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "VS=6\n", + "R1=330\n", + "R2=470\n", + "VD=0.7\n", + "RT=R1+R2\n", + "I=(VS-0.7)/RT\n", + "print \"I=%0.2f\"%(I*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.12 Pg 105" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VR=4.30 V\n", + "I=8.43 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "VS=5\n", + "R=510\n", + "VF=0.7\n", + "VR=VS-0.7\n", + "print \"VR=%0.2f\"%VR,\"V\"\n", + "I=VR/R\n", + "print \"I=%0.2f\"%(I*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.13 Pg 105" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I=3.07 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "VS=6\n", + "VD1=0.7\n", + "VD2=0.7\n", + "VR=1.5*10**3\n", + "I=(VS-VD1-VD2)/VR\n", + "print \"I=%0.2f\"%(I*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.14 Pg 106" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I=3.21 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "VS=12\n", + "R1=1.5*10**3\n", + "R2=1.8*10**3\n", + "VD1=0.7\n", + "VD2=0.7\n", + "I=(VS-VD1-VD2)/(R1+R2)\n", + "print \"I=%0.2f\"%(I*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.15 Pg 106" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VO= 0 V\n", + "VO= 4.3 V\n", + "VO= 4.3 V\n", + "VO= 4.3 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "V1=0\n", + "V2=0\n", + "VO=0\n", + "print \"VO=\",VO,\"V\"\n", + "V1=0\n", + "V2=5\n", + "VO=V2-0.7\n", + "print \"VO=\",VO,\"V\"\n", + "V1=5\n", + "V2=0\n", + "VO=V1-0.7\n", + "print \"VO=\",VO,\"V\"\n", + "V1=5\n", + "V2=5\n", + "VO=V2-0.7\n", + "print \"VO=\",VO,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 5.16 Pg 106" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I= 0.999965 mA\n", + "R1= 50\n", + "V= 0 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import arange,pi,sin\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,show,xlabel,ylabel,title\n", + "R=20*10**3\n", + "I=(R-0.7)/R\n", + "print \"I=\",I,\"mA\"\n", + "rj=50\n", + "rB=1\n", + "re=rB+rj\n", + "R1=(R*re)/(re+R)\n", + "print \"R1=\",R1\n", + "V=10*(re/(re+1000))\n", + "print \"V=\",V,'mV'\n", + "i=arange(0,6*pi,0.01)\n", + "y=[]\n", + "for x in i:\n", + " y.append(sin(x))\n", + "plot(i,y)\n", + "xlabel(\"X\")\n", + "ylabel(\"Y\")\n", + "title(\"sin wave\")\n", + "show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap7_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap7_1.ipynb new file mode 100644 index 00000000..8d552ef5 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap7_1.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 7 : SPECIAL PURPOSE DIODES AND OPTO ELECTRONIC DEVICES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.1 Pg 136" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Izm=73.53 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "pzm=500*10**-3#\n", + "vz=6.8#\n", + "Izm=pzm/vz#\n", + "print \"Izm=%0.2f\"%(Izm*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.2 Pg 137 " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Td=83.25 mW\n", + "pz=416.75 mW\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "pzm=500*10**-3#\n", + "d=3.33*10**-3#\n", + "a=75#\n", + "b=50#\n", + "Td=d*(a-b)#\n", + "print \"Td=%0.2f\"%(Td*10**3),\"mW\"\n", + "pz=pzm-Td #\n", + "print \"pz=%0.2f\"%(pz*10**3),'mW'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.3 Pg 138" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rz=5.00 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "IZ=10*10**-3#\n", + "vz=0.05#\n", + "rz=vz/IZ#\n", + "print \"rz=%0.2f\"%rz,\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.4 Pg 139" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VZ1=5.00 V\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Vz=4.7#\n", + "rz=15#\n", + "Iz=20*10**-3#\n", + "VZ1= Vz+(rz*Iz)#\n", + "print \"VZ1=%0.2f\"%VZ1,\"V\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.5 Pg 139" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CT=2.50e-12 F\n", + "fo=1.01 MHz\n", + "CT=2.50e-11 F\n", + "fo=318.31 kHz\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt,pi\n", + "C1=5*10**-12##min\n", + "C2=5*10**-12##min\n", + "L=10*10**-3#\n", + "CT=(C1*C2)/(C1+C2)##CTmax\n", + "print \"CT=%0.2e\"%CT,\"F\"\n", + "fo=1/(2*pi*sqrt(L*CT))#\n", + "print \"fo=%0.2f\"%(fo*10**-6),\"MHz\"\n", + "C1=50*10**-12##max\n", + "C2=50*10**-12##max\n", + "CT=(C1*C2)/(C1+C2)##CTmin\n", + "print \"CT=%0.2e\"%CT,\"F\"\n", + "fo=1/(2*pi*sqrt(L*CT))#\n", + "print \"fo=%0.2f\"%(fo*10**-3),\"kHz\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.6 Pg 139" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f=25.00 MHz\n", + "f=125.00 MHz\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "T=0.04*10**-6#\n", + "f=1/T#\n", + "print \"f=%0.2f\"%(f*10**-6),\"MHz\"\n", + "print \"f=%0.2f\"%(f*5*10**-6),\"MHz\"##frequency of 5th harmonic" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.7 Pg 140" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rs=387.50 ohm\n", + "Rsmax=375.00 ohm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Vs=8#\n", + "VDmin=1.8#\n", + "VDmax=2#\n", + "Ifmax=16*10**-3#\n", + "Rs=(Vs-VDmin)/Ifmax#\n", + "print \"Rs=%0.2f\"%Rs,\"ohm\"\n", + "Rsmax=(Vs-VDmax)/Ifmax#\n", + "print \"Rsmax=%0.2f\"%Rsmax,\"ohm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.8 Pg 140" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Imax=18.09 mA\n", + "Imin=16.38 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VDmin=1.5#\n", + "VDmax=2.3#\n", + "Vs=10#\n", + "R1=470#\n", + "Imax=(Vs-VDmin)/R1#\n", + "print \"Imax=%0.2f\"%(Imax*10**3),\"mA\"\n", + "Imin=(Vs-VDmax)/R1#\n", + "print \"Imin=%0.2f\"%(Imin*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.9 Pg 140" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Imin=16.67 mA\n", + "Imax=27.07 mA\n", + "Imin=16.67 mA\n", + "Imax=26.67 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "VDmin=1.8#\n", + "VDmax=3#\n", + "Vs1=24#\n", + "Rs1=820#\n", + "Vs2=5#\n", + "Rs2=120#\n", + "Imin=(Vs2-VDmax)/Rs2#\n", + "print \"Imin=%0.2f\"%(Imin*10**3),\"mA\"\n", + "Imax=(Vs1-VDmin)/Rs1#\n", + "print \"Imax=%0.2f\"%(Imax*10**3),\"mA\"\n", + "Imin=(Vs2-VDmax)/Rs2#\n", + "print \"Imin=%0.2f\"%(Imin*10**3),\"mA\"\n", + "Imax=(Vs2-VDmin)/Rs2#\n", + "print \"Imax=%0.2f\"%(Imax*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 7.10 Pg 141" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R=2.00 kohm\n", + "Id=0.30 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "r=1*10**3#\n", + "I=10*10**-3#\n", + "V=30#\n", + "#I=30/(R+r)\n", + "R=(V/I)-r##when dark\n", + "print \"R=%0.2f\"%(R*10**-3),\"kohm\"\n", + "R=100*10**3##when illuminated\n", + "Id=(V/(r+R))#\n", + "print \"Id=%0.2f\"%(Id*10**3),\"mA\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap8_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap8_1.ipynb new file mode 100644 index 00000000..3963e259 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap8_1.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 8 : BIPOLAR JUNCTION TRANSISTORS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.1 Pg 161" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=0.20 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 8.1\n", + "Ie=10*10**-3#\n", + "Ic=9.8*10**-3#\n", + "#Ie=Ib+Ic\n", + "Ib=Ie-Ic#\n", + "print \"Ib=%0.2f\"%(Ib*10**3),'mA'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.2 Pg 161" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=0.9873\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Ie=6.28*10**-3#\n", + "Ic=6.20*10**-3#\n", + "a=Ic/Ie#\n", + "print \"a=%0.4f\"%a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.3 Pg 161" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=9.67 mA\n", + "Ib=0.33 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g8.3\n", + "a=0.967#\n", + "Ie=10*10**-3#\n", + "Ic=Ie*a##a=Ic/Ie\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "Ib=Ie-Ic#\n", + "print \"Ib=%0.2f\"%(Ib*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.4 Pg 162" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=9.87 mA\n", + "Ib=0.13 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "Ie=10*10**-3#\n", + "alpha=0.987#\n", + "Ic=Ie*alpha##alpha=Ic/Ie\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "Ib=Ie-Ic#\n", + "print \"Ib=%0.2f\"%(Ib*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.5 Pg 163" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta= 39.0\n", + "alpha= 0.975\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "alpha=0.975#\n", + "beta=200#\n", + "beta=(alpha/(1-alpha))#\n", + "print \"beta=\",beta\n", + "alpha=(beta/(1+beta))#\n", + "print \"alpha=\",alpha" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.6 Pg 163" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IE=40.40 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "BETA=100#\n", + "IC=40*10**-3#\n", + "IB=IC/BETA#\n", + "IE=IC+IB#\n", + "print \"IE=%0.2f\"%(IE*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.7 Pg 164" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=9.93 mA\n", + "Ib=0.07 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "beta=150#\n", + "Ie=10*10**-3#\n", + "alpha=beta/(1+beta)\n", + "Ic=alpha*Ie##as alpha=(Ic/Ie)\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "Ib=Ie-Ic##as Ie=Ib+Ic\n", + "print \"Ib=%0.2f\"%(Ib*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.8 Pg 164" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=80.00 mA\n", + "Ie=80.47 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "beta=170#\n", + "Ic=80*10**-3#\n", + "Ib=Ic/beta##beta=(Ic/Ib)\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "Ie=Ic+Ib#\n", + "print \"Ie=%0.2f\"%(Ie*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.9 Pg 165" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=25.00 mA\n", + "Ie=25.12 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Ib=125*10**-6#\n", + "beta=200#\n", + "Ic=beta*Ib#\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "Ie=Ic+Ib#\n", + "print \"Ie=%0.2f\"%(Ie*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.10 Pg 165" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ib=0.09 mA\n", + "Ic=11.91 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Ie=12*10**-3#\n", + "beta=140#\n", + "Ib=Ie/(1+beta)#\n", + "print \"Ib=%0.2f\"%(Ib*10**3),\"mA\"\n", + "Ic=Ie-Ib##as Ie=Ib+Ic\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.11 Pg 165" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BETA= 19.5238095238\n", + "ALPHA= 0.951276102088\n", + "IE=2.15 mA\n", + "BETAn= 20.4545454545\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "IB=105*10**-6#\n", + "IC=2.05*10**-3#\n", + "BETA=IC/IB#\n", + "print \"BETA=\",BETA\n", + "ALPHA=BETA/(1+BETA)#\n", + "print \"ALPHA=\",ALPHA\n", + "IE=IC+IB#\n", + "print \"IE=%0.2f\"%(IE*10**3),\"mA\"\n", + "DELTA_IB=27*10**-6#\n", + "DELTA_IC=0.65*10**-3#\n", + "IBn=IB+DELTA_IB#\n", + "ICn=IC+DELTA_IC#\n", + "BETAn=ICn/IBn#\n", + "print \"BETAn=\",BETAn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.12 Pg 166" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=5.15 mA\n", + "Ie=5.25 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "#e.g 8.12\n", + "alpha=0.98#\n", + "Ico=5*10**-6#\n", + "Ib=100*10**-6#\n", + "Ic=((alpha*Ib)/(1-alpha))+(Ico/(1-alpha))#\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "Ie=Ic+Ib#\n", + "print \"Ie=%0.2f\"%(Ie*10**3),\"mA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 8.13 Pg 166" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ic=13.01 mA\n", + "Icbo50=49.25 microA\n", + "Ic=15.01 mA\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "Icbo=10*10**-6#\n", + "beta=50#\n", + "#Value of collector current when Ib=0.25*10**-3#\n", + "Ib=0.25*10**-3#\n", + "Ic=(beta*Ib)+(1+beta)*Icbo#\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"\n", + "#Value of new collector current if temperature rises to 50 degree\n", + "t1=27#\n", + "t2=50#\n", + "Icbo50=Icbo*2**((t2-t1)/10)#\n", + "print \"Icbo50=%0.2f\"%(Icbo50*10**6),\"microA\"\n", + "#collector current at 50 degree\n", + "Ic=beta*Ib+(1+beta)*Icbo50#\n", + "print \"Ic=%0.2f\"%(Ic*10**3),\"mA\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap9_1.ipynb b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap9_1.ipynb new file mode 100644 index 00000000..f290a4a5 --- /dev/null +++ b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/Chap9_1.ipynb @@ -0,0 +1,62 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 9 : BJT CHARACTERISTICS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 9.1 Pg 175" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pdmax70= 0.3974\n" + ] + } + ], + "source": [ + "Pdmax=500*10**-3#\n", + "DF=2.28*10**-3#\n", + "T=70#\n", + "Pdmax70=Pdmax-DF*(T-25)#\n", + "print \"Pdmax70=\",Pdmax70" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28Capacitance_1.png b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28Capacitance_1.png new file mode 100644 index 00000000..2fd3e8f3 Binary files /dev/null and b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28Capacitance_1.png differ diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28OpFreq_1.png b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28OpFreq_1.png new file mode 100644 index 00000000..29cccc4c Binary files /dev/null and b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28OpFreq_1.png differ diff --git a/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28VoltageGain_1.png b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28VoltageGain_1.png new file mode 100644 index 00000000..0dbe2133 Binary files /dev/null and b/A_Textbook_of_Electronic_Circuits_by_R._S._Sedha/screenshots/Ch28VoltageGain_1.png differ diff --git a/Electronics_Circuits_and_Systems_by_Y._N._Bapat/README.txt b/Electronics_Circuits_and_Systems_by_Y._N._Bapat/README.txt new file mode 100644 index 00000000..1b6a056e --- /dev/null +++ b/Electronics_Circuits_and_Systems_by_Y._N._Bapat/README.txt @@ -0,0 +1,10 @@ +Contributed By: Vinesh Saini +Course: btech +College/Institute/Organization: Uttarakhand Technical University +Department/Designation: Assistant Professor +Book Title: Electronics Circuits and Systems +Author: Y. N. Bapat +Publisher: Tata McGraw-Hill, New Delhi +Year of publication: 2000 +Isbn: 0-07-460040-0 +Edition: 1 \ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_6.ipynb new file mode 100644 index 00000000..f31c3f93 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_6.ipynb @@ -0,0 +1,393 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 : Stress, Axial loads and Safety concepts" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.1 page number 24" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The bearing stress at C is 0.875 MPA\n", + "The maximum normal stress in BD bolt is: 62.0 MPA\n", + "The tensile strss at shank of the bolt is: 40.0 MPA\n" + ] + } + ], + "source": [ + "#Given\n", + "import math\n", + "d_bolt = 20.0 #mm,diameter,This is not the minimum area\n", + "d_bolt_min = 16.0 #mm This is at the roots of the thread \n", + "#This yealds maximum stress \n", + "A_crossection = (math.pi)*(d_bolt**2)/4 #mm*2\n", + "A_crossection_min = (math.pi)*(d_bolt_min**2)/4 #mm*2 ,This is minimum area which yeilds maximum stress\n", + "load = 10.0 #KN\n", + "BC = 1.0 #m\n", + "CF = 2.5 #m\n", + "contact_area = 200*200 # mm*2 , The contact area at c\n", + "\n", + "#caliculations \n", + "#Balancing forces in the x direction:\n", + "# Balncing the moments about C and B:\n", + "Fx = 0 \n", + "R_cy = load*(BC+CF) #KN , Reaction at C in y-direction\n", + "R_by = load*(CF) #KN , Reaction at B in y-direction\n", + "#Because of 2 bolts\n", + "stress_max = (R_by/(2*A_crossection_min))*(10**3) # MPA,maximum stess records at minimum area\n", + "stress_shank = (R_by/(2*A_crossection))*(10**3) # MPA\n", + "Bearing_stress_c = (R_cy/contact_area)*(10**3) #MPA, Bearing stress at C\n", + "\n", + "print\"The bearing stress at C is \",(Bearing_stress_c) ,\"MPA\"\n", + "print\"The maximum normal stress in BD bolt is: \",round(stress_max),\"MPA\"\n", + "print\"The tensile strss at shank of the bolt is: \",round(stress_shank),\"MPA\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.2 page number 26" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total weight of pier is 25.0 KN\n", + "The stress at 1 m above is 28.75 MPA\n" + ] + } + ], + "source": [ + "#Given \n", + "load_distributed = 20 #KN/m*2, This is the load distributed over the pier\n", + "H = 2 # m, Total height \n", + "h = 1 #m , point of investigation \n", + "base = 1.5 #m The length of crossection in side veiw \n", + "top = 0.5 #m ,The length where load is distributed on top\n", + "base_inv = 1 #m , the length at the point of investigation \n", + "area = 0.5*1 #m ,The length at a-a crossection \n", + "density_conc = 25 #KN/m*2\n", + "#caliculation of total weight \n", + "\n", + "v_total = ((top+base)/2)*top*H #m*2 ,The total volume \n", + "w_total = v_total* density_conc #KN , The total weight\n", + "R_top = (top**2)*load_distributed #KN , THe reaction force due to load distribution \n", + "reaction_net = w_total + R_top\n", + "\n", + "#caliculation of State of stress at 1m \n", + "v_inv = ((top+base_inv)/2)*top*h #m*2 ,The total volume from 1m to top\n", + "w_inv = v_inv*density_conc #KN , The total weight from 1m to top\n", + "reaction_net = w_inv + R_top #KN\n", + "Stress = reaction_net/area #KN/m*2\n", + "print\"The total weight of pier is\",w_total,\"KN\"\n", + "print\"The stress at 1 m above is\",Stress,\"MPA\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.3 page number 27" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensile stress in main bar AB: 17.89 Ksi\n", + "Tensile stress in clevis of main bar AB: 11.18 Ksi\n", + "Comprensive stress in main bar BC: 12.93 Ksi\n", + "Bearing stress in pin at C: 18.86 Ksi\n", + "torsion stress in pin at C: -25.62 Ksi\n" + ] + } + ], + "source": [ + "#Given\n", + "from math import pow\n", + "d_pins = 0.375 #inch\n", + "load = 3 #Kips\n", + "AB_x = 6 #inch,X-component\n", + "AB_y = 3 #inch,Y-component \n", + "BC_y = 6 #inch,Y-component\n", + "BC_x = 6 #inch,X-component\n", + "area_AB = 0.25*0.5 #inch*2 \n", + "area_net = 0.20*2*(0.875-0.375) #inch*2 \n", + "area_BC = 0.875*0.25 #inch*2 \n", + "area_pin = d_pins*2*0.20 #inch*2 \n", + "area_pin_crossection = 3.14*((d_pins/2)**2)\n", + "#caliculations\n", + "\n", + "slope = AB_y/ AB_x #For AB\n", + "slope = BC_y/ BC_x #For BC\n", + "\n", + "#momentum at point C:\n", + "F_A_x = (load*AB_x )/(BC_y + AB_y ) #Kips, F_A_x X-component of F_A\n", + "\n", + "#momentum at point A:\n", + "F_C_x = -(load*BC_x)/(BC_y + AB_y ) #Kips, F_C_x X-component of F_c\n", + "\n", + "#X,Y components of F_A\n", + "F_A= (pow(5,0.5)/2)*F_A_x #Kips\n", + "F_A_y = 0.5*F_A_x #Kips\n", + "\n", + "#X,Y components of F_C \n", + "F_C= pow(2,0.5)*F_C_x #Kips\n", + "F_C_y = F_C_x #Kips\n", + "\n", + "T_stress_AB = F_A/area_AB #Ksi , Tensile stress in main bar AB\n", + "stress_clevis = F_A/area_net #Ksi ,Tensile stress in clevis of main bar AB\n", + "c_strees_BC = F_C/area_BC #Ksi , Comprensive stress in main bar BC\n", + "B_stress_pin = F_C/area_pin #Ksi , Bearing stress in pin at C\n", + "To_stress_pin = F_C/area_pin_crossection #Ksi , torsion stress in pin at C\n", + "\n", + "print\"Tensile stress in main bar AB:\",round(T_stress_AB,2),\"Ksi\"\n", + "print\"Tensile stress in clevis of main bar AB:\",round(stress_clevis,2),\"Ksi\"\n", + "print\"Comprensive stress in main bar BC:\",round(-c_strees_BC,2),\"Ksi\"\n", + "print\"Bearing stress in pin at C:\",round(-B_stress_pin,2),\"Ksi\"\n", + "print\"torsion stress in pin at C:\",round(To_stress_pin,2),\"Ksi\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.4 page number 38" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The factor 2.5 is less than assumed factor 2.7 so this can be considered\n" + ] + } + ], + "source": [ + "#Given\n", + "strength_steel = 120 #Ksi\n", + "factor = 2.5\n", + "F_C = 2.23 #Ksi\n", + "\n", + "#caliculations\n", + "\n", + "stress_allow = strength_steel/factor #Ksi\n", + "A_net = F_C/strength_steel #in*2 , \n", + "#lets adopt 0.20x0.25 in*2 and check wether we are correct or not? \n", + "\n", + "A_net_assumption = 0.25*0.20 #in*2 , this is assumed area which is near to A_net\n", + "stress = 2.23/A_net_assumption #Ksi\n", + "factor_assumed = strength_steel/stress \n", + "\n", + "if factor_assumed > factor :\n", + " print \"The factor\",factor,\"is less than assumed factor\",round(factor_assumed,1),\"so this can be considered\"\n", + "else:\n", + " print \"The assumed factor\",factor, \"is more than assumed factor\",factor_assumed,\"factor_assumed\"\n", + " \n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.6 page number 35" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The required size of rod is: 49.35 m*2\n" + ] + } + ], + "source": [ + "#Given\n", + "mass = 5 #Kg\n", + "frequency = 10 #Hz\n", + "stress_allow = 200 #MPa\n", + "R = 0.5 #m\n", + "\n", + "#caliculations \n", + "from math import pi\n", + "w = 2*pi*frequency #rad/sec\n", + "a = (w**2)*R #m*2/sec\n", + "F = mass*a #N\n", + "A_req = F/stress_allow #m*2 , The required area for aloowing stress\n", + "print\"The required size of rod is:\",round(A_req,2),\"m*2\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.7 page number 45" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the allowable area for live load 1.0 is 0.273 in*2\n", + "the allowable area for live load 15 is 0.909 in*2\n", + "the crossection area for live load 1.0 is 0.235 in*2\n", + "the crossection area for live load 15 is 0.926 in*2\n" + ] + } + ], + "source": [ + "#Given\n", + "D_n = 5.0 #kips, dead load\n", + "L_n_1 = 1.0 #kips ,live load 1\n", + "L_n_2 = 15 #kips ,live load 2\n", + "stress_allow = 22 #ksi\n", + "phi = 0.9 #probalistic coefficients\n", + "y_stress = 36 #ksi,Yeild strength\n", + "#According to AISR \n", + "\n", + "#a\n", + "p_1 = D_n + L_n_1 #kips since the total load is sum of dead load and live load\n", + "p_2 = D_n + L_n_2 #kips, For second live load\n", + "\n", + "Area_1 = p_1/stress_allow #in*2 ,the allowable area for the allowed stress\n", + "Area_2 = p_2/stress_allow #in*2\n", + "print \"the allowable area for live load\",L_n_1,\"is\",round(Area_1,3),\"in*2\"\n", + "print \"the allowable area for live load\",L_n_2,\"is\",round(Area_2,3),\"in*2\"\n", + "\n", + "#b\n", + "#area_crossection= (1.2*D_n +1.6L_n)/(phi*y_stress)\n", + "\n", + "area_crossection_1= (1.2*D_n +1.6*L_n_1)/(phi*y_stress) #in*2,crossection area for first live load\n", + "area_crossection_2= (1.2*D_n +1.6*L_n_2)/(phi*y_stress) #in*2,crossection area for second live load\n", + "print \"the crossection area for live load\",L_n_1,\"is\",round(area_crossection_1,3),\"in*2\"\n", + "print \"the crossection area for live load\",L_n_2,\"is\",round(area_crossection_2,3),\"in*2\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.8 page number 51" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Length of the Weld 1: 2.54 in\n", + "Length of the Weld 2: 4.65 in\n" + ] + } + ], + "source": [ + "#Given\n", + "A_angle = 2 #in*2 \n", + "stress_allow = 20 #ksi, The maximum alowable stress\n", + "F = stress_allow*A_angle #K, The maximum force\n", + "AD = 3 #in, from the figure\n", + "DC = 1.06 #in, from the figure\n", + "strength_AWS = 5.56 # kips/in,Allowable strength according to AWS\n", + "\n", + "#caliculations \n", + "#momentum at point \"d\" is equal to 0\n", + "R_1 = (F*DC)/AD #k,Resultant force developed by the weld\n", + "R_2 = (F*(AD-DC))/AD #k,Resultant force developed by the weld\n", + "\n", + "l_1 = R_1/strength_AWS #in,Length of the Weld 1\n", + "l_2 = R_2/strength_AWS #in,Length of the Weld 2\n", + " \n", + "print \"Length of the Weld 1:\",round(l_1,2),\"in\"\n", + "print \"Length of the Weld 2:\",round(l_2,2),\"in\" \n", + " \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_6.ipynb new file mode 100644 index 00000000..c57f065e --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_6.ipynb @@ -0,0 +1,781 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10:Deflections of beams " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.1 page number 501" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum bending stress developed in the saw 300.0 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia = 400 #mm - The diameter of a pulley\n", + "E = 200 #Gpa - Youngs modulus\n", + "t = 0.6 #mm - The thickness of band\n", + "c = t/2 #mm - The maximum stress is seen \n", + "#Caliculations\n", + "\n", + "stress_max = E*c*(10**3)/(dia/2) #Mpa - The maximum stress on the crossection occurs at the ends\n", + "print \"The maximum bending stress developed in the saw \",stress_max,\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.3 page number 512" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The maximum displacement in y direction is -0.0130208333333 W(l**4)/EI \n", + "a) The maximum deflection occured at 0.5 L\n" + ] + }, + { + "data": { + "image/png": "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\n/vJBW0Moy/YAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The above graph is bending moment graph\n" + ] + }, + { + "data": { + "image/png": "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\n6zF3pLt3xAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b)The above graph is beam displacement graph\n", + "b)The maximum occures in the middle from the above graph \n" + ] + } + ], + "source": [ + "#Given\n", + "import numpy\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'- \n", + "\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n", + "#(EI)y- Using end conditions for caliculating constants \n", + "\n", + "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n", + "#Equations \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + "#The precision is very less while caliculating through this equation because the least count in X direction is 0.1\n", + "print \"a) The maximum displacement in y direction is\",min(Y),\"W(l**4)/EI \"\n", + "print \"a) The maximum deflection occured at\",l_1[Y.index(min(Y))],\"L\"\n", + "\n", + "#Part - B\n", + "#Graphs\n", + "import numpy as np\n", + "values = M_1\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b) The above graph is bending moment graph\"\n", + "values = Y \n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b)The above graph is beam displacement graph\"\n", + "print \"b)The maximum occures in the middle from the above graph \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.5 page number 517" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reaction at A is 0.375 WL\n", + "The reaction at B is 0.625 WL\n", + "The reaction at C is 0.375 WL\n" + ] + } + ], + "source": [ + "#Given \n", + "#because of symmetry the problem can be solved by considering first half\n", + "#Given\n", + "import numpy\n", + "\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "\n", + "\n", + "# M_1_intg2[10] = 0, the displacement at the end of rod is 0 since its rigid \n", + "R_A = (F_D*(l_1[10]**4)/24.0 + F_D*(l_ab**3)*l_1[10]/48.0)/((l_1[10]**3)/6.0)\n", + "R_C = R_A #WL - symmetry\n", + "R_B = 1-R_A # WL - F_Y = 0, the equilibrium in Y direction\n", + "print \"The reaction at A is\",R_A ,\"WL\"\n", + "print \"The reaction at B is\",R_B ,\"WL\"\n", + "print \"The reaction at C is\",R_C ,\"WL\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.7 page number 521 " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The shape from x belongs to 0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The shape from x belongs to 4" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "# This problem is divided into two parts\n", + "#Part _1\n", + "#Given\n", + "\n", + "l = 1.0 #l - The length of the beam\n", + "p = 1.0 #W - The total load applied\n", + "#since it is triangular distribution \n", + "l_com = 0.66*l #l - The distance of force of action from one end\n", + "#F_Y = 0\n", + "#R_A + R_B = p\n", + "#M_a = 0 Implies that R_B = 2*R_A\n", + "R_A = p/3.0\n", + "R_B = 2.0*p/3\n", + "\n", + "#Taking Many sections \n", + "\n", + "#Section 1----1\n", + "l = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = p*(l[i]**2) - p/3.0\n", + " M[i] = p*(l[i]**3)/(3.0)- p*l[i]/3.0\n", + "\n", + "v[10] = R_B #again concluded Because the value is tearing of \n", + "\n", + "\n", + "#Graph\n", + "values = M\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "values = v\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "\n", + "#part B\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_6.ipynb new file mode 100644 index 00000000..411b3c0a --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_6.ipynb @@ -0,0 +1,376 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 11:Stability of Equilibrium: columns " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.2 page number 589" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The length after which the beam starts buckling is 1539.0 mm\n" + ] + } + ], + "source": [ + "#Given \n", + "import math\n", + "h = 60 #mm - the length of the crossection \n", + "b = 100 #mm - the width of hte crossection \n", + "E = 200 #Gpa - The youngs modulus\n", + "stress_cr = 250 #Mpa - The proportionality limit\n", + "#Caliculations \n", + "\n", + "I = b*(h**3)/12 #mm3 The momentof inertia of the crossection\n", + "A = h*b #mm2 - The area of teh crossection \n", + "#From Eulier formula\n", + "r_min = pow((I/A),0.5) #mm - The radius of the gyration \n", + "#(l/r)**2= (pi**2)*E/stress_cr #From Eulier formula\n", + "l = (((math.pi**2)*E*(10**3)/stress_cr)**0.5)*r_min #mm - the length after which the beam starts buckling\n", + "print \"The length after which the beam starts buckling is \",round(l,0),\"mm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 11.6 page number 613" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)The following approch is solvable\n", + "a) The allowable stress in this case is 18.9 Kips\n", + "b) The following approch is solvable\n", + "b) The allowable stress in this case is 11.59 Kips\n" + ] + } + ], + "source": [ + "#Given\n", + "import math\n", + "L = 15 #ft - The length of the each rod\n", + "A = 46.7 #in2 - The length of the crossection \n", + "r_min = 4 #in - The radius of gyration\n", + "stress_yp = 36 #Ksi - the yielding point stress\n", + "E = 29*(10**3) #ksi - The youngs modulus\n", + "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n", + "C_s = L*12/r_min # Slenderness ratio L/R of the present situation \n", + "#According to AISC formulas \n", + "if C_s 1\n", + "The following approch is solvable\n", + "The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b 0.9 <1\n" + ] + } + ], + "source": [ + "import math\n", + "P = 200.0 #K The force on the beam \n", + "L = 15 #ft - The length of the rod\n", + "F_y = 50.0 #Ksi \n", + "F_a = F_y/(5.0/3) #Ksi -AISC MANUAL ,allowable axial stress if axial force is alone\n", + "F_b = F_a #Allowable compressive bending stress\n", + "M_1 = 600.0 #k-in - The moment acting on the ends of the rod\n", + "M_2 = 800.0 #k-in - the moment acting on the other end of teh rod\n", + "B_x = 0.264 #in - Extracted from AISC manual \n", + "E = 29*(10**3) \n", + "A = P/F_a + M_2*B_x/F_b #in2- The minimum area \n", + "print \"The minimum area is \",round(A,2),\"in2\"\n", + "#we will select W10x49 section \n", + "A_s = 14.4 #in2 - The area of the section \n", + "r_min = 2.54 #in The minimum radius \n", + "r_x = 4.35 #in \n", + "f_a = P/A_s #Ksi- The computed axial stress\n", + "f_b = M_2*B_x/A_s #Computed bending stess\n", + "C_c = ((2*(math.pi**2)*E/F_y)**0.5) #Slenderness ratio L/R\n", + "C_s = L*12/r_min # Slenderness ratio L/R of the present situation\n", + "if C_s 1:\n", + " print \"The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,3),\">1\"\n", + "else:\n", + " print \"The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",k,\"<1\"\n", + " \n", + "#trail - 2\n", + "#Lets take W10 x 60\n", + "A_s = 17.6 #in2 - The area of the section \n", + "r_min = 2.57 #in The minimum radius \n", + "r_x = 4.39 #in \n", + "f_a = P/A_s #Ksi- The computed axial stress\n", + "f_b = M_2*B_x/A_s #Computed bending stess\n", + "C_c = ((2*(math.pi**2)*E/F_y)**0.5) #Slenderness ratio L/R\n", + "C_s = L*12/r_min # Slenderness ratio L/R of the present situation\n", + "if C_s 1:\n", + " print \"The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,3),\">1\"\n", + "else:\n", + " print \"The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,2),\"<1\"\n", + " \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_6.ipynb new file mode 100644 index 00000000..71380130 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_6.ipynb @@ -0,0 +1,411 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chapter 12:Energy and Virtual-work Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.1 page number 645 " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The deflection is downwards 0.044 in\n", + "b) The deflection is upwards 0.104 in\n", + "c) The deflection is downwards 0.039 in\n" + ] + } + ], + "source": [ + "#Given\n", + "#Virtual loading\n", + "p_ab = -0.833 #lb The recorded virtual loading\n", + "p_bc = + 0.833 #lb The recorded virtual loading\n", + "F_ab = 2500 #lb\n", + "F_bc = -2500 #lb\n", + "l_ab = 60 #in - The length of the rod\n", + "l_bc = 60 #in - The length of the rod\n", + "A_ab = 0.15 #in2 the areaof ab\n", + "A_bc = 0.25 #in2 the areaof bc\n", + "E = 30*(10**6) #psi The youngs modulus of the material\n", + "#Part_a\n", + "e_a =p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E) #in the deflection\n", + "if e_a<0:\n", + " print \"a) The deflection is downwards\",round(-e_a,3),\"in\"\n", + "else:\n", + " print \"a) The deflection is upwards\",round(e_a,3),\"in\"\n", + "#part-b\n", + "x = 0.125 #Shortening of member Ab\n", + "e_b = p_ab*(-x) + p_bc*0 #in - in\n", + "if e_b<0:\n", + " print \"b) The deflection is downwards\",round(-e_b,3),\"in\"\n", + "else:\n", + " print \"b) The deflection is upwards\",round(e_b,3),\"in\"\n", + "#Part-c\n", + "S = 6.5*(10**-6) #Thermal specific heat\n", + "T = 120 #F - The cahnge in temperature\n", + "e_t = -S*T*l_ab #in - The change in length of member\n", + "e_c = p_bc*e_t #in the deflection\n", + "if e_c<0:\n", + " print \"c) The deflection is downwards\",round(-e_c,3),\"in\"\n", + "else:\n", + " print \"c) The deflection is upwards\",round(e_c,3),\"in\"\n", + "\n", + "\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.3 page number 648" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The point C deflects 0.019 mt down\n" + ] + } + ], + "source": [ + "#Given\n", + "#Virtual loading\n", + "#Two parts \n", + "#Part -1 \n", + "p_ab = 5 #KN The recorded virtual loading\n", + "p_bc = -4 #KN The recorded virtual loading\n", + "F_ab = 10 #KN\n", + "F_bc = -8 #KN\n", + "l_ab = 2.5 #mt - The length of the rod\n", + "l_bc = 2 #mt - The length of the rod\n", + "A_ab = 5*(10**-4) #mt2 the areaof ab\n", + "A_bc = 5*(10**-3) #mt2 the areaof bc\n", + "E = 70 #Gpa The youngs modulus of the material\n", + "e_a =(p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E))*(10**-6) #KN-m\n", + "#Part -2 due to flexure\n", + "I = 60*10**6 #mm4 - the moment of inertia \n", + "#After solving the integration \n", + "e_b = 0.01525 #KN-m\n", + "#Total\n", + "e = (e_a+e_b)*1 #m\n", + "print \"The point C deflects\",round(e,3),\"mt down\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.5 page number 651" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reaction force at D is 1578.98 lb\n", + "The deflection of nodal point B 0.0211 in\n" + ] + } + ], + "source": [ + "#Given\n", + "#Virtual loading Without f_d\n", + "p_ab = -0.833 #lb The recorded virtual loading\n", + "p_bc = + 0.833 #lb The recorded virtual loading\n", + "F_ab = 2500 #lb\n", + "F_bc = -2500 #lb\n", + "l_ab = 60 #in - The length of the rod\n", + "l_bc = 60 #in - The length of the rod\n", + "A_ab = 0.15 #in2 the areaof ab\n", + "A_bc = 0.25 #in2 the areaof bc\n", + "E = 30*(10**6) #psi The youngs modulus of the material\n", + "#Part_a\n", + "e_a =p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E) #lb-in the deflection\n", + "#With f_d\n", + "p_bd = 1 #lb The recorded virtual loading \n", + "F_bd = 1 #lb\n", + "l_bd = 40 #in - The length of the rod\n", + "A_bd = 0.1 #in2 the areaof ab\n", + "e_a_1 =p_ab*p_ab*l_ab/(A_ab*E) + p_bc*p_bc*l_bc/(A_bc*E) +p_bd*p_bd*l_bd/(A_bd*E) #lb-in the deflection\n", + "#Since the produced defelection should compensate the other one\n", + "x_d = e_a/e_a_1\n", + "print \"The reaction force at D is\",round(-x_d,2),\"lb\"\n", + "\n", + "#Part - B\n", + "e_b = -x_d*l_bd/(A_bd*E ) #in - The deflection of nodal point B\n", + "print\"The deflection of nodal point B\",round(e_b,4),\"in\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.6 page number 655" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reaction at A 2.5 k\n", + "The reaction at B -2.5 k\n" + ] + } + ], + "source": [ + "#Given\n", + "#Virtual loading\n", + "import numpy as np\n", + "p_ab = -0.833 #lb The recorded virtual loading\n", + "p_bc = + 0.833 #lb The recorded virtual loading \n", + "l_ab = 60 #in - The length of the rod\n", + "l_bc = 60 #in - The length of the rod\n", + "A_ab = 0.15 #in2 the areaof ab\n", + "A_bc = 0.25 #in2 the areaof bc\n", + "E = 30*(10**6) #psi The youngs modulus of the material\n", + "K_1 = A_ab*E/l_ab #k/in - Stiffness\n", + "K_2 = A_bc*E/l_bc #k/in - Stiffness\n", + "#soving for e_1 and e_2 gives a liner euations to solve\n", + "# 128*e_1 + 24*e_2 = 0\n", + "#24*e_1 + 72*e_2 = -3\n", + "#Solving for e_1,e_2\n", + "a = np.array([[128,24], [24,72]])\n", + "b = np.array([0,-3])\n", + "x = np.linalg.solve(a, b)\n", + "e_1 = x[0] #in\n", + "e_2 = x[1] #in\n", + "u_1 = 0.8*e_1 - 0.6*e_2 #Taking each components\n", + "F_1 = K_1*u_1*(10**-3) #k The reaction at A Force = stiffness x dislacement \n", + "u_2 = 0.8*e_1 + 0.6*e_2 #Taking each components\n", + "F_2 = K_2*u_2*(10**-3) #k The reaction at B Force\n", + "print \"The reaction at A \",F_1,\"k\"\n", + "print \"The reaction at B \",F_2,\"k\"\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.7 page number 655" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reaction at A 1.18 k\n", + "The reaction at B -1.18 k\n", + "The reaction at D -1.58 k\n" + ] + } + ], + "source": [ + "#Virtual loading\n", + "import numpy as np\n", + "p_ab = -0.833 #lb The recorded virtual loading\n", + "p_bc = + 0.833 #lb The recorded virtual loading \n", + "l_ab = 60 #in - The length of the rod\n", + "l_bc = 60 #in - The length of the rod\n", + "A_ab = 0.15 #in2 the areaof ab\n", + "A_bc = 0.25 #in2 the areaof bc\n", + "E = 30*(10**6) #psi The youngs modulus of the material\n", + "K_1 = A_ab*E/l_ab #k/in - Stiffness\n", + "K_2 = A_bc*E/l_bc #k/in - Stiffness\n", + "p_bd = 1 #lb The recorded virtual loading \n", + "F_bd = 1 #lb\n", + "l_bd = 40 #in - The length of the rod\n", + "A_bd = 0.1 #in2 the areaof ab\n", + "K_3 = A_ab*E/l_ab #k/in - Stiffness\n", + "#soving for e_1 and e_2 gives a liner euations to solve\n", + "# 128*e_1 + 24*e_2 = 0\n", + "#24*e_1 + 72*e_2 = -3\n", + "#Solving for e_1,e_2\n", + "a = np.array([[128,24], [24,147]])\n", + "b = np.array([0,-3])\n", + "x = np.linalg.solve(a, b)\n", + "e_1 = x[0] #in\n", + "e_2 = x[1] #in\n", + "u_1 = 0.8*e_1 - 0.6*e_2 #Taking each components\n", + "F_1 = K_1*u_1*(10**-3) #k The reaction at A Force = stiffness x dislacement \n", + "u_2 = 0.8*e_1 + 0.6*e_2 #Taking each components\n", + "F_2 = K_2*u_2*(10**-3) #k The reaction at B Force\n", + "u_3 = e_2 #Taking each components\n", + "F_3 = K_3*u_3*(10**-3) #k The reaction at D Force\n", + "print \"The reaction at A \",round(F_1,2),\"k\"\n", + "print \"The reaction at B \",round(F_2,2),\"k\"\n", + "print \"The reaction at D \",round(F_3,2),\"k\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.8 page number 659" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The vertical component of the nodal force is [ 12.] \n", + "b) The vertical component of the nodal force is [ 24.] \n", + "a) The components of displacement of point B are 18.75 L/AE and 16.67 L/AE\n" + ] + } + ], + "source": [ + "#Given\n", + "#First we will solve part B\n", + "import numpy as np\n", + "u_1 =5 #L/AE, elastic elongation\n", + "u_2 =25 #L/AE,elastic elongation\n", + "f_1 = u_1#, Units got neutralized , Constitutive relation for elastic bars\n", + "f_2 = u_2# Units got neutralized\n", + "#u_1 = 0.8*e_1 - 0.6*e_2\n", + "#u_2 = 0.8*e_1 + 0.6*e_2\n", + "#u = A*e Matric multiplication \n", + "A = np.array([[0.8,-0.6],[0.8,0.6]]) #The matrix form of A\n", + "F = np.array([[f_1],[f_2]])\n", + "P = np.dot((A.T),F) #Nodal forces matrix\n", + "print \"b) The vertical component of the nodal force is\",P[1],\"\"\n", + "print \"b) The vertical component of the nodal force is\",P[0],\"\"\n", + "#Part A\n", + "#F_1 = (5/8.0)*P_1 - (5/6.0)*p_2 , From statics\n", + "#F_1 = (5/8.0)*P_1 + (5/6.0)*p_2\n", + "#F = BP ,Matric multiplication \n", + "B = np.array([[(5/8.0),-(5/6.0)],[(5/8.0),(5/6.0)]]) #The matrix form of A\n", + "U = np.array([[u_1],[u_2]])\n", + "e = P = np.dot((B.T),U) #L/AE, Nodal forces matrix\n", + "print \"a) The components of displacement of point B are\",round(e[0],2),\"L/AE and\",round(e[1],2),\"L/AE\" \n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 12.10 page number 667" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The deflection is 0.018 in\n" + ] + } + ], + "source": [ + "#Given\n", + "A_1 = 0.125 #in2 , The area of the crossection of AB\n", + "A_2 = 0.219 #in2 , The area of the crossection of BC\n", + "l_1 = 3*(5**0.5) #in , The length of AB\n", + "l_2 = 6*(2**0.5) #in , The length of BC\n", + "p = 3 #k , Force acting on the system \n", + "E = 10.6*(10**3) #Ksi - youngs modulus of the material\n", + "p_1 = (5**0.5)*p/3 #P, The component of p on AB\n", + "p_2 = -2*(2**0.5)*p/3 #P, The component of p on AB\n", + "\n", + "e = p_1*l_1*p_1/(p*E*A_1) + p_2*l_2*p_2/(p*E*A_2) #in, By virtual deflection method \n", + "print \"The deflection is\",round(e,3),\"in\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_5.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_5.ipynb new file mode 100644 index 00000000..4d2cad2f --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_5.ipynb @@ -0,0 +1,215 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 13: Statically Indeterminate Problems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 13.2 page number 693" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The maximum displacement in y direction is -0.208333333333 W(l**4)/EI \n", + "a) The maximum deflection occured at 1.0 L\n", + "The reaction at the mid of the bar 1.25 WL\n" + ] + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b)The above graph is beam displacement graph\n", + "b)The minimum occures in the middle from the above graph \n" + ] + } + ], + "source": [ + "#Given \n", + "#First we will solve without the reaction at middle\n", + "#Given\n", + "import numpy\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "l_ab = 1.0 #2L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'- \n", + "\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n", + "#(EI)y- Using end conditions for caliculating constants \n", + "\n", + "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n", + "#Equations \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + "Y_min = 16*min(Y)\n", + "print \"a) The maximum displacement in y direction is\",16*min(Y),\"W(l**4)/EI \"\n", + "print \"a) The maximum deflection occured at\",2*l_1[Y.index(min(Y))],\"L\"\n", + "f_bb = 2**3/48.0 #l**3/EI - flexibility coefficient\n", + "Reac = - Y_min/f_bb #WL , The reaction at the mid of the bar\n", + "print \"The reaction at the mid of the bar\",Reac ,\"WL\"\n", + "\n", + "#Graphs \n", + "Y.extend(Y) #Because of symmetry\n", + "values = Y \n", + "y = np.array(values)\n", + "t = np.linspace(0,1,22)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b)The above graph is beam displacement graph\"\n", + "print \"b)The minimum occures in the middle from the above graph \"\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 13.3 page number 694 " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reactive moment at A i.e M_A -0.0714285714286 WL**2\n", + "The reactive force at A i.e R_A -1.14285714286 WL\n" + ] + } + ], + "source": [ + "#Given \n", + "#First we will solve without the reaction at middle\n", + "#Given\n", + "import numpy as np\n", + "l_ab = 1.0 #2L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'- \n", + "\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n", + "#(EI)y- Using end conditions for caliculating constants \n", + "\n", + "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n", + "#Equations \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + "e_1 = 16*min(Y) #WL4/EI - The maximum defection \n", + "e_2 = - F_D*((2*l_ab)**3)/24.0 #WL3/EI - The maximum angle\n", + "#Caliculating for momentum and force\n", + "f_ab = ((2*l_ab)**2)/16.0 #L2/EI \n", + "f_bb = ((2*l_ab)**3)/48.0 #L3/EI \n", + "f_aa = 2*l_ab/3.0 #L/EI\n", + "f_ba = ((l_ab)**2)/4.0 #L2/EI\n", + "#F*X = e - Matrix multiplication \n", + "#Solving for X\n", + "a = np.array([[f_aa,f_ba], [f_ba,f_bb]])\n", + "b = np.array([e_2,e_1])\n", + "x = np.linalg.solve(a, b)\n", + "print \"The reactive moment at A i.e M_A\",x[0],\"WL**2\"\n", + "print \"The reactive force at A i.e R_A\",x[1],\"WL\"\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_6.ipynb new file mode 100644 index 00000000..0c496644 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_6.ipynb @@ -0,0 +1,325 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2:Axial strains and Deformations in bars " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.1 page number 77" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total deflection is : 1.0 mm\n" + ] + } + ], + "source": [ + "l_ob = 2000 #mm - length of rod ob\n", + "l_bc = 1000 #mm - length of rod bc\n", + "l_cd = 1500 #mm - length of rod cd\n", + "p_ob = 100 #kN - Force in rods \n", + "p_bc = -150 #KN\n", + "p_cd = 50 #KN \n", + "A_ob = 1000 #mm2 - Area of rod ob\n", + "A_bc = 2000 #mm2 - Area of rod bc \n", + "A_cd = 1000 #mm2 - Area of rod cd\n", + "E = 200.0 #GPA \n", + "# the total deflection is algebraic sums of `deflection in each module \n", + "e_1 = p_ob*l_ob/(A_ob*E)\n", + "e_2 = p_bc*l_bc/(A_bc*E)\n", + "e_3 = p_cd*l_cd/(A_cd*E)\n", + "#All units are satisfied \n", + "e_total = e_1+ e_2 + e_3\n", + "print \"The total deflection is :\",round(e_total,3) ,\"mm\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.4 page number 80" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0112677358491\n", + "The vertical stiffness of the combination is 113.14 kips/inch\n" + ] + } + ], + "source": [ + "p_app = 3 #Kips - applied force \n", + "P_A = 2.23 #Kips \n", + "p_B = -2.83 #kips - compressive force\n", + "l_ab = 6.71 #inch\n", + "l_bc = 8.29 #inch\n", + "s_ab = 17.8 #ksi - tensile stress\n", + "s_bc = -12.9 #ksi - compressive stress\n", + "E = 10.6 * pow(10,3) #ksi -youngs modulus \n", + "e_ab = s_ab*l_ab/E\n", + "\n", + "e_bc = s_bc*l_bc/E\n", + "x = e_ab/e_bc #the Ratio of cosines of the deflected angles \n", + "# t_1 and t_2 be deflected angles \n", + "#t_2 = 180-45-26.6-t_1 the sum of angles is 360\n", + "#t_1 = 52.2 degress\n", + "import math\n", + "e = e_ab/math.acos(math.radians(52.2)) #inch\n", + "k = p_app/e # kips/in vertical stiffness of the combination\n", + "print \"The vertical stiffness of the combination is\",round(k,3),\"kips/inch\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.6 page number 83" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The lateral strain is: 0.00243 no units\n", + "The longitudinal strain is: 0.00073 no units\n", + "The poissions ratio is: 3.32876712329 no units\n", + "Youngs modulus: 69.8 N/mm2\n" + ] + } + ], + "source": [ + "dia = 50 #mm - diameter of aluminium \n", + "p = 100 # KN - instant force applid\n", + "dia_c = 0.1215 #mm- change in diameter \n", + "l_c = 0.219 #mm - change in length\n", + "l = 300 #mm - length \n", + "strain_dia = dia_c/dia # lateral strain \n", + "strain_l = l_c/l #longitudinal strain \n", + "po = strain_dia/strain_l # poission ratio \n", + "area = 3.14*dia*dia/4 #mm2 area\n", + "E = p*l/(area*l_c) #N/mm2 youngs modulus \n", + "print \"The lateral strain is:\",strain_dia,\"no units\"\n", + "print \"The longitudinal strain is:\",strain_l,\"no units\"\n", + "print \"The poissions ratio is:\",po,\"no units\"\n", + "print \"Youngs modulus:\",round(E,2),\"N/mm2\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.7 page number 86" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The displacement in point B is : 0.00795578950395 in\n" + ] + } + ], + "source": [ + "T = 12.9*pow(10,-6) #/F\n", + "t = 100.00 # F \n", + "l_ab = 6.71 #inch\n", + "l_bc = 8.29 #inch\n", + "e_ab = T*t*l_ab #in-elongation \n", + "e_bc = T*t*l_bc #in-elongation\n", + "k = e_ab/e_bc # ratio of cosines of deflected angles \n", + "# t_1 and t_2 be deflected angles \n", + "#t_2 = 180-45-26.6-t_1 the sum of angles is 360\n", + "t_1 = 26.6\n", + "import math\n", + "e = e_ab/math.acos(math.radians(26.6))\n", + "print \"The displacement in point B is :\",e ,\"in\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.11 page number " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress is: 3.59377281766 Mpa\n" + ] + } + ], + "source": [ + "mass = 4 #kg \n", + "dist = 1 #mt freely falling distance\n", + "l = 1500 #mm length of rod\n", + "d = 15 #mm diameter\n", + "l_ab = 6.71 #inch\n", + "l_bc = 8.29 #inch\n", + "E = 200 #GPA youngs modulus \n", + "k = 4.5 # N/mm stiffness costant\n", + "F = mass*9.81# The force applying\n", + "Area = 3.14*(d**2)/4 \n", + "# Two cases \n", + "#youngs modulus \n", + "e_y = F*l/(Area*E*pow(10,3))\n", + "# stiffness\n", + "e_f = F/k \n", + "#total\n", + "e = e_y +e_f\n", + "k = 1+(2/(e*pow(10,-3)))\n", + "stress_max_1 = F*(1+pow(k,0.5))/Area\n", + "print \"The maximum stress is:\",stress_max_1,\"Mpa\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.12 page number 103" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reactions at bottom is -1.25 p\n" + ] + } + ], + "source": [ + "flex_a = 1#f\n", + "flex_b = 2#f\n", + "#removing lower support and solving FBD\n", + "e = -2 -(2+1)#fp\n", + "#e_1 = (2+1+1)*R\n", + "#e_1 = -e Making the elongations zero since the both ends are fixed\n", + "R = e/(2+1+1.0) #p\n", + "print \"The reactions at bottom is\",R,\"p\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.19 page number 113" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The end deflection is 0.12 in\n" + ] + } + ], + "source": [ + "#Given \n", + "l = 30 #in - The length of the rod\n", + "p_1 = 80 #kips - The Force on the end\n", + "p_2 = 125 #kips - The force on the other end\n", + "A_s = 0.5 #in2 - The crossection of the steel rod\n", + "A_a = 0.5 #in2 - The crossection of the aluminium \n", + "E_a = 10*(10**6) #psi - The youngs modulus of the aluminium \n", + "E_s = 30*(10**6) #psi - The youngs modulus of the steel\n", + "#Internally stastically indeterminant \n", + "p_a = p_1/4 #From solving we get p_s = 3*P_a\n", + "#From material properties point of view \n", + "#stress_steel = stress_aluminium\n", + "e = p_a*l*(10**3)/(A_a*E_a) #The end deflection \n", + "print \"The end deflection is\",e,\"in\"\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_6.ipynb new file mode 100644 index 00000000..f687074e --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_6.ipynb @@ -0,0 +1,439 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4:Torsion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.2 page number 183" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The maximum shear due to torsion is 152.87 Mpa\n", + "stress tensor matrix [[ 0. 152.9 0. ]\n", + " [ 152.9 0. 0. ]\n", + " [ 0. 0. 0. ]]\n" + ] + } + ], + "source": [ + "#Given\n", + "dia = 10 #diameter of shaft(A-C)\n", + "c = dia/2 #mm - Radius\n", + "T = 30 #N/mm -Torque in the shaft \n", + "#Caliculations\n", + "\n", + "J = 3.14*(dia**4)/32 #mm4\n", + "shear_T = T*c*pow(10,3)/J # The torsion shear in the shaft AC\n", + "import numpy as np \n", + "print \"The maximum shear due to torsion is \",round(shear_T,2),\"Mpa\"\n", + "arr_T = np.zeros((3,3))\n", + "arr_T[0][1]=round(shear_T,1) #arranging the elements in array\n", + "arr_T[1][0]=round(shear_T,1)\n", + "print \"stress tensor matrix\",(arr_T),\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.3 page number 184" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum shear due to torsion is 43.15 Mpa\n", + "The minimum shear due to torsion is 34.52 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia_out = 20 #mm- outer diameter of shaft\n", + "dia_in = 16 #mm- inner diameter of shaft \n", + "c_out = dia_out/2 #mm - outer Radius of shaft \n", + "c_in = dia_in/2 #mm - inner radius of shaft \n", + "T = 40 #N/mm -Torque in the shaft \n", + "#caliculations\n", + "\n", + "J = 3.14*((dia_out**4)- (dia_in**4))/32 #mm4\n", + "shear_T_max = T*c_out*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "shear_T_min = T*c_in*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "print \"The maximum shear due to torsion is \",round(shear_T_max,2),\"Mpa\"\n", + "print \"The minimum shear due to torsion is \",round(shear_T_min,2),\"Mpa\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.4 page number 187" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Diameter of the shaft used is 15.26 mm\n" + ] + } + ], + "source": [ + "#Given\n", + "hp = 10 # horse power of motor \n", + "f = 30 # given \n", + "shear_T = 55 #Mpa - The maximum shearing in the shaft \n", + "#caliculations\n", + "\n", + "T = 119*hp/f # N.m The torsion in the shaft \n", + "#j/c=T/shear_T=K\n", + "k = T*pow(10,3)/shear_T #mm3\n", + "#c3=2K/3.14\n", + "c = pow((2*k/3),0.33) #mm - The radius of the shaft \n", + "diamter = 2*c #mm - The diameter of the shaft\n", + "print \"The Diameter of the shaft used is\",round(diamter,2),\"mm\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.5 page number 188" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Diameter of the shaft1 is 6.87 mm\n", + "The Diameter of the shaft2 is 0.702590481015 mm\n" + ] + } + ], + "source": [ + "#Given \n", + "hp = 200 #Horse power\n", + "stress_sh = 10000 #psi- shear stress\n", + "rpm_1 = 20.0 # The rpm at which this shaft1 operates \n", + "rpm_2 = 20000.0 # The rpm at which this shaft2 operates\n", + "T_1= hp*63000.0/rpm_1 #in-lb Torsion due to rpm1\n", + "T_2= hp*63000/rpm_2 #in-lb Torsion due to rpm1\n", + "#caliculations \n", + "\n", + "#j/c=T/shear_T=K\n", + "k_1= T_1/stress_sh #mm3\n", + "#c3=2K/3.14\n", + "c_1= pow((2*k_1/3),0.33) #mm - The radius of the shaft \n", + "diamter_1 = 2*c_1 #mm - The diameter of the shaft\n", + "print \"The Diameter of the shaft1 is\",round(diamter_1,2),\"mm\"\n", + "\n", + "#j/c=T/shear_T=K\n", + "k_2= T_2/stress_sh #mm3\n", + "#c3=2K/3.14\n", + "c_2= pow((2*k_2/3),0.33) #mm - The radius of the shaft \n", + "diamter_2 = 2*c_2 #mm - The diameter of the shaft\n", + "print \"The Diameter of the shaft2 is\",diamter_2,\"mm\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.7 page number 193" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum angle rotated is 0.0232628450106 radians \n" + ] + } + ], + "source": [ + "#Given \n", + "T_ab = 0 #N.m - torsion in AB \n", + "T_bc = 150 #N.m - torsion in BC\n", + "T_cd = 150 #N.m - torsion in CD\n", + "T_de = 1150 #N.m - torsion in DE\n", + "l_ab = 250 #mm - length of AB\n", + "l_bc = 200 #mm - length of BC\n", + "l_cd = 300 #mm - length of cd \n", + "l_de = 500.0 #mm - length of de\n", + "d_1 = 25 #mm - outer diameter \n", + "d_2 = 50 #mm - inner diameter\n", + "G = 80 #Gpa -shear modulus\n", + "#Caliculations \n", + "\n", + "J_ab = 3.14*(d_1**4)/32 #mm4\n", + "J_bc = 3.14*(d_1**4)/32 #mm4\n", + "J_cd = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "J_de = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "rad = T_ab*l_ab/(J_ab*G)+ T_bc*l_bc/(J_bc*G)+ T_cd*l_cd/(J_cd*G)+ T_de*l_de/(J_de*G) # adding the maximum radians roteted in each module\n", + "print \"The maximum angle rotated is \",rad,\"radians \" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.9 Pagenumber 196" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Torsion at rigid end A is -141.72 N-m\n", + "The Torsion at rigid end B is 1291.72 N-m\n" + ] + } + ], + "source": [ + "#given \n", + "#its a statistally indeterminant \n", + "#we will take of one of the support \n", + "#Given \n", + "T_ab = 0 #N.m - torsion in AB \n", + "T_bc = 150 #N.m - torsion in BC\n", + "T_cd = 150 #N.m - torsion in CD\n", + "T_de = 1150 #N.m - torsion in DE\n", + "l_ab = 250 #mm - length of AB\n", + "l_bc = 200 #mm - length of BC\n", + "l_cd = 300 #mm - length of cd \n", + "l_de = 500.0#mm - length of de\n", + "d_1 = 25 #mm - outer diameter \n", + "d_2 = 50 #mm - inner diameter\n", + "#Caliculations \n", + "\n", + "J_ab = 3.14*(d_1**4)/32 #mm4\n", + "J_bc = 3.14*(d_1**4)/32 #mm4\n", + "J_cd = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "J_de = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "G = 80 #Gpa -shear modulus\n", + "rad = T_ab*l_ab/(J_ab*G)+ T_bc*l_bc/(J_bc*G)+ T_cd*l_cd/(J_cd*G)+ T_de*l_de/(J_de*G) \n", + "#now lets consider T_A then the torsion is only T_A\n", + "# T_A*(l_ab/(J_ab*G)+ l_bc/(J_bc*G)+ l_cd/(J_cd*G)+ l_de/(J_de*G)) +rad = 0\n", + "# since there will be no displacement \n", + "T_A =-rad/(l_ab/(J_ab*G)+ l_bc/(J_bc*G)+ l_cd/(J_cd*G)+ l_de/(J_de*G)) #Torsion at A\n", + "T_B = 1150 - T_A #n-m F_X = 0 torsion at B\n", + "print \"The Torsion at rigid end A is\",round(T_A,2),\"N-m\"\n", + "print \"The Torsion at rigid end B is\",round(T_B,2),\"N-m\"\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.12 Pagenumber 202" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The allowable torsion on the 8 bolt combination 27129600.0 N-m\n" + ] + } + ], + "source": [ + "#Given\n", + "dai_bc = 240 #mm- daimeter of '8'bolt circle \n", + "dia = dai_bc/8 #Diameter of each bolt\n", + "A = 0.25*(dia**2)*3.14 # Area of a bolt\n", + "S_allow = 40 #Mpa - The maximum allowable allowable shear stress \n", + "P_max = (S_allow)*A #N - The maximum allowable force \n", + "D = 120.0 #mm - the distance from central axis \n", + "T_allow =P_max*D*8 #N-m The allowable torsion on the 8 bolt combination \n", + "print \"The allowable torsion on the 8 bolt combination\",T_allow ,\"N-m\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.15 page number 211" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the Equivalent Torsion constant is 1.97 in4\n" + ] + } + ], + "source": [ + "#Given \n", + "#AISC MANUALS\n", + "#approximated by three narrow tubes \n", + "#J = Bbt^3\n", + "B = 0.33 # constant mentiones in AISC\n", + "#three rods \n", + "\n", + "#rod_1\n", + "t_1 = 0.605 #inch - Thickness \n", + "b = 12.0 #inches - width \n", + "J_1 = B*b*(t_1**3) #in4 - Torsion constant \n", + "\n", + "#rod_2\n", + "t_2 = 0.605 #inch - Thickness \n", + "b = 12 #inches - width \n", + "J_2 = B*b*(t_2**3) #in4 - Torsion constant \n", + "\n", + "#rod_3\n", + "t_3 = 0.390 #inch - Thickness \n", + "b = 10.91 #inches - width \n", + "J_3 = B*b*(t_3**3) #in4 - Torsion constant \n", + "\n", + "#Equivalent\n", + "J_eq = J_1+J_2+J_3 #in4 - Torsion constant \n", + "print \"the Equivalent Torsion constant is \",round(J_eq,2), \"in4\"\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.16 page number 214" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum shear due to torsion is 345.23 Mpa\n", + "The minimum shear due to torsion is 276.18 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia_out = 10 #mm- outer diameter of shaft\n", + "dia_in = 8 #mm- inner diameter of shaft \n", + "c_out = dia_out/2 #mm - outer Radius of shaft \n", + "c_in = dia_in/2 #mm - inner radius of shaft \n", + "T = 40 #N/mm -Torque in the shaft \n", + "#caliculations\n", + "\n", + "J = 3.14*((dia_out**4)- (dia_in**4))/32 #mm4\n", + "shear_T_max = T*c_out*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "shear_T_min = T*c_in*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "print \"The maximum shear due to torsion is \",round(shear_T_max,2),\"Mpa\"\n", + "print \"The minimum shear due to torsion is \",round(shear_T_min,2),\"Mpa\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_6.ipynb new file mode 100644 index 00000000..d6f0670f --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_6.ipynb @@ -0,0 +1,865 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chapter 5:Axial force, Shear and Bending moment " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example5.2 pagenumber 231" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The X,Y components of reaction force at A is 0 , -410.0 N\n", + "The X,Y components of reaction force at B is 0 , 670.0 N\n" + ] + } + ], + "source": [ + "#Given \n", + "L_ab = 0.4 #mt The total length of the rod\n", + "M = 200 #N_m - the moment acting on rod\n", + "l_1 = 0.1 #mt -moment acting point the distance from 'a'\n", + "R_1 = 100 #N - The Force acting \n", + "l_2 = 0.2 #mt -R_1 acting point the distance from 'a'\n", + "R_2 = 160 #N The Force acting \n", + "l_3 = 0.3 #mt -R_2 acting point the distance from 'a'\n", + "#caliculations\n", + "\n", + "#F_X = 0 forces in x directions \n", + "R_A_X = 0 # since there are no forces in X-direction \n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "\n", + "# M + R_1*l_2 + R_2*l_3 = R_B*L_ab *the moment for a force is FxL\n", + "R_B_Y = (M + R_1*l_2 + R_2*l_3)/L_ab\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "# R_A_Y*L_ab + M - R_1*l_2 - R_2*0.1 = 0\n", + "\n", + "R_A_Y = -(M - R_1*l_2 - R_2*0.1)/L_ab\n", + " \n", + "print \"The X,Y components of reaction force at A is \",R_A_X,\",\",R_A_Y,\"N\"\n", + "print \"The X,Y components of reaction force at B is \",R_B_X,\",\",R_B_Y,\"N\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.2 page number 233" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The X,Y components of reaction force at A is 0 , -9.0 N\n", + "The X,Y components of reaction force at B is 0 , 6.0 N\n" + ] + } + ], + "source": [ + "#Given \n", + "P_Max = 10 #N - the maximum distribution in a triangular distribution\n", + "L = 3 #mt the total length of force distribution \n", + "L_X = 5 #mt - the horizantal length of the rod\n", + "#caliculations \n", + "\n", + "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n", + "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = 0 # since there are no forces in X-direction\n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "#F_y*L_com - R_B_Y*L_X = 0\n", + "R_B_Y = F_y*L_com/L_X\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "#- R_A_Y*L_X = F_y*(L_X-L )\n", + "\n", + "R_A_Y = - F_y*L/L_X \n", + "print \"The X,Y components of reaction force at A is \",R_A_X,\",\",R_A_Y,\"N\"\n", + "print \"The X,Y components of reaction force at B is \",R_B_X,\",\",R_B_Y,\"N\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.3 page number 233 " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The X,Y components and resultant of reaction force at A is 4 , 3 , 5.0 N\n", + "The X,Y components and resultant of reaction force at B is 1 , 1 , 1.41 N\n" + ] + } + ], + "source": [ + "#given\n", + "F = 5 #K - force acting on the system\n", + "tan = (4/3) # the Tan of the angle of force with x axis\n", + "l_ab = 12 #inch - the total length of ab \n", + "l = 3 # inch - Distance from 'a'\n", + "#caliculation\n", + "F_X = 4 #K\n", + "F_Y = 3 #k\n", + "\n", + "#M_A = 0 momentum at point a is zero\n", + "# F_X*l- R_B_Y*l_ab = 0 \n", + "R_B_Y = F_X*l/l_ab\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "# R_A_Y*l_ab - F_X*(l_ab - l)\n", + "R_A_Y = F_X*(l_ab - l)/l_ab\n", + " \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = F_Y + R_B_Y \n", + "R_B_X = R_B_Y # since the angle is 45 degrees\n", + "\n", + "#resultants \n", + "R_A = pow(R_A_X**2 + R_A_Y**2,0.5)\n", + "R_B = pow(R_B_X**2 + R_B_Y**2,0.5)\n", + "\n", + "print \"The X,Y components and resultant of reaction force at A is \",R_A_X,\",\",R_A_Y,\",\",R_A,\"N\"\n", + "print \"The X,Y components and resultant of reaction force at B is \",R_B_X,\",\",R_B_Y,\",\",round(R_B,2),\"N\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.4 page number 239" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The force and moment in section a--a are -2.33 KN , -13.644 KN-m\n", + "The force and moment in section b--b are 6.0 KN , 6.0 KN-m\n" + ] + } + ], + "source": [ + "#Given \n", + "P_Max = 10 #N - the maximum distribution in a triangular distribution\n", + "L = 3 #mt the total length of force distribution \n", + "L_X = 5 #mt - the horizantal length of the rod\n", + "#caliculations \n", + "\n", + "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n", + "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = 0 # since there are no forces in X-direction\n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "#F_y*L_com - R_B_Y*L_X = 0\n", + "R_B_Y = F_y*L_com/L_X\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "#- R_A_Y*L_X = F_y*(L_X-L )\n", + "\n", + "R_A_Y = - F_y*L/L_X\n", + "\n", + "#For a---a section \n", + "l_a = 2 #mt - a---a section from a \n", + "l_com_a = 2*l_a/3\n", + "v_a = R_A_Y + 0.5*l_a*(10.0*2/3) #*(10*2/3) because the maximum moves\n", + "\n", + "M_a = (10.0*0.66)*l_a*(0.33) + R_A_Y*l_a \n", + "\n", + "#For b---b section \n", + "\n", + "v_b = F_y + R_A_Y #equilabrium conditions\n", + "M_b = (F_y + R_A_Y)*(-1)\n", + "\n", + "print \"The force and moment in section a--a are\",round(v_a,2),\"KN ,\",M_a,\"KN-m\"\n", + "print \"The force and moment in section b--b are\",v_b,\"KN ,\",M_b,\"KN-m\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.5 page number 241" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given \n", + "#Lets divide the section into two sections \n", + "l_ac = 10 # ft -The total length of the rod\n", + "R = 5 #k - The applies force at c\n", + "tan = 4/3 # The tan of the angle of the force \n", + "l_ab = 5 #ft - The distance of applied force from A\n", + "R_y = 4 #k,downwards X- component of the force\n", + "R_X = 3 #k Y- component of the force , lets consider only Y direction since we are concentrating on the Shears \n", + "\n", + "#F_Y = 0 forces in Y directions\n", + "#R_A +R_B = R_y\n", + "#M_c = 0 making the moment zero at point c \n", + "#Caliculations \n", + "# R_A= R_B*(l_ac - l_ab)/(l_ab) so R_A = R_B\n", + "\n", + "R_A = R_y/2 #F_Y = 0\n", + "R_B = R_y/2\n", + "#considering section x--x\n", + "l_x = 2 #ft - length of section from A\n", + "v_x = R_A #k ,F_X = 0 \n", + "M_x = R_A*l_x #k-ft M_c = 0\n", + "\n", + "#considering section at midpoint t--t\n", + "l_t = 2 #ft - length of section from A\n", + "v_t = 0 #k ,F_X = 0 \n", + "M_t = (R_A)*l_t #k-ft M_c = 0\n", + "\n", + "##considering section y---y\n", + "l_y = 2 #ft - length of section from B\n", + "v_y = - R_B #k ,F_X = 0 \n", + "M_y = R_B*l_y #k-ft M_c = 0\n", + "\n", + "#Graph\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,2,4.9999999999999,5,5.00000000000000001,7,10] # For graph precision \n", + "\n", + "V = [R_A,v_x,v_x,v_t,v_y,v_y,-R_B];\t\t\t#Shear matrix\n", + "M = [0,M_x,M_t,M_t,M_t,M_y,0];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t#Shear diagram\n", + "plot(X,M,'r');\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.6 pagenumber 243 " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\nktTJ/we9KQxTSP9nSgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l = 1 #L - Length of the cantilever \n", + "F_app = ((2**0.5))*2 #p - force applies \n", + "tan = 1 # The angle of force applied\n", + "F_app_x = F_app/((2**0.5)) #p The horizantal component of the force , neglected \n", + "F_app_y = F_app/((2**0.5)) #p The Vertical component of the force \n", + "#F_Y = 0 \n", + "R_A = 1 #p\n", + "\n", + "#Considering section 1-----1\n", + "l_1 = 0.5 # The length of the section from one end\n", + "v_1 = R_A #F_Y = 0\n", + "M_1 = -R_A*l_1 #MAking moment at section 1 = 0\n", + "\n", + "#considering end of cantilever\n", + "l_2 = 1 # The length of the section from one end\n", + "v_2 = R_A #F_Y = 0\n", + "M_2 = -R_A*l_2#MAking moment at section 1 = 0\n", + "\n", + "#Graph\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,0.5,1] # For graph precision \n", + "\n", + "V = [R_A,v_1,v_2 ];\t\t\t#Shear matrix\n", + "M = [0,M_1,M_2];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t #Shear diagram\n", + "plot(X,M,'r');\t\t\t #Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.7 page number 243" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\nAXYdfyx3uhDkAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l_ab = 3 #L - The total length lets say '3L'\n", + "R_1 = 1 #p - The force applied at b\n", + "R_2 = 1 #p - The force applied at c\n", + "l_ab = 1 #L\n", + "l_bc = 1 #L \n", + "\n", + "#Logical step \n", + "#Since the system is in symmetry we can avoid moment M = 0 caliculations\n", + "\n", + "#F_Y = 0 \n", + "R_A = (R_1 + R_2)/2\n", + "R_B = (R_1 + R_2)/2\n", + "\n", + "#Lets take '3' sections \n", + "#Considering section 1-----1 at 0.5L\n", + "l_1 = 0.5 #L - distance of the section from the A\n", + "v_1 = R_A #F_Y = 0 \n", + "M_1 = R_A*l_1 #MAking moment at section 1 = 0\n", + "\n", + "#Considering section 2-----2 at 1L\n", + "l_2 = 1 #L - distance of the section from the A\n", + "v_2 = R_A #F_Y = 0 \n", + "M_2 = R_A*l_2 #MAking moment at section 2 = 0\n", + "\n", + "#Considering section 3-----3 at 1.5L\n", + "l_3 = 1.5 #L - distance of the section from the A\n", + "v_3 = 0 #F_Y = 0 \n", + "M_3 = R_A*l_2 #MAking moment at section 2 = 0 and symmetry \n", + "\n", + "#GRAPH\n", + "#Since the symmetry exists the graphs are also symmetry\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,0.5,1,1.000000001,1.5,1.999999999999,2,2.5,3] # For graph precision \n", + "\n", + "V = [R_A,v_1,v_2,v_3,v_3,v_3,-v_2,-v_1,-R_B];\t\t\t#Shear matrix\n", + "M = [0,M_1,M_2,1,1,1,M_2,M_1,0];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t#Shear diagram\n", + "plot(X,M);\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.8 page nmber 244" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.5\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n/vJBW0Moy/YAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given \n", + "import numpy as np\n", + "l_ab = 1.0 #L - The length of the beam\n", + "F_D = 1.0 #W - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "\n", + "#considering many sections \n", + "\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2 #M = 0 in the section\n", + "print R_A\n", + "#Graphs\n", + "import numpy as np\n", + "values = [0.5,0,-0.5]\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,3)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "import numpy as np\n", + "values = M_1\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.9 page number 245" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The force and moment in section a--a are -2.33 KN , -13.644 KN-m\n" + ] + } + ], + "source": [ + "#Given \n", + "P_Max = 10 #N - the maximum distribution in a triangular distribution\n", + "L = 3 #mt the total length of force distribution \n", + "L_X = 5 #mt - the horizantal length of the rod\n", + "#caliculations \n", + "\n", + "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n", + "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = 0 # since there are no forces in X-direction\n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "#F_y*L_com - R_B_Y*L_X = 0\n", + "R_B_Y = F_y*L_com/L_X\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "#- R_A_Y*L_X = F_y*(L_X-L )\n", + "\n", + "R_A_Y = - F_y*L/L_X\n", + "\n", + "#caliculating for some random value\n", + "#For a---a section \n", + "l_a = 2 #mt - a---a section from a \n", + "l_com_a = 2*l_a/3\n", + "v_a = R_A_Y + 0.5*l_a*(10.0*2/3) #*(10*2/3) because the maximum moves\n", + "\n", + "M_a = (10.0*0.66)*l_a*(0.33) + R_A_Y*l_a\n", + "\n", + "print \"The force and moment in section a--a are\",round(v_a,2),\"KN ,\",M_a,\"KN-m\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.13 page number 254" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\nAAC5/H/91y4DSEHt5wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l_ab = 4 #L - The total length lets say '3L'\n", + "R_1 = 1 #p - The force applied at b\n", + "R_2 = 1 #p - The force applied at c\n", + "l_ab = 1 #L\n", + "l_bc = 3 #L \n", + "\n", + "#Logical step \n", + "#Since the system is in symmetry we can avoid moment M = 0 caliculations\n", + "\n", + "#F_Y = 0 \n", + "R_A = (R_1 + R_2)/2\n", + "R_B = (R_1 + R_2)/2\n", + "\n", + "#Lets take '3' sections \n", + "#Considering section 1-----1 at 0.5L\n", + "l_1 = 0.5 #L - distance of the section from the A\n", + "v_1 = R_A #F_Y = 0 \n", + "M_1 = R_A*l_1 #MAking moment at section 1 = 0\n", + "\n", + "#Considering section 2-----2 at 1L\n", + "l_2 = 1 #L - distance of the section from the A\n", + "v_2 = R_A #F_Y = 0 \n", + "M_2 = R_A*l_2 #MAking moment at section 2 = 0\n", + "\n", + "#Considering section 3-----3 at 1.5L\n", + "l_3 = 3 #L - distance of the section from the A\n", + "v_3 = 0 #F_Y = 0 \n", + "M_3 = R_A*l_2 #MAking moment at section 2 = 0 and symmetry \n", + "\n", + "#GRAPH\n", + "#Since the symmetry exists the graphs are also symmetry\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,0.5,1,1.0000001,2,2.9999999999,3,3.5,4] # For graph precision \n", + "\n", + "V = [R_A,v_1,v_2,v_3,v_3,v_3,-v_2,-v_1,-R_B];\t\t\t#Shear matrix\n", + "M = [0,M_1,M_2,M_3,M_3,M_3,M_2,M_1,0];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t#Shear diagram\n", + "plot(X,M);\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.14 page number 255" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "l = 1.0 #l - The length of the beam\n", + "p = 1.0 #W - The total load applied\n", + "#since it is triangular distribution \n", + "l_com = 0.66*l#l - The distance of force of action from one end\n", + "#F_Y = 0\n", + "#R_A + R_B = p\n", + "#M_a = 0 Implies that R_B = 2*R_A\n", + "R_A = p/3.0\n", + "R_B = 2.0*p/3\n", + "\n", + "#Taking Many sections \n", + "\n", + "#Section 1----1\n", + "l = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = p*(l[i]**2) - p/3.0\n", + " M[i] = p*(l[i]**3)/(3.0)- p*l[i]/3.0\n", + "\n", + "v[10] = R_B #again concluded Because the value is tearing of \n", + "\n", + "\n", + "#Graph\n", + "values = M\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "%matplotlib inline\n", + "values = v\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.16 page number 259" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.166666666667\n", + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "l = 6.0 #a - length of the rod\n", + "F = 1.0 #p - force applies in x direction \n", + "d = 1.0 #a \n", + "M = 1.0 #pa - torque applies on the rod\n", + "l_ab = 4.0 #a application of torque point from A\n", + "#M = 0 implies that\n", + "R_A = F/6.0 #p - The reaction at A\n", + "R_B = - R_A #F_Y = 0\n", + "\n", + "#Caliculations \n", + "\n", + "#Taking sections \n", + "#Section 1---1\n", + "l_1 = 1 #a - the length of the section \n", + "M_1 = - R_A*l_1 #M = 0\n", + "\n", + "#Section 2---2\n", + "l_2 = 4 #a - the length of the section \n", + "M_2 = - R_A*l_2 #M = 0\n", + "\n", + "l_4 = 2 #a - the length of the section \n", + "M_4 = 1/3.0 #pa #M = 0 '-M' because there is moment couple in between\n", + "\n", + "\n", + "#Section 3---3\n", + "l_3 = 1 #a - the length of the section \n", + "M_3 = 1/6.0#pa M = 0 '-M' because there is moment couple in between\n", + "print R_A\n", + "\n", + "#GRAPH\n", + "#Since the symmetry exists the graphs are also symmetry\n", + "%matplotlib inline\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,1,4,4.00001,5,6] # For graph precision \n", + "M = [0,M_1,M_2,M_4,M_3,0];\t\t\t#Bending moment matrix\n", + "plot(X,M);\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_6.ipynb new file mode 100644 index 00000000..6b74082c --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_6.ipynb @@ -0,0 +1,570 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6:Pure Bending and Bending with Axial force " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.3 page number 293" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The moment of inertia of total system is 655000.0 mm4\n" + ] + } + ], + "source": [ + "#Given \n", + "#Entire area - hallow area\n", + "l_e = 60.0 #mm - length of the entire area\n", + "b_e = 40 #mm - width of the entire area\n", + "l_h = 30 #mm - length of the hallow area\n", + "b_h = 20 #mm - width of the hallow area\n", + "A_e = l_e*b_e #mm2 - The entire area\n", + "A_h = -l_h*b_h #mm2 - The hallow area '-' because its hallow\n", + "A_re = A_e + A_h #mm2 resultant area\n", + "y_e = l_e/2 # mm com from bottom \n", + "y_h = 20+l_h/2 #mm com from bottom \n", + "y_com = (A_e*y_e + A_h*y_h)/A_re \n", + "#moment of inertia caliculatins - bh3/12 +ad2\n", + "I_e = b_e*(l_e**3)/12 + A_e*((y_e-y_com)**2) #Parallel axis theorm\n", + "I_h = b_h*(l_h**3)/12 - A_h*((y_h-y_com)**2) #Parallel axis theorm\n", + "I_total = I_e - I_h\n", + "print \"The moment of inertia of total system is \",I_total,\"mm4\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.4 page number 295" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress at 2 mt is 4.81 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "l = 400 #mm - Length \n", + "b = 300 #mm - breath \n", + "F = 20 #KN _ the force applied on the beam \n", + "F_d = 0.75 #KN-m - The force distribution \n", + "d = 2 #mt - the point of interest from the free end\n", + "#caliculations \n", + "#From moment diagram\n", + "M = F*d - F_d*d*1\n", + "I = b*(l**3)/12 #mm4 - Bending moment diagram \n", + "c = l/2 # the stress max at this C\n", + "S = I/c #The maximum shear stress \n", + "shear_max = M*(10**6)/S #MPA - the maximum stress \n", + "print \"The maximum stress at 2 mt is\",round(shear_max,2),\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.5 pagr number 297" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum tensile stress 16.0 Ksi\n", + "The maximum compressive stress 21.6 Ksi\n" + ] + } + ], + "source": [ + "#Given \n", + "#We will divide this into three parts\n", + "F = 8 #k - force applied\n", + "d = 16 #inch -distance\n", + "l_1 = 1 #in \n", + "l_2 = 3 #in \n", + "b_1 = 4 #in \n", + "b_2 = 1 #in\n", + "A_1 = l_1* b_1 #in2 - area of part_1\n", + "y_1 = 0.5 #in com distance from ab\n", + "A_2 =l_2*b_2 #in2 - area of part_1\n", + "y_2 = 2.5 #in com distance from ab\n", + "A_3 = l_2*b_2 #in2 - area of part_1\n", + "y_3 = 2.5 #in com distance from ab\n", + "\n", + "y_net = (A_1*y_1 +A_2*y_2 + A_3*y_3)/(A_1+A_2+A_3) #in - The com of the whole system\n", + "c_max = (4-y_net) #in - The maximum distace from com to end\n", + "c_min = y_net #in - the minimum distance from com to end\n", + "I_1 = b_1*(l_1**3)/12 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n", + "I_2 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n", + "I_3 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n", + "I_net = I_1 + I_2 + I_3 #in4 - the total moment of inertia\n", + "M_c = F*d*c_max \n", + "stress_cmax = M_c/I_net #Ksi - The maximum compressive stress\n", + "\n", + "M_t= F*d*c_min \n", + "stress_tmax = M_t/I_net #Ksi - The maximum tensile stress\n", + "print \"The maximum tensile stress\",stress_tmax ,\"Ksi\"\n", + "print \"The maximum compressive stress\",round(stress_cmax,1) ,\"Ksi\"\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.8 page number 303" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress in steel 11.49 Mpa\n", + "The maximum stress in wood 97.09 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "#Given \n", + "#We will divide this into two parts\n", + "E_w = 10.0 #Gpa - Youngs modulus of wood\n", + "E_s = 200.0 #Gpa - Youngs modulus of steel\n", + "M = 30.0 #K.N-m _ applied bending moment \n", + "n = E_s/E_w \n", + "l_1 = 250 #mm \n", + "l_2 = 10 #mm\n", + "b_1 = 150.0 #mm\n", + "b_2 = 150.0*n #mm\n", + "A_1 = l_1* b_1 #mm2 - area of part_1\n", + "y_1 = 125.0 #mm com distance from top\n", + "A_2 =l_2*b_2 #mm2 - area of part_1\n", + "y_2 = 255.0 #mm com distance from top\n", + "y_net = (A_1*y_1 +A_2*y_2)/(A_1+A_2) #mm - The com of the whole system from top\n", + "I_1 = b_1*(l_1**3)/12.0 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n", + "I_2 = b_2*(l_2**3)/12.0 + A_2*((y_2-y_net)**2)\n", + "I_net = I_1 + I_2 #mm4 - the total moment of inertia\n", + "c_s= y_net # The maximum distance in steel \n", + "stress_steel = M*(10.0**6)*c_s/I_net #Mpa - The maximum stress in steel \n", + "\n", + "c_w= l_1+l_2-y_net # The maximum distance in wood \n", + "stress_wood = n*M*(10.0**6)*c_w/I_net #MPa - The maximum stress in wood \n", + "\n", + "print \"The maximum stress in steel \",round(stress_steel,2) ,\"Mpa\"\n", + "print \"The maximum stress in wood\",round(stress_wood,2) ,\"Mpa\" \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.9 page number 305" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress in concrete 834.07 psi\n", + "The stress in steel 17427.61 psi\n" + ] + } + ], + "source": [ + "#Given \n", + "M = 50000 #ft-lb , positive bending moment applied\n", + "N = 9 # number of steel bars \n", + "n = 15 # The ratio of steel to concrete \n", + "A_s = 30 #in2 area of steel in concrete\n", + "#(10*y)*(y/2) = 30*(20-y)\n", + "#y**2 + 6*y -120\n", + "#solving quadractic equation \n", + "import math\n", + "\n", + "a = 1\n", + "b = 6\n", + "c = -120\n", + "# calculate the discriminant\n", + "d = (b**2) - (4*a*c)\n", + "\n", + "# find two solutions\n", + "sol1 = (-b-math.sqrt(d))/(2*a)\n", + "sol2 = (-b+math.sqrt(d))/(2*a)\n", + "y = sol2 # Nuetral axis is found\n", + "l_1 = y #in- the concrete below nuetral axis is not considered\n", + "b_1 = 10 #in - width\n", + "A_1 = l_1* b_1 #in2 - area of concrete\n", + "y_1 = y/2 #in com of the concrete \n", + "y_2 = 20-y #in com of the transformed steel \n", + "I_1 = b_1*(l_1**3)/12.0 + A_1*((y_1-y)**2) #in4 parallel axis theorm\n", + "I_2 = A_s*((y_2)**2) #in4 first part is neglected\n", + "I_net = I_1 + I_2 #in4 - the total moment of inertia\n", + "c_c= y #in The maximum distance in concrete \n", + "stress_concrete = M*12*c_c/I_net #psi - The maximum stress in concrete \n", + "c_s= 20- y \n", + "stress_steel =n*M*12*c_s/I_net #psi - The maximum stress in concrete \n", + "print \"The maximum stress in concrete \",round(stress_concrete,2) ,\"psi\"\n", + "print \"The stress in steel\",round(stress_steel,2) ,\"psi\"\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## example 6.10 page number 309" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress upward in straight case is 99.984 Mpa\n", + "The maximum stress downward in straight case is -99.984 Mpa\n", + "The maximum stress upward in curved case is 107.093207632 Mpa\n", + "The maximum stress downward in curved case is -93.6813516989 Mpa\n", + "The maximum stress upward in curved case2 is 128.733538525 Mpa\n", + "The maximum stress downward in curved case2 is -81.0307692623 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "l = 50.0 #mm - the length of the beam \n", + "b = 50.0 #mm - the width of the beam\n", + "M = 2083 #Nm\n", + "A = l*b #mm2 - The area \n", + "#straight beam \n", + "I = b*(l**3)/12.0 #mm4 - The moment of inertia of the beam\n", + "c_1= l/2 # the distance where the stress is maximum \n", + "c_2 = -l/2 # the distance where the stress is maximum \n", + "s_1 = I/c_1\n", + "s_2 = I/c_2\n", + "stress_max_1 = M*(10**3)/s_1 #Mpa - the maximum strss recorded in the crossection\n", + "stress_max_2 = M*(10**3)/s_2 #Mpa - the maximum strss recorded in the crossection \n", + "print \"The maximum stress upward in straight case is\",stress_max_1,\"Mpa\"\n", + "print \"The maximum stress downward in straight case is\",stress_max_2,\"Mpa\"\n", + "\n", + "#curved beam \n", + "import math\n", + "r = 250.0 #mm Radius of beam curved \n", + "r_0 = r - l/2 # inner radius \n", + "r_1 = r + l/2 # outer radius\n", + "R = l/(math.log(r_1/r_0)) #mm \n", + "e = r - R \n", + "stressr_max_1 = M*(10**3)*(R-r_0)/(r_0*A*e)\n", + "stressr_max_2 = M*(10**3)*(R-r_1)/(r_1*A*e)\n", + "print \"The maximum stress upward in curved case is\",stressr_max_1,\"Mpa\"\n", + "print \"The maximum stress downward in curved case is\",stressr_max_2,\"Mpa\"\n", + "\n", + "#curved beam _2 \n", + "import math\n", + "r = 75.0 #mm Radius of beam curved \n", + "r_0 = r - l/2 # inner radius \n", + "r_1 = r + l/2 # outer radius\n", + "R = l/(math.log(r_1/r_0)) #mm \n", + "e = r - R \n", + "stressr_max_1 = M*(10**3)*(R-r_0)/(r_0*A*e)\n", + "stressr_max_2 = M*(10**3)*(R-r_1)/(r_1*A*e)\n", + "print \"The maximum stress upward in curved case2 is\",stressr_max_1,\"Mpa\"\n", + "print \"The maximum stress downward in curved case2 is\",stressr_max_2,\"Mpa\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Page number 6.14 page number 318" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The plastic moment of the system is 120784.313725 ft-lb\n" + ] + } + ], + "source": [ + "#given \n", + "#from example 6.9\n", + "St_ul = 2500 #psi - ultimate strength\n", + "st_yl = 40000 #psi _ yielding strength \n", + "b = 10 #in - width from example \n", + "A = 2 #in2 The area of the steel\n", + "d = 20 \n", + "t_ul = st_yl*A #ultimate capasity\n", + "y = t_ul/(St_ul*b*0.85) #in 0.85 because its customary\n", + "M_ul = t_ul*(d-y/2)/12 #ft-lb Plastic moment \n", + "print \"The plastic moment of the system is \",M_ul,\"ft-lb\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.15 page number 231" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The angle at which nuetral axis locates is 0.0226547191205 radians\n" + ] + } + ], + "source": [ + "#Given \n", + "#From example 5.8 \n", + "W = 4.0 #N/m - The force distribution \n", + "L = 3 # m - The length of the force applied\n", + "M = W*L/8.0 # KN.m The moment due to force distribution\n", + "o = 30 # the angle of force applid to horizantal\n", + "l = 150.0 #mm length of the crossection \n", + "b = 100.0 #mm - width of the crossection \n", + "import math \n", + "M_z = M*(math.cos(3.14/6))\n", + "M_y = M*(math.sin(math.pi/6))\n", + "I_z = b*(l**3)/12.0\n", + "I_y = l*(b**3)/12.0\n", + "#tanb = I_z /I_y *tan30\n", + "b = math.atan(math.radians(I_z*math.tan(3.14/6.0)/I_y ))\n", + "print \"The angle at which nuetral axis locates is\",b,\"radians\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.16 pagenumber 323" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum tensile stress -76.1 Mpa\n", + "The maximum compressive stress 67.73 Mpa\n" + ] + } + ], + "source": [ + "import math\n", + "M = 10 #KN.m - The moment applied\n", + "I_max = 23.95*(10**6) #mm4 - I_z The moment of inertia\n", + "I_min = 2.53*(10**6) #mm4 - I_y The moment of inertia\n", + "o = 14.34 # degress the principle axis rotated\n", + "#Coponents of M in Y,Z direction \n", + "M_z = M*(10**6)*math.cos(math.radians(o))\n", + "M_y = M*(10**6)*math.sin(math.radians(o))\n", + "#tanb = I_z /I_y *tan14.34\n", + "b = math.atan((I_max*math.tan(math.radians(o))/I_min ))\n", + "B = math.degrees(b) \n", + "y_p = 122.9 # mm - principle axis Y cordinate\n", + "z_p = -26.95 #mm - principle axis z cordinate\n", + "stress_B = - M_z*y_p/I_max + M_y*z_p/I_min #Mpa - Maximum tensile stress\n", + "y_f = -65.97 # mm - principle axis Y cordinate\n", + "z_f = 41.93 #mm - principle axis z cordinate\n", + "stress_f = - M_z*y_f/I_max + M_y*z_f/I_min #Mpa - Maximum compressive stress\n", + "print \"The maximum tensile stress\",round(stress_B,2) ,\"Mpa\"\n", + "print \"The maximum compressive stress\",round(stress_f,2),\"Mpa\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.18 page number 328" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress in the beam 3.332 Mpa \n" + ] + } + ], + "source": [ + "l = 50 #mm - The length of the beam \n", + "b = 50 #mm - The width of the beam \n", + "A = l*b #mm2 - The area of the beam \n", + "p = 8.33 #KN - The force applied on the beam \n", + "stress_max = p*(10**3)/A #Mpa After cutting section A--b\n", + "print \"The maximum stress in the beam\",stress_max ,\"Mpa \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.24 page number 339" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "By sketching the line with angle 53.2 degrees The farthest point associated with B and F\n" + ] + } + ], + "source": [ + "import math\n", + "M = 10 #KN.m - The moment applied\n", + "I_max = 23.95*(10**6) #mm4 - I_z The moment of inertia\n", + "I_min = 2.53*(10**6) #mm4 - I_y The moment of inertia\n", + "o = 14.34 # degress the principle axis rotated\n", + "#Coponents of M in Y,Z direction \n", + "M_z = M*(10**6)*math.cos(math.radians(o))\n", + "M_y = M*(10**6)*math.sin(math.radians(o))\n", + "#tanb = I_z /I_y *tan14.34\n", + "b = math.atan((I_max*math.tan(math.radians(o))/I_min ))\n", + "B = math.degrees(b) \n", + "y_p = 122.9 # mm - principle axis Y cordinate\n", + "z_p = -26.95 #mm - principle axis z cordinate\n", + "stress_B = - M_z*y_p/I_max + M_y*z_p/I_min #Mpa - Maximum tensile stress\n", + "y_f = -65.97 # mm - principle axis Y cordinate\n", + "z_f = 41.93 #mm - principle axis z cordinate\n", + "stress_f = - M_z*y_f/I_max + M_y*z_f/I_min #Mpa - Maximum compressive stress\n", + "#location of nuetral axis To show these stresses are max and minimum \n", + "#tanB = MzI_z + MzI_yz/MyI_y +M_YI_yz\n", + "I_z = 22.64 *(10**6) #mm4 moment of inertia in Z direction\n", + "I_y = 3.84 *(10**6) #mm4 moment of inertia in Y direction\n", + "I_yz =5.14 *(10**6) #mm4 moment of inertia in YZ direction \n", + "M_y = M #KN.m bending moment in Y dorection \n", + "M_z = M #KN.m bending moment in Y dorection \n", + "B = math.atan(( M_z*I_yz)/(M_z*I_y )) #radians location on neutral axis\n", + "beta = math.degrees(B)\n", + "print \"By sketching the line with angle\",round(beta,1),\"degrees The farthest point associated with B and F\" " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_6.ipynb new file mode 100644 index 00000000..cec54f64 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_6.ipynb @@ -0,0 +1,257 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# chapter 7:Shear stress in Beams and Related Problems " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.1 page number 365" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The minimal space between the nails 42.0 mm\n" + ] + } + ], + "source": [ + "#Given\n", + "shear_v = 3000 #N - Transmitted vetical shear \n", + "shear_al = 700 #N - The maximum allowable \n", + "#We will divide this into two parts\n", + "l_1 = 50.0 #mm \n", + "l_2 = 200.0 #mm \n", + "b_1 = 200.0 #mm \n", + "b_2 = 50.0 #mm\n", + "A_1 = l_1* b_1 #mm2 - area of part_1\n", + "y_1 = 25.0 #mm com distance \n", + "A_2 =l_2*b_2 #mm2 - area of part_1\n", + "y_2 = 150.0 #in com distance \n", + "y_net = (A_1*y_1 +A_2*y_2)/(A_1+A_2) #mm - The com of the whole system\n", + "c_max = (4-y_net) #mm - The maximum distace from com to end\n", + "c_min = y_net #mm - the minimum distance from com to end\n", + "I_1 = b_1*(l_1**3)/12 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n", + "I_2 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n", + "I_net = I_1 + I_2 #mm4 - the total moment of inertia\n", + "Q = A_1*(-y_1+y_net) #mm3\n", + "q = shear_v*Q/I_net #N/mm - Shear flow\n", + "d = shear_al/q # The space between the nails \n", + "print \"The minimal space between the nails \",round(d,0) ,\"mm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.2 pagenumber 365" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The minimal space between the nails 123.0 mm\n" + ] + } + ], + "source": [ + "#Given \n", + "l = 6 #m -length of the beam \n", + "p = 3 #KN-m _ the load applied\n", + "R_a = l*p/2 #KN -The reaction at a, Since the system is symmetry \n", + "R_b = l*p/2 #KN -The reaction at b \n", + "l_s = 10 #mm - The length of the screw \n", + "shear_al = 2 #KN - The maximum load the screw can take \n", + "I = 2.36*(10**9) #mm2 The moment of inertia of the whole system\n", + "#We will divide this into two parts\n", + "l_1 = 50.0 #mm \n", + "l_2 = 50.0 #mm \n", + "b_1 = 100.0 #mm \n", + "b_2 = 200.0 #mm\n", + "A_1 = l_1* b_1 #in2 - area of part_1\n", + "y_1 = 200.0 #mm com distance \n", + "A_2 =l_2*b_2 #mm2 - area of part_1\n", + "y_2 = 225.0 #in com distance\n", + "Q = 2*A_1*y_1 + A_2*y_2 # mm3 For the whole system\n", + "q = R_a*Q*(10**3)/I #N/mm The shear flow \n", + "d = shear_al*(10**3)/q #mm The space between the nails\n", + "print \"The minimal space between the nails \",round(d,0),\"mm\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.6 page number 376" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The shear centre from outside vertical face is 1.825 in\n" + ] + } + ], + "source": [ + "#Given\n", + "#we will divide this into two equal parts and other part\n", + "l = 10.0 # in - The height \n", + "t = 0.1 # in - The width\n", + "b = 5.0 #mm- The width of the above part \n", + "A = t* b #in2 - area of part\n", + "y_net = l/2 # The com of the system \n", + "y_1 = l # The position of teh com of part_2\n", + "I_1 = t*(l**3)/12 #in4 The moment of inertia of part 1\n", + "I_2 = 2*A*((y_1-y_net)**2) #in4 The moment of inertia of part 2 \n", + "I = I_1 + I_2 #in4 The moment of inertia \n", + "e = (b**2)*(l**2)*t/(4*I) #in the formula of channels\n", + "l_sc = e - t/2 #in- The shear centre \n", + "print \"The shear centre from outside vertical face is \",l_sc ,\"in\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.8 page number 387" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The direct maximum stress 4.25 Mpa\n", + "The torsion maximum stress 101.91 Mpa\n", + "The total stress 106.16 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia = 10.0 #mm - The diameter of the cylinder \n", + "c = dia/2 #mm - the radius of the cylinder \n", + "A = 3.14*(c**2) #mm2 The area of the crossection \n", + "y = 4*c/(3*3.14) #mm The com of cylinder \n", + "I = 3.14*(c**4)/4 #mm4 - The moment of inertia of the cylinder\n", + "j = 3.14*(dia**4)/32 #mm4\n", + "T = 20.0 #N.m - The torque \n", + "V = 250.0 #N - The shear \n", + "M = 25.0 #N-m The bending moment \n", + "Q = A*y/2 #mm\n", + "stress_dmax = 4*V/(3*A) #V*Q/(I*d) #Mpa The direct maximum stress\n", + "stress_tmax = T*c*(10**3)/j #-Mpa The torsion maximum stress\n", + "stress_total = stress_dmax + stress_tmax #Mpa The total stress\n", + "print \"The direct maximum stress\",round(stress_dmax,2),\"Mpa\"\n", + "print \"The torsion maximum stress\",round(stress_tmax,2),\"Mpa\"\n", + "print \"The total stress\",round(stress_total,2),\"Mpa\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.9 page number 393" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress in the system 4.84 Mpa\n" + ] + } + ], + "source": [ + "#Given\n", + "dia = 15 #mm - The diameter of the rod\n", + "h = 0.5 #mt - The freely falling height \n", + "A = 3.14*(dia**2)/4 #mm2 The area of the crossection\n", + "E = 200 #Gpa -Youngs modulus\n", + "L = 750 #mm - The total length of the rod\n", + "G = 80 #gpa - Shear modulus \n", + "N = 10 #number of live coils\n", + "d = 5 #mm the diameter of live coil \n", + "m = 3 # the mass of freely falling body\n", + "H = 500 #mm -from mass to spring \n", + "F= m*9.81 #Kg the force due to that mass\n", + "p = 3 #KN-m _ the load applied\n", + "#e = e_rod + e_spr\n", + "#e_rod\n", + "e_rod = p*L*(10**-3)/(A*E) #mm The elongation due to freely falling body\n", + "#e_spr\n", + "e_spr = 64*F*(dia**3)*N*(10**-3)/(G*(d**4)) #mm The elongation due to spring\n", + "e = e_rod + e_spr #mm The total elongation \n", + "p_dyn =F*(1+pow((1+(2*H/e)),0.5))\n", + "Stress_max = p_dyn/A #MPa - The maximum stress in the system \n", + "print \"The maximum stress in the system \",round(Stress_max,2),\"Mpa\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_6.ipynb new file mode 100644 index 00000000..4066d756 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_6.ipynb @@ -0,0 +1,345 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8:Transformation of stress and strain and Yield and Fracture criteria " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.1 page number 405 " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The stress action in normal direction on AB 1.29 Mpa\n", + "The stress action in tangential direction on AB 2.12 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "import math \n", + "from math import radians\n", + "o = 22.5 #degrees , The angle of infetisimal wedge \n", + "A = 1 #mm2 The area of the element \n", + "A_ab = 1*(math.cos(radians(o))) #mm2 - The area corresponds to AB\n", + "A_bc = 1*(math.sin(radians(o))) #mm2 - The area corresponds to BC\n", + "S_1 = 3 #MN The stresses applying on the element \n", + "S_2 = 2 #MN\n", + "S_3 = 2 #MN\n", + "S_4 = 1 #MN \n", + "F_1 = S_1*A_ab # The Forces obtained by multiplying stress by their areas \n", + "F_2 = S_2*A_ab\n", + "F_3 = S_3*A_bc\n", + "F_4 = S_4*A_bc\n", + "#sum of F_N = 0 equilibrim in normal direction \n", + "N = (F_1-F_3)*(math.cos(radians(o))) + (F_4 - F_2)*(math.sin(radians(o)))\n", + "\n", + "#sum of F_s = 0 equilibrim in tangential direction \n", + "\n", + "S = (F_2-F_4)*(math.cos(radians(o))) + (F_1 - F_3)*(math.sin(radians(o)))\n", + "\n", + "Stress_Normal = N/A #Mpa - The stress action in normal direction on AB\n", + "Stress_tan = S/A #Mpa - The stress action in tangential direction on AB\n", + "print \"The stress action in normal direction on AB\",round(Stress_Normal,2),\"Mpa\"\n", + "print \"The stress action in tangential direction on AB\",round(Stress_tan,2),\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.2 page number 413" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The stress action in normal direction on AB 4.12 Mpa\n", + "a) The stress action in tangential direction on AB 0.71 Mpa\n", + "b) The principle stress 4.2 Mpa tension\n", + "b) The principle stress -0.06 Mpa compression\n", + "b) The principle plane angles are 32.0 , 122.0 degrees\n", + "c) The maximum shear is -2.24 Mpa\n", + "a) [ 4.2 -0.1 0. ] Mpa\n", + "b) [ 2. -2.24 -2.24 2. ] Mpa\n" + ] + } + ], + "source": [ + "#Given\n", + "o = -22.5 #degrees , The angle of infetisimal wedge \n", + "A = 1 #mm2 The area of the element \n", + "import math \n", + "from math import radians\n", + "from numpy import array\n", + "A_ab = 1*(math.cos(radians(o))) #mm2 - The area corresponds to AB\n", + "A_bc = 1*(math.sin(radians(o))) #mm2 - The area corresponds to BC\n", + "S_1 = 3.0 #MN The stresses applying on the element \n", + "S_2 = 2.0 #MN\n", + "S_3 = 2.0 #MN\n", + "S_4 = 1.0 #MN\n", + "#Caliculations \n", + "\n", + "F_1 = S_1*A_ab # The Forces obtained by multiplying stress by their areas \n", + "F_2 = S_2*A_ab\n", + "F_3 = S_3*A_bc\n", + "F_4 = S_4*A_bc\n", + "#sum of F_N = 0 equilibrim in normal direction \n", + "N = (F_1-F_3)*(math.cos(radians(o))) + (F_4 - F_2)*(math.sin(radians(o)))\n", + "\n", + "#sum of F_s = 0 equilibrim in tangential direction \n", + "\n", + "S = (F_2-F_4)*(math.cos(radians(o))) + (F_1 - F_3)*(math.sin(radians(o)))\n", + "\n", + "Stress_Normal = N/A #Mpa - The stress action in normal direction on AB\n", + "Stress_tan = S/A #Mpa - The stress action in tangential direction on AB\n", + "print \"a) The stress action in normal direction on AB\",round(Stress_Normal,2),\"Mpa\"\n", + "print \"a) The stress action in tangential direction on AB\",round(Stress_tan,2),\"Mpa\"\n", + "\n", + "#Part- b\n", + "\n", + "S_max = (S_4+S_1)/2 + (((((S_4-S_1)/2)**2) + S_3**2)**0.5) #Mpa - The maximum stress\n", + "S_min = (S_4+S_1)/2.0 - (((((S_4-S_1/2))**2) + S_3**2)**0.5) #Mpa - The minumum stress\n", + "k = 0.5*math.atan(S_3/((S_1-S_4)/2)) #radians The angle of principle axis\n", + "k_1 = math.degrees(k)\n", + "k_2 = k_1+90 #The principle plane angles\n", + "print \"b) The principle stress \",round(S_max,1),\"Mpa tension\"\n", + "print \"b) The principle stress \",round(S_min,2),\"Mpa compression\"\n", + "print \"b) The principle plane angles are\",round(k_1,0),\",\",round(k_2,0),\"degrees\"\n", + "\n", + "#part-c\n", + "#The maximum shear stress case\n", + "t_xy = (((((S_4-S_1)/2)**2) + S_3**2)**0.5) #Mpa - The maximum shear stress case\n", + "K = 0.5*math.atan((-(S_1-S_4)/(2*S_3))) #radians The angle of principle axis\n", + "K_0 = math.degrees(K)\n", + "if K_0<0:\n", + " K_1 = K_0+90\n", + "else:\n", + " K_1 = K_0\n", + "K_2 = K_1+90 #PRinciple plain angles\n", + "T_xy = -((S_1-S_4)/2)*(math.sin(radians(2*K_1))) + ((S_4+S_1)/2)*(math.cos(radians(2*K_1))) # Shear stress\n", + "print \"c) The maximum shear is \",round(T_xy,2),\"Mpa\" \n", + "S_mat_a = array([round(S_max,1),round(S_min,1),0]) #MPa maximum stress matrix\n", + "S_mat_b = array([(S_4+S_1)/2,round(T_xy,2),round(T_xy,2),(S_4+S_1)/2]) #MPa maximum stress matrix at maximum shear\n", + "print \"a)\",S_mat_a,\"Mpa\"\n", + "print \"b)\",S_mat_b,\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.3 page number 421" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The principle stresses are 6.0 Mpa -4.0 Mpa\n", + "The maximum shear stress 5.0 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "import math \n", + "from math import radians \n", + "S_x = -2 #Mpa _ the noraml stress in x direction\n", + "S_y = 4 #Mpa _ the noraml stress in Y direction\n", + "c = (S_x + S_y)/2 #Mpa - The centre of the mohr circle \n", + "point_x = -2 #The x coordinate of a point on mohr circle\n", + "point_y = 4 #The y coordinate of a point on mohr circle\n", + "Radius = pow((point_x-c)**2 + point_y**2,0.5) # The radius of the mohr circle\n", + "S_1 = Radius +1#MPa The principle stress\n", + "S_2 = -Radius +1 #Mpa The principle stress\n", + "S_xy_max = Radius #Mpa The maximum shear stress\n", + "print \"The principle stresses are\",S_1 ,\"Mpa\",S_2,\"Mpa\"\n", + "print \"The maximum shear stress\",S_xy_max,\"Mpa\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.4 page number 423" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The normal stress on the 221/2 plane 4.82 Mpa\n", + "The tangential stress on the 221/2 plane 1.43 Mpa\n" + ] + } + ], + "source": [ + "#Given\n", + "import math \n", + "S_x = 3.0 #Mpa _ the noraml stress in x direction\n", + "S_y = 1.0 #Mpa _ the noraml stress in Y direction\n", + "c = (S_x + S_y)/2 #Mpa - The centre of the mohr circle \n", + "point_x = 1 #The x coordinate of a point on mohr circle\n", + "point_y = 3 #The y coordinate of a point on mohr circle\n", + "#Caliculations \n", + "\n", + "Radius = pow((point_x-c)**2 + point_y**2,0.5) # The radius of the mohr circle\n", + "#22.5 degrees line is drawn \n", + "o = 22.5 #degrees \n", + "a = 71.5 - 2*o #Degrees, from diagram \n", + "stress_n = c + Radius*math.sin(math.degrees(o)) #Mpa The normal stress on the plane \n", + "stress_t = Radius*math.cos(math.degrees(o)) #Mpa The tangential stress on the plane\n", + "print \"The normal stress on the 221/2 plane \",round(stress_n,2),\"Mpa\"\n", + "print \"The tangential stress on the 221/2 plane \",round(stress_t,2),\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.7 page number 437" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The principle strains are 400 um/m -600 um/m\n", + "The angle of principle plane 18.43 degrees\n" + ] + } + ], + "source": [ + "import math\n", + "e_x = -500 #10-6 m/m The contraction in X direction\n", + "e_y = 300 #10-6 m/m The contraction in Y direction\n", + "e_xy = -600 #10-6 m/m discorted angle\n", + "centre = (e_x + e_y)/2 #10-6 m/m \n", + "point_x = -500 #The x coordinate of a point on mohr circle\n", + "point_y = 300 #The y coordinate of a point on mohr circle\n", + "Radius = 500 #10-6 m/m - from mohr circle\n", + "e_1 = Radius +centre #MPa The principle strain\n", + "e_2 = -Radius +centre #Mpa The principle strain\n", + "k = math.atan(300.0/900) # from geometry\n", + "k_1 = math.degrees(k)\n", + "print \"The principle strains are\",e_1,\"um/m\",e_2,\"um/m\"\n", + "print \"The angle of principle plane\",round(k_1,2) ,\"degrees\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.8 page number 441" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The principle stresses are 48.35 Mpa -105.49 MPa\n" + ] + } + ], + "source": [ + "#Given\n", + "e_0 = -500 #10-6 m/m \n", + "e_45 = 200 #10-6 m/m \n", + "e_90 = 300 #10-6 m/m\n", + "E = 200 #Gpa - youngs modulus of steel \n", + "v = 0.3 # poissions ratio \n", + "#Caliculations \n", + "\n", + "e_xy = 2*e_45 - (e_0 +e_90 ) #10-6 m/m from equation 8-40 in text\n", + "# from example 8.7\n", + "e_x = -500 #10-6 m/m The contraction in X direction\n", + "e_y = 300 #10-6 m/m The contraction in Y direction\n", + "e_xy = -600 #10-6 m/m discorted angle\n", + "centre = (e_x + e_y)/2 #10-6 m/m \n", + "point_x = -500 #The x coordinate of a point on mohr circle\n", + "point_y = 300 #The y coordinate of a point on mohr circle\n", + "Radius = 500 #10-6 m/m - from mohr circle\n", + "e_1 = Radius +centre #MPa The principle strain\n", + "e_2 = -Radius +centre #Mpa The principle strain\n", + "\n", + "stress_1 = E*(10**-3)*(e_1+v*e_2)/(1-v**2) #Mpa the stress in this direction \n", + "stress_2 = E*(10**-3)*(e_2+v*e_1)/(1-v**2) #Mpa the stress in this direction \n", + "print\"The principle stresses are \",round(stress_1,2),\"Mpa\",round(stress_2,2),\"MPa\" " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_6.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_6.ipynb new file mode 100644 index 00000000..34d5fcb7 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_6.ipynb @@ -0,0 +1,229 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9:Elastic stress analysis and design" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.4 pagenumber 465" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)The principle stresses are 16.67 MPa, -16.67 Mpa\n", + "b)The stresses on inclines plane 11.11 Mpa noraml, -7.06 Mpa shear \n" + ] + } + ], + "source": [ + "#Given \n", + "import math \n", + "b = 40.0 #mm - The width of the beam crossection\n", + "h = 300.0 #mm - The length of the beam crossection \n", + "V = 40.0 #KN - The shear stress in teh crossection\n", + "M = 10.0 #KN-m - The bending moment on K----K crossection \n", + "c = h/2 #mm -The position at which maximum stress occurs on the crossection\n", + "I = b*(h**3)/12 #mmm4 - the moment of inertia \n", + "#Caliculations \n", + "\n", + "stress_max_1 = M*c*(10**6)/I #The maximum stress occurs at the end\n", + "stress_max_2 = -M*c*(10**6)/I #The maximum stress occurs at the end\n", + "y = 140 #mm The point of interest, the distance of element from com\n", + "n = y/(c) # The ratio of the distances from nuetral axis to the elements\n", + "stress_L_1 = n*stress_max_1 #The normal stress on elements L--L\n", + "stress_L_2 = -n*stress_max_1 #The normal stress on elements L--L\n", + "x = 10 #mm The length of the element\n", + "A = b*x #mm3 The area of the element \n", + "y_1 = y+x/2 # the com of element from com of whole system\n", + "stress_xy = V*A*y_1*(10**3)/(I*b) #Mpa - The shear stress on the element \n", + "#stresses acting in plane 30 degrees \n", + "o = 60 #degrees - the plane angle\n", + "stress_theta = stress_L_1/2 + stress_L_1*(math.cos(math.radians(o)))/2 - stress_xy*(math.sin(math.radians(o))) #Mpa by direct application of equations\n", + "stress_shear = -stress_L_1*(math.sin(math.radians(o)))/2 - stress_xy*(math.cos(math.radians(o))) #Mpa Shear stress\n", + " \n", + "print \"a)The principle stresses are \",round(stress_max_1,2),\"MPa,\",round(stress_max_2,2),\"Mpa\"\n", + "print \"b)The stresses on inclines plane \",round(stress_theta,2),\"Mpa noraml, \",round(stress_shear,2),\"Mpa shear \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.5 page number 476" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The stress developed 0.4 is in allowable ranges for 30077.85 mm2 area\n", + "The minimum area is 5714.28571429 mm2\n" + ] + } + ], + "source": [ + "#Given\n", + "M = 10 #KN-m moment\n", + "v = 8.0 #KN - shear Stress \n", + "stress_allow = 8 #MPa - The maximum allowable stress\n", + "shear_allow_per = 1.4 #Mpa - The allowable stress perpendicular to grain\n", + "stress_allow_shear = 0.7 #MPa - The maximum allowable shear stress\n", + "#Caliculations \n", + "\n", + "S = M*(10**6)/stress_allow #mm3 \n", + "#lets arbitarly assume h = 2b\n", + "#S = b*(h**2)/6\n", + "h = pow(12*S,0.333) #The depth of the beam\n", + "b = h/2 #mm The width of the beam\n", + "A = h*b #mm2 The area of the crossection , assumption\n", + "stress_shear = 3*v*(10**3)/(2*A) #Mpa The strear stress \n", + "if stress_shear\n", + "(x - 2.4892886)*(x - 0.2891685)*(x + 2.7784571)\n" + ] + } + ], + "source": [ + "import numpy\n", + "import sympy\n", + "\n", + "x = numpy.poly ([0]) \n", + "x1 = numpy.poly ([0]) \n", + "x2 = numpy.poly ([0]) \n", + "x3 = numpy.poly ([0]) \n", + "x4 = numpy.poly ([0]) \n", + "x5 = numpy.poly ([0] ) \n", + "x6 = numpy.poly ([0]) \n", + "p = x**3-6*(x**2)+5*x+8\n", + "print \"The roots of above equation are:\"\n", + "print numpy.roots ([1, -6, 5, 8])\n", + "print \"let x1 = -0.7784571 x2 = 2.2891685 x3 = 4.4892886\"\n", + "x1 = -0.7784571\n", + "x2 = 2.2891685\n", + "x3 = 4.4892886\n", + "print \"Now, since we want equation whose sum of roots is 0. sum of roots of above equation is 6, so we will decrease\"\n", + "print \"Value of each root by 2 i.e. x4 = x1-2\"\n", + "x = sympy.Symbol('x')\n", + "x4 = x1-2\n", + "print \"x4 = \", x4\n", + "x5=x2-2\n", + "print \"x5 = \", x5\n", + "x6=x3-2\n", + "print \"x6 = \", x6\n", + "print \"Hence, the required equation is ( x−x4 ) ∗ ( x−x5 ) ∗ ( x−x6 ) = 0 −−>\"\n", + "p1 =( x-x4 )*(x-x5)*(x-x6)\n", + "print p1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.8, page no. 28" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 3. 2. 1. 0.5 0.33333333]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = 6*(x**5)-41*(x**4)+97*(x**3)-97*(x**2)+41*x-6\n", + "print \"The roots of above equation are:\",numpy.roots([6,-41,97,-97,41,-6])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.9, page no. 28" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 2.00000000+0.j -1.00000000+0.j 0.83333333+0.5527708j\n", + " 0.83333333-0.5527708j 1.00000000+0.j 0.50000000+0.j ]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly([0]) \n", + "p = 6*(x**6)-25*(x**5)+31*(x**4)-31*(x**2)+25*x-6\n", + "print \"The roots of above equation are:\", numpy.roots([6,-25,31,0,-31,25,-6])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.10, page no. 29" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 2.+3.46410162j 2.-3.46410162j -1.+0.j ]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = x**3-3*(x**2)+12*x+16\n", + "print \"The roots of above equation are:\", numpy.roots([1,-3,12,16])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.11, page no. 30" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 0.28571429+0.24743583j 0.28571429-0.24743583j -0.25000000+0.j ]\n" + ] + } + ], + "source": [ + "import numpy\n", + "x = numpy.poly ([0]) \n", + "p = 28*(x**3)-9*(x**2)+1\n", + "print \"The roots of above equation are:\",numpy.roots([28,-9,0,1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.12, page no. 31" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [-5. +0.00000000e+00j 2. +2.90013456e-08j 2. -2.90013456e-08j]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = x**3+x**2-16*x+20\n", + "print \"The roots of above equation are:\",numpy.roots ([1,1,-16,20])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.13, page no. 31" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 1.08727971+1.17131211j 1.08727971-1.17131211j -1.17455941+0.j ]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = x**3-3*(x**2)+3\n", + "print \"The roots of above equation are:\",numpy.roots ([1,-1,0,3])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.14, page no. 33" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 6. 4. 3. -1.]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly([0]) \n", + "p = x**4-12*(x**3)+41*(x**2)-18*x-72\n", + "print \"The roots of above equation are:\",numpy.roots ([1,-12,41,-18,-72])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.15, page no. 34" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [-2.30277564 2.61803399 1.30277564 0.38196601]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = x**4-2*(x**3)-5*(x**2)+10*x-3\n", + "print \"The roots of above equation are:\", numpy.roots ([1,-2,-5,10,-3])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.16, page no. 35" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 3.73205081+0.j -2.00000000+1.73205081j -2.00000000-1.73205081j\n", + " 0.26794919+0.j ]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = x**4-8*(x**2)-24*x+7\n", + "print \"The roots of above equation are:\",numpy.roots ([1,0,-8,-24,7])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.17, page no. 35" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of above equation are: [ 6.05932014 -1.65491082 1.59559067]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly ([0]) \n", + "p = x**4-6*(x**3)-3*(x**2)+22*x-6\n", + "print \"The roots of above equation are:\",numpy.roots ([1,-6,-3,22.-6])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.18, page no. 37" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "From the graph, it is clear that the point of intersection is nearly x = 1.43\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import numpy\n", + "import math\n", + "\n", + "x = numpy.linspace(1 ,3 ,30)\n", + "y1 = 3-x\n", + "y2 = math.e**(x-1)\n", + "plt.xlabel('X axis')\n", + "plt.ylabel('Y axis')\n", + "plt.title('My Graph')\n", + "plt.plot(x, y1, \"o-\" )\n", + "plt.plot(x, y2, \"+-\" )\n", + "plt.legend([\"3-x\" ,\"e**(x-1)\"])\n", + "print \"From the graph, it is clear that the point of intersection is nearly x = 1.43\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.19, page no. 40" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "From the graph, it is clear that the point of intersection is nearly x=2.3\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import numpy\n", + "import math\n", + "\n", + "x = numpy.linspace(1 ,3 ,30)\n", + "y1 = x\n", + "y2 = numpy.sin(x)+math.pi/2\n", + "plt.xlabel('X axis')\n", + "plt.ylabel('Y axis')\n", + "plt.title('My Graph')\n", + "plt.plot(x, y1, \"o-\")\n", + "plt.plot(x, y2, \"+-\")\n", + "plt.legend([\"x\", \"sin(x)+pi/2\"])\n", + "print \"From the graph, it is clear that the point of intersection is nearly x=2.3\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.20, page no. 41" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "From the graph, it is clear that the point of intersection is nearly x=2.3 \n" + ] + }, + { + "data": { + "image/png": "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\n661rpAOFDbgzxsSd0lL/p6YlS1wEP5bM/z5KSlxh1Sk1NZWNGzeyb98+2rdvz8CBAwF44YUXGD9+\nPGPHjgVg1KhRnHfeeSxatIjRo0fz5ptvcuDAAbKysgC48MILASgqKiIzM7PaZ5x11llMnz6diy++\nmH379rF69epqg+cyMzM5dOhQWPVvCOv1ZIyJO2lp5X7X5+V5/OQI/pcxY/zvIz3dE1QdXnzxRTIz\nM8nMzGTChAnMmzePb775hjPPPJMBAwawaNEiAL7//ntee+01srOzq5b333+fXbt2UVhYSNu2bauC\nhK/s7GyOHDlSa/1VV13F1q1bGT9+PD179qy27ciRI373FXXhpCGxXrBLT8Y0Gf7+P/tvX7gzAm0U\noe2jLv/3f/+n6enpevToUZ0zZ47ecMMNfsvt2LFDk5KStKioqNa2wsJCbdmyZVUbRaVLL71UL7nk\nEm3fvr2+99571ba98MILOnLkyHrrV9c5Erv0ZEzii/deOo2l8pjnzp1BSYmL9HQPU6aMDelvEYl9\n+HrhhRfIy8ujQ4cOZGVlISK4XC6uuOIKzj//fJYuXcqPfvQjysrK+PDDD+nduzddunRh3Lhx3Hzz\nzTz++OO0atWKlStXMmzYMLp27UqvXr1YtWpVVa+n559/nk8//ZS1a9fy+uuvc/XVV7N27VpatWoF\nwPLlyxk3blxY9W+QcKJLrBcsozBNUKR76SSKRPn/fMUVV2jHjh01IyND+/btq6+//nrVtlWrVunw\n4cO1bdu22qFDB73ooot069atqqp64MABvfrqqzUnJ0ezs7P15z//edX7Hn/8cZ08ebKqOr2g2rVr\npx988EHV9ssvv1xvvPFGVVU9fvy4du3aVffs2VNvXev6mxJmRmHjKIyJE3l501m69F4/62fw5pv3\nxKBGjaM5D7g7ceIE55xzDm+//TY5OTkByz722GNs27aN++67r979RnochV16MiZO1NXTJ9xeOib+\npaamsm7duqDK3nLLLVGuTd1i2utJROaJyG4R+cJnXVsRWSYi34jIUhFpE8s6GtNY6urpE2wvHWOi\nJdbdY58BxtZYdwewTFVPA97yvjamybv11jH07Dmt2rquXacyZcroGNXIGEfM2yhEpDuwQFXP9r7+\nChiuqrtFJBcoUNUzarzH2ihMk7Ro0QqmTFmGqouMDA/Hjo3m66+HkdyELxI35zaKaGlykwL6CRQH\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import numpy\n", + "import math\n", + "\n", + "x = numpy.linspace(0, 3, 30)\n", + "y1 = -1/numpy.cos(x)\n", + "y2 = numpy.cosh(x)\n", + "plt.xlabel('X axis')\n", + "plt.ylabel('Y axis')\n", + "plt.title('My Graph')\n", + "plt.plot(x, y1, \"o-\" )\n", + "plt.plot(x, y2, \"+-\" )\n", + "plt.legend ([\"-sec(x)\", \"cosh(x)\"])\n", + "print \"From the graph, it is clear that the point of intersection is nearly x=2.3 \"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter21_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter21_1.ipynb new file mode 100644 index 00000000..db9ef99e --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter21_1.ipynb @@ -0,0 +1,1304 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 21 Laplace Transform" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.1.1, page no. 556" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(12*s/((s**2 + 1)*(s**2 + 25)), 0, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "print laplace_transform(sympy.sin(2*t)*sympy.sin(3*t),t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.1.2, page no. 557" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(sqrt(pi)*(sqrt(2)*sin(s**2/4)*fresnelc(sqrt(2)*s/(2*sqrt(pi))) - sqrt(2)*cos(s**2/4)*fresnels(sqrt(2)*s/(2*sqrt(pi))) + cos(s**2/4 + pi/4))/2, 0, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "print laplace_transform(sympy.cos(t**2),t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.1.3, page no. 558" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "((-1)**(1/12)*pi*sqrt(s)*besseli(-1/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 + (-1)**(11/12)*sqrt(3)*pi*sqrt(s)*besseli(1/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 + (-1)**(7/12)*sqrt(3)*pi*sqrt(s)*besseli(5/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 - (-1)**(5/12)*pi*sqrt(s)*besseli(7/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 + (-1)**(1/12)*pi*sqrt(s)*besselj(-1/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 + (-1)**(11/12)*sqrt(3)*pi*sqrt(s)*besselj(1/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 + (-1)**(7/12)*sqrt(3)*pi*sqrt(s)*besselj(5/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 - (-1)**(5/12)*pi*sqrt(s)*besselj(7/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/18 + s**2*hyper((1,), (2/3, 5/6, 7/6, 4/3), -s**6/11664)/6 + (-1)**(1/3)*pi*besseli(2/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/(3*s) - 2*(-1)**(1/6)*sqrt(3)*pi*besseli(4/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/(9*s) - (-1)**(1/3)*pi*besselj(2/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/(3*s) + 2*(-1)**(1/6)*sqrt(3)*pi*besselj(4/3, 2*sqrt(3)*s**(3/2)*exp_polar(I*pi/4)/9)/(9*s), 0, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "print laplace_transform((sympy.sin(t**3)),t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.2.1, page no. 560" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "((2*s - 9)/(s**2 + 6*s + 34), -3, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.exp(-3*t)*(2*sympy.cos(5*t)-3*sympy.sin(5*t))\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.2.2, page no. 560" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(2/((s - 3)*((s - 3)**2 + 4)), -oo, Abs(periodic_argument(exp_polar(2*I*pi)*polar_lift(-s + 3)**2, oo)) < pi)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.exp(3*t)*(sympy.sin(t))**2\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.2.3, page no. 561" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "InverseLaplaceTransform(exp(4*t)*sin(2*t)*cos(t), t, s, _None)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.exp(4*t)*(sympy.cos(t)*sympy.sin(2*t))\n", + "print inverse_laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.4.1, page no. 563" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(2*a*s/(a**2 + s**2)**2, 0, Abs(periodic_argument(polar_lift(a)**2, oo)) == 0)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = t*sympy.sin(a*t)\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.4.2, page no. 564" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "((-a**2 + s**2)/(a**2 + s**2)**2, 0, Abs(periodic_argument(polar_lift(a)**2, oo)) == 0)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = t*sympy.cos(a*t)\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.5, page no. 565" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Piecewise((u/2, s**3*u**2 == 0), (1/(s**2*u) + (-s**2*u**2 - s*u)*exp(-s*u)/(s**3*u**2), True)) + Integral(exp(-s*t), (t, u, oo))\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "t = sympy.Symbol('t')\n", + "s = sympy.Symbol('s')\n", + "u = sympy.Symbol('u')\n", + "f = sympy.integrate(sympy.exp(-s*t)*t/u,(t,0,u))+sympy.integrate(sympy.exp(-s*t),(t,u,sympy.oo))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.7, page no. 566" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(atan(a/s), 0, Abs(periodic_argument(polar_lift(a)**2, oo)) == 0)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.sin(a*t)/t\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.8.1, page no. 567" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "((-a**2 + s**2)/(a**2 + s**2)**2, 0, Abs(periodic_argument(polar_lift(a)**2, oo)) == 0)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = t*sympy.cos(a*t)\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.8.2, page no. 568" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(2*a*(-a**2 + 3*s**2)/(a**2 + s**2)**3, 0, Abs(periodic_argument(polar_lift(a)**2, oo)) == 0)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = (t**2)*sympy.sin(a*t)\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.8.3, page no. 569" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(6/(s + 3)**4, 0, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.exp(-3*t)*t**3;\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.8.4, page no. 570" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(6*(s + 1)/((s + 1)**2 + 9)**2, -1, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.exp(-t)*t*sympy.sin(3*t)\n", + "print laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.9.1, page no. 571" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "-MellinTransform(1, t, s) + MellinTransform(1/t, t, s)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import mellin_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = (1-t)/t\n", + "print mellin_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.9.2, page no. 572" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(2**s*sqrt(pi)*a**(-s)*b**(-s)*(a*b**s - a**s*b)*gamma(s/2 - 1/2)/(4*gamma(-s/2 + 1)), (1, 2), And(Abs(periodic_argument(polar_lift(a)**2, oo)) == 0, Abs(periodic_argument(polar_lift(b)**2, oo)) == 0))\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import mellin_transform\n", + "from sympy.abc import t, s, a, b\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(sympy.cos(a*t)-sympy.cos(b*t))/t\n", + "print mellin_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.10.1, page no. 574" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the given integral find the laplace of tsin(t) and put s=2\n", + "Integral((2*s/(s**2 + 1)**2, 0, True), s)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the given integral find the laplace of tsin(t) and put s=2'\n", + "f = sympy.sin(t)*t\n", + "l = laplace_transform(f,t,s)\n", + "s = 2\n", + "print sympy.integrals.Integral(l)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.10.3, page no. 575" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "(sqrt(2)*LaplaceTransform(meijerg(((-1/2, 0, 1/4, 1/2, 3/4, 1), (1,)), ((), (-1/2, 0, 0)), 64*exp_polar(-4*I*pi)/t**4), t, s)/(8*sqrt(pi)) - 4/s - pi/(4*s) + 34*sqrt(2)/(9*s), 0, True)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = sympy.integrate(sympy.exp(t)*sympy.sin(t)/t,(t,0,t))\n", + "l = laplace_transform(f,t,s)\n", + "print l" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.11.1, page no. 576" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "InverseLaplaceTransform(1, t, s, _None)/s - 3*InverseLaplaceTransform(1, t, s, _None)/s**2 + 4*InverseLaplaceTransform(1, t, s, _None)/s**3\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(s**2-3*s+4)/s**3\n", + "print inverse_laplace_transform(f,t,s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.11.2, page no. 577" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s*InverseLaplaceTransform(1, t, s, _None)/(2*s**2 - 4*s + 13) + 2*InverseLaplaceTransform(1, t, s, _None)/(2*s**2 - 4*s + 13)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(s+2)/(2*s**2-4*s+13)\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.12.1, page no. 579" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "2*s**2*InverseLaplaceTransform(1, t, s, _None)/(s**3 - 6*s**2 + 11*s - 6) - 6*s*InverseLaplaceTransform(1, t, s, _None)/(s**3 - 6*s**2 + 11*s - 6) + 5*InverseLaplaceTransform(1, t, s, _None)/(s**3 - 6*s**2 + 11*s - 6)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =((2*s**2-6*s+5)/(s**3-6*s**2+11*s-6))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.12. 3, page no. 579" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "4*s*InverseLaplaceTransform(1, t, s, _None)/(s*(s - 1)**2 + 2*(s - 1)**2) + 5*InverseLaplaceTransform(1, t, s, _None)/(s*(s - 1)**2 + 2*(s - 1)**2)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(4*s+5)/((s-1)**2*(s+2))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.13.1, page no. 580" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "5*s*InverseLaplaceTransform(1, t, s, _None)/(s**3 + s**2 + 3*s - 5) + 3*InverseLaplaceTransform(1, t, s, _None)/(s**3 + s**2 + 3*s - 5)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(5*s+3)/((s-1)*(s**2+2*s+5))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.13.2, page no. 581" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s*InverseLaplaceTransform(1, t, s, _None)/(4*a**4 + s**4)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = s/(s**4+4*a**4)\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.14.1, page no. 583" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s**2*InverseLaplaceTransform(1, t, s, _None)/(s - 2)**3\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = s**2/(s-2)**3\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.14.2, page no. 583" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s*InverseLaplaceTransform(1, t, s, _None)/(s**2 - 4*s + 13) + 3*InverseLaplaceTransform(1, t, s, _None)/(s**2 - 4*s + 13)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(s+3)/((s**2-4*s+13))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.15.1, page no. 584" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "InverseLaplaceTransform(1, t, s, _None)/(a**2*s + s**3)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =1/(s*(s**2+a**2))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.15.2, page no. 584" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "InverseLaplaceTransform(1, t, s, _None)/(s*(a + s)**3)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =1/(s*(s+a)**3)\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.16.1, page no. 585" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s*InverseLaplaceTransform(1, t, s, _None)/(a**2 + s**2)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = s/((s**2+a**2)**2)\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.16.2, page no. 586" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s**2*InverseLaplaceTransform(1, t, s, _None)/(a**2 + s**2)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = s**2/((s**2+a**2)**2) ;\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.16.3, page no. 587" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "InverseLaplaceTransform(1, t, s, _None)/(a**2 + s**2)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = 1/((s**2+a**2)**2) ;\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.17.1, page no. 588" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "InverseLaplaceTransform(1, t, s, _None)/(a**2 + s**2)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = (s+2)/(s**2*(s+1)*(s-2))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.17.2, page no. 589" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s*InverseLaplaceTransform(1, t, s, _None)/(s**2 + 4*s + 5)**2 + 2*InverseLaplaceTransform(1, t, s, _None)/(s**2 + 4*s + 5)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f =(s+2)/(s**2+4*s+5)**2\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.19.1, page no. 590" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s*InverseLaplaceTransform(1, t, s, _None)/(a**2 + s**2)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = s/(s**2+a**2)**2\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.19.2, page no. 591" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace of given function in t\n", + "s**2*InverseLaplaceTransform(1, t, s, _None)/(a**2*b**2 + a**2*s**2 + b**2*s**2 + s**4)\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import inverse_laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "print 'To find the laplace of given function in t'\n", + "f = s**2/((s**2+a**2)*(s**2+b**2))\n", + "il = inverse_laplace_transform(f,t,s)\n", + "print il" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.28.1, page no. 598" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Laplace of the given funtion is: \n", + "Piecewise((1/2, s**3 == 0), (exp(-3*s)/s**2 - (-s**2 + s)*exp(-2*s)/s**3, True)) + Piecewise((1/2, s**3 == 0), (exp(-s)/s**2 + (-s**2 - s)*exp(-2*s)/s**3, True))\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "f = sympy.integrate(sympy.exp(-s*t)*(t-1),(t ,1 ,2))+sympy.integrate(sympy.exp(-s*t)*(3-t),(t ,2 ,3))\n", + "print 'Laplace of the given funtion is: '\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 21.28.2, page no. 598" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Laplace of the given funtion is: \n", + "Piecewise((2, s == -1), (-1/(s*exp(2)*exp(2*s) + exp(2)*exp(2*s)) + 1/(s + 1), True))\n" + ] + } + ], + "source": [ + "import sympy\n", + "from sympy.integrals import laplace_transform\n", + "from sympy.abc import t, s, a\n", + "\n", + "f = sympy.integrate(sympy.exp(-s*t)*sympy.exp(-t),(t ,0 ,2))\n", + "print 'Laplace of the given funtion is: '\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 21.34, page no. 602" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the laplace transform of periodic funtion\n", + "Piecewise((Piecewise((0, And(s == 0, w == 0)), (1.5707963267949*exp(3.14159265358979*I*w)*sin(3.14159265358979*w) + 1.5707963267949*I*exp(3.14159265358979*I*w)*cos(3.14159265358979*w) - I*exp(3.14159265358979*I*w)*sin(3.14159265358979*w)/(2*w), s == -I*w), (1.5707963267949*exp(-3.14159265358979*I*w)*sin(3.14159265358979*w) - 1.5707963267949*I*exp(-3.14159265358979*I*w)*cos(3.14159265358979*w) + I*exp(-3.14159265358979*I*w)*sin(3.14159265358979*w)/(2*w), s == I*w), (-s*sin(3.14159265358979*w)/(s**2*exp(3.14159265358979*s) + w**2*exp(3.14159265358979*s)) - w*cos(3.14159265358979*w)/(s**2*exp(3.14159265358979*s) + w**2*exp(3.14159265358979*s)), True)), And(Or(s == -I*w, s == 0, s == I*w), Or(s == -I*w, s == I*w, w == 0))), (Piecewise((w/(s**2 + w**2), And(s == 0, w == 0)), (w/(s**2 + w**2) + 1.5707963267949*exp(3.14159265358979*I*w)*sin(3.14159265358979*w) + 1.5707963267949*I*exp(3.14159265358979*I*w)*cos(3.14159265358979*w) - I*exp(3.14159265358979*I*w)*sin(3.14159265358979*w)/(2*w), s == -I*w), (w/(s**2 + w**2) + 1.5707963267949*exp(-3.14159265358979*I*w)*sin(3.14159265358979*w) - 1.5707963267949*I*exp(-3.14159265358979*I*w)*cos(3.14159265358979*w) + I*exp(-3.14159265358979*I*w)*sin(3.14159265358979*w)/(2*w), s == I*w), (-s*sin(3.14159265358979*w)/(s**2*exp(3.14159265358979*s) + w**2*exp(3.14159265358979*s)) - w*cos(3.14159265358979*w)/(s**2*exp(3.14159265358979*s) + w**2*exp(3.14159265358979*s)) + w/(s**2 + w**2), True)), True))/(w*(-exp(-6.28318530717959*s/w) + 1))\n" + ] + } + ], + "source": [ + "import sympy, math\n", + "\n", + "print 'To find the laplace transform of periodic funtion'\n", + "w = sympy.Symbol('w')\n", + "t = sympy.Symbol('t')\n", + "s = sympy.Symbol('s')\n", + "f = 1/(1-sympy.exp(-2*math.pi*s/w))*sympy.integrate(sympy.exp(-1*s*t)*sympy.sin(w*t),(t,0,math.pi))/w\n", + "print f" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter22_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter22_1.ipynb new file mode 100644 index 00000000..d3d7419e --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter22_1.ipynb @@ -0,0 +1,244 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 22 : Integral Transform" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 22.1, page no. 608" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the fourier sin integral\n", + "0.636619772367581*Integral(sin(t*u), (t, 0, oo))*Integral(sin(u*x), (u, 0, oo))\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "\n", + "print \"To find the fourier sin integral\"\n", + "x = sympy.Symbol('x')\n", + "t = sympy.Symbol('t')\n", + "u = sympy.Symbol('u')\n", + "fs = 2/math.pi*sympy.integrate(sympy.sin(u*x),(u,0,sympy.oo))*(sympy.integrate(x**0*sympy.sin(u*t),(t,0,sympy.oo)))\n", + "print fs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 22.2, page no. 608" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the fourier transform of given function\n", + "Piecewise((2, s == 0), (1.0*I*exp(-1.0*I*s)/s - 1.0*I*exp(1.0*I*s)/s, True))\n", + "pi/2\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print \"To find the fourier transform of given function\"\n", + "x = sympy.Symbol('x')\n", + "s = sympy.Symbol('s')\n", + "F = sympy.integrate(sympy.exp(1j*s*x),(x,-1,1))\n", + "print F\n", + "F1 = sympy.integrate(sympy.sin(x)/x,(x,0,sympy.oo))\n", + "print F1" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 22.3, page no. 609" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the fourier transform of given function\n", + "Piecewise((4/3, s**6 == 0), ((-2.0*s**4 - 2.0*I*s**3)*exp(1.0*I*s)/s**6 - (2.0*s**4 - 2.0*I*s**3)*exp(-1.0*I*s)/s**6, True))\n", + "Integral((x*cos(x) - sin(x))*cos(x/2)/x**3, (x, 0, +inf))\n" + ] + } + ], + "source": [ + "import sympy,numpy\n", + "\n", + "print \"To find the fourier transform of given function\"\n", + "x = sympy.Symbol('x')\n", + "s = sympy.Symbol('s')\n", + "F = sympy.integrate(sympy.exp(1j*s*x)*(1-x**2),(x,-1,1))\n", + "print F\n", + "F1 = sympy.integrals.Integral((x*sympy.cos(x)-sympy.sin(x))/x**3*sympy.cos(x/2),(x,0,numpy.inf))\n", + "print F1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 22.4, page no. 610" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the fourier sin integral\n", + "Piecewise((s/(s**2 + 1), Abs(periodic_argument(polar_lift(s)**2, oo)) == 0), (Integral(exp(-x)*sin(s*x), (x, 0, oo)), True))\n", + "Piecewise((sqrt(pi)*(-sqrt(pi)*sinh(m) + sqrt(pi)*cosh(m))/2, Abs(periodic_argument(polar_lift(m)**2, oo)) == 0), (Integral(x*sin(m*x)/(x**2 + 1), (x, 0, oo)), True))\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "\n", + "print \"To find the fourier sin integral\"\n", + "x = sympy.Symbol('x')\n", + "s = sympy.Symbol('s')\n", + "m = sympy.Symbol('m')\n", + "fs = sympy.integrate(sympy.sin(s*x)*sympy.exp(-x),(x,0,sympy.oo))\n", + "print fs\n", + "f = sympy.integrate(x*sympy.sin(m*x)/(1+x**2),(x,0,sympy.oo))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 22.5, page no. 611" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fourier cosine transform.\n", + "Piecewise((1/2, s == 0), (-sin(s)/s + cos(s)/s**2 - cos(2*s)/s**2, True)) + Piecewise((1/2, s == 0), (sin(s)/s + cos(s)/s**2 - 1/s**2, True))\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "\n", + "print \"Fourier cosine transform.\"\n", + "x = sympy.Symbol('x')\n", + "s = sympy.Symbol('s')\n", + "f = sympy.integrate(x*sympy.cos(s*x),(x,0,1))+sympy.integrate((2-x)*sympy.cos(s*x),(x,1,2))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 22.6, page no. 612" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fourier cosine transform.\n", + "Piecewise((s*atan(sqrt(s**2/a**2))/(a*sqrt(s**2/a**2)), Or(And(-s**2/a**2 != 1, Abs(periodic_argument(polar_lift(a)**2, oo)) == pi, Abs(periodic_argument(polar_lift(s)**2, oo)) == 0), And(Abs(periodic_argument(polar_lift(a)**2, oo)) < pi, Abs(periodic_argument(polar_lift(s)**2, oo)) == 0))), (Integral(exp(-a*x)*sin(s*x)/x, (x, 0, oo)), True))\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "\n", + "print \"Fourier cosine transform.\"\n", + "x = sympy.Symbol('x')\n", + "s = sympy.Symbol('s')\n", + "a = sympy.Symbol('a')\n", + "f = sympy.integrate(sympy.exp(-a*x)/x*sympy.sin(s*x),(x,0,sympy.oo))\n", + "print f" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter23_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter23_1.ipynb new file mode 100644 index 00000000..a7ba913c --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter23_1.ipynb @@ -0,0 +1,762 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 23 : Statistical Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.1, page no. 618" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A denotes the no. of students falling in the marks group starting from (5 −10)... till (40−45)\n", + "the second row denotes cumulative frequency (less than)\n", + "the third row denotes cumulative frequency(more than)\n", + "[[ 5. 6. 15. 10. 5. 4. 2. 2.]\n", + " [ 5. 11. 26. 36. 41. 45. 47. 49.]\n", + " [ 49. 44. 38. 23. 13. 8. 4. 2.]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([3,8])\n", + "print \"The first row of A denotes the no. of students falling in the marks group starting from (5 −10)... till (40−45)\"\n", + "A[0] = [5,6,15,10,5,4,2,2]\n", + "print \"the second row denotes cumulative frequency (less than)\"\n", + "A[1,0] = 5\n", + "for i in range(1,8):\n", + " A[1,i] = A[1,i-1]+A[0,i]\n", + "print \"the third row denotes cumulative frequency(more than)\"\n", + "A[2,0] = 49\n", + "for i in range (1,8):\n", + " A[2,i] = A[2,i-1]-A[0,i-1]\n", + "print A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.2, page no. 619" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A represents the mid values of weekly earnings having interval of 2 in each class=x \n", + "The second row denotes the no. of employees or in other words frequency=f \n", + "Third row denotes f∗x\n", + "Fourth row denotes u=(x−25)/2 \n", + "Fifth row denotes f∗x\n", + "[[ 1.10000000e+01 1.30000000e+01 1.50000000e+01 1.70000000e+01\n", + " 1.90000000e+01 2.10000000e+01 2.30000000e+01 2.50000000e+01\n", + " 2.70000000e+01 2.90000000e+01 3.10000000e+01 3.30000000e+01\n", + " 3.50000000e+01 3.70000000e+01 3.90000000e+01 4.10000000e+01]\n", + " [ 3.00000000e+00 6.00000000e+00 1.00000000e+01 1.50000000e+01\n", + " 2.40000000e+01 4.20000000e+01 7.50000000e+01 9.00000000e+01\n", + " 7.90000000e+01 5.50000000e+01 3.60000000e+01 2.60000000e+01\n", + " 1.90000000e+01 1.30000000e+01 9.00000000e+00 7.00000000e+00]\n", + " [ 3.30000000e+01 7.80000000e+01 1.50000000e+02 2.55000000e+02\n", + " 4.56000000e+02 8.82000000e+02 1.72500000e+03 2.25000000e+03\n", + " 2.13300000e+03 1.59500000e+03 1.11600000e+03 8.58000000e+02\n", + " 6.65000000e+02 4.81000000e+02 3.51000000e+02 2.87000000e+02]\n", + " [ -7.00000000e+00 -6.00000000e+00 -5.00000000e+00 -4.00000000e+00\n", + " -3.00000000e+00 -2.00000000e+00 -1.00000000e+00 0.00000000e+00\n", + " 1.00000000e+00 2.00000000e+00 3.00000000e+00 4.00000000e+00\n", + " 5.00000000e+00 6.00000000e+00 7.00000000e+00 8.00000000e+00]\n", + " [ -2.10000000e+01 -3.60000000e+01 -5.00000000e+01 -6.00000000e+01\n", + " -7.20000000e+01 -8.40000000e+01 -7.50000000e+01 0.00000000e+00\n", + " 7.90000000e+01 1.10000000e+02 1.08000000e+02 1.04000000e+02\n", + " 9.50000000e+01 7.80000000e+01 6.30000000e+01 5.60000000e+01]]\n", + "Sum of all elements of third row= 13315.0\n", + "Sum of all elements of second row= 509.0\n", + "mean= 26.1591355599\n", + "Sum of all elements of fifth row= 295.0\n", + "mean by step deviation method= 26.1591355599\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([5,16])\n", + "print \"The first row of A represents the mid values of weekly earnings having interval of 2 in each class=x \"\n", + "A[0] = [11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41]\n", + "print \"The second row denotes the no. of employees or in other words frequency=f \"\n", + "A[1]=[3,6,10,15,24,42,75,90,79,55,36,26,19,13,9,7]\n", + "print \"Third row denotes f∗x\"\n", + "for i in range(0,16):\n", + " A[2,i] = A[0,i]*A[1,i]\n", + "print \"Fourth row denotes u=(x−25)/2 \"\n", + "for i in range(0,16):\n", + " A[3,i] = (A[0,i]-25)/2\n", + "print \"Fifth row denotes f∗x\"\n", + "for i in range(0,16):\n", + " A[4,i] = A[3,i]*A[1,i]\n", + "print A\n", + "b = 0\n", + "print \"Sum of all elements of third row=\",\n", + "for i in range(0,16):\n", + " b = b+A[2,i]\n", + "print b\n", + "f = 0\n", + "print \"Sum of all elements of second row=\",\n", + "for i in range(0,16):\n", + " f = f+A[1,i]\n", + "print f\n", + "print \"mean=\",b/f\n", + "d = 0\n", + "print \"Sum of all elements of fifth row= \",\n", + "for i in range(0,16):\n", + " d = d+A[4,i]\n", + "print d\n", + "print \"mean by step deviation method= \",25+(2*d/f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.3, page no. 620" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A denotes the no. of students falling in the marks group startin from (5−10)... till (40−45)\n", + "The second row denotes cumulative frequency (less than)\n", + "The third row denotes cumulative frequency (more than)\n", + "[[ 5. 6. 15. 10. 5. 4. 2. 2.]\n", + " [ 5. 11. 26. 36. 41. 45. 47. 49.]\n", + " [ 49. 44. 38. 23. 13. 8. 4. 2.]]\n", + "Median falls in the class (15−20)=l+((n/2−c)∗h)/f= 19\n", + "Lower quartile also falls in the class (15−20)=\n", + "Upper quartile also falls in the class (25−30)=\n", + "Semiinter quartile range= 5\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([3,8])\n", + "print \"The first row of A denotes the no. of students falling in the marks group startin from (5−10)... till (40−45)\"\n", + "\n", + "A[0] = [5,6,15,10,5,4,2,2]\n", + "print \"The second row denotes cumulative frequency (less than)\"\n", + "A[1]=[5,11,26,36,41,45,47,49]\n", + "print \"The third row denotes cumulative frequency (more than)\"\n", + "A[2] = [49,44,38,23,13,8,4,2]\n", + "print A\n", + "print \"Median falls in the class (15−20)=l+((n/2−c)∗h)/f= \",15+((49/2-11)*5)/15\n", + "print \"Lower quartile also falls in the class (15−20)=\"\n", + "Q1 = 15+((49/4-11)*5)/15\n", + "print \"Upper quartile also falls in the class (25−30)=\"\n", + "Q3 =25+((3*49/4-36)*5)/5\n", + "print \"Semiinter quartile range= \",(Q3-Q1)/2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.4, page no. 620" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A denotes the roll no. of students form 1 to 10 and that of B denotes form 11 to 20 \n", + "The second row of A and B denotes the corresponding marks in physics\n", + "The third row denotes the corresponding marks in chemistry\n", + "Median marks in physics=arithmetic mean of 10th and 11th student = 26\n", + "Median marks in chemistry=arithmetic mean of 10th and 11th student = 41\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([3,10])\n", + "print \"The first row of A denotes the roll no. of students form 1 to 10 and that of B denotes form 11 to 20 \"\n", + "A[0] = [1,2,3,4,5,6,7,8,9,10]\n", + "B[0] = [11,12,13,14,15,16,17,18,19,20]\n", + "print \"The second row of A and B denotes the corresponding marks in physics\"\n", + "A[1] = [53,54,52,32,30,60,47,46,35,28]\n", + "B[1] = [25,42,33,48,72,51,45,33,65,29]\n", + "print \"The third row denotes the corresponding marks in chemistry\"\n", + "A[2] = [58,55,25,32,26,85,44,80,33,72]\n", + "B[2] = [10,42,15,46,50,64,39,38,30,36]\n", + "print \"Median marks in physics=arithmetic mean of 10th and 11th student = \",(28+25)/2\n", + "print \"Median marks in chemistry=arithmetic mean of 10th and 11th student = \",(72+10)/2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.5, page no. 621" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Let the misssing frequencies be f1 and f2 \n", + "Sum of given frequencies=12+30+65+25+18 = 150\n", + "So, f1+f2=229−c = 79\n", + "Median=46=40+(114.5−(12+30+f1))∗10/65)\n", + "f1=33.5=34 \n" + ] + } + ], + "source": [ + "print \"Let the misssing frequencies be f1 and f2 \"\n", + "print \"Sum of given frequencies=12+30+65+25+18 = \",\n", + "c =12+30+65+25+18\n", + "print c\n", + "print \"So, f1+f2=229−c = \",229-c\n", + "print \"Median=46=40+(114.5−(12+30+f1))∗10/65)\"\n", + "print \"f1=33.5=34 \"\n", + "f1 = 34\n", + "f2 = 45" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.6, page no. 622" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Let the eqidistance be s, then\n", + "Average speed = total distance/total time taken 1800/47\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "s = sympy.Symbol('s')\n", + "print \"Let the eqidistance be s, then\"\n", + "t1 = s/30\n", + "t2 = s/40\n", + "t3 = s/50\n", + "print \"Average speed = total distance/total time taken\",3*s/(t1+t2+t3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.7, page no. 623" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row denotes the size of item \n", + "The second row denotes the corresponding frequency(f)\n", + "The third row denotes the corresponding deviation(d)\n", + "The fourth row denotes the corresponding f∗d \n", + "The fifth row denotes the corresponding f∗dˆ2 \n", + "[[ 6. 7. 8. 9. 10. 11. 12.]\n", + " [ 3. 6. 9. 13. 8. 5. 4.]\n", + " [ -3. -2. -1. 0. 1. 2. 3.]\n", + " [ -9. -12. -9. 0. 8. 10. 12.]\n", + " [ 27. 24. 9. 0. 8. 20. 36.]]\n", + "Sum of fourth row elements= 0.0\n", + "Sum of fifth row elements= 124.0\n", + "Sum of all frequencies = 48.0\n", + "mean=9+b/d = 9.0\n", + "Standard deviation = (c/d)ˆ0.5 = 1.60727512683\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([5,7])\n", + "print \"The first row denotes the size of item \"\n", + "A[0,:] = [6,7,8,9,10,11,12]\n", + "print \"The second row denotes the corresponding frequency(f)\"\n", + "A[1,:] = [3,6,9,13,8,5,4]\n", + "print \"The third row denotes the corresponding deviation(d)\"\n", + "A[2,:] = [-3,-2,-1,0,1,2,3]\n", + "print \"The fourth row denotes the corresponding f∗d \"\n", + "for i in range(0,7):\n", + " A[3,i] = A[1,i]*A[2,i] \n", + "print \"The fifth row denotes the corresponding f∗dˆ2 \"\n", + "for i in range(0,7):\n", + " A[4,i] = A[1,i]*(A[2,i]**2)\n", + "print A\n", + "b = 0\n", + "print \"Sum of fourth row elements= \",\n", + "for i in range(0,7):\n", + " b = b+A[3,i]\n", + "print b\n", + "c = 0\n", + "print \"Sum of fifth row elements= \",\n", + "for i in range(0,7):\n", + " c = c+A[4,i]\n", + "print c\n", + "d = 0\n", + "print \"Sum of all frequencies = \",\n", + "for i in range(0,7):\n", + " d = d+A[1,i]\n", + "print d\n", + "print \"mean=9+b/d = \",9+b/d\n", + "print \"Standard deviation = (c/d)ˆ0.5 = \",(c/d)**0.5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.8, page no. 624" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A represents the mid values of wage classes having interval of 8 in each class=x \n", + "The second row denotes the no. of men or in other words frequency=f \n", + "Third row denotes f∗x \n", + "Fourth row denotes d=(x−32.5)/8 \n", + "Fifth row denotes f∗d \n", + "Sixth row denotes f∗(dˆ2)\n", + "[[ 8.5 16.5 24.5 32.5 40.5 48.5 56.5 64.5 72.5]\n", + " [ 2. 24. 21. 18. 5. 3. 5. 8. 2. ]\n", + " [ 17. 396. 514.5 585. 202.5 145.5 282.5 516. 145. ]\n", + " [ -3. -2. -1. 0. 1. 2. 3. 4. 5. ]\n", + " [ -6. -48. -21. 0. 5. 6. 15. 32. 10. ]\n", + " [ 18. 96. 21. 0. 5. 12. 45. 128. 50. ]]\n", + "Sum of all elements of sixth row= 375.0\n", + "Sum of all elements of second row= 88.0\n", + "mean= 4.26136363636\n", + "Sum of all elements of fifth row= Mean wage= 31.8636363636\n", + "standard deviation= 34.0402892562\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([6,9])\n", + "print \"The first row of A represents the mid values of wage classes having interval of 8 in each class=x \"\n", + "A[0] = [8.5,16.5,24.5,32.5,40.5,48.5,56.5,64.5,72.5]\n", + "print \"The second row denotes the no. of men or in other words frequency=f \"\n", + "A[1] = [2,24,21,18,5,3,5,8,2]\n", + "print \"Third row denotes f∗x \"\n", + "for i in range(0,9):\n", + " A[2,i] = A[0,i]*A[1,i] \n", + "print \"Fourth row denotes d=(x−32.5)/8 \"\n", + "for i in range(0,9):\n", + " A[3,i] = (A[0,i]-32.5)/8\n", + "print \"Fifth row denotes f∗d \"\n", + "for i in range(0,9):\n", + " A[4,i] = A[3,i]*A[1,i]\n", + "print \"Sixth row denotes f∗(dˆ2)\"\n", + "for i in range(0,9):\n", + " A[5,i] = A[3,i]**2*A[1,i]\n", + "print A\n", + "b = 0\n", + "print \"Sum of all elements of sixth row= \",\n", + "for i in range(0,9):\n", + " b = b+A[5,i]\n", + "print b\n", + "f = 0\n", + "print \"Sum of all elements of second row= \",\n", + "for i in range(0,9):\n", + " f = f+A[1,i]\n", + "print f\n", + "print \"mean= \",b/f\n", + "d = 0\n", + "print \"Sum of all elements of fifth row= \",\n", + "for i in range(0,9):\n", + " d = d+A[4,i]\n", + "print \"Mean wage= \",32.5+(8*d/f)\n", + "print \"standard deviation= \",8*(b/f-(d/f)**2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.9, page no. 626" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A denotes the scores of A and that of B denotes that of B \n", + "The second row of A and B denotes the corresponding deviation \n", + "The third row of A and B denotes the corresponding deviation square \n", + "[[ 12. 115. 6. 73. 7. 19. 119. 36. 84. 29.]\n", + " [ -39. 64. -45. 22. -44. -32. 68. -15. 33. -22.]\n", + " [ 1521. 4096. 2025. 484. 1936. 1024. 4624. 225. 1089. 484.]]\n", + "[[ 47. 12. 16. 42. 4. 51. 37. 48. 13. 0.]\n", + " [ -4. -39. -35. -9. -47. 0. -14. -3. -38. -51.]\n", + " [ 16. 1521. 1225. 81. 2209. 0. 196. 9. 1444. 2601.]]\n", + "Sum of second row elements of A=b= -10.0\n", + "sum of second row elements of B=c= -240.0\n", + "Sum of third row elements of A=d= 17508.0\n", + "Sum of second row elements of B=e= 9302.0\n", + "Arithmetic mean of A= 50.0\n", + "Standard deviation of A= 41.8306108012\n", + "Arithmetic mean of B= 27.0\n", + "Standard deviation of A= 18.8202019118\n", + "Coefficient of variation of A= 83.6612216024\n", + "Coefficient of variation of B= 69.7044515251\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([3,10])\n", + "B = numpy.zeros([3,10])\n", + "print \"The first row of A denotes the scores of A and that of B denotes that of B \"\n", + "A[0] = [12,115,6,73,7,19,119,36,84,29]\n", + "B[0] = [47,12,16,42,4,51,37,48,13,0]\n", + "print \"The second row of A and B denotes the corresponding deviation \"\n", + "for i in range (0,10):\n", + " A[1,i] = A[0,i]-51\n", + " B[1,i] = B[0,i]-51\n", + "print \"The third row of A and B denotes the corresponding deviation square \"\n", + "for i in range (0,10):\n", + " A[2,i] = A[1,i]**2\n", + " B[2,i] = B[1,i]**2\n", + "print A\n", + "print B\n", + "b = 0\n", + "print \"Sum of second row elements of A=b=\",\n", + "for i in range (0,10):\n", + " b = b+A[1,i]\n", + "print b\n", + "c = 0\n", + "print \"sum of second row elements of B=c=\",\n", + "for i in range (0,10):\n", + " c = c+B[1,i]\n", + "print c\n", + "d = 0\n", + "print \"Sum of third row elements of A=d=\",\n", + "for i in range (0,10):\n", + " d = d+A[2,i]\n", + "print d\n", + "e = 0\n", + "print \"Sum of second row elements of B=e=\",\n", + "for i in range (0,10):\n", + " e = e+B[2,i]\n", + "print e\n", + "print \"Arithmetic mean of A= \",\n", + "f = 51+b/10\n", + "print f\n", + "print \"Standard deviation of A= \",\n", + "g = (d/10-(b/10)**2)**0.5\n", + "print g\n", + "print \"Arithmetic mean of B= \",\n", + "h = 51+c/10\n", + "print h\n", + "print \"Standard deviation of A= \",\n", + "i = (e/10-(c/10)**2)**0.5\n", + "print i\n", + "print \"Coefficient of variation of A=\",(g/f)*100\n", + "print \"Coefficient of variation of B=\",(i/h)*100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.10, page no. 628" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "If m is the mean of entire data, then\n", + "116\n", + "If s is the standard deviation of entire data, then \n", + "7.74596669241\n" + ] + } + ], + "source": [ + "print \"If m is the mean of entire data, then\"\n", + "m = (50*113+60*120+90*115)/(50+60+90)\n", + "print m\n", + "print \"If s is the standard deviation of entire data, then \"\n", + "s = (((50*6**2)+(60*7**2)+(90*8**2)+(50*3**2)+(60*4**2)+(90*1**2))/200)**0.5\n", + "print s" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.12, page no. 629" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A denotes the no. of persons falling in the weight group starting from (70−80)... till (140−150)\n", + "The second row denotes cumulative frequency\n", + "Median falls in the class (110−120) = l+((n/2−c)∗h)/f= 111\n", + "Lower quartile also falls in the class (90−100)= 97.8571428571\n", + "Upper quartile also falls in the class (120−130)= 123.444444444\n", + "Quartile coefficient of skewness= -0.0272952853598\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([2,8])\n", + "print \"The first row of A denotes the no. of persons falling in the weight group starting from (70−80)... till (140−150)\"\n", + "A[0] = [12,18,35,42,50,45,20,8]\n", + "print \"The second row denotes cumulative frequency\"\n", + "A[1,0] = 12\n", + "for i in range(1,8):\n", + " A[1,i] = A[1,i-1]+A[0,i]\n", + "print \"Median falls in the class (110−120) = l+((n/2−c)∗h)/f= \",\n", + "Q2 = 110+(8*10)/50\n", + "print Q2\n", + "print \"Lower quartile also falls in the class (90−100)= \",\n", + "Q1 = 90+(57.5-30)*10/35\n", + "print Q1\n", + "print \"Upper quartile also falls in the class (120−130)= \",\n", + "Q3 = 120+(172.5-157)*10/45\n", + "print Q3\n", + "print \"Quartile coefficient of skewness= \",(Q1+Q3-2*Q2)/(Q3-Q1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 23.13, page no. 631" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row of A denotes the corresponding I.R. of students \n", + "The second row denotes the corresponding deviation of I.R.\n", + "The third row denotes the square of corresponding deviation of I.R.\n", + "The fourth row denotes the corresponding E.R. of students \n", + "The fifth row denotes the corresponding deviation of E.R.\n", + "The sixth row denotes the square of corresponding deviation of E.R.\n", + "The seventh row denotes the product of the two corresponding deviations\n", + "[[ 105. 104. 102. 101. 100. 99. 98. 96. 93. 92.]\n", + " [ 6. 5. 3. 2. 1. 0. -1. -3. -6. -7.]\n", + " [ 36. 25. 9. 4. 1. 0. 1. 9. 36. 49.]\n", + " [ 101. 103. 100. 98. 95. 96. 104. 92. 97. 94.]\n", + " [ 3. 5. 2. 0. -3. -2. 6. -6. -1. -4.]\n", + " [ 9. 25. 4. 0. 9. 4. 36. 36. 1. 16.]\n", + " [ 18. 25. 6. 0. -3. -0. -6. 18. 6. 28.]]\n", + "The sum of elements of first row=a = 990.0\n", + "The sum of elements of second row=b = 0.0\n", + "The sum of elements of third row=c = 170.0\n", + "The sum of elements of fourth row=d = 980.0\n", + "The sum of elements of fifth row=e = 0.0\n", + "The sum of elements of sixth row=d = 140.0\n", + "The sum of elements of seventh row=d = 92.0\n", + "Coefficient of correlation = 0.596347425668\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros([7,10])\n", + "print \"The first row of A denotes the corresponding I.R. of students \"\n", + "A[0] = [105,104,102,101,100,99,98,96,93,92]\n", + "print \"The second row denotes the corresponding deviation of I.R.\"\n", + "for i in range(0,10):\n", + " A[1,i] = A[0,i]-99\n", + "print \"The third row denotes the square of corresponding deviation of I.R.\"\n", + "for i in range(0,10):\n", + " A[2,i] = A[1,i]**2\n", + "print \"The fourth row denotes the corresponding E.R. of students \"\n", + "A[3] = [101,103,100,98,95,96,104,92,97,94]\n", + "print \"The fifth row denotes the corresponding deviation of E.R.\"\n", + "for i in range(0,10):\n", + " A[4,i] = A[3,i]-98\n", + "print \"The sixth row denotes the square of corresponding deviation of E.R.\"\n", + "for i in range(0,10):\n", + " A[5,i] = A[4,i]**2\n", + "print \"The seventh row denotes the product of the two corresponding deviations\"\n", + "for i in range(0,10):\n", + " A[6,i] = A[1,i]*A[4,i]\n", + "print A\n", + "a = 0\n", + "print \"The sum of elements of first row=a = \",\n", + "for i in range(0,10):\n", + " a = a+A[0,i]\n", + "print a\n", + "b = 0 \n", + "print \"The sum of elements of second row=b = \",\n", + "for i in range(0,10):\n", + " b = b+A[1,i]\n", + "print b\n", + "c = 0\n", + "print \"The sum of elements of third row=c = \",\n", + "for i in range(0,10):\n", + " c = c+A[2,i]\n", + "print c\n", + "d = 0\n", + "print \"The sum of elements of fourth row=d = \",\n", + "for i in range(0,10):\n", + " d = d+A[3,i]\n", + "print d\n", + "e = 0\n", + "print \"The sum of elements of fifth row=e = \",\n", + "for i in range(0,10):\n", + " e = e+A[4,i]\n", + "print e\n", + "f = 0\n", + "print \"The sum of elements of sixth row=d = \",\n", + "for i in range(0,10):\n", + " f = f+A[5,i]\n", + "print f\n", + "g = 0\n", + "print \"The sum of elements of seventh row=d = \",\n", + "for i in range(0,10):\n", + " g = g+A[6,i]\n", + "print g\n", + "print \"Coefficient of correlation = \",g/(c*f)**0.5" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter24_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter24_1.ipynb new file mode 100644 index 00000000..9dd44a2c --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter24_1.ipynb @@ -0,0 +1,331 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 24: Numerical Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 24.1, page no. 636" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Finding roots of this equation by bisection method\n", + "f(2) is -ve and f(3) is +ve so root lies between 2 and 3\n", + "The root is: 2.6875\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly([0])\n", + "p = x**3-4*x-9\n", + "print \"Finding roots of this equation by bisection method\"\n", + "print 'f(2) is -ve and f(3) is +ve so root lies between 2 and 3'\n", + "l = 2.\n", + "m = 3.\n", + "def f(x):\n", + " y = x**3-4*x-9\n", + " return y\n", + "for i in range(1,5):\n", + " k = 1.0/2.*(l+m)\n", + " if(f(k)<0):\n", + " l = k\n", + " else:\n", + " m = k\n", + "print \"The root is: \", k" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 24.3, page no. 638" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f(x)=xeˆx−cos(x)\n", + "We are required to find the roots of f(x) by the method of false position \n", + "f(0)=−ve and f(1)=+ve so s root lie between 0 and 1 \n", + "finding the roots by false position method \n", + "The root of the equation is :\n", + "0.517747878322\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"f(x)=xeˆx−cos(x)\"\n", + "def f(x):\n", + " y = x*math.e**(x)-math.cos(x)\n", + " return y\n", + "print \"We are required to find the roots of f(x) by the method of false position \"\n", + "print \"f(0)=−ve and f(1)=+ve so s root lie between 0 and 1 \"\n", + "print \"finding the roots by false position method \"\n", + "l = 0.0\n", + "m = 1.0\n", + "for i in range(1,11):\n", + " k = l-(m-l)*f(l)/(f(m)-f(l))\n", + " if(f(k)<0):\n", + " l = k\n", + " else:\n", + " m = k\n", + "print \"The root of the equation is :\"\n", + "print k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 24.4, page no. 638" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f(x) = x∗math.log(x)−1.2\n", + "We are required to find the roots of f(x) by the method of false position \n", + "f(2)=−ve and f(3)=+ve so s root lie between 2 and 3 \n", + "finding the roots by false position method \n", + "The root of the equation is : 2.74063625664\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"f(x) = x∗math.log(x)−1.2\"\n", + "def f(x):\n", + " y = x*math.log10(x)-1.2\n", + " return y\n", + "print \"We are required to find the roots of f(x) by the method of false position \"\n", + "print \"f(2)=−ve and f(3)=+ve so s root lie between 2 and 3 \"\n", + "print \"finding the roots by false position method \"\n", + "l = 2.\n", + "m = 3.\n", + "for i in range(1,4):\n", + " k = l-(m-l)*f(l)/(f(m)-f(l))\n", + " if(f(k)<0):\n", + " l = k\n", + " else:\n", + " m = k\n", + "print \"The root of the equation is : \",k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 24.5, page no. 639" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the roots of f(x) = 3x−cos(x)−1 by newtons method \n", + "f(0)=−ve and f(1) is +ve so a root lies between 0 and 1 \n", + "Let us take x0 =0.6 as the root is closer to 1 \n", + "Root is given by r=x0−f(xn)/der(f(xn))\n", + "Approximated root in each steps are \n", + "0.607290551153\n", + "0.607096741973\n", + "0.607101775605\n" + ] + } + ], + "source": [ + "import math,numpy\n", + "from scipy.misc import derivative\n", + "\n", + "print \"To find the roots of f(x) = 3x−cos(x)−1 by newtons method \"\n", + "print \"f(0)=−ve and f(1) is +ve so a root lies between 0 and 1 \"\n", + "l = 0\n", + "m = 1\n", + "def f(x):\n", + " y = 3*x-math.cos(x)-1\n", + " return y\n", + "x0 = 0.6\n", + "print \"Let us take x0 =0.6 as the root is closer to 1 \"\n", + "print \"Root is given by r=x0−f(xn)/der(f(xn))\"\n", + "print \"Approximated root in each steps are \"\n", + "for i in range(1,4):\n", + " k = x0-f(x0)/derivative(f,x0)\n", + " print k\n", + " x0 = k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 24.6, page no. 640" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find square root of 28 by newtons method let x=sqrt(28) ie xˆ2−28=0 \n", + "To find the roots by newtons method\n", + "f(5)=−ve and f(6) is +ve so a root lies between 5 and 6 \n", + "Let us take x0 = 5.5 \n", + "Root is given by rn=xn−f(xn)/der(f(xn))\n", + "Approximated root in each steps are\n", + "5.29545454545\n", + "5.29150409676\n", + "5.29150262213\n", + "5.29150262213\n" + ] + } + ], + "source": [ + "from scipy.misc import derivative\n", + "\n", + "print \"To find square root of 28 by newtons method let x=sqrt(28) ie xˆ2−28=0 \"\n", + "def f(x):\n", + " y = x**2-28\n", + " return y\n", + "print \"To find the roots by newtons method\"\n", + "print \"f(5)=−ve and f(6) is +ve so a root lies between 5 and 6 \"\n", + "l = 5\n", + "m = 6\n", + "print \"Let us take x0 = 5.5 \"\n", + "print \"Root is given by rn=xn−f(xn)/der(f(xn))\"\n", + "print \"Approximated root in each steps are\"\n", + "x0 = 5.5\n", + "for i in range(1,5):\n", + " k = x0-f(x0)/derivative(f,x0)\n", + " print k\n", + " x0 = k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 24.7, page no. 641" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find square root of 28 by newtons method let x=sqrt(28) ie xˆ2−28=0 \n", + "To find the roots by newtons method\n", + "f(5)=−ve and f(6) is +ve so a root lies between 5 and 6 \n", + "Let us take x0 = 5.5 \n", + "Root is given by rn=xn−f(xn)/der(f(xn))\n", + "Approximated root in each steps are\n", + "5.29545454545\n", + "5.29150409676\n", + "5.29150262213\n", + "5.29150262213\n" + ] + } + ], + "source": [ + "from scipy.misc import derivative\n", + "\n", + "print \"To find square root of 28 by newtons method let x=sqrt(28) ie xˆ2−28=0 \"\n", + "def f(x):\n", + " y = x**2-28\n", + " return y\n", + "print \"To find the roots by newtons method\"\n", + "print \"f(5)=−ve and f(6) is +ve so a root lies between 5 and 6 \"\n", + "l = 5\n", + "m = 6\n", + "print \"Let us take x0 = 5.5 \"\n", + "print \"Root is given by rn=xn−f(xn)/der(f(xn))\"\n", + "print \"Approximated root in each steps are\"\n", + "x0 = 5.5\n", + "for i in range(1,5):\n", + " k = x0-f(x0)/derivative(f,x0)\n", + " print k\n", + " x0 = k" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter26_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter26_1.ipynb new file mode 100644 index 00000000..dcac1bac --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter26_1.ipynb @@ -0,0 +1,522 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 26 : Difference Equations And Z Transform" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.2, page no. 667" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "yn= (-2)**n*b + 2**n*a\n", + "y(n+1)=yn1= (-2.0)**n*b + 2.0**n*a\n", + "y(n+2)=yn2= (-2.0)**n*b + 2.0**n*a\n", + "Eliminating a b from these equations we get :\n", + "The required difference equation : \n", + "16*yn0 - 4*yn2\n", + "=0\n" + ] + } + ], + "source": [ + "import sympy,numpy\n", + "\n", + "n = sympy.Symbol('n')\n", + "a = sympy.Symbol('a')\n", + "b = sympy.Symbol('b')\n", + "yn0 = sympy.Symbol('yn0')\n", + "yn1 = sympy.Symbol('yn1')\n", + "yn2 = sympy.Symbol('yn2')\n", + "yn = a*2**n+b*(-2)**n\n", + "print \"yn= \",yn\n", + "n = n+1\n", + "yn = yn.evalf()\n", + "print \"y(n+1)=yn1=\",yn\n", + "n = n+1\n", + "yn = yn.evalf()\n", + "print \"y(n+2)=yn2=\",yn\n", + "print \"Eliminating a b from these equations we get :\"\n", + "A = sympy.Matrix([[yn0,1,1],[yn1,2,-2],[yn2,4,4]])\n", + "y = A.det()\n", + "print \"The required difference equation : \"\n", + "print y\n", + "print \"=0\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.3, page no. 669" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cumulative function is given by Eˆ3−2∗Eˆ2−5∗E+6=0 \n", + "[-2. 3. 1.]\n", + "Therefor the complete solution is : \n", + "un= (-2.0)**(n + 2)*c1 + 1.0**(n + 2)*c3 + 3.0**(n + 2)*c2\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "print \"Cumulative function is given by Eˆ3−2∗Eˆ2−5∗E+6=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**3-2*E**2-5*E+6\n", + "r = numpy.roots([1,-2,-5,6])\n", + "print r\n", + "print \"Therefor the complete solution is : \"\n", + "un = c1*(r[0])**n+c2*(r[1])**n+c3*(r[2])**n\n", + "print \"un=\",un" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 26.4, page no. 670" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cumulative function is given by Eˆ2−2∗E+1=0 \n", + "[ 1. 1.]\n", + "Therefor the complete solution is : \n", + "un = 1.0**n*(c1 + c2*n)\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "n = sympy.Symbol('n')\n", + "print \"Cumulative function is given by Eˆ2−2∗E+1=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2-2*E+1\n", + "r = numpy.roots([1,-2,1])\n", + "print r\n", + "print \"Therefor the complete solution is : \"\n", + "un = (c1+c2*n)*(r[0])**n\n", + "print \"un = \",un" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.6, page no. 671" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For Fibonacci Series yn2=yn1+yn0 \n", + "So Cumulative function is given by Eˆ2−E−1=0 \n", + "[ 1.61803399 -0.61803399]\n", + "Therefor the complete solution is : \n", + "un = (-0.618033988749895)**n*c2 + 1.61803398874989**n*c1\n", + "Now puttting n=1, y=0 and n=2, y=1 we get \n", + "c1=(5−sqrt(5))/10 c2=(5+sqrt(5))/10 \n", + "(-0.618033988749895)**n*c2 + 1.61803398874989**n*c1\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "n = sympy.Symbol('n')\n", + "print \"For Fibonacci Series yn2=yn1+yn0 \"\n", + "print \"So Cumulative function is given by Eˆ2−E−1=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2-E-1\n", + "r = numpy.roots([1,-1,-1])\n", + "print r\n", + "print \"Therefor the complete solution is : \"\n", + "un = (c1)*(r[0])**n+c2*(r[1])**n \n", + "print \"un = \",un\n", + "print \"Now puttting n=1, y=0 and n=2, y=1 we get \"\n", + "print \"c1=(5−sqrt(5))/10 c2=(5+sqrt(5))/10 \"\n", + "c1 =(5-math.sqrt(5))/10\n", + "c2 =(5+math.sqrt(5))/10\n", + "un = un.evalf()\n", + "print un" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.7, page no. 672" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cumulative function is given by Eˆ2−4∗E+3=0 \n", + "[ 3. 1.]\n", + "Therefor the complete solution is = cf+pi \n", + "cf = 1.0**n*c2 + 3.0**n*c1\n", + "PI=1/(Eˆ2−4E+3)[5ˆn]\n", + "put E=5\n", + "We get PI=5ˆn/8 \n", + "un = 1.0**n*c2 + 3.0**n*c1 + 5**n/8\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "n = sympy.Symbol('n')\n", + "print \"Cumulative function is given by Eˆ2−4∗E+3=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2-4*E+3\n", + "r = numpy.roots([1,-4,3])\n", + "print r\n", + "print \"Therefor the complete solution is = cf+pi \"\n", + "cf = c1*(r[0])**n+c2*r[1]**n \n", + "print \"cf = \",cf\n", + "print \"PI=1/(Eˆ2−4E+3)[5ˆn]\"\n", + "print \"put E=5\"\n", + "print \"We get PI=5ˆn/8 \"\n", + "pi = 5**n/8\n", + "un = cf+pi\n", + "print \"un = \",un" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.8, page no. 672" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cumulative function is given by Eˆ2−4∗E+4=0 \n", + "[ 2. 2.]\n", + "Therefor the complete solution is = cf+pi\n", + "cf = 2.0**n*(c1 + c2*n)\n", + "PI=1/(Eˆ2−4E+4)[2ˆn]\n", + "We get PI=n∗(n−1)/2∗2ˆ(n−2)\n", + "un = 2**(n - 2)*n*(n - 1)/2 + 2.0**n*(c1 + c2*n)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "n = sympy.Symbol('n')\n", + "print \"Cumulative function is given by Eˆ2−4∗E+4=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2-4*E+4\n", + "r = numpy.roots([1,-4,4])\n", + "print r\n", + "print \"Therefor the complete solution is = cf+pi\" \n", + "cf = (c1+c2*n)*r[0]**n\n", + "print \"cf = \",cf\n", + "print \"PI=1/(Eˆ2−4E+4)[2ˆn]\"\n", + "print \"We get PI=n∗(n−1)/2∗2ˆ(n−2)\"\n", + "pi = n*(n-1)/math.factorial(2)*2**(n-2)\n", + "un = cf+pi\n", + "print \"un = \",un" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.10, page no. 674" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cumulative function is given by Eˆ2−4=0 \n", + "[-2. 2.]\n", + "Therefor the complete solution is = cf+pi \n", + "CF = (-2.0)**n*(c1 + c2*n)\n", + " PI=1/(Eˆ2−4)[nˆ2+n−1]\n", + "We get PI=−nˆ2/3−7/9∗n−17/27 \n", + "un = (-2.0)**n*(c1 + c2*n) - n**2/3\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "n = sympy.Symbol('n')\n", + "print \"Cumulative function is given by Eˆ2−4=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2-4\n", + "r = numpy.roots([1,0,-4]) \n", + "print r\n", + "print \"Therefor the complete solution is = cf+pi \"\n", + "cf = (c1+c2*n)*r[0]**n\n", + "print \"CF = \",cf\n", + "print \" PI=1/(Eˆ2−4)[nˆ2+n−1]\"\n", + "print \"We get PI=−nˆ2/3−7/9∗n−17/27 \"\n", + "pi = -n**2/3-7/9*n-17/27\n", + "un = cf+pi \n", + "print \"un = \",un" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.11,page no. 674" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cumulative function is given by Eˆ2−2∗E+1=0 \n", + "[-2.41421356 0.41421356]\n", + "Therefor the complete solution is = cf+pi\n", + "CF = (-2.41421356237309)**n*(c1 + c2*n)\n", + "PI=1/(E−1)ˆ2[nˆ2∗2ˆn]\n", + "We get PI=2ˆn∗(nˆ2−8∗n+20)\n", + "un = (-2.41421356237309)**n*(c1 + c2*n) + 2**n*(n**2 - 8*n + 20)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "n = sympy.Symbol('n')\n", + "print \"Cumulative function is given by Eˆ2−2∗E+1=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2+2*E-1\n", + "r = numpy.roots([1,2,-1])\n", + "print r\n", + "print \"Therefor the complete solution is = cf+pi\"\n", + "cf = (c1+c2*n)*r[0]**n\n", + "print \"CF = \",cf\n", + "print \"PI=1/(E−1)ˆ2[nˆ2∗2ˆn]\"\n", + "print \"We get PI=2ˆn∗(nˆ2−8∗n+20)\"\n", + "pi = 2**n*(n**2-8*n+20)\n", + "un = cf+pi\n", + "print \"un = \",un" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.12, page no. 676" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Simplified equations are : \n", + "(E−3) ux+vx=x..... (i) 3ux+(E−5)∗vx=4ˆx......(ii)\n", + "Simplifying we get (Eˆ2−8E+12) ux=1−4x−4ˆx \n", + "Cumulative function is given by Eˆ2−8∗E+12=0 \n", + "[ 6. 2.]\n", + "Therefor the complete solution is = cf+pi\n", + "CF = 2.0**x*c2 + 6.0**x*c1\n", + "Solving for PI \n", + "We get PI= \n", + "ux = 2.0**x*c2 + 4**x/4 + 6.0**x*c1 - x\n", + "Putting in (i) we get vx= \n", + "2**x*c1 - 4**x/4 - 3*6**x*c2 - 1\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "print \"Simplified equations are : \"\n", + "print \"(E−3) ux+vx=x..... (i) 3ux+(E−5)∗vx=4ˆx......(ii)\"\n", + "print \"Simplifying we get (Eˆ2−8E+12) ux=1−4x−4ˆx \"\n", + "c1 = sympy.Symbol('c1')\n", + "c2 = sympy.Symbol('c2')\n", + "c3 = sympy.Symbol('c3')\n", + "x = sympy.Symbol('x')\n", + "print \"Cumulative function is given by Eˆ2−8∗E+12=0 \"\n", + "E = numpy.poly([0])\n", + "f = E**2-8*E+12\n", + "r = numpy.roots([1,-8,12])\n", + "print r\n", + "print \"Therefor the complete solution is = cf+pi\"\n", + "cf = c1*r[0]**x+c2*r[1]**x\n", + "print \"CF = \",cf\n", + "print \"Solving for PI \"\n", + "print \"We get PI= \"\n", + "pi = -4/5*x-19/25+4**x/4\n", + "ux = cf+pi \n", + "print \"ux = \",ux\n", + "print \"Putting in (i) we get vx= \"\n", + "vx = c1*2**x-3*c2*6**x-3/5*x-34/25-4**x/4\n", + "print vx" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 26.16, page no. 682" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "u2 = 2\n", + "u3 = 13\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "z = sympy.Symbol('z')\n", + "f = (2/z**2+5/z+14)/(1/z-1)**4\n", + "u0 = sympy.limit(f,z,0)\n", + "u1 = sympy.limit(1/z*(f- u0),z,0)\n", + "u2 = sympy.limit(1/z**2*(f-u0-u1*z),z,0)\n", + "print \"u2 = \",u2\n", + "u3 = sympy.limit(1/z**3*(f-u0-u1*z-u2*z**2),z,0)\n", + "print \"u3 = \",u3" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter27_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter27_1.ipynb new file mode 100644 index 00000000..6b7c3c32 --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter27_1.ipynb @@ -0,0 +1,1084 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 27 : Numerical Solution Of Ordinary Differential Equations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.1, page no. 686" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution through picards method \n", + "The no of iterations required3\n", + "y(0)=1 and y(x)=x+y \n", + "Y = x**4/24 + x**3/3 + x**2 + x + 1\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "print \"Solution through picards method \"\n", + "n = int(raw_input(\"The no of iterations required\")) \n", + "print \"y(0)=1 and y(x)=x+y \"\n", + "yo = 1\n", + "yn = 1\n", + "for i in range(1,n+1):\n", + " yn = yo+sympy.integrate(yn+x,(x,0,x))\n", + "print \"Y = \",yn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.2, page no. 687" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution through picards method \n", + "The no of iterations required : 2\n", + "y(0)=1 and y(x)=x+y \n", + "Y = -Integral(2*x/(2*log(x + 1) + 1), x) + Integral(2*x/(2*log(x + 1) + 1), (x, 0)) - Integral(-2*log(x + 1)/(2*log(x + 1) + 1), x) + Integral(-2*log(x + 1)/(2*log(x + 1) + 1), (x, 0)) - Integral(-1/(2*log(x + 1) + 1), x) + Integral(-1/(2*log(x + 1) + 1), (x, 0)) + 1.0\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "print \"Solution through picards method \"\n", + "n = int(raw_input(\"The no of iterations required : \")) \n", + "print \"y(0)=1 and y(x)=x+y \"\n", + "yo = 1\n", + "y = 1\n", + "for i in range(1,n+1):\n", + " f = (y-x)/(y+x) \n", + " y = yo+sympy.integrate(f,(x,0,x))\n", + "x = 0.1\n", + "print \"Y = \",y.evalf()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.5, page no. 690" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution using Eulers Method \n", + "0.3\n", + "1.362\n", + "Input the number of iteration :− 4\n", + "The value of y is :− 1.5282\n" + ] + } + ], + "source": [ + "print \"Solution using Eulers Method \"\n", + "print x\n", + "print y\n", + "n = int(raw_input(\"Input the number of iteration :− \"))\n", + "x = 0\n", + "y = 1\n", + "for i in range(1,n+1):\n", + " y1 = x+y\n", + " y = y+0.1*y1\n", + " x = x+0.1\n", + "print \"The value of y is :− \",y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.6, page no. 691" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution using Eulers Method \n", + "0.4\n", + "1.5282\n", + "Input the number of iteration :− 2\n", + "1.02\n", + "1.03642857143\n", + "The value of y is :− 1.03642857143\n" + ] + } + ], + "source": [ + "print \"Solution using Eulers Method \"\n", + "print x\n", + "print y\n", + "n = int(raw_input(\"Input the number of iteration :− \"))\n", + "x = 0\n", + "y = 1\n", + "for i in range(1,n+1):\n", + " y1 = (y-x)/(y+x)\n", + " y = y+0.02*y1\n", + " x = x+0.1\n", + " print y\n", + "print \"The value of y is :− \",y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.7, page no. 692" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution using Eulers Method \n", + "0.2\n", + "1.03642857143\n", + "Input the number of iteration :− 3\n", + "1.1\n", + "1.11\n", + "1.1105\n", + "1.110525\n", + "−−−−−−−−−−−−−−−−−−−−−−− \n", + "1.2315775\n", + "1.2315775\n", + "1.242630125\n", + "1.24318275625\n", + "1.24321038781\n", + "−−−−−−−−−−−−−−−−−−−−−−− \n", + "1.38753142659\n", + "1.38753142659\n", + "1.39974747853\n", + "1.40035828113\n", + "1.40038882126\n", + "−−−−−−−−−−−−−−−−−−−−−−− \n", + "1.57042770339\n", + "The value of y is :− 1.40038882126\n" + ] + } + ], + "source": [ + "print \"Solution using Eulers Method \"\n", + "print x\n", + "print y\n", + "n = int(raw_input(\"Input the number of iteration :− \"))\n", + "x = 0.1\n", + "m = 1\n", + "y = 1\n", + "yn = 1\n", + "y1 = 1\n", + "k = 1\n", + "for i in range(1,n+1):\n", + " yn = y \n", + " for i in range(1,5):\n", + " m = (k+y1)/2\n", + " yn = y+0.1*m\n", + " y1 = (yn+x)\n", + " print yn\n", + " print \"−−−−−−−−−−−−−−−−−−−−−−− \"\n", + " y = yn \n", + " m = y1\n", + " yn = yn+0.1*m \n", + " print yn\n", + " x = x+0.1\n", + " yn = y \n", + " k = m\n", + "print \"The value of y is :− \",y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.8, page no. 694" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution using Eulers Method \n", + "0.2\n", + "2\n", + "Input the number of iteration :− 3\n", + "2.06020299957\n", + "2.06551474469\n", + "2.06561668931\n", + "2.06561864352\n", + "−−−−−−−−−−−−−−−−−−−−−−−\n", + "2.13665600548\n", + "2.13665600548\n", + "2.14156348217\n", + "2.14164742068\n", + "2.14164885497\n", + "−−−−−−−−−−−−−−−−−−−−−−−\n", + "2.22267196493\n", + "2.22267196493\n", + "2.22722645093\n", + "2.22729646948\n", + "2.22729754504\n", + "−−−−−−−−−−−−−−−−−−−−−−−\n", + "2.31757184825\n", + "The value of y is :− 2.22729754504\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"Solution using Eulers Method \"\n", + "print x\n", + "print y\n", + "n = int(raw_input(\"Input the number of iteration :− \"))\n", + "x = 0.2\n", + "m = 0.301\n", + "y = 2\n", + "yn = 2\n", + "y1 = math.log10(2)\n", + "k = 0.301\n", + "for i in range(1,n+1):\n", + " yn = y\n", + " for i in range(1,5):\n", + " m = (k+y1)/2\n", + " yn = y+0.2*m\n", + " y1 = math.log10(yn+x)\n", + " print yn\n", + " print \"−−−−−−−−−−−−−−−−−−−−−−−\"\n", + " y = yn\n", + " m = y1\n", + " yn = yn+0.2*m \n", + " print yn\n", + " x = x+0.2\n", + " yn = y\n", + " k = m\n", + "print \"The value of y is :− \",y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.9, page no. 696" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution using Eulers Method \n", + "0.8\n", + "2.22729754504\n", + "Input the number of iteration :− 2\n", + "1.2\n", + "1.2295445115\n", + "1.23088482816\n", + "1.23094524903\n", + "−−−−−−−−−−−−−−−−−−−−−−− \n", + "1.49284119302\n", + "1.49284119302\n", + "1.52407510156\n", + "1.52534665765\n", + "1.52539814634\n", + "−−−−−−−−−−−−−−−−−−−−−−− \n", + "1.85241216588\n", + "The value of y is :− 1.52539814634\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"Solution using Eulers Method \"\n", + "print x\n", + "print y\n", + "n = int(raw_input(\"Input the number of iteration :− \"))\n", + "x = 0.2 \n", + "m = 1\n", + "y = 1\n", + "yn = 1\n", + "y1 = 1\n", + "k = 1\n", + "for i in range(1,n+1):\n", + " yn = y\n", + " for i in range(1,5):\n", + " m = (k+y1)/2\n", + " yn = y+0.2*m \n", + " y1 = math.sqrt(yn)+x\n", + " print yn\n", + " print \"−−−−−−−−−−−−−−−−−−−−−−− \"\n", + " y = yn\n", + " m = y1\n", + " yn = yn+0.2*m\n", + " print yn\n", + " x = x+0.2\n", + " yn = y\n", + " k = m\n", + "print \"The value of y is :− \",y" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 27.10, page no. 697" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Runges method\n", + "The required approximate value is :− \n", + "1.0\n" + ] + } + ], + "source": [ + "print \"Runges method\"\n", + "def f(x,y):\n", + " y = x+y\n", + " return y\n", + "x = 0\n", + "y = 1\n", + "h = 0.2\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "kk = h*f(x+h,y+k1)\n", + "k3 = h*f(x+h,y+kk)\n", + "k = 1/6*(k1+4*k2+k3)\n", + "print \"The required approximate value is :− \"\n", + "y = y+k\n", + "print y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.11, page no. 697" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Runges method\n", + "The required approximate value is :− \n", + "1.0\n" + ] + } + ], + "source": [ + "print \"Runges method\"\n", + "def f(x,y):\n", + " y = x+y\n", + " return y\n", + "x = 0\n", + "y = 1\n", + "h = 0.2\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "k = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y = y+k\n", + "print y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.12, page no. 698" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Runga kutta method\n", + "The required approximate value is :− \n", + "1.0\n", + "To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \n", + "The required approximate value is :− \n", + "1.0\n" + ] + } + ], + "source": [ + "print \"Runga kutta method\"\n", + "def f(x,y):\n", + " y = (y**2-x**2)/(x**2+y**2)\n", + " return y\n", + "x = 0\n", + "y = 1\n", + "h = 0.2\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "k = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y = y+k\n", + "print y\n", + "print \"To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \"\n", + "x = 0.2\n", + "h = 0.2\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "k = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y = y+k\n", + "print y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.13, page no. 699" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Runga kutta method\n", + "The required approximate value is :− \n", + "1.0\n", + "To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \n", + "The required approximate value is :− \n", + "1.0\n" + ] + } + ], + "source": [ + "print \"Runga kutta method\"\n", + "def f(x,y):\n", + " yy = x+y**2\n", + " return yy\n", + "x = 0\n", + "y = 1\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2) \n", + "k4 = h*f(x+h,y+k3)\n", + "k = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y = y+k\n", + "print y\n", + "print \"To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \"\n", + "x = 0.1\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "k = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y = y+k\n", + "print y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.14, page no. 700" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y1= x**2/2\n", + "y2= -x**5/20 + x**2/2\n", + "y3= -x**5/20 + x**2/2\n", + "Determining the initial values for milnes method using y3 \n", + "x=0.0 y0=0.0 f0=0 \n", + "x=0.2 y1= x**2/2\n", + "f1= -x**4/4 + 0.2\n", + "x=0.4 y2= -x**5/20 + x**2/2\n", + "f2= -(-x**5/20 + x**2/2)**2 + 0.4\n", + "x=0.6 y3= -x**5/20 + x**2/2\n", + "f3= -(-x**5/20 + x**2/2)**2 + 0.6\n", + "Using predictor method to find y4\n", + "y4= -0.1*x**4 - 0.2*(-x**5/20 + x**2/2)**2 + 0.24\n", + "f4= -(-x**5/20 + x**2/2)**2 + 0.8\n", + "Using predictor method to find y5 \n", + "[-1.53353211362738, 2.59188514369719, -1.51825864909117 - 1.96576535664013*I, -1.51825864909117 + 1.96576535664013*I, -0.611593620665791 - 2.14551655586226*I, -0.611593620665791 + 2.14551655586226*I, 0.00495892544779777 - 0.780181689871346*I, 0.00495892544779777 + 0.780181689871346*I, 1.59571682927425 - 0.8271211188914*I, 1.59571682927425 + 0.8271211188914*I]\n", + "f5 = [-1.28459666867223, 2.38248090853886, -1.33416685318757 - 1.68618279990398*I, -1.33416685318757 + 1.68618279990398*I, -1.00716479884721 - 2.10036734766602*I, -1.00716479884721 + 2.10036734766602*I, 0.142926398918135 - 1.33989714259572*I, 0.142926398918135 + 1.33989714259572*I, 1.64946313318333 - 0.385565643189579*I, 1.64946313318333 + 0.385565643189579*I]\n", + "Hence y(1)= [-1.53353211362738, 2.59188514369719, -1.51825864909117 - 1.96576535664013*I, -1.51825864909117 + 1.96576535664013*I, -0.611593620665791 - 2.14551655586226*I, -0.611593620665791 + 2.14551655586226*I, 0.00495892544779777 - 0.780181689871346*I, 0.00495892544779777 + 0.780181689871346*I, 1.59571682927425 - 0.8271211188914*I, 1.59571682927425 + 0.8271211188914*I]\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "x = sympy.Symbol('x')\n", + "yo = 0\n", + "y = 0\n", + "h = 0.2\n", + "f = x-y**2\n", + "y = sympy.integrate(f,(x,0,x))\n", + "y1 = yo+y\n", + "print \"y1= \",y1\n", + "f = x-y**2\n", + "y = sympy.integrate(f,(x,0,x))\n", + "y2 = yo+y\n", + "print \"y2= \",y2\n", + "y = x-y**2\n", + "y = sympy.integrate(f,(x,0,x))\n", + "y3 = yo+y\n", + "print \"y3= \",y3\n", + "print \"Determining the initial values for milnes method using y3 \"\n", + "print \"x=0.0 y0=0.0 f0=0 \"\n", + "print \"x=0.2 y1= \",\n", + "x = 0.2\n", + "print y1\n", + "#y1 = sympy.solve(y1)\n", + "print \"f1=\",\n", + "f1 = x-y1**2\n", + "print f1\n", + "print \"x=0.4 y2= \",\n", + "x = 0.4\n", + "print y2\n", + "print \"f2= \",\n", + "f2 = x-y2**2\n", + "print f2\n", + "print \"x=0.6 y3= \",\n", + "x = 0.6\n", + "print y3\n", + "print \"f3=\",\n", + "f3 = x-y3**2\n", + "print f3\n", + "print \"Using predictor method to find y4\"\n", + "x = 0.8\n", + "y4 = yo+4/3*h*(2*f1-f2+2*f3)\n", + "print \"y4=\",y4\n", + "f4 = x-y**2\n", + "print \"f4= \",f4\n", + "print \"Using predictor method to find y5 \"\n", + "x = 1.0\n", + "y5 = sympy.solve(y1+4/3*h*(2*f2-f3+2*f4))\n", + "print y5\n", + "f5 = sympy.solve(x-y**2)\n", + "print \"f5 =\",f5\n", + "print \"Hence y(1)= \",y5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.15, page no. 704" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Runga kutta method\n", + "The required approximate value is :− \n", + "1.0\n", + "To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \n", + "The required approximate value is :− \n", + "1.0\n", + "To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \n", + "The required approximate value is :− \n", + "1.0\n", + "y0 y1 y2 y3 are respectively: \n", + "1.0 1.0 1.0 1\n", + "f0 f1 f2 f3 are respectively: \n", + "1.3 1.2 1.1 1\n", + "finding y4 using predictors milne method x=0.4\n", + "y4 = 1.48\n", + "f4 = 2.7824\n", + "Using corrector method : \n", + "y4 = -0.0333333333333333*(-x**5/20 + x**2/2)**2 + 1.24\n", + "f4 = -0.0133333333333333*(-x**5/20 + x**2/2)**2 + (-0.0333333333333333*(-x**5/20 + x**2/2)**2 + 1.24)**2 + 0.496\n" + ] + } + ], + "source": [ + "print \"Runga kutta method\"\n", + "def f(x,y):\n", + " yy = x*y+y**2\n", + " return yy\n", + "y0 = 1\n", + "x = 0\n", + "y = 1\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "ka = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y1 = y+ka \n", + "y = y+ka \n", + "print y\n", + "print \"To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \"\n", + "x = 0.1\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "kb = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y2 = y+kb \n", + "y = y+kb\n", + "print y\n", + "print \"To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \"\n", + "x = 0.2\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "kc = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y3 = y+kc\n", + "y = y+kc \n", + "print y\n", + "f0 = f(0,y0)\n", + "f1 = f(0.1,y1)\n", + "f2 = f(0.2,y2)\n", + "f3 = f(0.3,y3)\n", + "print \"y0 y1 y2 y3 are respectively: \"\n", + "print y3,y2,y1,y0\n", + "print \"f0 f1 f2 f3 are respectively: \"\n", + "print f3,f2,f1,f0\n", + "print \"finding y4 using predictors milne method x=0.4\"\n", + "h = 0.1\n", + "y4 = y0+4*h/3*(2*f1-f2+2*f3)\n", + "print \"y4 = \",y4\n", + "print \"f4 = \",f(0.4,y4)\n", + "print \"Using corrector method : \"\n", + "y4 = y2+h/3*(f2+4*f3+f4) \n", + "print \"y4 = \",y4\n", + "print \"f4 = \",f(0.4,y4) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.16, page no. 705" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using predictor method \n", + "y11 = 2.57229741667\n", + "Using corrector method \n", + "y11 = 2.57494727679\n", + "f11 = 7.00689666251\n" + ] + } + ], + "source": [ + "def f(x,y):\n", + " yy = x**2*(1+y)\n", + " return yy\n", + "y3 = 1\n", + "y2 = 1.233\n", + "y1 = 1.548\n", + "y0 = 1.979\n", + "f3 = f(1,y3)\n", + "f2 = f(1.1,y2)\n", + "f1 = f(1.2,y1)\n", + "f0 = f(1.3,y0)\n", + "print \"Using predictor method \"\n", + "h = 0.1\n", + "y11 = y0+h/24*(55*f0-59*f1+37*f2-9*f3)\n", + "print \"y11 = \",y11\n", + "x = 1.4\n", + "f11 = f(1.4,y11)\n", + "print \"Using corrector method \"\n", + "y11 = y0+h/24*(9*f11+19*f0-5*f1+f2)\n", + "print \"y11 = \",y11\n", + "f11 = f(1.4,y11)\n", + "print \"f11 = \",f11" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.17, page no. 706" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Runga kutta method\n", + "The required approximate value is :− \n", + "1.0\n", + "To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \n", + "The required approximate value is :− \n", + "1.0\n", + "To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \n", + "The required approximate value is :− \n", + "1.0\n", + "y0 y1 y2 y3 are respectively :\n", + "1.0 1.0 1.0 1\n", + "f0 f1 f2 f3 are respectively :\n", + "-0.7 -0.8 -0.9 -1\n", + "Using adams method \n", + "Using the predictor\n", + "y4 = 0.935\n", + "Using corrector method \n", + "y4 = 0.9397165625\n", + "f4 = -0.483067217837\n" + ] + } + ], + "source": [ + "print \"Runga kutta method\"\n", + "def f(x,y):\n", + " yy = x-y**2\n", + " return yy\n", + "y0 = 1\n", + "x = 0\n", + "y = 1\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "ka = 1/6*(k1+2*k2+2*k3+k4) \n", + "print \"The required approximate value is :− \"\n", + "y1 = y+ka\n", + "y = y+ka\n", + "print y\n", + "print \"To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \"\n", + "x = 0.1\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "kb = 1/6*(k1+2*k2+2*k3+k4)\n", + "print \"The required approximate value is :− \"\n", + "y2 = y+kb\n", + "y = y+kb\n", + "print y\n", + "print \"To find y(0.4) put x=0.2 y=above value ie 1.196 h=0.2 \"\n", + "x = 0.2\n", + "h = 0.1\n", + "k1 = h*f(x,y)\n", + "k2 = h*f(x+1/2*h,y+1/2*k1)\n", + "k3 = h*f(x+1/2*h,y+1/2*k2)\n", + "k4 = h*f(x+h,y+k3)\n", + "kc = 1/6*(k1+2*k2+2*k3+k4) \n", + "print \"The required approximate value is :− \"\n", + "y3 = y+kc\n", + "y = y+kc\n", + "print y\n", + "f0 = f(0,y0)\n", + "f1 = f(0.1,y1)\n", + "f2 = f(0.2,y2)\n", + "f3 = f(0.3,y3) \n", + "print \"y0 y1 y2 y3 are respectively :\"\n", + "print y3,y2,y1,y0\n", + "print \"f0 f1 f2 f3 are respectively :\"\n", + "print f3,f2,f1,f0\n", + "print \"Using adams method \"\n", + "print \"Using the predictor\"\n", + "h = 0.1\n", + "y4 = y3+h/24*(55*f3-59*f2+37*f1-9*f0)\n", + "x = 0.4\n", + "f4 = f(0.4,y4)\n", + "print \"y4 = \",y4\n", + "print \"Using corrector method \"\n", + "y4 = y3+h/24*(9*f4+19*f3-5*f2+f1) \n", + "print \"y4 = \",y4\n", + "f4 = f(0.4,y4)\n", + "print \"f4 = \",f4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.18, page no. 708" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Picards method\n", + "First approximation\n", + "y1 = x**2/2 + x + 2\n", + "z1 = x**2/2 - 4*x + 1\n", + "Second approximation\n", + "y2 = x**3/6 - 3*x**2/2 + x + 2\n", + "z2 = -x**5/20 - x**4/4 - x**3 - 3*x**2/2 - 4*x + 1\n", + "Third approximation\n", + "y3 = -x**6/120 - x**5/20 - x**4/4 - x**3/2 - 3*x**2/2 + x + 2\n", + "z3 = -x**7/252 + x**6/12 - 31*x**5/60 + 7*x**4/12 + 5*x**3/3 - 3*x**2/2 - 4*x + 1\n", + "y(0.1) = -0.00833333333333333*x**6 - 0.05*x**5 - 0.25*x**4 - 0.5*x**3 - 1.5*x**2 + x + 2.0\n", + "z(0.1) = -0.00396825396825397*x**7 + 0.0833333333333333*x**6 - 0.516666666666667*x**5 + 0.583333333333333*x**4 + 1.66666666666667*x**3 - 1.5*x**2 - 4.0*x + 1.0\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print \"Picards method\"\n", + "x0 = 0\n", + "y0 = 2\n", + "z0 = 1\n", + "x = sympy.Symbol('x')\n", + "def f(x,y,z):\n", + " yy = x+z\n", + " return yy\n", + "def g(x,y,z):\n", + " yy = x-y**2\n", + " return yy\n", + "print \"First approximation\"\n", + "y1 = y0+sympy.integrate(f(x,y0,z0),(x,x0,x))\n", + "print \"y1 = \",y1\n", + "z1 = z0+sympy.integrate(g(x,y0,z0),(x,x0,x))\n", + "print \"z1 = \",z1\n", + "print \"Second approximation\"\n", + "y2 = y0+sympy.integrate(f(x,y1,z1),(x,x0,x))\n", + "print \"y2 = \",y2\n", + "z2 = z0+sympy.integrate(g(x,y1,z1),(x,x0,x))\n", + "print \"z2 = \",z2\n", + "print \"Third approximation\"\n", + "y3 = y0+sympy.integrate(f(x,y2,z2),(x,x0,x))\n", + "print \"y3 = \",y3\n", + "z3 = z0+sympy.integrate(g(x,y2,z2),(x,x0,x))\n", + "print \"z3 = \",z3\n", + "x = 0.1\n", + "print \"y(0.1) = \",y3.evalf()\n", + "print \"z(0.1) = \",z3.evalf()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 27.19, page no. 710" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using k1 k2.. for f and l1 l2... for g runga kutta formula becomes \n", + "y = 1.0\n", + "y1 = 0.0\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "x = sympy.Symbol('x')\n", + "def f(x,y,z):\n", + " yy = z \n", + " return yy\n", + "def g(x,y,z):\n", + " yy = x*y**2-y**2\n", + " return yy\n", + "x0 = 0\n", + "y0 = 1\n", + "z0 = 0\n", + "h = 0.2\n", + "print \"Using k1 k2.. for f and l1 l2... for g runga kutta formula becomes \"\n", + "h = 0.2\n", + "k1 = h*f(x0,y0,z0)\n", + "l1 = h*g(x0,y0,z0)\n", + "k2 = h*f(x0+1/2*h,y0+1/2*k1,z0+1/2*l1)\n", + "l2 = h*g(x0+1/2*h,y0+1/2*k1,z0+1/2*l1)\n", + "k3 = h*f(x0+1/2*h,y0+1/2*k2,z0+1/2*l2)\n", + "l3 = h*g(x0+1/2*h,y0+1/2*k2,z0+1/2*l2)\n", + "k4 = h*f(x0+h,y0+k3,z0+l3)\n", + "l4 = h*g(x0+h,y0+k3,z0+l3)\n", + "k = 1/6*(k1+2*k2+2*k3+k4)\n", + "l = 1/6*(l1+2*l2+2*l3+2*l4)\n", + "x = 0.2\n", + "y = y0+k\n", + "y1 = z0+l\n", + "print \"y = \",y\n", + "print \"y1 = \",y1" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11+" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter28_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter28_1.ipynb new file mode 100644 index 00000000..69d141e8 --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter28_1.ipynb @@ -0,0 +1,437 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 28: Numerical Solution Of Partial Differential Equations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.1, page no. 725" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "D=Bˆ2−4AC\n", + "if D<0 then elliptic if D=0 then parabolic if D>0 then hyperboic\n", + "(i) A=xˆ2, B1−yˆ2 D=4ˆ2−4∗1∗4=0 so the equation is PARABOLIC \n", + "(ii) D=4xˆ2(yˆ2−1)\n", + "for −inf0\n", + "So the equation is HYPERBOLIC \n" + ] + } + ], + "source": [ + "print \"D=Bˆ2−4AC\"\n", + "print \"if D<0 then elliptic if D=0 then parabolic if D>0 then hyperboic\"\n", + "print \"(i) A=xˆ2, B1−yˆ2 D=4ˆ2−4∗1∗4=0 so the equation is PARABOLIC \"\n", + "print \"(ii) D=4xˆ2(yˆ2−1)\"\n", + "print \"for −inf0\"\n", + "print \"So the equation is HYPERBOLIC \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.2, page no. 726" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "See figure in question\n", + "From symmetry u7=u1, u8=u2, u9=u3, u3=u1, u6=u4, u9=u7\n", + "u5=1/4∗(2000+2000+1000+1000)=1500\n", + "u1=1/4(0=1500+1000+2000)=1125\n", + "u2=1/4∗(1125+1125+1000+1500)=1188\n", + "u4=1/4(2000+1500+1125+1125)=1438\n", + "1125 1188 1438 1500\n", + "Iterations :\n", + "\n", + "1301 1414 1164 1031\n", + "\n", + "1250 1337 1087 1019\n", + "\n", + "1199 1312 1062 981\n", + "\n", + "1174 1287 1037 968\n", + "\n", + "1155 1274 1024 956\n", + "\n", + "1144 1265 1015 949\n" + ] + } + ], + "source": [ + "print \"See figure in question\"\n", + "print \"From symmetry u7=u1, u8=u2, u9=u3, u3=u1, u6=u4, u9=u7\"\n", + "print \"u5=1/4∗(2000+2000+1000+1000)=1500\"\n", + "u5 = 1500\n", + "print \"u1=1/4(0=1500+1000+2000)=1125\"\n", + "u1 = 1125\n", + "print \"u2=1/4∗(1125+1125+1000+1500)=1188\"\n", + "u2 = 1188\n", + "print \"u4=1/4(2000+1500+1125+1125)=1438\"\n", + "u4 = 1438\n", + "print u1,u2,u4,u5 \n", + "print \"Iterations :\"\n", + "for i in range(1,7):\n", + " u11 = (1000+u2+500+u4)/4\n", + " u22 = (u11+u1+1000+u5)/4 \n", + " u44 = (2000+u5+u11+u1)/4\n", + " u55 = (u44+u4+u22+u2)/4\n", + " print \"\"\n", + " print u55,u44,u22,u11\n", + " u1 = u11 \n", + " u2 = u22 \n", + " u4 = u44 \n", + " u5 = u55" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.3, page no. 727" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "See figure in question\n", + "To find the initial values of u1 u2 u3 u4 we assume u4=0 \n", + "u1=1/4∗(1000+0+1000+2000)=1000\n", + "u2=1/4(1000+500+1000+500)=625 \n", + "u3=1/4∗(2000+0+1000+500)=875\n", + "u4=1/4(875+0+625+0)=375\n", + "1000 625 875 375\n", + "Iterations:\n", + "\n", + "437 1000 750 1125\n", + "\n", + "453 1031 781 1187\n", + "\n", + "457 1039 789 1203\n", + "\n", + "458 1041 791 1207\n", + "\n", + "458 1041 791 1208\n", + "\n", + "458 1041 791 1208\n" + ] + } + ], + "source": [ + "print \"See figure in question\"\n", + "print \"To find the initial values of u1 u2 u3 u4 we assume u4=0 \"\n", + "print \"u1=1/4∗(1000+0+1000+2000)=1000\"\n", + "u1 = 1000\n", + "print \"u2=1/4(1000+500+1000+500)=625 \"\n", + "u2 = 625\n", + "print \"u3=1/4∗(2000+0+1000+500)=875\"\n", + "u3 = 875\n", + "print \"u4=1/4(875+0+625+0)=375\"\n", + "u4 = 375\n", + "print u1,u2,u3,u4 \n", + "print \"Iterations:\"\n", + "for i in range(1,7):\n", + " u11 = (2000+u2+1000+u3)/4 \n", + " u22 = (u11+500+1000+u4)/4\n", + " u33 = (2000+u4+u11+500)/4\n", + " u44 = (u33+0+u22+0)/4\n", + " print \"\"\n", + " print u44,u33,u22,u11\n", + " u1 = u11 \n", + " u2 = u22 \n", + " u4 = u44 \n", + " u3 = u33" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.5, page no. 729" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here cˆ2=4, h=1, k=1/8, therefore alpha=(cˆ2)∗k/(hˆ2)\n", + "Using bendre−schmidits recurrence relation ie u(i)(j +1)=t∗u(i−1)(j)+t∗u(i+1)(j)+(1−2t)∗u(i,j)\n", + "Now since u(0,t)=0=u(8,t) therefore u(0,i)=0 and u(8,j)=0 and u(x,0)=4x−1/2xˆ2 \n", + "0.0\n", + "-4.0\n", + "0.0\n", + "4.0\n", + "8.0\n", + "12.0\n", + "16.0\n" + ] + } + ], + "source": [ + "import numpy\n", + "print \"Here cˆ2=4, h=1, k=1/8, therefore alpha=(cˆ2)∗k/(hˆ2)\"\n", + "print \"Using bendre−schmidits recurrence relation ie u(i)(j +1)=t∗u(i−1)(j)+t∗u(i+1)(j)+(1−2t)∗u(i,j)\"\n", + "print \"Now since u(0,t)=0=u(8,t) therefore u(0,i)=0 and u(8,j)=0 and u(x,0)=4x−1/2xˆ2 \"\n", + "c = 2\n", + "h = 1\n", + "k = 1/8\n", + "t = (c**2)*k/(h**2)\n", + "A = numpy.ones((9,9))\n", + "for i in range(0,9):\n", + " for j in range (0,9):\n", + " A[0,i] = 0\n", + " A[8,i] = 0\n", + " A[i,0] = 4*(i-1)-1/2*(i-1)**2\n", + "for i in range(1,8):\n", + " for j in range(1,7):\n", + " A[i,j] = t*A[i-1,j-1]+t*A[i+1,j-1]+(1-2*t)*A[i-1,j-1]\n", + "for i in range(1,8):\n", + " j = 2\n", + " print A[i,j]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.6, page no. 730" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here cˆ2=1, h=1/3, k=1/36, therefore t=(cˆ2)∗k/(hˆ2)=1/4 \n", + "So bendre−schmidits recurrence relation ie u(i)(j+1)=1/4(u(i−1)(j)+u(i+1)(j)+2u(i,j)\n", + "Now since u(0,t)=0=u(1,t) therefore u(0,i)=0 and u(1,j)=0 and u(x,0)=sin(%pi)x\n", + "-0.433012701892\n", + "0.216506350946\n", + "0.649519052838\n", + "0.433012701892\n", + "-0.216506350946\n", + "-0.649519052838\n", + "-0.433012701892\n" + ] + } + ], + "source": [ + "import numpy,math\n", + "\n", + "print \"Here cˆ2=1, h=1/3, k=1/36, therefore t=(cˆ2)∗k/(hˆ2)=1/4 \"\n", + "print \"So bendre−schmidits recurrence relation ie u(i)(j+1)=1/4(u(i−1)(j)+u(i+1)(j)+2u(i,j)\"\n", + "print \"Now since u(0,t)=0=u(1,t) therefore u(0,i)=0 and u(1,j)=0 and u(x,0)=sin(%pi)x\"\n", + "c = 1.\n", + "h = 1./3\n", + "k = 1./36\n", + "t = (c**2)*k/(h**2)\n", + "A = numpy.ones((9,9))\n", + "for i in range(0,9):\n", + " for j in range(0,9):\n", + " A[0,i] = 0\n", + " A[1,i] = 0\n", + " A[i,0] = math.sin(math.pi/3*(i-1)) \n", + "for i in range(1,8):\n", + " for j in range(1,8):\n", + " A[i,j] = t*A[i-1,j-1]+t*A[i+1,j-1]+(1-2*t)*A[i-1,j-1]\n", + "for i in range(1,8):\n", + " j = 1\n", + " print A[i,j]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.7, page no. 732" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here cˆ2=16, taking h=1, finding k such that cˆ2tˆ2=1 \n", + "So bendre−schmidits recurrence relation ie u(i)(j+1)=(16tˆ2(u(i−1)(j)+u(i+1)(j))+2(1−16∗tˆ2u(i,j)−u(i)(j−1)\n", + "Now since u(0,t)=0=u(5,t) therefore u(0,i)=0 and u(5,j)=0 and u(x,0)=xˆ2(5−x)\n", + "Also from 1st derivative (u(i)(j+1)−u(i,j−1))/2k=g(x) and g(x)=0 in this case\n", + "So if j=0 this gives u(i)(1)=1/2∗(u(i−1)(0)+u(i+1)(0))\n", + " 0.0 0.0 0.0 0.0 0.0 \n", + " 0.0 4.0 8.0 12.0 16.0 \n", + " 0.0 12.0 24.0 36.0 48.0 \n", + " 0.0 18.0 36.0 54.0 72.0 \n", + " 0.0 16.0 0.0 0.0 0.0 \n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"Here cˆ2=16, taking h=1, finding k such that cˆ2tˆ2=1 \"\n", + "print \"So bendre−schmidits recurrence relation ie u(i)(j+1)=(16tˆ2(u(i−1)(j)+u(i+1)(j))+2(1−16∗tˆ2u(i,j)−u(i)(j−1)\"\n", + "print \"Now since u(0,t)=0=u(5,t) therefore u(0,i)=0 and u(5,j)=0 and u(x,0)=xˆ2(5−x)\"\n", + "c = 4\n", + "h =1 \n", + "k = (h/c)\n", + "t = k/h\n", + "A = numpy.zeros((6,6))\n", + "print \"Also from 1st derivative (u(i)(j+1)−u(i,j−1))/2k=g(x) and g(x)=0 in this case\"\n", + "print \"So if j=0 this gives u(i)(1)=1/2∗(u(i−1)(0)+u(i+1)(0))\"\n", + "for i in range(0,6):\n", + " for j in range(1,9):\n", + " A[0,i] = 0\n", + " A[5,i] = 0;\n", + " A[i,1] = (i)**2*(5-i)\n", + "for i in range(0,4):\n", + " A[i+1,2] =1/2*(A[i,1]+A[i+2,1])\n", + "for i in range(2,5):\n", + " for j in range(2,5):\n", + " A[i-1,j] = (c*t)**2*(A[i-2,j-1]+A[i,j-1])+2*(1-(c*t)**2)*A[i-1,j-1]-A[i-1,j-2]\n", + "for i in range(0,5):\n", + " for j in range(0,5):\n", + " print \" \",A[i,j],\n", + " print \"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 28.8, page no. 734" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here cˆ2=4, taking h=1, finding k such that cˆ2tˆ2=1 \n", + "So bendre−schmidits recurrence relation ie u(i)(j+1)=(16tˆ2(u(i−1)(j)+u(i+1)(j))+2(1−16∗tˆ2u(i,j)−u(i)(j−1)\n", + "Now since u(0,t)=0=u(4,t) therefore u(0,i)=0 and u(4,j)=0 and u(x,0)=x(4−x) \n", + "Also from 1st derivative (u(i)(j+1)−u(i,j−1))/2 k=g(x) and g(x)=0 in this case\n", + "So if j=0 this gives u(i)(1)=1/2∗(u(i−1)(0)+u(i+1)(0))\n", + " 0.0 0.0 0.0 0.0 0.0 \n", + " 3.0 0.0 -3.0 -6.0 -9.0 \n", + " 4.0 0.0 -4.0 -8.0 -12.0 \n", + " 3.0 0.0 -3.0 -6.0 -9.0 \n", + " 0.0 0.0 0.0 0.0 0.0 \n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"Here cˆ2=4, taking h=1, finding k such that cˆ2tˆ2=1 \"\n", + "print \"So bendre−schmidits recurrence relation ie u(i)(j+1)=(16tˆ2(u(i−1)(j)+u(i+1)(j))+2(1−16∗tˆ2u(i,j)−u(i)(j−1)\"\n", + "print \"Now since u(0,t)=0=u(4,t) therefore u(0,i)=0 and u(4,j)=0 and u(x,0)=x(4−x) \"\n", + "c = 2\n", + "h = 1\n", + "k = (h/c)\n", + "t = k/h\n", + "A = numpy.zeros((6,6))\n", + "print \"Also from 1st derivative (u(i)(j+1)−u(i,j−1))/2 k=g(x) and g(x)=0 in this case\"\n", + "print \"So if j=0 this gives u(i)(1)=1/2∗(u(i−1)(0)+u(i+1)(0))\"\n", + "for i in range(0,6):\n", + " for j in range(1,9):\n", + " A[0,i] = 0\n", + " A[4,i] = 0\n", + " A[i,0] = (i)*(4-i)\n", + "for i in range(0,4):\n", + " A[i+1,2] = 1/2*(A[i,1]+A[i+2,1])\n", + "for i in range(2,5):\n", + " for j in range(2,5):\n", + " A[i-1,j] = (c*t)**2*(A[i-2,j-1]+A[i,j-1])+2*(1-(c*t)**2)*A[i-1,j-1]-A[i-1,j-2]\n", + "for i in range (0,5):\n", + " for j in range(0,5):\n", + " print \" \",A[i,j],\n", + " print \"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11+" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter2_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter2_1.ipynb new file mode 100644 index 00000000..40066b00 --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter2_1.ipynb @@ -0,0 +1,1360 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2: Determinants and Matrices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.1, page no. 55" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Determinant of A is: a*b*c - a*f**2 - b*g**2 - c*h**2 + 2*f*g*h\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "a = sympy.Symbol('a')\n", + "h = sympy.Symbol('h')\n", + "g = sympy.Symbol('g')\n", + "b = sympy.Symbol('b')\n", + "f = sympy.Symbol('f')\n", + "c = sympy.Symbol('c')\n", + "A = sympy.Matrix([[a,h,g],[h,b,f],[g,f,c]])\n", + "\n", + "print \"Determinant of A is: \", A.det()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.2, page no. 55" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Determinanat of a is: 88.0\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.array([[0,1,2,3],[1,0,3,0],[2,3,0,1],[3,0,1,2]])\n", + "print \"Determinant of a is:\",numpy.linalg.det(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.3, page no. 56" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-a**3*b**2*c + a**3*b*c**2 + a**2*b**3*c - a**2*b*c**3 + a**2*b - a**2*c - a*b**3*c**2 + a*b**2*c**3 - a*b**2 + a*c**2 + b**2*c - b*c**2\n" + ] + } + ], + "source": [ + "import numpy\n", + "import sympy\n", + "\n", + "a = sympy.Symbol('a');\n", + "b = sympy.Symbol('b');\n", + "c = sympy.Symbol('c');\n", + "A = sympy.Matrix([[a,a**2,a**3-1],[b,b**2,b**3-1],[c,c**2,c**3-1]])\n", + "\n", + "print A.det()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.4, page no. 57" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Determinanat of a is: -24.0\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.array([[21,17,7,10],[24,22,6,10],[6,8,2,3],[6,7,1,2]])\n", + "print \"Determinanat of a is:\",numpy.linalg.det(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "imp" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a: x**y*log(x)\n", + "b: x**y*y*log(x)/x + x**y/x\n", + "c: x**y*y**2*log(x)/x**2 - x**y*y*log(x)/x**2 + 2*x**y*y/x**2 - x**y/x**2\n", + "d: x**y*y/x\n", + "e: x**y*y*log(x)/x + x**y/x\n", + "f: x**y*y**2*log(x)/x**2 - x**y*y*log(x)/x**2 + 2*x**y*y/x**2 - x**y/x**2\n", + "Clearly c = f\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "x = sympy.Symbol('x');\n", + "y = sympy.Symbol('y')\n", + "u = x**y\n", + "a = sympy.diff(u, y)\n", + "b = sympy.diff(a, x)\n", + "c = sympy.diff(b, x)\n", + "d = sympy.diff(u, x)\n", + "e = sympy.diff(d, y)\n", + "f = sympy.diff(e, x)\n", + "print \"a: \", a\n", + "print \"b: \", b\n", + "print \"c: \", c\n", + "print \"d: \", d\n", + "print \"e: \", e\n", + "print \"f: \", f\n", + "print \"Clearly c = f\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.17, page no. 65" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A*B=\n", + "[[ 5 9 13]\n", + " [-1 2 4]\n", + " [-2 2 4]]\n", + "\n", + "B*A=\n", + "[[-1 12 11]\n", + " [-1 7 8]\n", + " [-2 -1 5]]\n", + "Clearly AB is not equal to BA\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.array([[1,3,0],[-1,2,1],[0,0,2]])\n", + "B = numpy.array([[2,3,4],[1,2,3],[-1,1,2]])\n", + "ma = numpy.matrix(A)\n", + "mb = numpy.matrix(B)\n", + "print \"A*B=\"\n", + "print ma*mb\n", + "print \"\"\n", + "print \"B*A=\"\n", + "print mb*ma\n", + "print \"Clearly AB is not equal to BA\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.18, page no. 65" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "AB=C−−>B=inv(A)∗C\n", + "\n", + "[[ 1.00000000e+00 -1.77635684e-15 -8.88178420e-16]\n", + " [ -2.22044605e-16 2.00000000e+00 -1.11022302e-16]\n", + " [ 1.77635684e-15 0.00000000e+00 1.00000000e+00]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[3,2,2],[1,3,1],[5,3,4]])\n", + "C = numpy.matrix([[3,4,2],[1,6,1],[5,6,4]])\n", + "print \"AB=C−−>B=inv(A)∗C\"\n", + "print \"\"\n", + "B = numpy.linalg.inv(A)*C \n", + "print B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.19, page no. 66" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Aˆ3−4∗Aˆ2−3A+11*I=\n", + "\n", + "[[ 0. 0. 0.]\n", + " [ 0. 0. 0.]\n", + " [ 0. 0. 0.]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.array([[1,3,2],[2,0,-1],[1,2,3]])\n", + "I = numpy.eye(3)\n", + "A = numpy.matrix(A)\n", + "print \"Aˆ3−4∗Aˆ2−3A+11*I=\"\n", + "print \"\"\n", + "print A**3-4*A**2-3*A+11*I" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.20, page no. 67" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter the value of n: 3\n", + "Calculating A ^ n: \n", + "[[ 31 -75]\n", + " [ 12 -29]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "0\n", + "A = numpy.matrix([[11,-25],[4, -9]])\n", + "n = int(raw_input(\"Enter the value of n: \"))\n", + "print \"Calculating A ^ n: \"\n", + "print A**n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.23, page no. 70" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Inverse of A is: \n", + "[[ 3. 1. 1.5 ]\n", + " [-1.25 -0.25 -0.75]\n", + " [-0.25 -0.25 -0.25]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[1,1,3],[1,3,-3],[-2,-4,-4]])\n", + "print \"Inverse of A is: \"\n", + "print numpy.linalg.inv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.24.1, page no. 71" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank of A is: 2\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[1,2,3],[1,4,2],[2,6,5]])\n", + "print \"Rank of A is:\",numpy.linalg.matrix_rank(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.24.2, page no. 71" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank of A is: 2\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[0,1,-3,-1],[1,0,1,1],[3,1,0,2],[1,1,-2,0]])\n", + "print \"Rank of A is:\",numpy.linalg.matrix_rank(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.25, page no. 72" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Inverse of A is: \n", + "[[ 3. 1. 1.5 ]\n", + " [-1.25 -0.25 -0.75]\n", + " [-0.25 -0.25 -0.25]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[1,1,3],[1,3,-3],[-2,-4,-4]])\n", + "print \"Inverse of A is: \"\n", + "print numpy.linalg.inv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.26, page no. 73" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank of A is: 3\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[2,3,-1,-1],[1,-1,-2,-4],[3,1,3,-2],[6,3,0,-7]])\n", + "r,p = numpy.linalg.eigh ( A )\n", + "print \"Rank of A is:\",numpy.linalg.matrix_rank(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.28, page no. 75" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Inverse of A is: \n", + "[[ 1.4 0.2 -0.4]\n", + " [-1.5 0. 0.5]\n", + " [ 1.1 -0.2 -0.1]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[1,1,1],[4,3,-1],[3,5,3]])\n", + "print \"Inverse of A is: \"\n", + "print numpy.linalg.inv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.31, page no. 78" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The equations can be rewritten as AX=B where X=[ x1 ; x2 ; x3 ; x4 ] and \n", + "Determinant of A=\n", + "8.0\n", + "Inverse of A =\n", + "[[ 0.5 0.5 0.5 -0.5]\n", + " [-0.5 0. 0. 0.5]\n", + " [ 0. -0.5 0. 0.5]\n", + " [ 0. 0. -0.5 0.5]]\n", + "X= [[ 1.]\n", + " [-1.]\n", + " [ 2.]\n", + " [-2.]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"The equations can be rewritten as AX=B where X=[ x1 ; x2 ; x3 ; x4 ] and \"\n", + "A = numpy.matrix([[1,-1,1,1],[1,1,-1,1],[1,1,1,-1],[1,1,1,1]])\n", + "B = numpy.matrix([[2],[-4],[4],[0]])\n", + "print \"Determinant of A=\"\n", + "print numpy.linalg.det(A)\n", + "print \"Inverse of A =\"\n", + "print numpy.linalg.inv(A)\n", + "print \"X=\",numpy.linalg.inv(A)*B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.32, page no. 78" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The equations can be rewritten as AX=B where X=[x;y;z] and\n", + "Determinant of A=\n", + "-8.79296635503e-14\n", + "Since det(A)=0 , hence, this system of equation will have infinite solutions.. hence, the system is consistent\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"The equations can be rewritten as AX=B where X=[x;y;z] and\"\n", + "A = numpy.matrix([[5,3,7],[3,26,2],[7,2,10]])\n", + "B = numpy.matrix([[4],[9],[5]])\n", + "print \"Determinant of A=\"\n", + "print numpy.linalg.det(A)\n", + "print \"Since det(A)=0 , hence, this system of equation will have infinite solutions.. hence, the system is consistent\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.34.1, page no. 80" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank of A is 3\n", + "Equations have only a trivial solution : x=y=z=0\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[1,2,3],[3,4,4],[7,10,12]])\n", + "p = numpy.linalg.matrix_rank(A)\n", + "print \"Rank of A is\",p\n", + "if p==3:\n", + " print \"Equations have only a trivial solution : x=y=z=0\"\n", + "else:\n", + " print \"Equations have infinite no . of solutions.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 2.34.2, page no. 80" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rank of A is 2\n", + "Equations have infinite no. of solutions.\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[4,2,1,3],[6,3,4,7],[2,1,0,1]])\n", + "p = numpy.linalg.matrix_rank(A)\n", + "print \"Rank of A is\",p\n", + "if p ==4:\n", + " print \"Equations have only a trivial solution : x=y=z=0\"\n", + "else:\n", + " print \"Equations have infinite no. of solutions.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 2.38, page no. 83" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The given equations can be written as Y=AX where\n", + "Determinant of A is -1.0\n", + "Since, its non−singular, hence transformation is regular\n", + "Inverse of A is\n", + "[[ 2. -2. -1.]\n", + " [-4. 5. 3.]\n", + " [ 1. -1. -1.]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"The given equations can be written as Y=AX where\"\n", + "A = numpy.matrix([[2,1,1],[1,1,2],[1,0,-2]])\n", + "print \"Determinant of A is\",numpy.linalg.det ( A )\n", + "print \"Since, its non−singular, hence transformation is regular\"\n", + "print\"Inverse of A is\"\n", + "print numpy.linalg.inv ( A )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.39, page no. 84" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-0.66666667 0.33333333 0.66666667]\n", + " [ 0.66666667 0.66666667 0.33333333]\n", + " [ 0.33333333 -0.66666667 0.66666667]]\n", + "A transpose is equal to\n", + "[[-0.66666667 0.66666667 0.33333333]\n", + " [ 0.33333333 0.66666667 -0.66666667]\n", + " [ 0.66666667 0.33333333 0.66666667]]\n", + "A∗(transpose of A)=\n", + "[[ 1. 0. 0.]\n", + " [ 0. 1. 0.]\n", + " [ 0. 0. 1.]]\n", + "Hence, A is orthogonal\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[-2./3,1./3,2./3],[2./3,2./3,1./3],[1./3,-2./3,2./3]])\n", + "print A\n", + "print \"A transpose is equal to\"\n", + "print A.transpose()\n", + "print \"A∗(transpose of A)=\"\n", + "print A*A.transpose()\n", + "print \"Hence, A is orthogonal\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 2.42, page no. 87" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Let R represents the matrix of transformation and P represents a diagonal matrix whose values are the eigenvalues of A. then\n", + "R is normalised. let U represents unnormalised version of r\n", + "Two eigen vectors are the two columns of U\n", + "[[ 4. 1.]\n", + " [ 0. 0.]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "import math\n", + "\n", + "A = numpy.matrix([[5,4],[1,2]])\n", + "print \"Let R represents the matrix of transformation and P represents a diagonal matrix whose values are the eigenvalues of A. then\"\n", + "P,R= numpy.linalg.eig(A)\n", + "U = numpy.zeros([2, 2])\n", + "print \"R is normalised. let U represents unnormalised version of r\"\n", + "U[0,0]= R[0,0]*math.sqrt(17)\n", + "U[0,1]= R[0,1]*math.sqrt(17)\n", + "U[0,1]= R[1,1]*math.sqrt(2)\n", + "print \"Two eigen vectors are the two columns of U\"\n", + "print U" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Examle 2.43, page no. 88" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Let Rrepresents the matrix of transformation and Prepresents a diagonalmatrix whose values are the eigenvalues of A. then\n", + "R is normalised. let U represents unnormalised version of r\n", + "[-2. 3. 6.]\n", + "Three eigen vectors are the three columns of U\n", + "[[ -2.82842712 5.19615242 14.69693846]\n", + " [ 0. 0. 0. ]\n", + " [ 0. 0. 0. ]]\n" + ] + } + ], + "source": [ + "import numpy,math\n", + "\n", + "A = numpy.matrix([[1,1,3],[1,5,1],[3,1,1]])\n", + "U = numpy.zeros([3,3])\n", + "print \"Let Rrepresents the matrix of transformation and Prepresents a diagonalmatrix whose values are the eigenvalues of A. then\"\n", + "R,P = numpy.linalg.eig(A)\n", + "print \"R is normalised. let U represents unnormalised version of r\"\n", + "print R\n", + "U[0,0] = R[0]*math.sqrt(2) \n", + "U[0,1] = R[1]*math.sqrt(3)\n", + "U[0,2] = R[2]*math.sqrt(6)\n", + "print \"Three eigen vectors are the three columns of U\"\n", + "print U" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.44, page no. 89" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Let Rrepresents the matrix of transformation and Prepresents a diagonalmatrix whose values are the eigenvalues of A. then\n", + "R is normalised. let U represents unnormalised version of r\n", + "[ 3. 2. 5.]\n", + "Three eigen vectors are the three columns of U\n", + "[[ 3. 2. 18.70828693]\n", + " [ 0. 0. 0. ]\n", + " [ 0. 0. 0. ]]\n" + ] + } + ], + "source": [ + "import numpy,math\n", + "\n", + "A = numpy.matrix([[3,1,4],[0,2,6],[0,0,5]])\n", + "U = numpy.zeros([3,3])\n", + "print \"Let Rrepresents the matrix of transformation and Prepresents a diagonalmatrix whose values are the eigenvalues of A. then\"\n", + "R,P = numpy.linalg.eig(A)\n", + "print \"R is normalised. let U represents unnormalised version of r\"\n", + "print R\n", + "U[0,0] = R[0]*math.sqrt(1) \n", + "U[0,1] = R[1]*math.sqrt(1)\n", + "U[0,2] = R[2]*math.sqrt(14)\n", + "print \"Three eigen vectors are the three columns of U\"\n", + "print U" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.45, page no. 90" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eigen values of A are\n", + "(array([-1., 5.]), matrix([[-0.89442719, -0.70710678],\n", + " [ 0.4472136 , -0.70710678]]))\n", + "Let\n", + "Hence, the characteristic equation is ( x−a ) ( x−b)\n", + "[-8 -5]\n", + "Aˆ2−4∗A−5∗ I=\n", + "[[ 0. 0.]\n", + " [ 0. 0.]]\n", + "Inverse of A=\n", + "[[-0.6 0.8]\n", + " [ 0.4 -0.2]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly([0])\n", + "A = numpy.matrix([[1,4],[2,3]])\n", + "I = numpy.eye(2)\n", + "print \"Eigen values of A are\"\n", + "print numpy.linalg.eig(A)\n", + "print \"Let\"\n", + "a = -1;\n", + "b = 5;\n", + "print \"Hence, the characteristic equation is ( x−a ) ( x−b)\"\n", + "print ( x - a ) *( x - b )\n", + "\n", + "print \"Aˆ2−4∗A−5∗ I=\"\n", + "print A**2-4*A-5* I\n", + "print \"Inverse of A=\"\n", + "print numpy.linalg.inv ( A )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.46, page no. 91" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Egenvalues of A are\n", + "(array([ 4.25683813, 0.40327935, -4.66011748]), matrix([[ 0.10296232, -0.91299477, -0.48509974],\n", + " [-0.90473047, 0.40531299, 0.37306899],\n", + " [ 0.41335402, 0.04649661, 0.79088417]]))\n", + "Let\n", + "Hence, the characteristic equation is ( x−a ) ( x−b) ( x−c )\n", + "[-10.99999905 8.00000095]\n", + "Inverse of A=\n", + "[[ 3. 1. 1.5 ]\n", + " [-1.25 -0.25 -0.75]\n", + " [-0.25 -0.25 -0.25]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly([0])\n", + "A = numpy.matrix([[1,1,3],[1,3,-3],[-2,-4,-4]])\n", + "print \"Egenvalues of A are\"\n", + "print numpy.linalg.eig(A)\n", + "print \"Let\"\n", + "a =4.2568381\n", + "b =0.4032794\n", + "c = -4.6601175\n", + "print \"Hence, the characteristic equation is ( x−a ) ( x−b) ( x−c )\"\n", + "p = (x-a)*(x-b)*(x-c)\n", + "print p\n", + "print \"Inverse of A=\"\n", + "print numpy.linalg.inv(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.47, page no. 91" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eigenvalues of A are\n", + "(array([ 3., 1., 1.]), matrix([[ 0.70710678, -0.70710678, -0.40824829],\n", + " [ 0. , 0. , 0.81649658],\n", + " [ 0.70710678, 0.70710678, -0.40824829]]))\n", + "Let\n", + "Hence, the characteristic equation is (x−a)(x−b)(x−c)=\n", + "[ 0 -3]\n", + "Aˆ8−5∗Aˆ7+7∗Aˆ6−3∗Aˆ5+Aˆ4−5∗Aˆ3+8∗Aˆ2−2∗A+I =\n", + "[[ 8. 5. 5.]\n", + " [ 0. 3. 0.]\n", + " [ 5. 5. 8.]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "x = numpy.poly([0])\n", + "A = numpy.matrix([[2,1,1],[0,1,0],[1,1,2]])\n", + "I = numpy.eye(3)\n", + "print \"Eigenvalues of A are\"\n", + "print numpy.linalg.eig(A)\n", + "print \"Let\"\n", + "a =1\n", + "b =1\n", + "c =3\n", + "print \"Hence, the characteristic equation is (x−a)(x−b)(x−c)=\"\n", + "p = (x-a)*(x-b)*(x-c)\n", + "print p\n", + "print \"Aˆ8−5∗Aˆ7+7∗Aˆ6−3∗Aˆ5+Aˆ4−5∗Aˆ3+8∗Aˆ2−2∗A+I =\"\n", + "print A**8-5*A**7+7*A**6-3*A**5+A**4-5*A**3+8*A**2-2*A+I" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 2.48, page no. 93" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R is matrix of transformation and D is a diagonal matrix\n", + "[-1.65544238 -0.21075588 2.86619826]\n", + "[[-0.87936655 -0.34661859 -0.32645063]\n", + " [ 0.11410244 0.51222983 -0.85123513]\n", + " [-0.46227167 0.78579651 0.41088775]]\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[-1,2,-2],[1,2,1],[-1,-1,0]])\n", + "print \"R is matrix of transformation and D is a diagonal matrix\"\n", + "[R,D]= numpy.linalg.eigh(A)\n", + "print R\n", + "print D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.49, page no. 93" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R is matrix of transformation and D is a diagonal matrix\n", + "R is normalised, let P denotes unnormalised version of R . Then \n", + "[ 3. 2. 5.]\n", + "[[ 4.24264069 3.46410162 12.24744871]\n", + " [ 0. 0. 0. ]\n", + " [ 0. 0. 0. ]]\n", + "A^4= [[ 81 65 1502]\n", + " [ 0 16 1218]\n", + " [ 0 0 625]]\n" + ] + } + ], + "source": [ + "import numpy,math\n", + "\n", + "A = numpy.matrix([[3,1,4],[0,2,6],[0,0,5]])\n", + "P = numpy.zeros([3,3])\n", + "print \"R is matrix of transformation and D is a diagonal matrix\"\n", + "R,D = numpy.linalg.eig(A)\n", + "print \"R is normalised, let P denotes unnormalised version of R . Then \"\n", + "print R\n", + "P[0,0] = R[0]*math.sqrt(2) \n", + "P[0,1] = R[1]*math.sqrt(3)\n", + "P[0,2] = R[2]*math.sqrt(6)\n", + "print P\n", + "print \"A^4= \",A**4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.50, page no. 94" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3∗xˆ2+5∗yˆ2+3∗zˆ2−2∗y∗z+2∗z∗x−2∗x∗y\n", + "The matrix of the given quadratic form is\n", + "Let R represents the matrix of transformation and Prepresents a diagonal matrix whose values are the eigenvalues of A. then\n", + "So, canonical form is 2∗xˆ2+3∗yˆ2+6∗zˆ2\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"3∗xˆ2+5∗yˆ2+3∗zˆ2−2∗y∗z+2∗z∗x−2∗x∗y\"\n", + "print \"The matrix of the given quadratic form is\"\n", + "A = numpy.matrix([[3,-1,1],[-1,5,-1],[1,-1,3]])\n", + "print \"Let R represents the matrix of transformation and Prepresents a diagonal matrix whose values are the eigenvalues of A. then\"\n", + "[R,P] = numpy.linalg.eig(A)\n", + "print \"So, canonical form is 2∗xˆ2+3∗yˆ2+6∗zˆ2\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.51, page no. 95" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2∗x1∗x2+2∗x1∗x3−2∗x2∗x3\n", + "The matrix of the given quadratic form is\n", + "Let R represents the matrix of transformation and P represents a diagonal matrix whose values are the eigenvalues of A. then\n", + "so, canonical form is −2∗xˆ2+yˆ2+ zˆ2\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"2∗x1∗x2+2∗x1∗x3−2∗x2∗x3\"\n", + "print \"The matrix of the given quadratic form is\"\n", + "A = numpy.matrix([[0,1,1],[1,0,-1],[1,-1,0]])\n", + "print \"Let R represents the matrix of transformation and P represents a diagonal matrix whose values are the eigenvalues of A. then\"\n", + "[R,P] = numpy.linalg.eig(A)\n", + "print \"so, canonical form is −2∗xˆ2+yˆ2+ zˆ2\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.52, page no. 96" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A∗= [[ 2.-1.j -5.-0.j]\n", + " [ 3.-0.j 0.-1.j]\n", + " [-1.-3.j 4.+2.j]]\n", + "AA∗= [[ 24.+0.j -20.+2.j]\n", + " [-20.-2.j 46.+0.j]]\n", + "Clearly, AA∗ is hermitian matrix\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "'''\n", + "A=[2+%i 3 -1+3*%i;-5 %i 4-2*%i]\n", + "'''\n", + "\n", + "A = numpy.matrix([[2+1j,3,-1+3*1j],[-5,1j,4-2*1j]])\n", + "#A = A.getH()\n", + "print \"A∗=\", A.getH()\n", + "print \"AA∗=\", A*(A.getH())\n", + "print \"Clearly, AA∗ is hermitian matrix\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.53, page no. 97" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A∗= [[ 0.-0.j 0.-0.j]\n", + " [-0.-0.j 0.-0.j]]\n", + "AA∗= [[ 0.+0.j 0.+0.j]\n", + " [ 0.+0.j 0.+0.j]]\n", + "A∗A= [[ 0.+0.j 0.+0.j]\n", + " [ 0.+0.j 0.+0.j]]\n" + ] + } + ], + "source": [ + "import numpy \n", + "\n", + "A = numpy.matrix([[(1/2)*(1+1j),(1/2)*(-1+1j)],[(1/2)*(1+1j),(1/2)*(1-1j)]])\n", + "print \"A∗=\", A.getH()\n", + "print \"AA∗=\", A*(A.getH())\n", + "print \"A∗A=\", (A.getH())*A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2.54, page no. 97" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I−A=\n", + "inverse of (I+A)=\n", + "[[ 0.16666667+0.j -0.16666667-0.33333333j]\n", + " [ 0.16666667-0.33333333j 0.16666667+0.j ]]\n", + "((I−A)(inverse(I+A)))∗((I−A)(inverse(I+A)))=\n", + "[[ 1.11111111e-01-0.44444444j -2.77555756e-17+0.88888889j]\n", + " [ -2.77555756e-17+0.88888889j 1.11111111e-01+0.44444444j]]\n", + "((I−A)(inverse(I+A)))((I−A)(inverse(I+A)))∗=\n", + "[[ 1.11111111e-01+0.44444444j 1.11022302e-16+0.88888889j]\n", + " [ 1.11022302e-16+0.88888889j 1.11111111e-01-0.44444444j]]\n", + "Clearly, the product is an identity matrix.hence, it is a unitary matrix\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.matrix([[0,1+2*1j],[-1+2*1j,0]])\n", + "I = numpy.eye(2)\n", + "print \"I−A=\"\n", + "I-A\n", + "print \"inverse of (I+A)=\"\n", + "print numpy.linalg.inv(I+A)\n", + "print \"((I−A)(inverse(I+A)))∗((I−A)(inverse(I+A)))=\"\n", + "print (((I-A)*(numpy.linalg.inv(I+A))).T)*((I-A)*(numpy.linalg.inv(I+A)))\n", + "print \"((I−A)(inverse(I+A)))((I−A)(inverse(I+A)))∗=\"\n", + "print ((I-A)*(numpy.linalg.inv(I+A)))*(((I-A)*(numpy.linalg.inv(I+A))).T)\n", + "print \"Clearly, the product is an identity matrix.hence, it is a unitary matrix\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11+" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter34_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter34_1.ipynb new file mode 100644 index 00000000..68dc76ff --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter34_1.ipynb @@ -0,0 +1,1414 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 34 : Probability And Distributions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.1, page no. 830" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "From the principle of counting, the required no. of ways are 12∗11∗10∗9= \n", + "11880\n" + ] + } + ], + "source": [ + "print \"From the principle of counting, the required no. of ways are 12∗11∗10∗9= \"\n", + "print 12*11*10*9" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.2.1, page no. 831" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no. of permutations=9!/(2!∗2!∗2!)\n", + "45360\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"no. of permutations=9!/(2!∗2!∗2!)\"\n", + "print math.factorial(9)/(math.factorial(2)*math.factorial(2)*math.factorial(2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.2.2, page no. 831" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no. of permutations=9!/(2!∗2!∗3!*3!)\n", + "2520\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"no. of permutations=9!/(2!∗2!∗3!*3!)\"\n", + "print math.factorial(9)/(math.factorial(2)*math.factorial(2)*math.factorial(3)*math.factorial(3))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.3.1, page no. 832" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no. of committees=C(6,3)∗C(5,2)=’\n", + "200\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"no. of committees=C(6,3)∗C(5,2)=’\"\n", + "print C(6,3)*C(5,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.3.2, page no. 832" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no. of committees=C(4,1)∗C(5,2)=’\n", + "40\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"no. of committees=C(4,1)∗C(5,2)=’\"\n", + "print C(4,1)*C(5,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.3.3, page no. 833" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no. of committees=C(6,3)∗C(4,2)=’\n", + "120\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"no. of committees=C(6,3)∗C(4,2)=’\"\n", + "print C(6,3)*C(4,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.4.1, page no. 834" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The probability of getting a four is 1/6= 0.166666666667\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"The probability of getting a four is 1/6= \",1./6" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.4.2, page no. 834" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The probability of getting an even no. 1/2= 0.5\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"The probability of getting an even no. 1/2= \",1./2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.5, page no. 835" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The probability of 53 Sundays is 2/7= 0.285714285714\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"The probability of 53 Sundays is 2/7= \",2./7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.6, page no. 835" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The five digits can be arranged in 5! ways = 120\n", + "Of which 4! will begin with 0 = 24\n", + "So, total no. of five digit numbers = 5!−4! = 96\n", + "The numbers ending in 04, 12, 20, 24, 32, 40 will be divisible by 4 \n", + "numbers ending in 04 = 3! = 6\n", + "numbers ending in 12 = 3!−2! = 4\n", + "numbers ending in 20 = 3! = 6\n", + "numbers ending in 24 = 3!−2! = 4\n", + "numbers ending in 32 = 3!−2! = 4\n", + "numbers ending in 40 = 3! = 6\n", + "So, total no. of favourable ways = 6+4+6+4+4+6 = 30\n", + "probability = 30/96 = 0.3125\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "print \"The five digits can be arranged in 5! ways = \",math.factorial(5)\n", + "print \"Of which 4! will begin with 0 = \",math.factorial(4)\n", + "print \"So, total no. of five digit numbers = 5!−4! = \",math.factorial(5)-math.factorial(4)\n", + "print \"The numbers ending in 04, 12, 20, 24, 32, 40 will be divisible by 4 \"\n", + "print \"numbers ending in 04 = 3! = \",math.factorial(3)\n", + "print \"numbers ending in 12 = 3!−2! = \",math.factorial(3)-math.factorial(2)\n", + "print \"numbers ending in 20 = 3! = \",math.factorial(3)\n", + "print \"numbers ending in 24 = 3!−2! = \",math.factorial(3)-math.factorial(2)\n", + "print \"numbers ending in 32 = 3!−2! = \",math.factorial(3)-math.factorial(2)\n", + "print \"numbers ending in 40 = 3! = \",math.factorial(3)\n", + "print \"So, total no. of favourable ways = 6+4+6+4+4+6 = \",6+4+6+4+4+6\n", + "print \"probability = 30/96 = \",30./96" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.7, page no. 836" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible cases = C(40,4) = 91390\n", + "Favourable outcomes = C(24,2)∗C(15,1) = 4140\n", + "Probability = 0.0453003610898\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Total no. of possible cases = C(40,4) = \",C(40,4)\n", + "print \"Favourable outcomes = C(24,2)∗C(15,1) = \",C(24,2)*C(15,1)\n", + "print \"Probability = \",float(C(24,2)*C(15,1))/C(40,4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.8, page no. 836" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible cases = C(15,8) = 6435\n", + "Favourable outcomes = C(5,2)∗C(10,6) = 2100\n", + "Probability = 0.32634032634\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Total no. of possible cases = C(15,8) = \",C(15,8)\n", + "print \"Favourable outcomes = C(5,2)∗C(10,6) = \",C(5,2)*C(10,6)\n", + "print \"Probability = \",float(C(5,2)*C(10,6))/C(15,8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.9.1, page no. 837" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible cases = C(9,3) = 84\n", + "Favourable outcomes = C(2,1)∗C(3,1)*C(4,1) = 24\n", + "Probability = 0.285714285714\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Total no. of possible cases = C(9,3) = \",C(9,3)\n", + "print \"Favourable outcomes = C(2,1)∗C(3,1)*C(4,1) = \",C(2,1)*C(3,1)*C(4,1)\n", + "print \"Probability = \",float(C(2,1)*C(3,1)*C(4,1))/C(9,3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.9.2, page no. 837" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible cases = C(9,3) = 84\n", + "Favourable outcomes = C(2,2)∗C(7,1)+C(3,2)∗C(6,1)+C(4,2)∗C(5,1) = 55\n", + "Probability = 0.654761904762\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Total no. of possible cases = C(9,3) = \",C(9,3)\n", + "print \"Favourable outcomes = C(2,2)∗C(7,1)+C(3,2)∗C(6,1)+C(4,2)∗C(5,1) = \",C(2,2)*C(7,1)+C(3,2)*C(6,1)+C(4,2)*C(5,1)\n", + "print \"Probability = \",float(C(2,2)*C(7,1)+C(3,2)*C(6,1)+C(4,2)*C(5,1))/C(9,3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.9.3, page no. 838" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible cases = C(9,3) = 84\n", + "Favourable outcomes = C(3,3)+C(4,3) = 5\n", + "Probability = 0.0595238095238\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Total no. of possible cases = C(9,3) = \",C(9,3)\n", + "print \"Favourable outcomes = C(3,3)+C(4,3) = \",C(3,3)+C(4,3)\n", + "print \"Probability = \",5./84" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.13, page no. 840" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of drawing an ace or spade or both from pack of 52 cards = 4/52+13/52−1/52= 17\n" + ] + } + ], + "source": [ + "print \"Probability of drawing an ace or spade or both from pack of 52 cards = 4/52+13/52−1/52= \",4+13-1/52" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.14.1, page no. 841" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of first card being a king = 4/52 = 0.0769230769231\n", + "Probability of second card being a queen = 4/52 = 0.0769230769231\n", + "Probability of drawing both cards in succession = 4/52∗4/52= 0.00591715976331\n" + ] + } + ], + "source": [ + "print \"Probability of first card being a king = 4/52 = \",4./52\n", + "print \"Probability of second card being a queen = 4/52 = \",4./52\n", + "print \"Probability of drawing both cards in succession = 4/52∗4/52= \",(4./52)*(4./52)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.15.1, page no. 842" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of getting 7 in first toss and not getting it in second toss = 1/6∗5/6 = 0.138888888889\n", + "Probability of not getting 7 in first toss and getting it in second toss = 5/6∗1/6 = 0.138888888889\n", + "Required probability = 1/6∗5/6+5/6∗1/6 = 0.277777777778\n" + ] + } + ], + "source": [ + "print \"Probability of getting 7 in first toss and not getting it in second toss = 1/6∗5/6 = \",(1./6)*(5./6)\n", + "print \"Probability of not getting 7 in first toss and getting it in second toss = 5/6∗1/6 = \",(5./6)*(1./6)\n", + "print \"Required probability = 1/6∗5/6+5/6∗1/6 = \",((1./6)*(5./6))+((5./6)*(1./6))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.15.2, page no. 842" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of not getting 7 in either toss = 5/6∗5/6 = 0.694444444444\n", + "Probability of getting 7 at least once = 1−5/6∗5/6 = 0.305555555556\n" + ] + } + ], + "source": [ + "print \"Probability of not getting 7 in either toss = 5/6∗5/6 = \",(5./6)*(5./6)\n", + "print \"Probability of getting 7 at least once = 1−5/6∗5/6 = \",1-(5./6)*(5./6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.15.3, page no. 842" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of getting 7 twice = 1/6∗1/6 = 0.0277777777778\n" + ] + } + ], + "source": [ + "print \"Probability of getting 7 twice = 1/6∗1/6 = \",(1./6)*(1./6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.16, page no. 843" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of engineering subject being choosen = (1/3∗3/8)+(2/3∗5/8) = 0.541666666667\n" + ] + } + ], + "source": [ + "print \"Probability of engineering subject being choosen = (1/3∗3/8)+(2/3∗5/8) = \",((1./3)*(3./8)) +((2./3)*(5./8))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.17, page no. 844" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of white ball being choosen = 2/6∗6/13+4/6∗5/13 = 0.410256410256\n" + ] + } + ], + "source": [ + "print \"Probability of white ball being choosen = 2/6∗6/13+4/6∗5/13 = \",((2./6)*(6./13))+((4./6)*(5./13))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.18, page no. 844" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Chances of winning of A=1/2+(1/2)ˆ2∗(1/2)+(1/2)ˆ4∗(1/2)+(1/2)ˆ6∗(1/2)+..= 0.666666666667\n", + "Chances of winning of B=1−chances of winning of A = 1\n" + ] + } + ], + "source": [ + "print \"Chances of winning of A=1/2+(1/2)ˆ2∗(1/2)+(1/2)ˆ4∗(1/2)+(1/2)ˆ6∗(1/2)+..= \",(1./2)/(1-(1./2)**2)\n", + "print \"Chances of winning of B=1−chances of winning of A = \",1-(2/3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.19.1, page no. 845" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible outcomes = C(10,2) = 45\n", + "Favourable outcomes = 5*5 = 25\n", + "P = 0.555555555556\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Total no. of possible outcomes = C(10,2) = \",C(10,2)\n", + "print \"Favourable outcomes = 5*5 = \",5*5\n", + "print \"P = \",25./45" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.19.2, page no. 845" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total no. of possible outcomes = 10*10 = 100\n", + "Favourable outcomes = 5*5+5*5 = 50\n", + "P = 0.5\n" + ] + } + ], + "source": [ + "print \"Total no. of possible outcomes = 10*10 = \",10*10\n", + "print \"Favourable outcomes = 5*5+5*5 = \",5*5+5*5\n", + "print \"P = \",50./100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.20, page no. 846" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of A/B = AandB/B = 0.25\n", + "Probability of B/A = AandB/A = 0.333333333333\n", + "Probability of AandBnot = A−AandB = 0.166666666667\n", + "Probability of A/Bnot = AandBnot/Bnot = 0.25\n" + ] + } + ], + "source": [ + "A = 1./4\n", + "B = 1./3\n", + "AorB = 1./2\n", + "AandB = A+B-AorB\n", + "print \"Probability of A/B = AandB/B = \",AandB/B\n", + "print \"Probability of B/A = AandB/A = \",AandB/A\n", + "print \"Probability of AandBnot = A−AandB = \",A-AandB\n", + "print \"Probability of A/Bnot = AandBnot/Bnot = \",(1./6)/(1-1./3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.22, page no. 846" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of A hitting target = 3/5\n", + "Probability of B hitting target = 2/5\n", + "Probability of C hitting target = 3/4\n", + "Probability that two shots hit = 3/5∗2/5∗(1−3/4)+2/5∗3/4∗(1−3/5)+3/4∗3/5∗(1−2/5) = \n", + "0.45\n" + ] + } + ], + "source": [ + "print \"Probability of A hitting target = 3/5\"\n", + "print \"Probability of B hitting target = 2/5\"\n", + "print \"Probability of C hitting target = 3/4\"\n", + "print \"Probability that two shots hit = 3/5∗2/5∗(1−3/4)+2/5∗3/4∗(1−3/5)+3/4∗3/5∗(1−2/5) = \"\n", + "print (3./5)*(2./5)*(1-3./4)+(2./5)*(3./4)*(1-3./5)+(3./4)*(3./5)*(1-2./5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.23, page no. 847" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of problem not getting solved = 1/2∗2/3∗3/4 = 0.25\n", + "Probability of problem getting solved = 1−(1/2∗2/3∗3/4) = 0.75\n" + ] + } + ], + "source": [ + "print \"Probability of problem not getting solved = 1/2∗2/3∗3/4 = \",(1./2)*(2./3)*(3./4)\n", + "print \"Probability of problem getting solved = 1−(1/2∗2/3∗3/4) = \",1-((1./2)*(2./3)*(3./4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.25, page no. 848" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total frequency=integrate(f,x,0,2) =\n", + "u1 about origin = 1\n", + "u2 about origin = 16/15\n", + "Standard deviation = (u2−u1ˆ2)ˆ0.5= 0.258198889747161\n", + "Mean deviation about the mean = (1/n)∗(integrate(|x−1|∗(xˆ3),x,0,1)+integrate(|x−1|∗((2−x)ˆ3),x,1,2))\n", + "1/5\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print \"Total frequency=integrate(f,x,0,2) =\" \n", + "n = sympy.integrate('x**3',('x',0,1))+sympy.integrate('(2-x)**3',('x',1,2))\n", + "print \"u1 about origin = \",\n", + "u1 = (1/n)*(sympy.integrate('(x)*(x**3)',('x',0,1))+sympy.integrate('(x)*((2-x)**3)',('x',1,2)))\n", + "print u1\n", + "print \"u2 about origin = \",\n", + "u2 = (1/n)*(sympy.integrate('(x**2)*(x**3)',('x',0,1))+sympy.integrate('(x**2)*((2-x)**3)',('x',1,2)))\n", + "print u2\n", + "print \"Standard deviation = (u2−u1ˆ2)ˆ0.5= \",(u2-u1**2)**0.5\n", + "print \"Mean deviation about the mean = (1/n)∗(integrate(|x−1|∗(xˆ3),x,0,1)+integrate(|x−1|∗((2−x)ˆ3),x,1,2))\"\n", + "print (1/n)*(sympy.integrate('(1-x)*(x**3)',('x',0,1))+sympy.integrate('(x-1)*((2-x)**3)',('x',1,2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.26, page no. 849" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability = (0.45∗0.03)/(0.45∗0.03+0.25∗0.05+0.3∗0.04 = 0.355263157895\n" + ] + } + ], + "source": [ + "print \"Probability = (0.45∗0.03)/(0.45∗0.03+0.25∗0.05+0.3∗0.04 = \",(0.45*0.03)/(0.45*0.03+0.25*0.05+0.3*0.04)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.27, page no. 849" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability = (1/3∗2/6∗3/5)/(1/3∗2/6∗3/5+1/3∗1/6∗2/5+1/3∗3/6∗1/5) = 1.05555555556\n" + ] + } + ], + "source": [ + "print \"Probability = (1/3∗2/6∗3/5)/(1/3∗2/6∗3/5+1/3∗1/6∗2/5+1/3∗3/6∗1/5) = \",\n", + "print ((1./3)*(2./6)*(3./5))/((1./3)*(2./6)*(3./5))+((1./3)*(1./6)*(2./5))+((1./3)*(3./6)*(1./5))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.28, page no. 850" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of no success = 8/27 \n", + "Probability of a success = 1/3 \n", + "Probability of one success = 4/9\n", + "Probability of two success = 2/9\n", + "Probability of three success = 2/9\n", + "mean=sum of i∗pi = 1.0\n", + "sum of i∗piˆ2 = 1.66666666667\n", + "variance = (sum of i∗piˆ2)−1= 0.666666666667\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "print \"Probability of no success = 8/27 \"\n", + "print \"Probability of a success = 1/3 \"\n", + "print \"Probability of one success = 4/9\"\n", + "print \"Probability of two success = 2/9\"\n", + "print \"Probability of three success = 2/9\"\n", + "A = numpy.array([[0,1,2,3],[8./27,4./9,2./9,1./27]])\n", + "print \"mean=sum of i∗pi = \",\n", + "print A[0,0]*A[1,0]+A[0,1]*A[1,1]+A[0,3]*A[1,3]+A[0,2]*A[1,2]\n", + "print \"sum of i∗piˆ2 = \",\n", + "print A[0,0]**2*A[1,0]+A[0,1]**2*A[1,1]+A[0,3]**2*A[1,3]+A[0,2]**2*A[1,2]\n", + "print \"variance = (sum of i∗piˆ2)−1= \",\n", + "print A[0,0]**2*A[1,0]+A[0,1]**2*A[1,1]+A[0,3]**2*A[1,3]+A[0,2]**2*A[1,2]-1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.29, page no. 851" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sumof all pi = 1 \n", + "Hence ,\n", + "p(x<4) = 16.0*k\n", + "p(x>=5) = 24.0*k\n", + "p(3=5) = \",\n", + "b = A[1,5]+A[1,6]\n", + "print b.evalf()\n", + "print \"p(3=6) = 9.0*k**2 + k\n", + "p(3=6) = \",\n", + "b = A[1,6]+A[1,7]\n", + "print b.evalf()\n", + "print \"p(30 for every x in (1,2) and integrate(f,x,0,numpy.inf)= 1.00000000000000\n", + "Required probability=p(1<=x<=2)= integrate(f,x,1,2) = 0.232544157934830\n", + "Cumulative probability function f(2)=integrate(f,x,−%inf,2) = 0.864664716763387\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "y = sympy.Symbol('y')\n", + "f = math.e**(-y)\n", + "print \"Clearly, f>0 for every x in (1,2) and integrate(f,x,0,numpy.inf)= \",\n", + "print sympy.integrate(math.e**(-y),('y',0,sympy.oo))\n", + "print \"Required probability=p(1<=x<=2)= integrate(f,x,1,2) = \",\n", + "print sympy.integrate(math.e**(-y),('y',1,2))\n", + "print \"Cumulative probability function f(2)=integrate(f,x,−%inf,2) = \",\n", + "print sympy.integrate(math.e**(-y),('y',0,2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.33, page no. 854" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total probability = integrate(f,x,0,6)=\n", + "2*k\n", + "4*k\n", + "2*k\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "k = sympy.Symbol('k')\n", + "print \"Total probability = integrate(f,x,0,6)=\"\n", + "p = sympy.integrate('k*x',('x',0,2))\n", + "q = sympy.integrate('2*k',('x',2,4))\n", + "r = sympy.integrate('-k*x+6*k',('x',4,6))\n", + "print p\n", + "print q\n", + "print r" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 34.34, page no. 854" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First row of A displays the value of x\n", + "The second row of x displays the probability of corresponding to x\n", + "E(x) = 5.5\n", + "E(x)ˆ2 = 46.5\n", + "E(2∗x+1)^2=E(4∗xˆ2+4∗x+1) = 209.0\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.array([[-3.,6.,9.],[1./6,1./2,1./3]])\n", + "print \"First row of A displays the value of x\"\n", + "print \"The second row of x displays the probability of corresponding to x\"\n", + "print \"E(x) = \",\n", + "c = A[0,0]*A[1,0]+A[0,1]*A[1,1]+A[0,2]*A[1,2]\n", + "print c\n", + "print \"E(x)ˆ2 = \",\n", + "b = A[0,0]**2*A[1,0]+A[0,1]**2*A[1,1]+A[0,2]**2*A[1,2]\n", + "print b\n", + "print \"E(2∗x+1)^2=E(4∗xˆ2+4∗x+1) = \",4*b+4*c+1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.35, page no. 855" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total frequency=integrate(f,x,0,2)= \n", + "u1 about origin = \n", + "u2 about origin = \n", + "standard deviation = (u2−u1ˆ2)ˆ0.5 = 0.258198889747161\n", + "Mean deviation about the mean = (1/n)∗(integrate|x−1|∗(xˆ3),x,0,1)+integrate(|x−1|∗((2−x)ˆ3),x,1,2))\n", + "1/5\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print \"Total frequency=integrate(f,x,0,2)= \"\n", + "n = sympy.integrate('x**3',('x',0,1))+sympy.integrate('(2-x)**3',('x',1,2))\n", + "print \"u1 about origin = \"\n", + "u1 = (1/n)*(sympy.integrate('(x)*(x**3)',('x',0,1))+sympy.integrate('(x)*((2-x)**3)',('x',1,2)))\n", + "print \"u2 about origin = \"\n", + "u2 = (1/n)*(sympy.integrate('(x**2)*(x**3)',('x',0,1))+sympy.integrate('(x**2)*((2-x)**3)',('x',1,2)))\n", + "print \"standard deviation = (u2−u1ˆ2)ˆ0.5 = \",(u2-u1**2)**0.5\n", + "print \"Mean deviation about the mean = (1/n)∗(integrate|x−1|∗(xˆ3),x,0,1)+integrate(|x−1|∗((2−x)ˆ3),x,1,2))\"\n", + "print (1/n)*(sympy.integrate('(1-x)*(x**3)',('x',0,1))+sympy.integrate('(x-1)*((2-x)**3)',('x',1,2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.38, page no. 857" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Probability that exactly two will be defective = C(12,2)∗(0.1)ˆ2∗(0.9)ˆ10 = 0.230127770466\n", + "Probability that at least two will be defective = 1−(C(12,0)∗(0.9)ˆ12+C(12,1)∗(0.1)∗(0.9)ˆ11) = 0.340997748211\n", + "The probability that none will be defective = C(12,12)∗(0.9)ˆ12 = 0.282429536481\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Probability that exactly two will be defective = C(12,2)∗(0.1)ˆ2∗(0.9)ˆ10 = \",C(12,2)*(0.1)**2*(0.9)**10\n", + "print \"Probability that at least two will be defective = 1−(C(12,0)∗(0.9)ˆ12+C(12,1)∗(0.1)∗(0.9)ˆ11) = \",\n", + "print 1-(C(12,0)*(0.9)**12+C(12,1)*(0.1)*(0.9)**11)\n", + "print \"The probability that none will be defective = C(12,12)∗(0.9)ˆ12 = \",C(12,12)*(0.9)**12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.39, page no. 858" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of 8 heads and 4 tail sin 12 trials = p(8) = C(12,8)∗(1/2)ˆ8∗(1/2)ˆ4= 0.120849609375\n", + "The expected no. of such cases in 256 sets = 256∗p(8) = 30.9375\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Probability of 8 heads and 4 tail sin 12 trials = p(8) = C(12,8)∗(1/2)ˆ8∗(1/2)ˆ4= \",C(12.,8.)*(1./2)**8*(1./2)**4\n", + "print \"The expected no. of such cases in 256 sets = 256∗p(8) = \",256*(495./4096)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.40, page no. 859" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability of a defective part = 2/20 =0.1 \n", + "Probability of a non defective part = 0.9 \n", + "Probabaility of atleast three defectives in a sample = 0.323073194811\n", + "No. of sample shaving three defective parts = 1000∗0.323 = 323.0\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "def C(a,b):\n", + " x = math.factorial(a)/(math.factorial(b)*math.factorial(a-b))\n", + " return x\n", + "print \"Probability of a defective part = 2/20 =0.1 \"\n", + "print \"Probability of a non defective part = 0.9 \"\n", + "print \"Probabaility of atleast three defectives in a sample = \",\n", + "print 1-(C(20.,0.)*(0.9)**20+C(20.,1.)*(0.1)*(0.9)**19+C(20.,2.)*(0.1)**2*(0.9)**18)\n", + "print \"No. of sample shaving three defective parts = 1000∗0.323 = \",1000*0.323" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11+" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter35_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter35_1.ipynb new file mode 100644 index 00000000..5ca46e4e --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter35_1.ipynb @@ -0,0 +1,536 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 35 : Sampling And Inference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.1, page no. 864" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Suppose the coin is unbiased\n", + "Then probability of getting the head in a toss = 1/2 \n", + "Then, expected no. of successes = a = 1/2∗400\n", + "Observed no. of successes = 216\n", + "The excess of observed value over expected value = 216\n", + "S. D. of simple sampling = (n∗p∗q)ˆ0.5 = c \n", + "Hence, z = (b−a)/c = 21.6\n", + "As z<1.96, the hypothesis is accepted at 5% level of significance\n" + ] + } + ], + "source": [ + "print \"Suppose the coin is unbiased\"\n", + "print \"Then probability of getting the head in a toss = 1/2 \"\n", + "print \"Then, expected no. of successes = a = 1/2∗400\"\n", + "a = 1/2*400\n", + "print \"Observed no. of successes = 216\"\n", + "b = 216\n", + "print \"The excess of observed value over expected value = \",b-a\n", + "print \"S. D. of simple sampling = (n∗p∗q)ˆ0.5 = c \"\n", + "c = (400*0.5*0.5)**0.5\n", + "print \"Hence, z = (b−a)/c = \",(b-a)/c\n", + "print \"As z<1.96, the hypothesis is accepted at 5% level of significance\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.2, page no. 865" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Suppose the die is unbiased \n", + "Then probability of getting 5 or 6 with one die=1/3 \n", + "Then, expected no. of successes = a = 1/3∗9000 \n", + "Observed no. of successes = 3240\n", + "The excess of observed value over expected value = 240.0\n", + "S. D. of simple sampling = (n∗p∗q)ˆ0.5=c\n", + "Hence, z = (b−a)/c = 5.366563146\n", + "As z>2.58, the hypothesis has to be rejected at 1% level of significance\n" + ] + } + ], + "source": [ + "print \"Suppose the die is unbiased \"\n", + "print \"Then probability of getting 5 or 6 with one die=1/3 \"\n", + "print \"Then, expected no. of successes = a = 1/3∗9000 \"\n", + "a = 1./3*9000\n", + "print \"Observed no. of successes = 3240\"\n", + "b = 3240\n", + "print \"The excess of observed value over expected value = \",b-a\n", + "print \"S. D. of simple sampling = (n∗p∗q)ˆ0.5=c\"\n", + "c = (9000*(1./3)*(2./3))**0.5\n", + "print \"Hence, z = (b−a)/c = \",(b-a)/c\n", + "print \"As z>2.58, the hypothesis has to be rejected at 1% level of significance\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.3, page no. 865" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "q = 1−p \n", + "Standard error of the population of families having a monthly income of rs. 250 or less=(p∗q/n)ˆ0.5 = 0.0148442858929\n", + "Hence taking 103/420 to be the estimate of families having a monthly income of rs. 250 or less, the limits are 20% and 29% approximately\n" + ] + } + ], + "source": [ + "p = 206./840\n", + "print \"q = 1−p \"\n", + "q = 1-p\n", + "n = 840\n", + "print \"Standard error of the population of families having a monthly income of rs. 250 or less=(p∗q/n)ˆ0.5 = \",(p*q/n)**0.5\n", + "print \"Hence taking 103/420 to be the estimate of families having a monthly income of rs. 250 or less, the limits are 20% and 29% approximately\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.4, page no. 866" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p=(n1∗p1+n2∗p2)/(n1+n2)\n", + "0.1904\n", + "q = 1−p \n", + "0.8096\n", + "e=(p∗q∗(1/n1+1/n2))ˆ0.5\n", + "0.0163590274093\n", + "z = 0.916924926202\n", + "As z<1, the difference between the proportions is not significant. \n" + ] + } + ], + "source": [ + "n1 = 900\n", + "n2 = 1600\n", + "p1 = 20./100\n", + "p2 = 18.5/100\n", + "print \"p=(n1∗p1+n2∗p2)/(n1+n2)\"\n", + "p = (n1*p1+n2*p2)/(n1+n2)\n", + "print p\n", + "print \"q = 1−p \"\n", + "q = 1-p\n", + "print q\n", + "print \"e=(p∗q∗(1/n1+1/n2))ˆ0.5\"\n", + "e = (p*q*((1./n1)+(1./n2)))**0.5\n", + "print e\n", + "z = (p1-p2)/e\n", + "print \"z = \",z\n", + "print \"As z<1, the difference between the proportions is not significant. \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.5, page no. 867" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "q1 = 1−p1 \n", + "q2=1−p2\n", + "e=((p1∗q1/n1)+(p2*q2/n2))ˆ0.5\n", + "Hence, it is likely that real difference will be hidden.\n" + ] + } + ], + "source": [ + "p1 = 0.3\n", + "p2 = 0.25\n", + "print \"q1 = 1−p1 \"\n", + "q1 = 1-p1\n", + "print \"q2=1−p2\"\n", + "q2 = 1-p2\n", + "n1 = 1200\n", + "n2 = 900\n", + "print \"e=((p1∗q1/n1)+(p2*q2/n2))ˆ0.5\"\n", + "e = ((p1*q1/n1)+(p2*q2/n2))**0.5\n", + "z = (p1-p2)/e\n", + "print \"Hence, it is likely that real difference will be hidden.\" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.6, page no. 868" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m and n represents mean and number of objects in sample respectively \n", + "z=(m−M)/(d/(nˆ0.5)\n", + "z = 2.7950310559\n", + "As z>1.96, it cannot be regarded as a random sample\n" + ] + } + ], + "source": [ + "print \"m and n represents mean and number of objects in sample respectively \"\n", + "m = 3.4\n", + "n = 900.\n", + "M = 3.25\n", + "d = 1.61\n", + "print \"z=(m−M)/(d/(nˆ0.5)\"\n", + "z = (m-M)/(d/(n**0.5))\n", + "print \"z = \",z\n", + "print \"As z>1.96, it cannot be regarded as a random sample\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.9, page no. 871" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m1 and n1 represents mean and no. of objects in sample 1\n", + "m2 and n2 represents mean and no. of objects in sample 2\n", + "On the hypothesis that the samples are drawn from the same population of d = 2.5, we get\n", + "z = -5.16397779494\n", + "Since |z|>1.96, thus samples cannot be regarded as drawn from the same population\n" + ] + } + ], + "source": [ + "print \"m1 and n1 represents mean and no. of objects in sample 1\"\n", + "print \"m2 and n2 represents mean and no. of objects in sample 2\"\n", + "m1 = 67.5\n", + "m2 = 68.\n", + "n1 = 1000.\n", + "n2 = 2000.\n", + "d = 2.5\n", + "print \"On the hypothesis that the samples are drawn from the same population of d = 2.5, we get\"\n", + "z = (m1-m2)/(d*((1/n1)+(1/n2))**0.5)\n", + "print \"z = \",z\n", + "print \"Since |z|>1.96, thus samples cannot be regarded as drawn from the same population\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.10, page no. 872" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m1, d1 and n1 denotes mean, deviation and no.of objects in first sample \n", + "m2, d2 and n2 denotes mean, deviation and no.of objects in second sample\n", + "S. E. of the difference of the mean heights is 0.0703246933872\n", + "-0.7\n", + "|m1−m2|>10e, this is highly significant. hence, the data indicates that the sailors are on the average taller than the soldiers.\n" + ] + } + ], + "source": [ + "print \"m1, d1 and n1 denotes mean, deviation and no.of objects in first sample \"\n", + "m1 = 67.85\n", + "d1 = 2.56\n", + "n1 = 6400.\n", + "print \"m2, d2 and n2 denotes mean, deviation and no.of objects in second sample\"\n", + "m2 = 68.55\n", + "d2 = 2.52\n", + "n2 = 1600.\n", + "print \"S. E. of the difference of the mean heights is \",\n", + "e = ((d**2/n1)+(d2**2/n2))**0.5\n", + "print e\n", + "print m1-m2\n", + "print \"|m1−m2|>10e, this is highly significant. hence, the data indicates that the sailors are on the average taller than the soldiers.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.12, page no. 874" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First of row denotes the different values of sample \n", + "The second row denotes the corresponding deviation\n", + "The third row denotes the corresponding square of deviation\n", + "The sum of second row elements = 10.0\n", + "The sum of third row elements = 66.0\n", + "let m be the mean \n", + "let d be the standard deviation\n", + "1.84522581263\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros((3,9))\n", + "n = 9\n", + "print \"First of row denotes the different values of sample \"\n", + "A[0,:] = [45,47,50,52,48,47,49,53,51]\n", + "print \"The second row denotes the corresponding deviation\"\n", + "for i in range(0,9):\n", + " A[1,i] = A[0,i]-48\n", + "print \"The third row denotes the corresponding square of deviation\"\n", + "for i in range(0,9):\n", + " A[2,i] = A[1,i]**2\n", + "print \"The sum of second row elements = \",\n", + "a =0\n", + "for i in range(0,9):\n", + " a = a+A[1,i]\n", + "print a\n", + "print \"The sum of third row elements = \",\n", + "b = 0\n", + "for i in range(0,9):\n", + " b = b+A[2,i]\n", + "print b\n", + "print \"let m be the mean \"\n", + "m = 48+a/n\n", + "print \"let d be the standard deviation\"\n", + "d = ((b/n)-(a/n)**2)**0.5\n", + "t = (m-47.5)*(n-1)**0.5/d\n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 35.13, page no. 876" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d and n represents the deviation and no. objects in given sample\n", + "Taking the hypothesis that the product is not inferior i.e. there is no significant difference between m and M\n", + "3.15\n", + "Degrees of freedom= \n", + "9.0\n" + ] + } + ], + "source": [ + "print \"d and n represents the deviation and no. objects in given sample\"\n", + "n = 10.\n", + "d = 0.04\n", + "m = 0.742\n", + "M = 0.700\n", + "print \"Taking the hypothesis that the product is not inferior i.e. there is no significant difference between m and M\"\n", + "t = (m-M)*(n-1)**0.5/d\n", + "print t\n", + "print \"Degrees of freedom= \"\n", + "f = n-1\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 34.15, page no. 878" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first row denotes the boy no. \n", + "The second row denotes the marks in test I(x1)\n", + "The third row denotes the marks in test I(x2)\n", + "The fourth row denotes the difference of marks in two tests(d)\n", + "The fifth row denotes the (d−1)\n", + "The sixth row denotes the square of elements of fourth row \n", + "[[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.]\n", + " [ 23. 20. 19. 21. 18. 20. 18. 17. 23. 16. 19.]\n", + " [ 24. 19. 22. 18. 20. 22. 20. 20. 23. 20. 17.]\n", + " [ 1. -1. 3. -3. 2. 2. 2. 3. 0. 4. -2.]\n", + " [ 0. -2. 2. -4. 1. 1. 1. 2. -1. 3. -3.]\n", + " [ 1. 1. 9. 9. 4. 4. 4. 9. 0. 16. 4.]]\n", + "The sum of elements of fourth row=\n", + "11.0\n", + "The sum of elements of sixth row= \n", + "61.0\n", + "Standard deviation\n", + "d = 2.46981780705\n", + "t = 1.48063606712\n" + ] + } + ], + "source": [ + "import numpy\n", + "\n", + "A = numpy.zeros((6,11))\n", + "n = 11\n", + "print \"The first row denotes the boy no. \"\n", + "A[0,:] = [1,2,3,4,5,6,7,8,9,10,11]\n", + "print \"The second row denotes the marks in test I(x1)\"\n", + "A[1,:] = [23,20,19,21,18,20,18,17,23,16,19]\n", + "print \"The third row denotes the marks in test I(x2)\"\n", + "A[2,:] = [24,19,22,18,20,22,20,20,23,20,17]\n", + "print \"The fourth row denotes the difference of marks in two tests(d)\"\n", + "for i in range (0,11):\n", + " A[3,i] = A[2,i]-A[1,i]\n", + "print \"The fifth row denotes the (d−1)\"\n", + "for i in range (0,11):\n", + " A[4,i] = A[3,i]-1\n", + "print \"The sixth row denotes the square of elements of fourth row \"\n", + "for i in range(0,11):\n", + " A[5,i] = A[3,i]**2\n", + "print A\n", + "a = 0\n", + "print \"The sum of elements of fourth row=\"\n", + "for i in range(0,11):\n", + " a = a+A[3,i]\n", + "print a\n", + "b = 0\n", + "print \"The sum of elements of sixth row= \"\n", + "for i in range(0,11):\n", + " b = b + A[5,i]\n", + "print b\n", + "print \"Standard deviation\"\n", + "d = (b/(n-1))**0.5\n", + "t = (1-0)*(n)**0.5/2.24\n", + "print \"d = \",d\n", + "print \"t = \",t" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter4_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter4_1.ipynb new file mode 100644 index 00000000..e40044d7 --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter4_1.ipynb @@ -0,0 +1,1208 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4: Diffrentiations And Applications" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 4.1, page no. 133" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "We have to find yn for F=cosxcos2xcos3x\n", + "Enter the order of differentiation: 0\n", + "calculating yn..\n", + "The expression for yn is\n", + "cos(x)*cos(2*x)*cos(3*x)\n" + ] + } + ], + "source": [ + "import sympy\n", + "import numpy\n", + "import math\n", + "\n", + "print \"We have to find yn for F=cosxcos2xcos3x\"\n", + "x = sympy.Symbol('x')\n", + "F = sympy.cos(x)*sympy.cos(2*x)*sympy.cos(3*x)\n", + "n = int(raw_input(\"Enter the order of differentiation: \"))\n", + "print \"calculating yn..\"\n", + "yn= sympy.diff(F,x,n)\n", + "print \"The expression for yn is\"\n", + "print yn " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.5, page no. 137" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "we have to find yn for F=cosxcos2xcos3x\n", + "Enter the order of differentiation: 0\n", + "calculating yn\n", + "The expression for yn is\n", + "x/((x - 1)*(2*x + 3))\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print 'we have to find yn for F=cosxcos2xcos3x'\n", + "x = sympy.Symbol('x')\n", + "F = x/((x-1)*(2*x+3))\n", + "n = int(raw_input(\"Enter the order of differentiation: \"))\n", + "print \"calculating yn\"\n", + "yn= sympy.diff(F,x,n)\n", + "print \"The expression for yn is\"\n", + "print yn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.6, page no. 138" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "We have to find yn for F=cosxcos2xcos3x\n", + "Enter the orde of differentiation:0\n", + "calculating yn\n", + "the expression for yn is\n", + "x/(a**2 + x**2)\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print \"We have to find yn for F=cosxcos2xcos3x\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "F = x/(x**2+a**2)\n", + "n = raw_input (\"Enter the orde of differentiation:\")\n", + "print \"calculating yn\"\n", + "yn = diff(F,x,n)\n", + "print \"the expression for yn is\"\n", + "print yn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.7, page no. 139" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "we have to find yn for F=cosxcos2xcos3x\n", + "Enter the order of differentiation: 0\n", + "calculating yn\n", + "the expression for yn is\n", + "2.71828182845905**x*(2*x + 3)**3\n" + ] + } + ], + "source": [ + "import sympy, math\n", + "\n", + "print \"we have to find yn for F=cosxcos2xcos3x\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "F = math.e**(x)*(2*x+3)**3\n", + "n = raw_input (\"Enter the order of differentiation: \")\n", + "print \"calculating yn\"\n", + "yn = diff(F,x,n)\n", + "print \"the expression for yn is\"\n", + "print yn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.8, page no. 139" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y=(sinˆ-1)x) --sign inverse x\n", + "we have to prove (1-xˆ2)y(n+2)-(2n+1)xy(n+1)-nˆ2 yn\n", + "Calculating yn for various values of n\n", + "1\n", + "The expression for yn is\n", + "-6*x*(x*asin(x)/(-x**2 + 1)**(3/2) - 1/(x**2 - 1)) - 2*(a**2 + 1)*asin(x)/sqrt(-x**2 + 1) + 2*(-x**2 + 1)*(3*x**2*asin(x)/(-x**2 + 1)**(5/2) + 3*x/(x**2 - 1)**2 + asin(x)/(-x**2 + 1)**(3/2))\n", + "Which is equal to 0\n", + "2\n", + "The expression for yn is\n", + "-10*x*(3*x**2*asin(x)/(-x**2 + 1)**(5/2) + 3*x/(x**2 - 1)**2 + asin(x)/(-x**2 + 1)**(3/2)) - 2*(a**2 + 4)*(x*asin(x)/(-x**2 + 1)**(3/2) - 1/(x**2 - 1)) + 2*(-x**2 + 1)*(15*x**3*asin(x)/(-x**2 + 1)**(7/2) - 15*x**2/(x**2 - 1)**3 + 9*x*asin(x)/(-x**2 + 1)**(5/2) + 4/(x**2 - 1)**2)\n", + "Which is equal to 0\n", + "3\n", + "The expression for yn is\n", + "-14*x*(15*x**3*asin(x)/(-x**2 + 1)**(7/2) - 15*x**2/(x**2 - 1)**3 + 9*x*asin(x)/(-x**2 + 1)**(5/2) + 4/(x**2 - 1)**2) - 2*(a**2 + 9)*(3*x**2*asin(x)/(-x**2 + 1)**(5/2) + 3*x/(x**2 - 1)**2 + asin(x)/(-x**2 + 1)**(3/2)) + 2*(-x**2 + 1)*(105*x**4*asin(x)/(-x**2 + 1)**(9/2) + 105*x**3/(x**2 - 1)**4 + 90*x**2*asin(x)/(-x**2 + 1)**(7/2) - 55*x/(x**2 - 1)**3 + 9*asin(x)/(-x**2 + 1)**(5/2))\n", + "Which is equal to 0\n", + "4\n", + "The expression for yn is\n", + "-18*x*(105*x**4*asin(x)/(-x**2 + 1)**(9/2) + 105*x**3/(x**2 - 1)**4 + 90*x**2*asin(x)/(-x**2 + 1)**(7/2) - 55*x/(x**2 - 1)**3 + 9*asin(x)/(-x**2 + 1)**(5/2)) - 2*(a**2 + 16)*(15*x**3*asin(x)/(-x**2 + 1)**(7/2) - 15*x**2/(x**2 - 1)**3 + 9*x*asin(x)/(-x**2 + 1)**(5/2) + 4/(x**2 - 1)**2) + 2*(-x**2 + 1)*(945*x**5*asin(x)/(-x**2 + 1)**(11/2) - 945*x**4/(x**2 - 1)**5 + 1050*x**3*asin(x)/(-x**2 + 1)**(9/2) + 735*x**2/(x**2 - 1)**4 + 225*x*asin(x)/(-x**2 + 1)**(7/2) - 64/(x**2 - 1)**3)\n", + "Which is equal to 0\n", + "Hence Proved\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print 'y=(sinˆ-1)x) --sign inverse x'\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = (sympy.asin(x))**2;\n", + "print 'we have to prove (1-xˆ2)y(n+2)-(2n+1)xy(n+1)-nˆ2 yn'\n", + "print 'Calculating yn for various values of n'\n", + "for n in range(1,5):\n", + " F=(1-x**2)*sympy.diff(y,x,n+2)-(2*n+1)*x*sympy.diff(y,x,n+1)-(n**2+a**2)*sympy.diff(y,x,n)\n", + " print n\n", + " print 'The expression for yn is'\n", + " print F\n", + " print 'Which is equal to 0'\n", + "print 'Hence Proved'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.9, page no. 140" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y=eˆ(a(sinˆ-1)x))--sign inverse x\n", + "We have to prove (1-xˆ2)y(n+2)-(2n+1)xy(n+1)-(nˆ2+aˆ2)yn\n", + "Calculating yn for various values of n\n", + "1\n", + "The expression for yn is\n", + "-3.0*2.71828182845905**(a*asin(x))*a*x*(-a/(x**2 - 1) + x/(-x**2 + 1)**(3/2)) - 1.0*2.71828182845905**(a*asin(x))*a*(a**2 + 1)/sqrt(-x**2 + 1) + 2.71828182845905**(a*asin(x))*a*(-x**2 + 1)*(1.0*a**2/(-x**2 + 1)**(3/2) + 3.0*a*x/(x**2 - 1)**2 + 3.0*x**2/(-x**2 + 1)**(5/2) + 1.0/(-x**2 + 1)**(3/2))\n", + "Which is equal to 0\n", + "2\n", + "The expression for yn is\n", + "-5*2.71828182845905**(a*asin(x))*a*x*(1.0*a**2/(-x**2 + 1)**(3/2) + 3.0*a*x/(x**2 - 1)**2 + 3.0*x**2/(-x**2 + 1)**(5/2) + 1.0/(-x**2 + 1)**(3/2)) - 1.0*2.71828182845905**(a*asin(x))*a*(a**2 + 4)*(-a/(x**2 - 1) + x/(-x**2 + 1)**(3/2)) + 2.71828182845905**(a*asin(x))*a*(-x**2 + 1)*(1.0*a**3/(x**2 - 1)**2 + 6.0*a**2*x/(-x**2 + 1)**(5/2) - 15.0*a*x**2/(x**2 - 1)**3 + 4.0*a/(x**2 - 1)**2 + 15.0*x**3/(-x**2 + 1)**(7/2) + 9.0*x/(-x**2 + 1)**(5/2))\n", + "Which is equal to 0\n", + "3\n", + "The expression for yn is\n", + "-7*2.71828182845905**(a*asin(x))*a*x*(1.0*a**3/(x**2 - 1)**2 + 6.0*a**2*x/(-x**2 + 1)**(5/2) - 15.0*a*x**2/(x**2 - 1)**3 + 4.0*a/(x**2 - 1)**2 + 15.0*x**3/(-x**2 + 1)**(7/2) + 9.0*x/(-x**2 + 1)**(5/2)) - 2.71828182845905**(a*asin(x))*a*(a**2 + 9)*(1.0*a**2/(-x**2 + 1)**(3/2) + 3.0*a*x/(x**2 - 1)**2 + 3.0*x**2/(-x**2 + 1)**(5/2) + 1.0/(-x**2 + 1)**(3/2)) + 2.71828182845905**(a*asin(x))*a*(-x**2 + 1)*(1.0*a**4/(-x**2 + 1)**(5/2) - 10.0*a**3*x/(x**2 - 1)**3 + 45.0*a**2*x**2/(-x**2 + 1)**(7/2) + 10.0*a**2/(-x**2 + 1)**(5/2) + 105.0*a*x**3/(x**2 - 1)**4 - 55.0*a*x/(x**2 - 1)**3 + 105.0*x**4/(-x**2 + 1)**(9/2) + 90.0*x**2/(-x**2 + 1)**(7/2) + 9.0/(-x**2 + 1)**(5/2))\n", + "Which is equal to 0\n", + "4\n", + "The expression for yn is\n", + "-9*2.71828182845905**(a*asin(x))*a*x*(1.0*a**4/(-x**2 + 1)**(5/2) - 10.0*a**3*x/(x**2 - 1)**3 + 45.0*a**2*x**2/(-x**2 + 1)**(7/2) + 10.0*a**2/(-x**2 + 1)**(5/2) + 105.0*a*x**3/(x**2 - 1)**4 - 55.0*a*x/(x**2 - 1)**3 + 105.0*x**4/(-x**2 + 1)**(9/2) + 90.0*x**2/(-x**2 + 1)**(7/2) + 9.0/(-x**2 + 1)**(5/2)) - 2.71828182845905**(a*asin(x))*a*(a**2 + 16)*(1.0*a**3/(x**2 - 1)**2 + 6.0*a**2*x/(-x**2 + 1)**(5/2) - 15.0*a*x**2/(x**2 - 1)**3 + 4.0*a/(x**2 - 1)**2 + 15.0*x**3/(-x**2 + 1)**(7/2) + 9.0*x/(-x**2 + 1)**(5/2)) + 2.71828182845905**(a*asin(x))*a*(-x**2 + 1)*(-1.0*a**5/(x**2 - 1)**3 + 15.0*a**4*x/(-x**2 + 1)**(7/2) + 105.0*a**3*x**2/(x**2 - 1)**4 - 20.0*a**3/(x**2 - 1)**3 + 420.0*a**2*x**3/(-x**2 + 1)**(9/2) + 195.0*a**2*x/(-x**2 + 1)**(7/2) - 945.0*a*x**4/(x**2 - 1)**5 + 735.0*a*x**2/(x**2 - 1)**4 - 64.0*a/(x**2 - 1)**3 + 945.0*x**5/(-x**2 + 1)**(11/2) + 1050.0*x**3/(-x**2 + 1)**(9/2) + 225.0*x/(-x**2 + 1)**(7/2))\n", + "Which is equal to 0\n", + "Hence proved\n" + ] + } + ], + "source": [ + "import sympy, math\n", + "\n", + "print 'y=eˆ(a(sinˆ-1)x))--sign inverse x'\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = math.e**(a*(sympy.asin(x)))\n", + "print 'We have to prove (1-xˆ2)y(n+2)-(2n+1)xy(n+1)-(nˆ2+aˆ2)yn'\n", + "print 'Calculating yn for various values of n'\n", + "for n in range(1,5):\n", + " F =(1-x**2)*sympy.diff(y,x,n+2)-(2*n+1)*x*sympy.diff(y,x,n+1)-(n**2+a**2)*sympy.diff(y,x,n)\n", + " print n\n", + " print 'The expression for yn is'\n", + " print F\n", + " print 'Which is equal to 0'\n", + "print 'Hence proved'\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.10, page no. 141" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y^(1/m)+y^-(1/m)=2x\n", + "OR y^(2/m)-2xy^(1/m)+1\n", + "OR y=[ x+(xˆ2-1)]ˆm and y=[x-(xˆ2 −1)]ˆm\n", + "For y=[x+(xˆ2−1)]ˆm\n", + "We have to prove (xˆ2−1)y(n+2)+(2n+1)xy(n+1)+(nˆ2−mˆ2)yn\n", + "Calculating various values for yn\n", + "1\n", + "The expression for yn is\n", + "3*m*x*(x**2 + x - 1)**m*(m*(2*x + 1)**2/(x**2 + x - 1) - (2*x + 1)**2/(x**2 + x - 1) + 2)/(x**2 + x - 1) + m*(-m**2 + 1)*(2*x + 1)*(x**2 + x - 1)**m/(x**2 + x - 1) + m*(2*x + 1)*(x**2 - 1)*(x**2 + x - 1)**m*(m**2*(2*x + 1)**2/(x**2 + x - 1) - 3*m*(2*x + 1)**2/(x**2 + x - 1) + 6*m + 2*(2*x + 1)**2/(x**2 + x - 1) - 6)/(x**2 + x - 1)**2\n", + "Which is equal to 0\n", + "2\n", + "The expression for yn is\n", + "5*m*x*(2*x + 1)*(x**2 + x - 1)**m*(m**2*(2*x + 1)**2/(x**2 + x - 1) - 3*m*(2*x + 1)**2/(x**2 + x - 1) + 6*m + 2*(2*x + 1)**2/(x**2 + x - 1) - 6)/(x**2 + x - 1)**2 + m*(-m**2 + 4)*(x**2 + x - 1)**m*(m*(2*x + 1)**2/(x**2 + x - 1) - (2*x + 1)**2/(x**2 + x - 1) + 2)/(x**2 + x - 1) + m*(x**2 - 1)*(x**2 + x - 1)**m*(m**3*(2*x + 1)**4/(x**2 + x - 1)**2 - 6*m**2*(2*x + 1)**4/(x**2 + x - 1)**2 + 12*m**2*(2*x + 1)**2/(x**2 + x - 1) + 11*m*(2*x + 1)**4/(x**2 + x - 1)**2 - 36*m*(2*x + 1)**2/(x**2 + x - 1) + 12*m - 6*(2*x + 1)**4/(x**2 + x - 1)**2 + 24*(2*x + 1)**2/(x**2 + x - 1) - 12)/(x**2 + x - 1)**2\n", + "Which is equal to 0\n", + "3\n", + "The expression for yn is\n", + "7*m*x*(x**2 + x - 1)**m*(m**3*(2*x + 1)**4/(x**2 + x - 1)**2 - 6*m**2*(2*x + 1)**4/(x**2 + x - 1)**2 + 12*m**2*(2*x + 1)**2/(x**2 + x - 1) + 11*m*(2*x + 1)**4/(x**2 + x - 1)**2 - 36*m*(2*x + 1)**2/(x**2 + x - 1) + 12*m - 6*(2*x + 1)**4/(x**2 + x - 1)**2 + 24*(2*x + 1)**2/(x**2 + x - 1) - 12)/(x**2 + x - 1)**2 + m*(-m**2 + 9)*(2*x + 1)*(x**2 + x - 1)**m*(m**2*(2*x + 1)**2/(x**2 + x - 1) - 3*m*(2*x + 1)**2/(x**2 + x - 1) + 6*m + 2*(2*x + 1)**2/(x**2 + x - 1) - 6)/(x**2 + x - 1)**2 + m*(2*x + 1)*(x**2 - 1)*(x**2 + x - 1)**m*(m**4*(2*x + 1)**4/(x**2 + x - 1)**2 - 10*m**3*(2*x + 1)**4/(x**2 + x - 1)**2 + 20*m**3*(2*x + 1)**2/(x**2 + x - 1) + 35*m**2*(2*x + 1)**4/(x**2 + x - 1)**2 - 120*m**2*(2*x + 1)**2/(x**2 + x - 1) + 60*m**2 - 50*m*(2*x + 1)**4/(x**2 + x - 1)**2 + 220*m*(2*x + 1)**2/(x**2 + x - 1) - 180*m + 24*(2*x + 1)**4/(x**2 + x - 1)**2 - 120*(2*x + 1)**2/(x**2 + x - 1) + 120)/(x**2 + x - 1)**3\n", + "Which is equal to 0\n", + "4\n", + "The expression for yn is\n", + "9*m*x*(2*x + 1)*(x**2 + x - 1)**m*(m**4*(2*x + 1)**4/(x**2 + x - 1)**2 - 10*m**3*(2*x + 1)**4/(x**2 + x - 1)**2 + 20*m**3*(2*x + 1)**2/(x**2 + x - 1) + 35*m**2*(2*x + 1)**4/(x**2 + x - 1)**2 - 120*m**2*(2*x + 1)**2/(x**2 + x - 1) + 60*m**2 - 50*m*(2*x + 1)**4/(x**2 + x - 1)**2 + 220*m*(2*x + 1)**2/(x**2 + x - 1) - 180*m + 24*(2*x + 1)**4/(x**2 + x - 1)**2 - 120*(2*x + 1)**2/(x**2 + x - 1) + 120)/(x**2 + x - 1)**3 + m*(-m**2 + 16)*(x**2 + x - 1)**m*(m**3*(2*x + 1)**4/(x**2 + x - 1)**2 - 6*m**2*(2*x + 1)**4/(x**2 + x - 1)**2 + 12*m**2*(2*x + 1)**2/(x**2 + x - 1) + 11*m*(2*x + 1)**4/(x**2 + x - 1)**2 - 36*m*(2*x + 1)**2/(x**2 + x - 1) + 12*m - 6*(2*x + 1)**4/(x**2 + x - 1)**2 + 24*(2*x + 1)**2/(x**2 + x - 1) - 12)/(x**2 + x - 1)**2 + m*(x**2 - 1)*(x**2 + x - 1)**m*(m**5*(2*x + 1)**6/(x**2 + x - 1)**3 - 15*m**4*(2*x + 1)**6/(x**2 + x - 1)**3 + 30*m**4*(2*x + 1)**4/(x**2 + x - 1)**2 + 85*m**3*(2*x + 1)**6/(x**2 + x - 1)**3 - 300*m**3*(2*x + 1)**4/(x**2 + x - 1)**2 + 180*m**3*(2*x + 1)**2/(x**2 + x - 1) - 225*m**2*(2*x + 1)**6/(x**2 + x - 1)**3 + 1050*m**2*(2*x + 1)**4/(x**2 + x - 1)**2 - 1080*m**2*(2*x + 1)**2/(x**2 + x - 1) + 120*m**2 + 274*m*(2*x + 1)**6/(x**2 + x - 1)**3 - 1500*m*(2*x + 1)**4/(x**2 + x - 1)**2 + 1980*m*(2*x + 1)**2/(x**2 + x - 1) - 360*m - 120*(2*x + 1)**6/(x**2 + x - 1)**3 + 720*(2*x + 1)**4/(x**2 + x - 1)**2 - 1080*(2*x + 1)**2/(x**2 + x - 1) + 240)/(x**2 + x - 1)**3\n", + "Which is equal to 0\n", + "Hence Proved\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "print 'y^(1/m)+y^-(1/m)=2x'\n", + "print 'OR y^(2/m)-2xy^(1/m)+1'\n", + "print 'OR y=[ x+(xˆ2-1)]ˆm and y=[x-(xˆ2 −1)]ˆm'\n", + "x = sympy.Symbol('x')\n", + "m = sympy.Symbol('m')\n", + "print 'For y=[x+(xˆ2−1)]ˆm'\n", + "y=(x+(x**2-1))**m\n", + "print 'We have to prove (xˆ2−1)y(n+2)+(2n+1)xy(n+1)+(nˆ2−mˆ2)yn'\n", + "print 'Calculating various values for yn'\n", + "for n in range(1,5):\n", + " F=(x**2-1)*sympy.diff(y,x,n+2)+(2*n+1)*x*sympy.diff(y,x,n+1)+(n**2-m**2)*sympy.diff(y,x,n)\n", + " print n\n", + " print 'The expression for yn is'\n", + " print F\n", + " print 'Which is equal to 0'\n", + "print 'Hence Proved'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.11, page no. 144" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For roles theorem F9x should be differentiable in (a, b) and f(a)=f(b)\n", + "Here f(x)=sin(x)/e^x\n", + "-1.0*2.71828182845905**(-x)*sin(x) + 2.71828182845905**(-x)*cos(x)\n", + "Putting this to zero we get tan(x)=1 ie x=pi/4\n", + "Value pi/2 lies b/w 0 and pi. Hence roles theroem is verified\n" + ] + } + ], + "source": [ + "import sympy, math\n", + "\n", + "print 'For roles theorem F9x should be differentiable in (a, b) and f(a)=f(b)'\n", + "print 'Here f(x)=sin(x)/e^x'\n", + "x = sympy.Symbol('x')\n", + "y = sympy.sin(x)/math.e**x\n", + "y1 = sympy.diff(y,x)\n", + "print y1\n", + "print 'Putting this to zero we get tan(x)=1 ie x=pi/4'\n", + "print 'Value pi/2 lies b/w 0 and pi. Hence roles theroem is verified'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.16 page no. 149" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maclaurin's Series\n", + "f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\n", + "Enter the orde of differentiation: 6\n", + "-I*x**5*atanh(sqrt(-sqrt(105)/30 + 1/2))/120 - I*x**3*atanh(sqrt(3)/3)/6\n" + ] + } + ], + "source": [ + "import numpy, sympy, math\n", + "\n", + "print \"Maclaurin's Series\"\n", + "print 'f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......'\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = sympy.tan(a)\n", + "n = int(raw_input(\"Enter the orde of differentiation: \"))\n", + "a = 1\n", + "t = sympy.solve(y)[0]\n", + "a = 0\n", + "for i in range(2,n+1):\n", + " y1 = sympy.diff (y,'a',i-1)\n", + " if sympy.solve(y1):\n", + " t = t+x**(i-1)*sympy.solve(y1)[0]/math.factorial(i-1)\n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.17, page no. 150" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maclaurins series\n", + "f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\n", + "enter the number of expression in series:2\n", + "1.5707963267949*x\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Maclaurins series\"\n", + "print \"f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = math.e**(sympy.sin(a))\n", + "n = int(raw_input('enter the number of expression in series:'))\n", + "a = 0\n", + "t = 0\n", + "a = 0\n", + "for i in range(2,n+1):\n", + " y1 = sympy.diff(y,'a',i-1) \n", + " t = t+x**(i-1)*sympy.solve(y1)[0]/math.factorial(i-1) \n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 4.18, page no. 150" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maclaurins series\n", + "f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\n", + "enter the number of differentiation involved in maclaurins series :3\n", + "x**2*atan(RootOf(tan(a/2)**4 - 10*tan(a/2)**2 + 1, 0))\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Maclaurins series\"\n", + "print \"f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = sympy.log(1+(sympy.sin(a))**2)\n", + "n = int(raw_input(\"enter the number of differentiation involved in maclaurins series :\"))\n", + "a = 0\n", + "t = 0\n", + "a = 0\n", + "for i in range(2,n+1):\n", + " y1 = sympy.diff(y,'a',i-1) \n", + " t = t+x**(i-1)*sympy.solve(y1)[0]/math.factorial(i-1) \n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 4.19, page no. 151" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maclaurins series\n", + "f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\n", + "enter the number of expression in series :2\n", + "1.0*2.71828182845905**(a*asin(b))*a*x*(-b**2 + 1.0)**(-0.5)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Maclaurins series\"\n", + "print \"f(x)=f(0)+xf1(0)+xˆ2/2!∗f2(0)+xˆ3/3!∗f3(0)+......\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "b = sympy.Symbol('b')\n", + "y = math.e**(a*sympy.asin(b))\n", + "y1 = sympy.diff(y, 'b', 1)\n", + "n = int(raw_input(\"enter the number of expression in series :\"))\n", + "b = 0\n", + "t = 0\n", + "for i in range(2,n+1):\n", + " y1 = sympy.diff(y,'b',i-1) \n", + " t = t+x**(i-1)*y1.evalf()/math.factorial(i-1) \n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.20, page no. 152" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Advantage of scilab is that we can calculate log1.1 directly without using Taylor series\n", + "Use of taylor series are given in subsequent examples\n", + "log(1.1) = 0.0953101798043\n" + ] + } + ], + "source": [ + "import numpy,math,sympy\n", + "\n", + "print \"Use of taylor series are given in subsequent examples\"\n", + "y = math.log(1.1)\n", + "print \"log(1.1) = \",math.log (1.1) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.21, page no. 152" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Taylor series\n", + "f(x+h)=f(x)+hf1(x)+hˆ2/2!∗f2(x)+hˆ3/3!∗f3(x)+......\n", + "To finf the taylor expansion of tan−1(x+h)\n", + "enter the number of expression in series : 2\n", + "h/(x**2 + 1) + atan(x)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Taylor series\"\n", + "print \"f(x+h)=f(x)+hf1(x)+hˆ2/2!∗f2(x)+hˆ3/3!∗f3(x)+......\"\n", + "print \"To finf the taylor expansion of tan−1(x+h)\"\n", + "x = sympy.Symbol('x')\n", + "h = sympy.Symbol('h')\n", + "y = sympy.atan ( x )\n", + "n = int(raw_input (\"enter the number of expression in series : \"))\n", + "t = y \n", + "for i in range (2,n+1):\n", + " y1 = sympy.diff (y,'x',i-1)\n", + " t = t+h**(i-1)*(y1)/math.factorial(i-1)\n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.22, page no. 153" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here we need to find the limit off(x) at x=0\n", + "2.46828182845905\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Here we need to find the limit off(x) at x=0\"\n", + "x = sympy.Symbol('x')\n", + "y = (x*math.e**x-sympy.log(1+x))/x**2\n", + "f = 1\n", + "while f==1:\n", + " yn = x*math.e**x-sympy.log(1+x)\n", + " yd = x**2;\n", + " yn1 = sympy.diff(yn,'x',1)\n", + " yd1 = sympy.diff(yd,'x',1)\n", + " x = 0\n", + " a = yn1.evalf(subs=dict(x=1))\n", + " b = yd1.evalf(subs=dict(x=1))\n", + " if a == b:\n", + " yn = yn1 \n", + " yd = yd1 \n", + " else:\n", + " f =0\n", + "h = a / b \n", + "print h" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.32, page no. 162" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Equation of tangent\n", + "Equation is g=0 where g is x - y\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Equation of tangent\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = sympy.Symbol('y')\n", + "f = (a**(2/3)-x**(2/3))**(3/2)\n", + "s = sympy.diff(f,x)\n", + "Y1 = s*(-x)+y\n", + "X1 = -y/s*x\n", + "g = x-(Y1-s*(X1-x))\n", + "print \"Equation is g=0 where g is\",g" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example, 4.34, page no. 163" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Equation of tangent\n", + "y = a*(-t*cos(t) + sin(t)) + (-a*(t*sin(t) + cos(t)) + x)*cos(t)/sin(t)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Equation of tangent\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = sympy.Symbol('y')\n", + "t = sympy.Symbol('t')\n", + "xo = a*(sympy.cos(t)+t*sympy.sin(t))\n", + "yo = a*(sympy.sin(t)-t*sympy.cos(t))\n", + "s = sympy.diff(xo,t)/sympy.diff(yo,t)\n", + "y = yo+s*(x-xo)\n", + "print \"y = \",y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.35, page no. 163" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The two given curves are xˆ=4y and yˆ2=4x which intersects at (0,0) and (4,4)\n", + "for (4 ,4)\n", + "Angle between them is (radians):−\n", + "atan(x/2)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"The two given curves are xˆ=4y and yˆ2=4x which intersects at (0,0) and (4,4)\"\n", + "print \"for (4 ,4)\"\n", + "x = 4\n", + "x = sympy.Symbol('x')\n", + "y1= x**2/4\n", + "y2 = 2*x**(1/2)\n", + "m1= sympy.diff(y1,x,1)\n", + "m2= sympy.diff(y2,x,1)\n", + "x = 4\n", + "print \"Angle between them is (radians):−\"\n", + "t= sympy.atan((m1-m2)/(1+m1*m2)) \n", + "print t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.37, page no. 165" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "length of tangent\n", + "a*(((tan(t/2)**2/2 + 1/2)/tan(t/2) - sin(t))/cos(t) + 1)**0.5*sin(t)\n", + "checking for its dependency on t\n", + "verified and equal to a\n", + "subtangent\n", + "a*sin(t)*cos(t)/((tan(t/2)**2/2 + 1/2)/tan(t/2) - sin(t))\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "a = sympy.Symbol('a')\n", + "t = sympy.Symbol('t')\n", + "x = a*(sympy.cos(t)+sympy.log(sympy.tan(t/2)))\n", + "y = a*sympy.sin(t)\n", + "s = sympy.diff(x,t,1)/sympy.diff(y,t,1)\n", + "print \"length of tangent\"\n", + "l = y*(1+s)**(0.5)\n", + "print l\n", + "print \"checking for its dependency on t\"\n", + "f = 1\n", + "t = 0\n", + "k = sympy.solve(l)\n", + "for i in range(1,11):\n", + " t = i\n", + " if(sympy.solve(l)!=k):\n", + " f = 0\n", + "if(f==1):\n", + " print \"verified and equal to a\"\n", + "print \"subtangent\"\n", + "m = y/s\n", + "print m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.39, page no. 168" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Angle of intersection\n", + "point of intersection of r=sint+cost and r=2 sint is t=pi/4\n", + "tanu=dQ/dr∗r\n", + "The angle at point of intersection in radians is : \n", + "atan(2*(-sin(Q) + cos(Q))*sin(Q))\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"Angle of intersection\"\n", + "print \"point of intersection of r=sint+cost and r=2 sint is t=pi/4\"\n", + "print \"tanu=dQ/dr∗r\"\n", + "Q = sympy.Symbol('Q')\n", + "r1 = 2*sympy.sin(Q)\n", + "r2 = sympy.sin(Q)+sympy.cos(Q)\n", + "u = sympy.atan(r1*sympy.diff(r2,Q,1))\n", + "Q = math.pi/4\n", + "u = u.evalf()\n", + "print \"The angle at point of intersection in radians is : \"\n", + "print u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.41, page no. 170" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tanu=dQ/dr∗r\n", + "atan(2*a/((-sin(Q) + cos(Q))*(-cos(Q) + 1)))\n", + "4.0*a**2*(4.0*a**2/((-sin(Q) + cos(Q))**2*(-cos(Q) + 1.0)**2) + 1.0)**(-0.5)/((-sin(Q) + cos(Q))*(-cos(Q) + 1.0)**2)\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "\n", + "print \"tanu=dQ/dr∗r\"\n", + "Q = sympy.Symbol('Q')\n", + "a = sympy.Symbol('a')\n", + "r = 2*a/(1-sympy.cos(Q))\n", + "u = sympy.atan(r/sympy.diff(r2,Q,1))\n", + "u = u.evalf()\n", + "print u\n", + "p = r*sympy.sin(u)\n", + "r = sympy.Symbol('r')\n", + "Q = sympy.acos(1-2*a/r)\n", + "p = p.evalf()\n", + "print p" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.43, page no. 172" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The radius of curvature is : -(1 + sin(t)**2/(cos(t) + 1)**2)*sin(t)/cos(t)\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "a = sympy.Symbol('a')\n", + "t = sympy.Symbol('t')\n", + "x = a*(t+sympy.sin(t))\n", + "y = a*(1-sympy.cos(t))\n", + "s2 = sympy.diff(y,t,2)/sympy.diff(x,t,2)\n", + "s1 = sympy.diff(y,t,1)/sympy.diff(x,t,1)\n", + "r = (1+s1**2)**(3/2)/s2\n", + "print \"The radius of curvature is :\",r" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.46, page no. 176" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "radius of curvature\n", + "(a**2*(-cos(t) + 1.0)**2 + a**2*sin(t)**2)/(a**2*(-cos(t) + 1.0)**2 - a**2*(-cos(t) + 1.0)*sin(t) + 2.0*a**2*sin(t)**2)\n", + "Which is proportional to rˆ0.5\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"radius of curvature\"\n", + "a = sympy.Symbol('a')\n", + "t = sympy.Symbol('t')\n", + "r = a*(1-sympy.cos(t))\n", + "r1 = sympy.diff(r,t,1) \n", + "l = (r**2+r1**2)**(3/2)/(r**2+2*r1**2-r*r1)\n", + "r = sympy.Symbol('r')\n", + "t = sympy.acos(1-r/a)\n", + "l = l.evalf()\n", + "print l\n", + "print \"Which is proportional to rˆ0.5\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.47, page no. 177" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The centre of curvature\n", + "the coordinates x,y are resp : \n", + "2.0*x*(1 + 1.0*(a*x)**0.5/x)**2 + x\n", + "-2.0*x**2*(a*x)**(-0.5)*(1 + 1.0*(a*x)**1.0/x**2) + 2*(a*x)**0.5\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"The centre of curvature\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "y = sympy.Symbol('y')\n", + "y = 2*(a*x)**0.5\n", + "y1 = sympy.diff(y,x,1)\n", + "y2 = sympy.diff(y,x,2)\n", + "xx = x-y1*(1+y1)**2/y2\n", + "yy = y+(1+y1**2)/y2\n", + "print \"the coordinates x,y are resp : \"\n", + "print xx\n", + "print yy" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Examle 4.48, page no. 177" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "centre of curvature of given cycloid\n", + "the coordinates x,y are resp : \n", + "a*(t - sin(t)) - (a*sin(t) + 1)**2*sin(t)/cos(t)\n", + "a*(-cos(t) + 1) + (a**2*sin(t)**2 + 1)/(a*cos(t))\n", + "which another parametric equation of cycloid\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"centre of curvature of given cycloid\"\n", + "a = sympy.Symbol('a')\n", + "t = sympy.Symbol('t')\n", + "x = a*(t-sympy.sin(t))\n", + "y = a*(1-sympy.cos(t))\n", + "y1 = sympy.diff(y,t,1)\n", + "y2 = sympy.diff(y,t,2)\n", + "xx = x-y1*(1+y1)**2/y2 \n", + "yy = y+(1+y1**2)/y2\n", + "print \"the coordinates x,y are resp : \"\n", + "print xx\n", + "print yy\n", + "print \"which another parametric equation of cycloid\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.52, page no. 180" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To find the maxima and minima of given function put f1(x)=0\n", + "[-1, 1/2, 1]\n" + ] + } + ], + "source": [ + "import sympy\n", + "print 'To find the maxima and minima of given function put f1(x)=0'\n", + "x = sympy.Symbol('x')\n", + "f=3*x**4-2*x**3-6*x**2+6*x+1\n", + "k = sympy.diff(f,x)\n", + "x = sympy.poly(0,x)\n", + "k = sympy.solve(k)\n", + "print k" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.61, page no. 188" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "to find the assymptote of given curve\n", + "assymptotes parallel to x−axis is given by f1=0 where f1 is : \n", + "[1, -1, -1, 1, 1, 1]\n", + "assymptotes parallel to y−axis is given by f 2=0 and f2 is : \n", + "x**2*y**2 - x**2*y - x*y**2 + x + y + 1\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "print \"to find the assymptote of given curve\"\n", + "x = sympy.Symbol('x')\n", + "y = sympy.Symbol('y')\n", + "f = x**2*y**2-x**2*y-x*y**2+x+y+1\n", + "f1 = sympy.poly(f,y,x)\n", + "f1 = f1.coeffs()\n", + "print \"assymptotes parallel to x−axis is given by f1=0 where f1 is : \"\n", + "print sympy.factor(f1)\n", + "f2 = sympy.poly(f,y,x)\n", + "print \"assymptotes parallel to y−axis is given by f 2=0 and f2 is : \"\n", + "print sympy.factor(f2)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter5_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter5_1.ipynb new file mode 100644 index 00000000..2056bd4b --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter5_1.ipynb @@ -0,0 +1,317 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 : Partial Differentiation And Its Applications" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 5.5, page no. 195" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2*(4*x**2/(x**2 + y**2 + z**2) - 1)/(x**2 + y**2 + z**2)**2 + 2*(4*y**2/(x**2 + y**2 + z**2) - 1)/(x**2 + y**2 + z**2)**2 + 2*(4*z**2/(x**2 + y**2 + z**2) - 1)/(x**2 + y**2 + z**2)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "x = sympy.Symbol('x')\n", + "y = sympy.Symbol('y')\n", + "z = sympy.Symbol('z')\n", + "v = (x**2+y**2+z**2)**(-1/2)\n", + "a = sympy.diff(v,x,2)\n", + "b = sympy.diff(v,y,2)\n", + "c = sympy.diff(v,z,2)\n", + "print a+b+c" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.14, page no. 203" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x*(-0.5*x**(-0.5)*(x + y)/(x**0.5 + y**0.5)**2 + 1/(x**0.5 + y**0.5))/sqrt(1 - (x + y)**2/(x**0.5 + y**0.5)**2) + y*(-0.5*y**(-0.5)*(x + y)/(x**0.5 + y**0.5)**2 + 1/(x**0.5 + y**0.5))/sqrt(1 - (x + y)**2/(x**0.5 + y**0.5)**2)\n", + "0\n", + "x**2*((0.25*x**(-1.5)*(x + y)/(x**0.5 + y**0.5)**2 + 0.5*x**(-1.0)*(x + y)/(x**0.5 + y**0.5)**3 - 1.0*x**(-0.5)/(x**0.5 + y**0.5)**2)/sqrt(1 - (x + y)**2/(x**0.5 + y**0.5)**2) + (-0.5*x**(-0.5)*(x + y)**2/(x**0.5 + y**0.5)**3 + (2*x + 2*y)/(2*(x**0.5 + y**0.5)**2))*(-0.5*x**(-0.5)*(x + y)/(x**0.5 + y**0.5)**2 + 1/(x**0.5 + y**0.5))/(1 - (x + y)**2/(x**0.5 + y**0.5)**2)**(3/2)) + 2*x*y*((0.5*x**(-0.5)*y**(-0.5)*(x + y)/(x**0.5 + y**0.5)**3 - 0.5*x**(-0.5)/(x**0.5 + y**0.5)**2 - 0.5*y**(-0.5)/(x**0.5 + y**0.5)**2)/sqrt(1 - (x + y)**2/(x**0.5 + y**0.5)**2) + (-0.5*x**(-0.5)*(x + y)**2/(x**0.5 + y**0.5)**3 + (2*x + 2*y)/(2*(x**0.5 + y**0.5)**2))*(-0.5*y**(-0.5)*(x + y)/(x**0.5 + y**0.5)**2 + 1/(x**0.5 + y**0.5))/(1 - (x + y)**2/(x**0.5 + y**0.5)**2)**(3/2)) + y**2*((0.25*y**(-1.5)*(x + y)/(x**0.5 + y**0.5)**2 + 0.5*y**(-1.0)*(x + y)/(x**0.5 + y**0.5)**3 - 1.0*y**(-0.5)/(x**0.5 + y**0.5)**2)/sqrt(1 - (x + y)**2/(x**0.5 + y**0.5)**2) + (-0.5*y**(-0.5)*(x + y)**2/(x**0.5 + y**0.5)**3 + (2*x + 2*y)/(2*(x**0.5 + y**0.5)**2))*(-0.5*y**(-0.5)*(x + y)/(x**0.5 + y**0.5)**2 + 1/(x**0.5 + y**0.5))/(1 - (x + y)**2/(x**0.5 + y**0.5)**2)**(3/2))\n", + "-(x + y)*cos(2*asin((x + y)/(x**0.5 + y**0.5)))/(4*(1 - (x + y)**2/(x**0.5 + y**0.5)**2)**(3/2)*(x**0.5 + y**0.5))\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "x = sympy.Symbol('x')\n", + "y = sympy.Symbol('y')\n", + "u = sympy.asin((x+y)/(x**0.5+y**0.5))\n", + "a = sympy.diff(u,x)\n", + "b = sympy.diff(u,y)\n", + "c = sympy.diff(a,x)\n", + "d = sympy.diff(b,y)\n", + "e = sympy.diff(b,x)\n", + "print x*a+y*b\n", + "print (1/2)*sympy.tan(u)\n", + "print (x**2)*c+2*x*y*e+(y**2)*d\n", + "print (-sympy.sin(u)*sympy.cos(2*u))/(4*(sympy.cos(u))**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.25.1, page no. 204" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r*sin(l)**2 + r*cos(l)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "r = sympy.Symbol('r')\n", + "l = sympy.Symbol('l')\n", + "x = r*sympy.cos(l)\n", + "y = r*sympy.sin(l)\n", + "a = sympy.diff(x,r)\n", + "b = sympy.diff(x,l)\n", + "c = sympy.diff(y,r)\n", + "d = sympy.diff(y,l)\n", + "A = sympy.Matrix([[a,b],[c,d]])\n", + "print A.det()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.25.2, page no. 204" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r*sin(l)**2 + r*cos(l)**2\n" + ] + } + ], + "source": [ + "import sympy\n", + "\n", + "r = sympy.Symbol('r')\n", + "l = sympy.Symbol('l')\n", + "z = sympy.Symbol('z')\n", + "x = r*sympy.cos(l)\n", + "y = r*sympy.sin(l)\n", + "m = z\n", + "a = sympy.diff(x,r)\n", + "b = sympy.diff(x,l)\n", + "c = sympy.diff(x,z)\n", + "d = sympy.diff(y,r)\n", + "e = sympy.diff(y,l)\n", + "f = sympy.diff(y,z)\n", + "g = sympy.diff(m,r)\n", + "h = sympy.diff(m,l)\n", + "i = sympy.diff(m,z)\n", + "A = sympy.Matrix([[a,b,c],[d,e,f],[g,h,i]])\n", + "print A.det()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.25.3, page no. 205" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "r**2*sin(l)**2*sin(m)**3 + r**2*sin(l)**2*sin(m)*cos(m)**2 + r**2*sin(m)**3*cos(l)**2 + r**2*sin(m)*cos(l)**2*cos(m)**2\n" + ] + } + ], + "source": [ + "import sympy,numpy\n", + "\n", + "r = sympy.Symbol('r')\n", + "l = sympy.Symbol('l')\n", + "m = sympy.Symbol('m')\n", + "x = r*sympy.cos(l)*sympy.sin(m)\n", + "y = r*sympy.sin(l)*sympy.sin(m)\n", + "z = r*sympy.cos(m)\n", + "a = sympy.diff(x,r)\n", + "b = sympy.diff(x,m)\n", + "c = sympy.diff(x,l)\n", + "d = sympy.diff(y,r)\n", + "e = sympy.diff(y,m)\n", + "f = sympy.diff(y,l)\n", + "g = sympy.diff(z,r)\n", + "h = sympy.diff(z,m)\n", + "i = sympy.diff(z,l)\n", + "A = sympy.Matrix([[a,b,c],[d,e,f],[g,h,i]])\n", + "print A.det()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.26, page no. 206" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "x1 = sympy.Symbol('x1')\n", + "x2 = sympy.Symbol('x2')\n", + "x3 = sympy.Symbol('x3')\n", + "y1 =(x2*x3)/x1\n", + "y2 =(x3*x1)/x2\n", + "y3 =(x1*x2)/x3\n", + "a = sympy.diff(y1,x1)\n", + "b = sympy.diff(y1,x2)\n", + "c = sympy.diff(y1,x3)\n", + "d = sympy.diff(y2,x1)\n", + "e = sympy.diff(y2,x2)\n", + "f = sympy.diff(y2,x3)\n", + "g = sympy.diff(y3,x1)\n", + "h = sympy.diff(y3,x2)\n", + "i = sympy.diff(y3,x3)\n", + "A = sympy.Matrix([[a,b,c],[d,e,f],[g,h,i]])\n", + "print A.det()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.30, page no. 210" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-1.0*x*y*(-x**2 + 1)**(-0.5)/sqrt(-y**2 + 1) + 1.0*x*y*(-y**2 + 1)**(-0.5)/sqrt(-x**2 + 1)\n" + ] + } + ], + "source": [ + "import sympy,numpy\n", + "\n", + "x = sympy.Symbol('x')\n", + "y = sympy.Symbol('y')\n", + "u = x*(1-y**2)**0.5+y*(1-x**2)**0.5\n", + "v = sympy.asin(x)+sympy.asin(y)\n", + "a = sympy.diff(u,x)\n", + "b = sympy.diff(u,y)\n", + "c = sympy.diff(v,x)\n", + "d = sympy.diff(v,y)\n", + "A = sympy.Matrix([[a,b],[c,d]])\n", + "print A.det()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter6_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter6_1.ipynb new file mode 100644 index 00000000..4eb64354 --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter6_1.ipynb @@ -0,0 +1,743 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6 : Integration And Its Applications" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.1.1, page no. 199" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Indefinite integral\n", + "3*x/8 - sin(x)**3*cos(x)/4 - 3*sin(x)*cos(x)/8\n" + ] + } + ], + "source": [ + "import sympy,numpy\n", + "\n", + "print \"Indefinite integral\"\n", + "x = sympy.Symbol('x')\n", + "f = sympy.integrate((sympy.sin(x))**4,(x))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.1.2, page no. 200" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Indefinite integral\n", + "-sin(x)**7/7 + 3*sin(x)**5/5 - sin(x)**3 + sin(x)\n" + ] + } + ], + "source": [ + "import sympy,numpy\n", + "\n", + "print \"Indefinite integral\"\n", + "x = sympy.Symbol('x')\n", + "f = sympy.integrate((sympy.cos(x))**7,(x))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.2.1, page no. 202" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "0.490873852123\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "print \"Definite integral\"\n", + "x = sympy.Symbol('x')\n", + "f = sympy.integrate((sympy.cos(x))**6,(x,0,math.pi/2))\n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.2.2, page no. 202" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "zoo*a**6 + a**6*log(-2*a**2)/4 - 11*a**6/24\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "print \"Definite integral\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "g = x**7/(a**2-x**2)**1/2\n", + "f = sympy.integrate(g,(x,0,a))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.2.3, page no. 203" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "4*a**4\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "print \"Definite integral\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "g = x**3*(2*a*x-x**2)**(1/2) \n", + "f = sympy.integrate(g,(x,0,2*a))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.2.4, page no. 204" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "0.5*(a**2 + 0.5625)**(-n) + 0.5*(a**2 + 0.0625)**(-n)\n" + ] + } + ], + "source": [ + "from sympy.abc import x,a,n\n", + "from sympy.integrals import Integral\n", + "print \"Definite integral\"\n", + "g = 1./(a**2+x**2)**n \n", + "f = Integral(g,(x,0,1))\n", + "print f.as_sum(2).n()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.4.1, page no. 207" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "0.0532891345937363\n" + ] + } + ], + "source": [ + "from sympy.abc import x,a,n\n", + "from sympy.integrals import Integral\n", + "import sympy, math\n", + "print \"Definite integral\"\n", + "g = (sympy.sin(6*x))**3*(sympy.cos(3*x))**7\n", + "f = Integral(g,(x,0,math.pi/6))\n", + "print f.as_sum(2).n()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.4.2, page no. 208" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "0.0571428571429\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "print \"Definite integral\"\n", + "x = sympy.Symbol('x')\n", + "g = (sympy.sin(6*x))**3*(sympy.cos(3*x))**7\n", + "g = x**4*(1-x**2)**(3/2)\n", + "f = sympy.integrate(g,(x,0,1)) \n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.5, page no. 208" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "Enter n : 0\n", + "Enter m : 1\n", + "1.0\n", + "1.0\n", + "Equal\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "print \"Definite integral\"\n", + "x = sympy.Symbol('x')\n", + "m = sympy.Symbol('m')\n", + "n = sympy.Symbol('n')\n", + "n = int(raw_input(\"Enter n : \"))\n", + "m = int(raw_input(\"Enter m : \"))\n", + "g =(sympy.cos(x))**m*sympy.cos(n*x)\n", + "f = sympy.integrate(g,(x,0,math.pi/2))\n", + "print float(f) \n", + "g2 =(sympy.cos(x))**(m-1)*sympy.cos((n-1)*x)\n", + "f2 = m/(m+n)*sympy.integrate(g2,(x,0,math.pi/2))\n", + "print float(f2)\n", + "print \"Equal\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.6.1, page no. 210" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Definite integral\n", + "Enter n : 1\n", + "Piecewise((x*exp(-I*x)*sin(x)/2 - I*x*exp(-I*x)*cos(x)/2 - exp(-I*x)*cos(x)/2, a == -I), (x*exp(I*x)*sin(x)/2 + I*x*exp(I*x)*cos(x)/2 - exp(I*x)*cos(x)/2, a == I), (a*exp(a*x)*sin(x)/(a**2 + 1) - exp(a*x)*cos(x)/(a**2 + 1), True))\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "print \"Definite integral\"\n", + "x = sympy.Symbol('x')\n", + "a = sympy.Symbol('a')\n", + "n = int(raw_input(\"Enter n : \"))\n", + "g = sympy.exp(a*x)*(sympy.sin(x))**n\n", + "f = sympy.integrate(g,(x))\n", + "print f" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.7.1, page no. 212" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(4*sin(x)**2 - 3)/(4*sin(x)**4 - 8*sin(x)**2 + 4) - log(sin(x)**2 - 1)/2\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "print sympy.integrate(sympy.tan(x)**5,(x))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.8, page no. 215" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter the value of n : 3\n", + "n(p+q)= 0.999999999999999\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "n = int(raw_input(\"Enter the value of n : \"))\n", + "p = sympy.integrate((sympy.tan(x))**(n-1),('x',0,math.pi/4))\n", + "q = sympy.integrate((sympy.tan(x))**(n+1),('x',0,math.pi/4))\n", + "print \"n(p+q)= \",\n", + "print n*(p+q)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.9.1, page no. 217" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.33333333333333\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "g = sympy.sec(x)**4\n", + "print sympy.integrate(g,('x',0,math.pi/4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.9.2, page no. 217" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.607986405500361\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "print sympy.integrate('1/sin(x)**3',('x',math.pi/3,math.pi/2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.10, page no. 220" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.000362418686373\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "from sympy.abc import x\n", + "from sympy.integrals import Integral\n", + "import sympy, math\n", + "g = x*sympy.sin(x)**6*sympy.cos(x)**4\n", + "f = Integral(g,(x,0,math.pi/6))\n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.12, page no. 221" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.785398163397\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "from sympy.abc import x\n", + "from sympy.integrals import Integral\n", + "x = sympy.Symbol('x')\n", + "a = math.pi/2\n", + "f = (sympy.sin(x)**0.5)/(sympy.sin(x)**0.5+sympy.cos(x)**0.5)\n", + "f = Integral(f,(x, 0, a))\n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.13, page no. 223" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The summation is equivalent to integration of 1/(1+xˆ2) from 0 to 1\n", + "0.785398163397\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "print \"The summation is equivalent to integration of 1/(1+xˆ2) from 0 to 1\"\n", + "g = 1/(1+x**2)\n", + "f = sympy.integrate(g,(x,0,1))\n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.14, page no. 223" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The summation is equivalent to integration of log(1+x) from 0 to 1\n", + "0.38629436112\n" + ] + } + ], + "source": [ + "import sympy,numpy,math\n", + "\n", + "x = sympy.Symbol('x')\n", + "print \"The summation is equivalent to integration of log(1+x) from 0 to 1\"\n", + "g = sympy.log(1+x)\n", + "f = sympy.integrate(g,(x,0,1))\n", + "print float(f) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.15, page no. 225" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0337339994178\n" + ] + } + ], + "source": [ + "import sympy,math\n", + "from sympy.integrals import Integral\n", + "f = Integral(x*sympy.sin(x)**8*sympy.cos(x)**4,(x,0,math.pi))\n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.16, page no. 226" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-1.08879304515\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "from sympy.integrals import Integral\n", + "x = sympy.Symbol('x')\n", + "#f = sympy.integrate(sympy.log(sympy.sin(x)),('x',0,math.pi/2))\n", + "f = Integral(sympy.log(sympy.sin(x)), (x, 0, 1.5707963267949))\n", + "print float(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6.24, page no. 234" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "from the graph, it is clear that the points of intersection are x=−4 and x =8.\n", + "So, our region of integration is from x=−4 to x=8\n", + "36\n" + ] + }, + { + "data": { + "image/png": "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\nlWV1AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import numpy\n", + "import math\n", + "\n", + "x = numpy.linspace(-5,10,70)\n", + "y1 = (x+8)/2\n", + "y2 = x**2/8\n", + "\n", + "plt.xlabel('X axis')\n", + "plt.ylabel('Y axis')\n", + "plt.title('My Graph')\n", + "plt.plot(x, y1, \"o-\" )\n", + "plt.plot(x, y2, \"+-\" )\n", + "plt.legend([\"(x+8)/2\",\"x**2/8\"])\n", + "print \"from the graph, it is clear that the points of intersection are x=−4 and x =8.\"\n", + "print \"So, our region of integration is from x=−4 to x=8\"\n", + "print sympy.integrate('(x+8)/2-x**2/8',('x',-4,8))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11+" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter9_1.ipynb b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter9_1.ipynb new file mode 100644 index 00000000..735ec6e3 --- /dev/null +++ b/Higher_Engineering_Mathematics_by_B._S._Grewal/chapter9_1.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9 : Infinite Series" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.1, page no. 302" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/3\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "f = ((1/n)**2-2*(1/n))/(3*(1/n)**2+(1/n))\n", + "print sympy.limit(f,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.1.3, page no. 303" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], + "source": [ + "import sympy\n", + "n = sympy.Symbol('n')\n", + "f = 3+(-1)**n\n", + "print sympy.limit(f,n,100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.2.1, page no. 304" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1+2+3+4+5+6+7+....+n + . . . . . = oo\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "print \"1+2+3+4+5+6+7+....+n + . . . . . = \",\n", + "p = 1/n*(1/n+1)/2\n", + "print sympy.limit(p,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.2.2, page no. 304" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5−4−1+5−4−1+5−4−1+5−4−1+.........=0,5,1 according to the no. of terms.\n", + "clearly, in this case sum doesnt tend to a unique limit. hence, series is oscillatory.\n" + ] + } + ], + "source": [ + "print \"5−4−1+5−4−1+5−4−1+5−4−1+.........=0,5,1 according to the no. of terms.\"\n", + "print \"clearly, in this case sum doesnt tend to a unique limit. hence, series is oscillatory.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.5.1, page no. 308" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2\n", + "both u and v converge and diverge together, hence u is convergent\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "v = 1/((1/n)**2)\n", + "u = (2/n-1)/(1/n*(1/n +1)*(1/n +2))\n", + "print sympy.limit(u/v,n,0)\n", + "print \"both u and v converge and diverge together, hence u is convergent\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.5.2, page no. 308" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "oo\n", + "both u and v converge and diverge together, hence u is divergent\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "v = 1/((1/n)**2)\n", + "u = ((1/n)**2)/((3/n+1)*(3/n+4)*(3/n+7))\n", + "print sympy.limit(u/v,n,0)\n", + "print \"both u and v converge and diverge together, hence u is divergent\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.7.1, page no. 312" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "u=((n+1)^0.5−1)/((n+2)^3−1)=>\n", + "0\n", + "since, v is convergent, so u is also conzavergent.\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "print \"u=((n+1)^0.5−1)/((n+2)^3−1)=>\"\n", + "u = ((1+1/(1/n))-(1/n)**(-0.5))/(((1/n)**5/2)*((1+2/(1/n))**3-(1/n)**(-3)))\n", + "v = (1/n)**(-5/2)\n", + "print sympy.limit(u/v,n,0)\n", + "print 'since, v is convergent, so u is also conzavergent.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.7.3, page no. 313" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-log(log(2)) + +inf\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "print sympy.integrate(1/(n*sympy.log(n)),(n,2,numpy.inf))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.8.1, page no. 314" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x**(-2)\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "x = sympy.Symbol('x')\n", + "u = (x**(2*(1/n)-2))/(((1/n)+1)*(1/n)**0.5)\n", + "v = (x**(2*(1/n)))/((1/n+2)*(1/n+1)**0.5)\n", + "print sympy.limit(u/v,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.8.2, page no. 314" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/x\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "x = sympy.Symbol('x')\n", + "u = ((2**(1/n)-2)*(x**(1/n-1)))/(2**(1/n)+1)\n", + "v = ((2**((1/n)+1)-2)*(x**(1/n)))/(2**(1/n+1)+1)\n", + "print sympy.limit(u/v,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.10.1, page no. 316" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(x + 1)/(2*x)\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "x = sympy.Symbol('x')\n", + "u = 1/(1+x**(-n))\n", + "v = 1/(1+x**(-n-1))\n", + "print sympy.limit(u/v,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.10.2, page no. 316" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "a = sympy.Symbol('a')\n", + "b = sympy.Symbol('b')\n", + "l = (b+1/n)/(a+1/n)\n", + "print sympy.limit(l,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.11.1, page no. 317" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "u=((4.7....(3n+1))∗xˆn)/(1.2.....n)\n", + "v=((4.7....(3n+4)∗xˆ(n+1))/(1.2.....(n+1))\n", + "l=u/v=> 1/(3*x)\n" + ] + } + ], + "source": [ + "import numpy,sympy\n", + "\n", + "n = sympy.Symbol('n')\n", + "x = sympy.Symbol('x')\n", + "print \"u=((4.7....(3n+1))∗xˆn)/(1.2.....n)\"\n", + "print \"v=((4.7....(3n+4)∗xˆ(n+1))/(1.2.....(n+1))\"\n", + "print \"l=u/v=>\",\n", + "l = (1+n)/((3+4*n)*x)\n", + "print sympy.limit(l,n,0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.11.2, page no. 318" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4/x**2\n" + ] + } + ], + "source": [ + "import numpy,sympy,math\n", + "\n", + "n = sympy.Symbol('n')\n", + "x = sympy.Symbol('x')\n", + "u = (((sympy.factorial(n))**2)*x**(2*n))/sympy.factorial(2*n)\n", + "v = (((sympy.factorial(n+1))**2)*x**(2*(n+1)))/sympy.factorial(2*(n+1))\n", + "print sympy.limit(u/v,n,numpy.inf )" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen1_1.png b/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen1_1.png new file mode 100644 index 00000000..f54af014 Binary files /dev/null and b/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen1_1.png differ diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen2_1.png b/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen2_1.png new file mode 100644 index 00000000..7a62e760 Binary files /dev/null and b/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen2_1.png differ diff --git a/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen3_1.png b/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen3_1.png new file mode 100644 index 00000000..babda72b Binary files /dev/null and b/Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen3_1.png differ diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter10_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter10_1.ipynb new file mode 100644 index 00000000..54d12f92 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter10_1.ipynb @@ -0,0 +1,259 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10 : LU Decomposition and matrix inverse" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex10.1 Page 277" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A = [[ 3. -0.1 -0.2]\n", + " [ 0.1 7. -0.3]\n", + " [ 0.3 -0.2 10. ]]\n", + "\n", + "U = \n", + "[[ 3. -0.1 -0.2 ]\n", + " [ 0. 7.00333333 -0.29333333]\n", + " [ 0. 0. 10.01204188]]\n", + "\n", + "L calculated based on gauss elimination method = \n", + "[[ 1. 0. 0. ]\n", + " [ 0.03333333 1. 0. ]\n", + " [ 0.1 -0.02712994 1. ]]\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "from numpy.linalg import det\n", + "A = mat([[3,-0.1,-0.2],[0.1,7,-0.3],[0.3,-0.2,10]])\n", + "U = A#\n", + "print \"A =\",A\n", + "m = U[0,0]\n", + "n = U[1,0]\n", + "a = n/m#\n", + "U[1:2] = U[1:2] - U[0:1] / (m/n)#\n", + "n = U[2,0]\n", + "b = n/m\n", + "\n", + "U[2:3] = U[2:3] - U[0:1] / (m/n)#\n", + "m = U[1,1]\n", + "n = U[2,1]\n", + "c = n/m#\n", + "U[2:3] = U[2:3] - U[1:2] / (m/n)#\n", + "print \"\\nU = \\n\",U\n", + "L = mat([[1,0,0],[a,1,0],[b,c,1]])\n", + "print \"\\nL calculated based on gauss elimination method = \\n\",L" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex10.2 Page 279" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X = \n", + "[[ 3. ]\n", + " [-2.5]\n", + " [ 7. ]]\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "A = mat([[3,-0.1,-0.2],[0.1,7,-0.3],[0.3,-0.2,10]])\n", + "B = mat([[7.85],[-19.3],[71.4]])\n", + "X = (A**-1) * B\n", + "print \"X = \\n\",X" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex10.3 Page 284" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "B=\n", + "[[ 0.33248872 0.00494409 0.00679813]\n", + " [-0.00518174 0.14290333 0.00418348]\n", + " [-0.01007834 0.00270975 0.09988014]]\n" + ] + } + ], + "source": [ + "from numpy import mat,array\n", + "A = mat([[3,-0.1,-0.2],[0.1,7,-0.3],[0.3,-0.2,10]])\n", + "B = (A**-1)\n", + "L = mat([[1,0,0],[0.033333,1,0],[0.1,-0.02713,1]])\n", + "U = mat([[3,-0.1,-0.2],[0,7.0033,-0.293333],[0,0,10.012]])\n", + "for i in range(1,4):\n", + " if i==1:\n", + " m = mat([[1],[0],[0]])\n", + " else:\n", + " if i==2:\n", + " m = mat([[0],[1],[0]])\n", + " else:\n", + " m = mat([[0],[0],[1]])\n", + " \n", + " \n", + " d = (L**-1) * m#\n", + " x = (U**-1) * d#\n", + " B[:,i-1] = x\n", + "\n", + "print \"B=\\n\",B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex10.4 Page 291" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A = \n", + "[[ 1. 0.5 0.33333333]\n", + " [ 1. 0.66666667 0.5 ]\n", + " [ 1. 0.75 0.6 ]]\n", + "\n", + "Condition number for the matrix =\n", + "451.2\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "from __future__ import division\n", + "A = mat([[1,1/2,1/3],[1/2,1/3,1/4],[1/3,1/4,1/5]])\n", + "n = A[1,0]\n", + "A[1,:] = A[1,:]/n\n", + "n = A[2,0]\n", + "A[2,:] = A[2,:]/n\n", + "B = (A**-1)#\n", + "print \"A = \\n\",A\n", + "\n", + "m=range(1,4)\n", + "su=range(1,4)\n", + "for j in range(1,4):\n", + " a = 0#\n", + " for i in range(1,4):\n", + " m[i-1]= A[j-1,i-1]\n", + " su[j-1] = a + m[i-1]#\n", + " a = su[j-1]#\n", + "\n", + "\n", + "if su[0]< su[1]:\n", + " if su[1]< su[2]:\n", + " z = su[2]\n", + " else:\n", + " z = su[1]\n", + " \n", + "else:\n", + " if su[0] < su[2]:\n", + " z = su[2]#\n", + " else:\n", + " z = su[0]#\n", + " \n", + "m=range(1,4)\n", + "sm=range(1,4)\n", + "for j in range(1,4):\n", + " a = 0#\n", + " for i in range(1,4):\n", + " m[i-1]= B[j-1,i-1]\n", + " sm[j-1]= a + abs(m[i-1])\n", + " a = sm[j-1]#\n", + "\n", + "\n", + "if sm[0]< sm[1]:\n", + " if sm[1]< sm[2] :\n", + " y = sm[2]\n", + " else:\n", + " y = sm[1]\n", + " \n", + "else:\n", + " if sm[0]< sm[2]:\n", + " y = sm[2]\n", + " else:\n", + " y = sm[0]#\n", + " \n", + "\n", + "C = z*y#\n", + "print \"\\nCondition number for the matrix =\\n\",C\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter11_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter11_1.ipynb new file mode 100644 index 00000000..352fdcac --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter11_1.ipynb @@ -0,0 +1,303 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 11 : Special Matrices and Gauss-Seidel" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:11.1 Pg: 297" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T1 = 151.165722019\n", + "T2 = 267.578072919\n", + "T3 = 236.681195836\n", + "T4 = 214.451566586\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "A = mat([[2.04,-1,0,0],[-1,2.04,-1,0],[0,-1,2.04,-1],[0,0,-1,2.04]])\n", + "B = mat([[40.8],[0.8],[0.8],[200.8]])\n", + "g = A[0,1]\n", + "f1 =A[0,0]\n", + "e2 = A[1,0]\n", + "f2 = A[0,0] - e2 * A[1,0]\n", + "e3 = A[1,0]/f2\n", + "f3 = A[0,0] - e3 * A[1,0]\n", + "e4 = A[1,0]/f3#\n", + "f4 = A[0,0] - e4 * A[1,0]\n", + "M = mat([[f1,g,0,0],[e2,f2,g,0],[0,e3,f3,g],[0,0,e4,f4]])\n", + "L = mat([[1,0,0,0],[M[1,0],1,0,0],[0,M[2,1],1,0],[0,0,M[3,2],1]])\n", + "U = mat([[M[0,0],g,0,0],[0,M[1,1],g,0],[0,0,M[2,2],g],[0,0,0,M[3,3]]])\n", + "r1 = B[0,0]\n", + "r2 = B[1,0] - e2*B[0,0]\n", + "r3 = B[2,0] - e3*r2#\n", + "r4= B[3,0] - e4*r3# \n", + "N = mat([[r1],[r2],[r3],[r4]])\n", + "T4 = r4/U[3,3]\n", + "T3 = (r3 - g*T4)/U[2,2]\n", + "T2 = (r2 - g*T3)/U[1,1]\n", + "T1 = (r1 - g*T2)/U[0,0]\n", + "print \"T1 = \",T1\n", + "print \"T2 = \",T2\n", + "print \"T3 = \",T3\n", + "print \"T4 = \",T4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:11.2 Pg: 299" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "L = \n", + "[[ 2.44948974 0. 0. ]\n", + " [ 6.12372436 4.18330013 0. ]\n", + " [ 22.45365598 20.91650066 6.11010093]]\n" + ] + } + ], + "source": [ + "from numpy import mat,sqrt\n", + "A = mat([[6,15,55],[15,55,225],[55,225,979]])\n", + "sl = 0\n", + "l11 = sqrt(A[0,0])\n", + "#for second row\n", + "l21 = (A[1,0])/l11\n", + "l22 = (A[1,1] - l21**2)**(0.5)\n", + "#for third row\n", + "l31 = (A[2,0])/l11#\n", + "l32 = (A[2,1] - l21*l31)/l22#\n", + "l33 = (A[2,2] - l31**2 - l32**2)**(0.5)#\n", + "L = mat([[l11,0,0],[l21,l22,0],[l31,l32,l33]])\n", + "print \"\\nL = \\n\",L" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:11.3 Pg: 301" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x through two iterations = [2.6166666666666667]\n", + "y through two iterations = [-2.7945238095238096]\n", + "z through two iterations = [7.005609523809525]\n", + "error of x = 12.50234999 %\n", + "error of y = -11.7977361365 %\n", + "error of z = -0.075978454143 %\n" + ] + } + ], + "source": [ + "#3x - 0.1y - 0.2z = 7.85\n", + "#0.1x + 7y - 0.3z = -19.3\n", + "#0.3x - 0.2y + 10z = 71.4\n", + "Y = 0# \n", + "Z = 0#\n", + "x=range(1,3)\n", + "y=range(1,3)\n", + "z=range(1,3)\n", + "for i in range(1,3):\n", + " x[i-1]= (7.85 +0.1*Y+0.2*Z)/3#\n", + " X = x[i-1]\n", + " y[i-1]= (-19.3 - 0.1*X +0.3*Z)/7#\n", + " Y = y[i-1]#\n", + " z[i-1]= (71.4 - 0.3*X+0.2*Y)/10#\n", + " Z = z[i-1]\n", + " if i==2:\n", + " ex = (x[i-1] - x[(i-2)])*100/x[i-1]\n", + " ey = (y[i-1] - y[i-2])*100/y[i-1]\n", + " ez = (z[i-1] - z[i-2])*100/z[i-1]\n", + " \n", + "\n", + "print \"x through two iterations =\",x[0:1]\n", + "print \"y through two iterations =\",y[0:1]\n", + "print \"z through two iterations =\",z[0:1]\n", + "print \"error of x = \",ex,\"%\"\n", + "print \"error of y = \",ey,\"%\"\n", + "print \"error of z = \",ez,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:11.4 Pg: 307" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = 0.999991\n", + "y = 1.000044\n", + "z = 0.99996\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "\n", + "from numpy import mat\n", + "A = mat([[1,0.5,1/3],[1,2/3,1/2],[1,3/4,3/5]])\n", + "B = mat([[1.833333],[2.166667],[2.35]])\n", + "U = A**-1\n", + "X = U*B#\n", + "x = X[0,0]\n", + "y = X[1,0]\n", + "z = X[2,0]\n", + "print \"x = \",x\n", + "print \"y = \",y\n", + "print \"z = \",z" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:11.5 Pg: 309" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = 0.999991\n", + "y = 1.000044\n", + "z = 0.99996\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import mat\n", + "A = mat([[1,0.5,1/3],[1,2/3,1/2],[1,3/4,3/5]])\n", + "B = mat([[1.833333],[2.166667],[2.35]])\n", + "U = A**-1\n", + "X = U*B#\n", + "x = X[0,0]\n", + "y = X[1,0]\n", + "z = X[2,0]\n", + "print \"x = \",x\n", + "print \"y = \",y\n", + "print \"z = \",z" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:11.6 Pg: 310" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = 0.999999\n", + "y = 1.000008\n", + "z = 0.99999\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "A = mat([[1,0.5,1/3],[1/2,1/3,1/4],[1/3,1/4,1/5]])\n", + "B = mat([[1.833333],[1.083333],[0.783333]])\n", + "U = A**-1\n", + "X = U*B#\n", + "x = X[0,0]\n", + "y = X[1,0]\n", + "z = X[2,0]\n", + "print \"x = \",x\n", + "print \"y = \",y\n", + "print \"z = \",z" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter13_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter13_1.ipynb new file mode 100644 index 00000000..c37c77de --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter13_1.ipynb @@ -0,0 +1,193 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 13 : One-Dimensional Unconstrained Optimization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:13.1 Pg: 356" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "xl = [0, 0, 0, 0, 0, 0.9442719099991588, 0.9442719099991588, 0.9442719099991588, 0.9442719099991588, 0.9442719099991588, 0.9442719099991588]\n", + "\n", + "x2 = [1.5278640450004204, 1.5278640450004204, 0.0, 0.9442719099991588, 0.9442719099991588, 0.9442719099991588, 0.9442719099991588, 1.5278640450004206, 1.5278640450004206, 1.5278640450004206]\n", + "\n", + "x1 = [2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 1.5278640450004208, 1.5278640450004208, 1.5278640450004208, 2.4721359549995796, 1.8885438199983178, 1.8885438199983178, 1.8885438199983178]\n", + "\n", + "xu = [4, 2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 2.4721359549995796, 1.8885438199983178, 1.8885438199983178]\n" + ] + } + ], + "source": [ + "from math import sin\n", + "#f(x) = 2sinx - x**2/10\n", + "xl=[]\n", + "xu=[]\n", + "xl.append(0)\n", + "xu.append(4)\n", + "d=[]\n", + "x1=[]\n", + "x2=[]\n", + "m=[]\n", + "n=[]\n", + "for i in range(0,10):\n", + " d.append(((5)**(0.5) - 1)*(xu[i-1] - xl[i-1])/2)\n", + " x1.append(xl[i-1] + d[i-1])\n", + " x2.append(xu[i-1] - d[i-1])\n", + " m.append(2*sin(x1[i-1]) - (x1[i-1]**2)/10)\n", + " n.append(2*sin(x2[i-1]) - (x2[i-1]**2)/10)\n", + " if n[i-1] > m[i-1]:\n", + " xu.append(x1[(i-1)])\n", + " xl.append(xl[(i-1)])\n", + " else:\n", + " xl.append(x2[i-1])\n", + " xu.append(xu[i-1])\n", + " \n", + "\n", + "print \"xl =\",xl\n", + "print \"\\nx2 =\",x2\n", + "print \"\\nx1 =\",x1\n", + "print \"\\nxu =\",xu" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:13.2 Pg: 360" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x0 = [0, 1, 1, 1.3813008689454946, 1.382057051632978, 1.4273175717149764, 1.4274221422858844]\n", + "\n", + "x1 = [1, 1.5921843781407843, 1.3813008689454946, 1.382057051632978, 1.4273175717149764, 1.4274221422858844, 1.4275508501677177]\n", + "\n", + "x2 = [4, 4, 1.5921843781407843, 1.5921843781407843, 1.5921843781407843, 1.5921843781407843, 1.5921843781407843]\n" + ] + } + ], + "source": [ + "from math import sin\n", + "#f(x) = 2sinx - x**2/10\n", + "x0= [0]#\n", + "x1= [1]\n", + "x2= [4]#\n", + "m=[];n=[];r=[];x3=[];s=[]\n", + "for i in range(0,6):\n", + " m.append(2*sin(x0[(i)]) - (x0[(i)]**2)/10)\n", + " n.append(2*sin(x1[(i)]) - (x1[(i)]**2)/10)\n", + " r.append(2*sin(x2[(i)]) - (x2[(i)]**2)/10)\n", + " x3.append(((m[(i)]*(x1[(i)]** 2 -x2[(i)] ** 2)) + (n[(i)]*(x2[(i)] ** 2 -x0[(i)] ** 2)) + (r[(i)]*(x0[(i)] ** 2 -x1[(i)] ** 2)))/((2*m[(i)]*(x1[(i)] -x2[(i)]))+(2*n[(i)]*(x2[(i)] -x0[(i)]))+(2*r[(i)]*(x0[(i)] -x1[(i)]))))\n", + " s.append(2*sin(x3[(i)]) - (x3[(i)]**2)/10)\n", + " if x1[(i) ]> x3[(i) ]:\n", + " if n[(i)]s[(i)]:\n", + " x0.append(x0[(i)])\n", + " x1.append(x3[(i)])\n", + " x2.appedn(x1[(i)])\n", + " else:\n", + " x0.append(x1[(i)])\n", + " x1.append(x3[(i)])\n", + " x2.append(x2[(i)])\n", + " \n", + " \n", + "\n", + "\n", + "print \"x0 = \",x0\n", + "print \"\\nx1 = \",x1\n", + "print \"\\nx2 = \",x2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:13.3 Pg: 361" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = [0.5, 2.2261962395657777, 1.1766358162650659, 1.465127166023216, 1.4238568730046828, 1.4279262963228776, 1.427513951598196, 1.427555600748671, 1.4275513926124817, 1.4275518177794067]\n" + ] + } + ], + "source": [ + "from math import sin, cos\n", + "#f(x) = 2sinx - x**2/10\n", + "x= [.5]\n", + "#f'(x) = 2cosx - x/5\n", + "#f\"(x) = -2sinx - 1/5\n", + "for i in range(1,10):\n", + " x.append(x[(i-1)] - (2*cos(x[(i-1)]) - x[(i-1)]/5)/(-2*sin(x[(i-1)]) - 1/5))\n", + "\n", + "print \"x = \",x" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter14_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter14_1.ipynb new file mode 100644 index 00000000..b3607eab --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter14_1.ipynb @@ -0,0 +1,260 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter-14 : Multidimensional Unconstrained Optimization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:14.1 Pg: 368" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 1\n", + "x: 1.53606983054\n", + "y: 1.86168445446\n", + "function value: -13.5786300816\n", + "------------------------------------------\n", + "Iteration: 1001\n", + "x: 1.76453990766\n", + "y: 1.86004762993\n", + "function value: -16.155728181\n", + "------------------------------------------\n", + "Iteration: 2001\n", + "x: -0.735800459375\n", + "y: 1.48176151402\n", + "function value: 1.11970176233\n", + "------------------------------------------\n", + "Iteration: 3001\n", + "x: -0.493690866305\n", + "y: 2.74840585243\n", + "function value: -2.08537362139\n", + "------------------------------------------\n", + "Iteration: 4001\n", + "x: 0.191618544017\n", + "y: 2.12536130424\n", + "function value: -3.47137052343\n", + "------------------------------------------\n", + "Iteration: 5001\n", + "x: 0.556097851317\n", + "y: 2.75235702552\n", + "function value: -9.05885931809\n", + "------------------------------------------\n", + "Iteration: 6001\n", + "x: -1.3315420382\n", + "y: 1.98026194153\n", + "function value: 1.11796226726\n", + "------------------------------------------\n", + "Iteration: 7001\n", + "x: -1.30334156994\n", + "y: 2.2803362443\n", + "function value: 0.930459972575\n", + "------------------------------------------\n", + "Iteration: 8001\n", + "x: -1.42505981694\n", + "y: 1.24322307994\n", + "function value: 0.604422816099\n", + "------------------------------------------\n", + "Iteration: 9001\n", + "x: -1.04901290775\n", + "y: 1.83044616216\n", + "function value: 1.16839305819\n", + "------------------------------------------\n" + ] + } + ], + "source": [ + "from numpy.random import rand\n", + "def f(x,y):\n", + " z=y-x-(2*(x**2))-(2*x*y)-(y**2)\n", + " return z\n", + "x1=-2#\n", + "x2=2#\n", + "y1=1#\n", + "y2=3#\n", + "fmax=-1*10**(-15)#\n", + "n=10000#\n", + "for j in range(0,n):\n", + " r=rand(1,2)\n", + " x=x1+(x2-x1)*r[0,0]\n", + " y=y1+(y2-y1)*r[0,1]\n", + " fn=f(x,y)#\n", + " if fn>fmax:\n", + " fmax=fn#\n", + " xmax=x#\n", + " ymax=y#\n", + " \n", + " if j%1000==0:\n", + " \n", + " print \"Iteration:\",(j+1)\n", + " print \"x:\",x\n", + " print \"y:\",y\n", + " print \"function value:\",fn\n", + " print \"------------------------------------------\"\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:14.2 Pg: 374" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Elevation: 8\n", + "Theta: 1.107\n", + "slope: 8.94\n" + ] + } + ], + "source": [ + "from math import atan\n", + "def f(x,y):\n", + " z=x*y*y\n", + " return z\n", + "p1=[2, 2]\n", + "elevation=f(p1[0],p1[1])\n", + "dfx=p1[0]*p1[0]\n", + "dfy=2*p1[0]*p1[1]\n", + "theta=atan(dfy/dfx)\n", + "slope=(dfx**2 + dfy**2)**0.5#\n", + "print \"Elevation:\",elevation\n", + "print \"Theta: %0.3f\"%theta\n", + "print \"slope: %0.2f\"%slope" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:14.3 Pg: 380" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The final equation is= 180*h**2 + 72*h - 7\n" + ] + } + ], + "source": [ + "def f(x,y):\n", + " z=2*x*y + 2*x - x**2 - 2*y**2\n", + " return z\n", + "x=-1#\n", + "y=1#\n", + "dfx=2*y+2-2*x#\n", + "dfy=2*x-4*y#\n", + "#the function can thus be expressed along h axis as\n", + "#f((x+dfx*h),(y+dfy*h))\n", + "print \"The final equation is=\",\"180*h**2 + 72*h - 7\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:14.4 Pg: 381" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The final values are: [-1, 1]\n" + ] + } + ], + "source": [ + "def f(x,y):\n", + " z=2*x*y + 2*x - x**2 - 2*y**2\n", + " return z\n", + "x=-1#\n", + "y=1#\n", + "d2fx=-2#\n", + "d2fy=-4#\n", + "d2fxy=2#\n", + "\n", + "modH=d2fx*d2fy-(d2fxy)**2#\n", + "\n", + "for i in range(0,25):\n", + " dfx=2*y+2-2*x#\n", + " dfy=2*x - 4*y#\n", + " #the function can thus be expressed along h axis as\n", + " #f((x+dfx*h),(y+dfy*h))\n", + " def g(h):\n", + " d=2*(x+dfx*h)*(y+dfy*h) + 2*(x+dfx*h) - (x+dfx*h)**2 - 2*(y+dfy*h)**2\n", + " return d\n", + " #2*dfx*(y+dfy*h)+2*dfy*(x+dfx*h)+2*dfx-2*(x+dfx*h)*dfx-4*(y+dfy*h)*dfy=g'(h)=0\n", + " #2*dfx*y + 2*dfx*dfy*h + 2*dfy*x + 2*dfy*dfx*h + 2*dfx - 2*x*dfx - 2*dfx*dfx*h - 4*y*dfy - 4*dfy*dfy*h=0\n", + " #h(2*dfx*dfy+2*dfy*dfx-2*dfx*dfx-4*dfy*dfy)=-(2*dfx*y+2*dfy*x-2*x*dfx-4*y*dfy)\n", + " h=(2*dfx*y+2*dfy*x-2*x*dfx-4*y*dfy+2*dfx)/(-1*(2*dfx*dfy+2*dfy*dfx-2*dfx*dfx-4*dfy*dfy))#\n", + " x=x+dfx*h#\n", + " y=y+dfy*h#\n", + "print \"The final values are:\",[x, y]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter15_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter15_1.ipynb new file mode 100644 index 00000000..1573bb78 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter15_1.ipynb @@ -0,0 +1,358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter-15 : Constrained Optimization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.1 Pg: 388" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximize z=150*x1+175*x2\n", + "subject to\n", + "7*x1+11*x2<=77 (Material constraint)\n", + "10*x1+8*x2<=80 (Time constraint)\n", + "x1<=9 (Regular storage constraint)\n", + "x2<=6 (Premium storage constraint)\n", + "x1,x2>=0 (Positivity constraint)\n" + ] + } + ], + "source": [ + "regular=[7, 10, 9 ,150]#\n", + "premium=[11, 8, 6, 175]#\n", + "res_avail=[77, 80]#\n", + "#total profit(to be maximized)=z=150*x1+175*x2\n", + "#total gas used=7*x1+11*x2 (has to be less than 77 m**3/week)\n", + "#similarly other constraints are developed\n", + "print \"Maximize z=150*x1+175*x2\"\n", + "print \"subject to\"\n", + "print \"7*x1+11*x2<=77 (Material constraint)\"\n", + "print \"10*x1+8*x2<=80 (Time constraint)\"\n", + "print \"x1<=9 (Regular storage constraint)\"\n", + "print \"x2<=6 (Premium storage constraint)\"\n", + "print \"x1,x2>=0 (Positivity constraint)\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.2 Pg: 389" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nv4hIHvr/jNG1VBcwIEMAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,title ,show\n", + "x21=[];x22=[];x23=[];x24=[];x25=[];x26=[]\n", + "\n", + "for x1 in range(0,9):\n", + " x21.append(-(7/11)*x1+7)\n", + " x22.append((80-10*x1)/8)\n", + " x23.append(6)\n", + " x24.append(-150*x1/175)\n", + " x25.append((600-150*x1)/175)\n", + " x26.append((1400-150*x1)/175)\n", + "\n", + "x1=range(0,9)\n", + "\n", + "plot(x1,x24)\n", + "plot(x1,x25)\n", + "plot(x1,x26)\n", + "#h1=legend(['Z=0'#'Z=600'#'Z=1400'])\n", + "plot(x1,x21)#\n", + "plot(x1,x22)#\n", + "plot(x1,x23)#\n", + "title('x2 vs x1')\n", + "xlabel('x1 (tonnes)')\n", + "ylabel('x2 (tonnes)')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.3 Pg: 399" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximized profit is= 1413.888925\n" + ] + } + ], + "source": [ + "x1=[0,4.888889, 3.888889]\n", + "x2=[0,7, 11]#\n", + "x3=[0,10, 8]#\n", + "x4=[0,150, 175]#\n", + "x5=[0,77, 80, 9, 6]\n", + "profit=[0,x1[(1)]*x4[(1)], x1[(2)]*x4[(2)]]#\n", + "total=[0,x1[(1)]*x3[(1)]+x1[(2)]*x3[(2)], x1[(1)]*x3[(1)]+x1[(2)]*x3[(2)], x1[(1)], x1[(2)], profit[(1)]+profit[(2)]]\n", + "e=1000#\n", + "\n", + "while e>total[(5)]:\n", + " if total[(1)]<=x5[(1)]:\n", + " if total[(2)]<=x5[(2)]:\n", + " if total[(3)]<=x5[(3)]:\n", + " if total[(4)]<=x5[(4)]:\n", + " l=1#\n", + " \n", + " \n", + " \n", + " \n", + " if l==1:\n", + " x1[(1)]=x1[(1)]+4.888889\n", + " x1[(2)]=x1[(2)]+3.888889# \n", + " profit=[0,x1[(1)]*x4[(1)], x1[(2)]*x4[(2)]]\n", + " total[(5)]=profit[(1)]+profit[(2)]\n", + " \n", + "\n", + "print \"The maximized profit is=\",total[(5)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.4 Pg: 401" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The final value of velocity=19.980\n", + "6 The final no. of load parcels= 6\n", + "The chute radius=2.944 m\n", + "The minimum cost = 4377.264 $\n" + ] + } + ], + "source": [ + "from math import pi,exp\n", + "\n", + "Mt=2000##kg\n", + "g=9.8##m/s**2\n", + "c0=200##$\n", + "c1=56##$/m\n", + "c2=0.1##$/m**2\n", + "vc=20##m/s\n", + "kc=3##kg/(s*m**2)\n", + "z0=500##m\n", + "t=27#\n", + "r=2.943652#\n", + "n=6#\n", + "A=2*pi*r*r#\n", + "l=(2**0.5)*r#\n", + "c=3*A#\n", + "m=Mt/n#\n", + "def f(t):\n", + " y=(z0+g*m*m/(c*c)*(1-exp(-c*t/m)))*c/(g*m)#\n", + " return y\n", + "\n", + "while abs(f(t)-t)>0.00001:\n", + " t=t+0.00001\n", + " \n", + "v=g*m*(1-exp(-c*t/m))/c#\n", + "print \"The final value of velocity=%0.3f\"%v\n", + "print n,\"The final no. of load parcels=\",n\n", + "print \"The chute radius=%0.3f m\"%r\n", + "print \"The minimum cost = %0.3f $\"%((c0+c1*l+c2*A*A)*n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.5 Pg: 406" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization terminated successfully.\n", + " Current function value: -1.775726\n", + " Iterations: 26\n", + " Function evaluations: 52\n", + "After maximization:\n", + "x= [ 1.4275625]\n", + "f(x)= [-1.77572565]\n" + ] + } + ], + "source": [ + "from scipy.optimize import fmin\n", + "from math import sin\n", + "def fx(x):\n", + " y=-(2*sin(x))+x**2/10\n", + " return y\n", + "x=fmin(fx,0)\n", + "print \"After maximization:\"\n", + "print \"x=\",x\n", + "print \"f(x)=\",fx(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.6 Pg: 407" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization terminated successfully.\n", + " Current function value: -2.000000\n", + " Iterations: 45\n", + " Function evaluations: 86\n", + "After maximization:\n", + "x= [ 1.99993372 0.99996476]\n", + "f(x)= -1.99999999779\n" + ] + } + ], + "source": [ + "from scipy.optimize import fmin\n", + "def fx(x):\n", + " f=-(2*x[0]*x[1]+2*x[0]-x[0]**2-2*x[1]**2)\n", + " return f\n", + "x=fmin(fx,[-1, 1])\n", + "print \"After maximization:\"\n", + "print \"x=\",x\n", + "print \"f(x)=\",fx(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:15.7 Pg: 408" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization terminated successfully.\n", + " Current function value: -1.775726\n", + " Iterations: 26\n", + " Function evaluations: 52\n", + "After maximization:\n", + "x= [ 1.4275625]\n", + "f(x)= [-1.77572565]\n" + ] + } + ], + "source": [ + "from scipy.optimize import fmin\n", + "from math import sin\n", + "\n", + "def fx(x):\n", + " y=-(2*sin(x)-x**2/10)\n", + " return y\n", + "x=fmin(fx,0)\n", + "print \"After maximization:\"\n", + "print \"x=\",x\n", + "print \"f(x)=\",fx(x)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter17_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter17_1.ipynb new file mode 100644 index 00000000..14e89b11 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter17_1.ipynb @@ -0,0 +1,607 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter-17 : Least-squares Regression" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.1 Pg: 458" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sum of product of x and y = 119.5\n", + "sum of square of x = 140\n", + "sum of all the x = 28\n", + "sum of all the y = 24.0\n", + "a1 = 0.839285714286\n", + "a0 = 0.0714285714286\n", + "The equation of the line obtained is y = a0 + a1*x\n" + ] + } + ], + "source": [ + "x = [1,2,3,4,5,6,7]#\n", + "y = [0.5,2.5,2,4,3.5,6,5.5]#\n", + "n = 7#\n", + "s = 0#\n", + "xsq = 0#\n", + "xsum = 0#\n", + "ysum = 0#\n", + "\n", + "for i in range(0,7):\n", + " s = s + (x[i])*y[i]\n", + " xsq = xsq + x[i]**2\n", + " xsum = xsum + x[i]\n", + " ysum = ysum + y[i]\n", + "\n", + "print \"sum of product of x and y =\",s\n", + "print \"sum of square of x = \",xsq\n", + "print \"sum of all the x = \",xsum\n", + "print \"sum of all the y = \",ysum\n", + "a = xsum/n#\n", + "b = ysum/n#\n", + "a1 = (n*s - xsum*ysum)/(n*xsq -xsum**2)#\n", + "a0 = b - a*a1#\n", + "print \"a1 = \",a1\n", + "print \"a0 = \",a0\n", + "print \"The equation of the line obtained is y = a0 + a1*x\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.2 Pg: 462" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sum of all y = 24.0\n", + "\n", + "(yi - yavg)**2 = [0.010204081632653073, 2.010204081632653, 1.510204081632653, 3.510204081632653, 3.010204081632653, 5.510204081632653, 5.010204081632653]\n", + "\n", + "total (yi - yavg)**2 = 20.5714285714\n", + "\n", + "(yi - a0 - a1*x)**2 = [-0.4107142857142855, -0.9285714285714284, -5.625, -9.5, -17.55357142857143, -24.285714285714285, -35.69642857142857]\n", + "\n", + "total (yi - a0 - a1*x)**2 = -94.0\n", + "\n", + "sy = 1.85164019955\n", + "r = 2.35996704308\n", + "The result indicate that 86.8 percent of the original uncertainty has been explained by linear model\n" + ] + } + ], + "source": [ + "x = [1,2,3,4,5,6,7]#\n", + "y = [0.5,2.5,2,4,3.5,6,5.5]#\n", + "n = 7#\n", + "s = 0#\n", + "ssum = 0#\n", + "xsq = 0#\n", + "xsum = 0#\n", + "ysum = 0#\n", + "msum = 0#\n", + "for i in range(0,7):\n", + " s = s + x[i]*y[i]\n", + " xsq = xsq + x[i]**2\n", + " xsum = xsum + x[i]\n", + " ysum = ysum + y[i]\n", + "\n", + "a = xsum/n#\n", + "b = ysum/n#\n", + "a1 = (n*s - xsum*ysum)/(n*xsq -xsum**2)#\n", + "a0 = b - a*a1#\n", + "m=[];si=[]\n", + "for i in range(0,7):\n", + " m.append(y[i] - ysum/7**2)\n", + " msum = msum +m[i]#\n", + " si.append(y[i] - a0 - a1*x[i]**2)\n", + " ssum = ssum + si[i]\n", + "\n", + "print \"sum of all y =\",ysum\n", + "print \"\\n(yi - yavg)**2 = \",m\n", + "print \"\\ntotal (yi - yavg)**2 = \",msum\n", + "print \"\\n(yi - a0 - a1*x)**2 = \",si\n", + "print \"\\ntotal (yi - a0 - a1*x)**2 = \",ssum\n", + "sy = (msum / (n-1))**(0.5)#\n", + "#sxy = (ssum/(n-2))**(0.5)#\n", + "print \"\\nsy = \",sy\n", + "#print \"sxy = \",sxy\n", + "r2 = (msum - ssum)/(msum)#\n", + "r = r2**0.5#\n", + "print \"r = \",r\n", + "print \"The result indicate that 86.8 percent of the original uncertainty has been explained by linear model\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.3 Pg: 463" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]\n", + "\n", + "measured v = [10, 16.3, 23, 27.5, 31, 35.6, 39, 41.5, 42.9, 45, 46, 45.5, 46, 49, 50]\n", + "\n", + "using equation(1.10) v1 = [8.953182207901257, 16.404980802870615, 22.607166909502304, 27.769291463870154, 32.06576523242002, 35.641751563129084, 38.61807096510561, 41.09528322582064, 43.15708498693595, 44.87313757134839, 46.30142060418256, 47.490190948641704, 48.479613142547706, 49.30311642251821, 49.988524185047744]\n", + "\n", + "using equation((17.3)) v2 = [11.240084210526316, 18.57057391304348, 23.729066666666665, 27.556335483870967, 30.5088, 32.855630769230764, 34.765841860465116, 36.35091063829787, 37.68734117647059, 38.82938181818182, 39.81656949152543, 40.678399999999996, 41.43732537313433, 42.11073802816901, 42.712320000000005]\n" + ] + }, + { + "data": { + "image/png": "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\nAyM6fhLOY0unAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title,xlabel,ylabel,show\n", + "from math import exp\n", + "s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]#\n", + "v = [10,16.3,23,27.5,31,35.6,39,41.5,42.9,45,46,45.5,46,49,50]#\n", + "g = 9.8#m/s**2\n", + "m = 68.1##kg\n", + "c = 12.5#kg/s\n", + "v1=[]\n", + "v2=[]\n", + "for i in range(0,15):\n", + " v1.append(g*m*(1 - exp(-c*s[(i)]/m))/c)\n", + " v2.append(g*m*s[(i)]/(c*(3.75+s[(i)])))\n", + "\n", + "print \"time = \",s\n", + "print \"\\nmeasured v =\",v\n", + "print \"\\nusing equation(1.10) v1 = \",v1\n", + "print \"\\nusing equation((17.3)) v2 = \",v2\n", + "plot(v,v1)#\n", + "title('v vs v1')\n", + "xlabel('v')\n", + "ylabel('v1')#\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.4 Pg: 468" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a= 0.501187233627\n", + "x= [1, 2, 3, 4, 5]\n", + "y= [0.5011872336272722, 1.6857861925123965, 3.4273795077270295, 5.670286264671531, 8.379102586654781]\n", + "m= [0.0, 0.3010299956639812, 0.47712125471966244, 0.6020599913279624, 0.6989700043360189]\n", + "n= [-0.30000000000000004, 0.226802492411967, 0.5349621957594092, 0.7536049848239341, 0.9231975075880328]\n" + ] + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nzMwsl38FAoe+bnMSv0IAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from math import log10\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title,xlabel,ylabel,show\n", + "\n", + "#y = a*x**b\n", + "a1 = -0.3000#\n", + "a = 10**(a1)#\n", + "b = 1.75#\n", + "print \"a=\",a\n", + "x=[];y=[];m=[];n=[];\n", + "for i in range(0,5):\n", + " x.append(i+1)\n", + " y.append(a*x[(i)]**b)\n", + " m.append(log10(x[(i)]))\n", + " n.append(log10(y[(i)]))\n", + "\n", + "print \"x=\",x\n", + "print \"y=\",y\n", + "print \"m=\",m\n", + "print \"n=\",n\n", + "plot(x,y)\n", + "title('y vs x')\n", + "xlabel('x')\n", + "ylabel('y')\n", + "show()\n", + "plot(m,n)\n", + "title('log y vs log x')\n", + "xlabel('log x')\n", + "ylabel('log y')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.5 Pg: 471" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sum y = 152.6\n", + "sum x = 15\n", + "xavg = 2\n", + "yavg = 25.4333333333\n", + "sum x**2 = 55\n", + "sum x**3 = 225\n", + "sum x**4 = 979\n", + "sum x*y = 585.6\n", + "sum x**2 * y = 2488.8\n", + "(yi - yavg)**2 = [4.41, 41.173611111111114, 60.58027777777777, 60.580277777777745, 33.446944444444505, 1332.2500000000005]\n", + "(yi - a0 - a1*x - a2*x**2)**2 = [0.14331632653056853, 1.0028591836732743, 1.0816000000005044, 0.80486530612177265, 0.61959387755180939, 0.094336734693502053]\n", + "The standard error of the estimate based on regression polynomial = 1.11752277062\n", + "Percentage of original uncertainty that has been explained by the model = 99.7555161238 %\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title,xlabel,ylabel,show\n", + "from numpy import mat\n", + "x = [0,1,2,3,4,5]#\n", + "y = [2.1,7.7,13.6,27.2,40.9,61.1]#\n", + "sumy = 0#\n", + "sumx = 0#\n", + "m = 2#\n", + "n = 6#\n", + "xsqsum = 0#\n", + "xcsum = 0#\n", + "x4sum = 0#\n", + "xysum = 0#\n", + "x2ysum = 0#\n", + "rsum = 0#\n", + "usum = 0#\n", + "r=[];s=0\n", + "for i in range(0,6):\n", + " s = s + x[i]*y[i]\n", + " sumy = sumy+y[(i)]\n", + " sumx = sumx+x[(i)]\n", + " r.append((y[(i)] - s/n)**2)\n", + " xsqsum = xsqsum + x[(i)]**2\n", + " xcsum = xcsum +x[(i)]**3\n", + " x4sum = x4sum + x[(i)]**4\n", + " xysum = xysum + x[(i)]*y[(i)]\n", + " x2ysum = x2ysum + y[(i)]*x[(i)]**2\n", + " rsum = r[(i)] + rsum\n", + "\n", + "print \"sum y =\",sumy\n", + "print \"sum x =\",sumx\n", + "xavg = sumx/n#\n", + "yavg = sumy/n#\n", + "print \"xavg = \",xavg\n", + "print \"yavg = \",yavg\n", + "print \"sum x**2 =\",xsqsum\n", + "print \"sum x**3 =\",xcsum\n", + "print \"sum x**4 =\",x4sum\n", + "print \"sum x*y =\",xysum\n", + "print \"sum x**2 * y =\",x2ysum\n", + "J = mat([[n,sumx,xsqsum],[sumx,xsqsum,xcsum],[xsqsum,xcsum,x4sum]])\n", + "I = mat([[sumy],[xysum],[x2ysum]])\n", + "X = (J**-1)* I\n", + "a0 = X[0,0]\n", + "a1 = X[1,0]\n", + "a2 = X[2,0]\n", + "u=[]\n", + "for i in range(0,6):\n", + " u.append((y[(i) ]- a0 - a1*x[(i)] - a2*x[(i)]**2)**2)\n", + " usum = usum + u[i]\n", + "\n", + "print \"(yi - yavg)**2 = \",r\n", + "print \"(yi - a0 - a1*x - a2*x**2)**2 = \",u\n", + "plot(x,y)#\n", + "title('x vs y')\n", + "xlabel('x')\n", + "ylabel('y') \n", + "syx = (usum/(n-3))**0.5#\n", + "print \"The standard error of the estimate based on regression polynomial =\",syx\n", + "R2 = (rsum - usum)/(rsum)#\n", + "print \"Percentage of original uncertainty that has been explained by the model = \",R2*100,'%'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.6 Pg: 475" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a0= -0.850183257587\n", + "a1= 7.17727605923\n", + "a2= 2.80543175487\n", + "Thus, y = a0 + a1*x1 + a2*x2\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "x1 = [0,2,2.5,1,4,7]\n", + "x2 = [0,1,2,3,6,2]\n", + "x1sum = 0#\n", + "x2sum = 0#\n", + "ysum = 0#\n", + "x12sum = 0#\n", + "x22sum = 0#\n", + "x1ysum = 0#\n", + "x2ysum = 0#\n", + "x1x2sum = 0#\n", + "n = 6#\n", + "x12=[];x22=[];x1x2=[];x1y=[];x2y=[]\n", + "for i in range(0,6):\n", + " y.append(5 + 4*x1[(i)] - 3*x2[(i)])\n", + " x12.append(x1[(i)]**2)\n", + " x22.append(x2[(i)]**2)\n", + " x1x2.append(x1[(i)] * x2[(i)])\n", + " x1y.append(x1[(i)] * y[(i)])\n", + " x2y.append(x2[(i)] * y[(i)])\n", + " x1sum = x1sum + x1[(i)]\n", + " x2sum = x2sum + x2[(i)]\n", + " ysum = ysum + y[(i)]\n", + " x1ysum = x1ysum + x1y[(i)]#\n", + " x2ysum = x2ysum + x2y[(i)]#\n", + " x1x2sum = x1x2sum + x1x2[(i)]#\n", + " x12sum = x12sum + x12[(i)]#\n", + " x22sum = x22sum + x22[(i)]#\n", + "\n", + "X = mat([[n,x1sum,x2sum],[x1sum,x12sum,x1x2sum],[x2sum,x1x2sum,x22sum]])\n", + "Y = mat([[ysum],[x1ysum],[x2ysum]])\n", + "Z = (X**-1)*Y\n", + "a0 = Z[0,0]\n", + "a1 = Z[1,0]\n", + "a2 = Z[2,0]\n", + "print \"a0=\",a0\n", + "print \"a1=\",a1\n", + "print \"a2=\",a2\n", + "print \"Thus, y = a0 + a1*x1 + a2*x2\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.7 Pg: 479" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a0= -0.858655686175\n", + "a1= 1.03160389481\n", + "standard error of co efficient a0 = 0.716371758333\n", + "standard error of co efficient a1 = 0.0186248847544\n", + "interval of a0 = [-2.4062823089821084, 0.68897093663270859]\n", + "interval of a1 = [0.99136728978321009, 1.0718404998372961]\n" + ] + } + ], + "source": [ + "from numpy import mat,exp,transpose,shape,array\n", + "#y = -0.859 + 1.032*x\n", + "Z = mat([[1,10],[1,16.3],[1,23],[1,27.5],[1,31],[1,35.6],[1,39],[1,41.5],[1,42.9],[1,45],[1,46],[1,45.5],[1,46],[1,49],[1,50]])\n", + "Y=[]\n", + "for i in range(0,15):\n", + " Y.append(9.8*68.1*(1-exp(-12.5*(i+1)/68.1))/12.5)\n", + "Y=array(Y)\n", + "Y=Y.reshape(15,1)\n", + "M = transpose(Z)\n", + "R = M*Z#\n", + "S = M*Y#\n", + "P = (R**-1)#\n", + "X = (R**-1)*S#\n", + "a0 = X[0,0]\n", + "a1 = X[1,0]\n", + "print \"a0=\",a0\n", + "print \"a1=\",a1\n", + "sxy = 0.863403#\n", + "sa0 = ((P[0,0]) * sxy**2)**0.5\n", + "sa1 = (P[1,1] * sxy**2)**0.5\n", + "print \"standard error of co efficient a0 = \",sa0\n", + "print \"standard error of co efficient a1 = \",sa1\n", + "TINV = 2.160368#\n", + "a0 = [a0 - TINV*(sa0),a0 + TINV*(sa0)]#\n", + "a1 = [a1 - TINV*(sa1),a1 + TINV*(sa1)]#\n", + "print \"interval of a0 = \",a0\n", + "print \"interval of a1 = \",a1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:17.8 Pg: 481" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Z0 = [[ 0.22119922 0.1947002 ]\n", + " [ 0.52763345 0.35427491]\n", + " [ 0.7134952 0.358131 ]\n", + " [ 0.82622606 0.3041044 ]\n", + " [ 0.89460078 0.23714826]]\n", + "D = [[ 0.05880078]\n", + " [ 0.04236655]\n", + " [-0.0334952 ]\n", + " [-0.08622606]\n", + " [-0.10460078]]\n", + "X = [[-0.27147736]\n", + " [ 0.50193087]]\n", + "The value of a0 after 1st iteration = 0.728522640015\n", + "The value of a1 after 1st iteration = 1.5019308677\n" + ] + } + ], + "source": [ + "from math import exp\n", + "from numpy import array,transpose,mat\n", + "x = [0.25,0.75,1.25,1.75,2.25]#\n", + "y = [0.28,0.57,0.68,0.74,0.79]#\n", + "a0 = 1#\n", + "a1 = 1#\n", + "sr = 0.0248#\n", + "pda0=[];pda1=[]\n", + "for i in range(0,5):\n", + " pda0.append(1 - exp(-a1 * x[(i)]))\n", + " pda1.append(a0 * x[(i)]*exp(-a1*x[(i)]))\n", + "\n", + "Z0 = mat([[pda0[0],pda1[0]],[pda0[1],pda1[1]],[pda0[2],pda1[2]],[pda0[3],pda1[3]],[pda0[4],pda1[4]]])\n", + "print \"Z0 = \",Z0\n", + "R = transpose(Z0)*Z0\n", + "S = (R**-1)\n", + "y1=[];D=[]\n", + "for i in range(0,5):\n", + " y1.append(a0 * (1-exp(-a1*x[(i)])))\n", + " D.append(y[(i)] - y1[(i)])\n", + "D=array(D) \n", + "D=D.reshape(5,1)\n", + "print \"D = \",D\n", + "M = transpose(Z0)*D\n", + "X = S *M#\n", + "print \"X = \",X\n", + "a0 = a0 + X[0,0]\n", + "a1 = a1 + X[1,0]\n", + "print \"The value of a0 after 1st iteration = \",a0\n", + "print \"The value of a1 after 1st iteration = \",a1" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter18_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter18_1.ipynb new file mode 100644 index 00000000..e44e3a7b --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter18_1.ipynb @@ -0,0 +1,268 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter-18 : Interpolation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:18.1 Pg: 490" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "value of ln2 for interpolation region 1 to 6 = 0.3583518\n", + "error by interpolation for interval[1,6] = 48.3007635246 %\n", + "value of ln2 for interpolation region 1 to 6 = 0.462098\n", + "error by interpolation for interval[1,6] = 33.3333506995 %\n" + ] + } + ], + "source": [ + "from math import log\n", + "#f1(x) = f0(x) +(f(x1) - f(x0) *(x - x0)/ (x1 - x0)\n", + "x = 2#\n", + "x0 = 1#\n", + "x1 = 6#\n", + "m = 1.791759#\n", + "n = 0#\n", + "r = log(2)#\n", + "f = 0 + (m - n) * (x - x0) / (x1 - x0)#\n", + "print \"value of ln2 for interpolation region 1 to 6 =\",f\n", + "e = (r - f) * 100/r#\n", + "print \"error by interpolation for interval[1,6] =\",e,\"%\"\n", + "x2 = 4#\n", + "p = 1.386294#\n", + "f = 0 + (p - n) * (x - x0) / (x2 - x0)#\n", + "print \"value of ln2 for interpolation region 1 to 6 =\",f\n", + "e = (r - f) * 100/r#\n", + "print \"error by interpolation for interval[1,6] =\",e,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:18.2 Pg: 492" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b0 = 0\n", + "b1 = 0.462098\n", + "b2 = -0.0518731\n", + "f(2) = 0.5658442\n", + "error = 18.3659378744 %\n" + ] + } + ], + "source": [ + "from math import log\n", + "x = 2#\n", + "x0 = 1#\n", + "m = 0#\n", + "x1 = 4#\n", + "n = 1.386294#\n", + "x2 = 6#\n", + "p = 1.791759#\n", + "b0 = m#\n", + "b1 = (n - m)/(x1 - x0)#\n", + "b2 = ((p - n)/(x2 - x1) - (n - m)/(x1 - x0))/(x2 - x0)#\n", + "print \"b0 = \",b0\n", + "print \"b1 = \",b1\n", + "print \"b2 = \",b2\n", + "f = b0 + b1*(x - x0) + b2*(x - x0)*(x - x1)#\n", + "print \"f(2) = \",f\n", + "r = log(2)#\n", + "e = (r -f)*100/r#\n", + "print \"error = \",e,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:18.3 Pg: 494" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b0 = 0\n", + "b1 = 0.462098\n", + "b2 = -0.0518731\n", + "b3 = 0.0078654\n", + "f(2) = 0.6287674\n", + "error = 9.28803901474 %\n" + ] + } + ], + "source": [ + "from math import log\n", + "x = 2#\n", + "x0 = 1#\n", + "m = 0#\n", + "x1 = 4#\n", + "n = 1.386294#\n", + "x3 = 5#\n", + "p = 1.609438#\n", + "x2 = 6#\n", + "o = 1.791759#\n", + "f01 = (m - n)/(x0 - x1)#\n", + "f12 = (n - o)/(x1 - x2)#\n", + "f23 = (p - o)/(x3 - x2)#\n", + "f210 = (f12 - f01)/(x2 - x0)#\n", + "f321 = (f23 - f12)/(x3 - x1)#\n", + "f0123 = (f321 - f210) / (x3 - x0)#\n", + "b0 = m#\n", + "b1 = f01#\n", + "b2 = f210#\n", + "b3 = f0123#\n", + "print \"b0 = \",b0\n", + "print \"b1 = \",b1\n", + "print \"b2 = \",b2\n", + "print \"b3 = \",b3\n", + "f = b0 + b1*(x - x0) + b2*(x - x0)*(x - x1) + b3*(x - x0)*(x - x1)*(x - x2)#\n", + "print \"f(2) = \",f\n", + "r = log(2)#\n", + "e = (r -f)*100/r#\n", + "print \"error = \",e,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:18.4 Pg: 496" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "error R2 = 0.0629232\n" + ] + } + ], + "source": [ + "x = 2#\n", + "x0 = 1#\n", + "m = 0#\n", + "x1 = 4#\n", + "n = 1.386294#\n", + "x3 = 5#\n", + "p = 1.609438#\n", + "x2 = 6#\n", + "o = 1.791759#\n", + "f01 = (m - n)/(x0 - x1)#\n", + "f12 = (n - o)/(x1 - x2)#\n", + "f23 = (p - o)/(x3 - x2)#\n", + "f210 = (f12 - f01)/(x2 - x0)#\n", + "f321 = (f23 - f12)/(x3 - x1)#\n", + "f0123 = (f321 - f210) / (x3 - x0)#\n", + "b0 = m#\n", + "b1 = f01#\n", + "b2 = f210#\n", + "b3 = f0123#\n", + "R2 = b3 * (x - x0) * (x - x1)*(x-x2)#\n", + "print \"error R2 = \",R2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:18.6 Pg: 501" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "first order polynomial f1(2) = 0.462098\n", + "second order polynomial f2(2) = 0.5658442\n" + ] + } + ], + "source": [ + "x = 2#\n", + "x0 = 1#\n", + "m = 0#\n", + "x1 = 4#\n", + "n = 1.386294#\n", + "x2 = 6#\n", + "p = 1.791759#\n", + "f1 = (x - x1)*m/((x0 - x)) + (x- x0) * n/(x1 - x0)#\n", + "print \"first order polynomial f1(2) = \",f1\n", + "f2 = (x - x1)*(x - x2)*m/((x0 - x1)*(x0 - x2)) + (x - x0)*(x - x2)*n/((x1-x0)*(x1-x2)) + (x - x0)*(x - x1)*p/((x2 - x0)*(x2 - x1))#\n", + "print \"second order polynomial f2(2) = \",f2" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter19_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter19_1.ipynb new file mode 100644 index 00000000..cbe17ebc --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter19_1.ipynb @@ -0,0 +1,268 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Chapter-19 : Fourier Approximation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:19.1 Pg: 529" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The least square fit is y=A0+A1*cos(w0*t)+A2*sin(w0*t), where\n", + "A0= 1.70003783298\n", + "A1= 0.500211429839\n", + "B1= -0.866058310862\n", + "Alternatively, the least square fit can be expressed as\n", + "y=A0+C1*cos(w0*t + theta), where\n", + "A0= 1.70003783298\n", + "Theta= 1.04703092349\n", + "C1= 1.00013422717\n", + "Or\n", + "y=A0+C1*sin(w0*t + theta + pi/2), where\n", + "A0= 1.70003783298\n", + "Theta= 1.04703092349\n", + "C1= 1.00013422717\n" + ] + } + ], + "source": [ + "from math import sin,cos,atan\n", + "def f(t):\n", + " y=1.7+cos(4.189*t+1.0472)\n", + " return y\n", + "deltat=0.15#\n", + "t1=0#\n", + "t2=1.35#\n", + "omega=4.189#\n", + "Del=(t2-t1)/9#\n", + "t=[]\n", + "for i in range(1,11):\n", + " t.append(t1+Del*(i-1))\n", + "\n", + "sumy=0#\n", + "suma=0#\n", + "sumb=0#\n", + "y=[];a=[];b=[]\n", + "for i in range(1,11):\n", + " y.append(f(t[i-1]))\n", + " a.append(y[(i-1)]*cos(omega*t[(i-1)]))\n", + " b.append(y[i-1]*sin(omega*t[i-1]))\n", + " sumy=sumy+y[i-1]\n", + " suma=suma+a[i-1]\n", + " sumb=sumb+b[i-1]\n", + "\n", + "A0=sumy/10#\n", + "A1=2*suma/10#\n", + "B1=2*sumb/10#\n", + "print \"The least square fit is y=A0+A1*cos(w0*t)+A2*sin(w0*t), where\"\n", + "print \"A0=\",A0\n", + "print \"A1=\",A1\n", + "print \"B1=\",B1\n", + "theta=atan(-B1/A1)#\n", + "C1=(A1**2 + B1**2)**0.5#\n", + "print \"Alternatively, the least square fit can be expressed as\"\n", + "print \"y=A0+C1*cos(w0*t + theta), where\"\n", + "print \"A0=\",A0\n", + "print \"Theta=\",theta\n", + "print \"C1=\",C1\n", + "print \"Or\"\n", + "print \"y=A0+C1*sin(w0*t + theta + pi/2), where\"\n", + "print \"A0=\",A0\n", + "print \"Theta=\",theta\n", + "print \"C1=\",C1\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:19.2 Pg: 532" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The fourier approximtion is:\n", + "4/(pi)*cos(w)*t) - 4/(3*pi)*cos(3*(w)*t) + 4/(5*pi)*cos(5*(w)*t) - 4/(7*pi)*cos(7*(w)*t) + .....\n" + ] + } + ], + "source": [ + "a0=0#\n", + "#f(t)=-1 for -T/2 to -T/4\n", + "#f(t)=1 for -T/4 to T/4\n", + "#f(t)=-1 for T/4 to T/2\n", + "#ak=2/T* (integration of f(t)*cos(w0*t) from -T/2 to T/2)\n", + "#ak=2/T*((integration of f(t)*cos(w0*t) from -T/2 to -T/4) + (integration of f(t)*cos(w0*t) from -T/4 to T/4) + (integration of f(t)*cos(w0*t) from T/4 to T/2))\n", + "#Therefore, \n", + "#ak=4/(k*pi) for k=1,5,9,.....\n", + "#ak=-4/(k*pi) for k=3,7,11,.....\n", + "#ak=0 for k=even integers\n", + "#similarly we find the b's.\n", + "#all the b's=0\n", + "print \"The fourier approximtion is:\"\n", + "print \"4/(pi)*cos(w)*t) - 4/(3*pi)*cos(3*(w)*t) + 4/(5*pi)*cos(5*(w)*t) - 4/(7*pi)*cos(7*(w)*t) + .....\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:19.3 Pg: 550" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import arange,log\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title,xlabel,ylabel,show\n", + "x=arange(0.5,5.6,0.5)\n", + "y=[]\n", + "for i in range(1,12):\n", + " y.append(0.9846*log(x[i-1])+1.0004)\n", + "\n", + "plot(x,y)\n", + "title(\"y vs x\")\n", + "xlabel(\"x\")\n", + "ylabel(\"y\")\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:19.6 Pg: 555" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The cubic polynomial is y=a0 + a1*x + a2*x**2 + a3*x**3, where a0, a1, a2 and a3 are\n", + "[[ 1.67644593 0.76697402 0.5511316 0.46451844]\n", + " [ 2.56065822 1.84003582 1.55086475 1.40157818]\n", + " [ 3.36495108 2.83613174 2.5631251 2.40990305]\n", + " [ 3.94388659 3.56424723 3.35117872 3.23471752]]\n" + ] + } + ], + "source": [ + "from numpy import nditer,mat,divide\n", + "x=[0.05, 0.12, 0.15, 0.3, 0.45 ,0.7 ,0.84 ,1.05]\n", + "y=[0.957, 0.851, 0.832, 0.72 ,0.583, 0.378, 0.295, 0.156]\n", + "sx=sum(x)#\n", + "sxx=0\n", + "for xx in x:\n", + " sxx+=xx*xx\n", + "sx3=0\n", + "for xx in x:\n", + " sx3+=xx*xx*xx\n", + "sx4=0\n", + "for xx in x:\n", + " sx4+=xx*xx*xx*xx\n", + "\n", + "sx5=0\n", + "for xx in x:\n", + " sx5+=xx*xx*xx*xx*xx\n", + " \n", + "sx6=0\n", + "for xx in x:\n", + " sx6+=xx*xx*xx*xx*xx*xx\n", + "\n", + "n=8#\n", + "sy=sum(y)#\n", + "sxy=0\n", + "for xx,yy in nditer([x,y]):\n", + " sxy+=xx*yy\n", + " \n", + " \n", + "sx2y=0\n", + "for xx,yy in nditer([x,y]):\n", + " sx2y+=xx*xx*yy\n", + "\n", + "sx3y=0\n", + "for xx,yy in nditer([x,y]):\n", + " sx3y+=xx*xx*xx*yy\n", + "\n", + "m=mat([[n, sx, sxx ,sx3],[sx, sxx, sx3, sx4],[sxx, sx3, sx4, sx5],[sx3, sx4, sx5, sx6]])\n", + "p=mat([[sy],[sxy],[sx2y],[sx3y]])\n", + "a=divide(m,p)\n", + "print \"The cubic polynomial is y=a0 + a1*x + a2*x**2 + a3*x**3, where a0, a1, a2 and a3 are\"\n", + "print a" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter1_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter1_1.ipynb new file mode 100644 index 00000000..4e34a107 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter1_1.ipynb @@ -0,0 +1,121 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER 1 : Mathematical Modeling And Engineering Problem Solving" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex : 1.1 Pg : 14" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time(s) = 0\tv(m/s) = 0.00\n", + "Time(s) = 2\tv(m/s) = 16.40\n", + "Time(s) = 4\tv(m/s) = 27.77\n", + "Time(s) = 6\tv(m/s) = 35.64\n", + "Time(s) = 8\tv(m/s) = 41.10\n", + "Time(s) = 10\tv(m/s) = 44.87\n", + "Time(s) = inf\tv(m/s) = 53.39\n" + ] + } + ], + "source": [ + "from numpy import arange, exp, inf\n", + "g=9.8##m/s**2# acceleration due to gravity\n", + "m=68.1##kg\n", + "c=12.5##kg/sec# drag coefficient\n", + "v=[]\n", + "j=0\n", + "for i in arange(0,12,2):\n", + " v.append(g*m*(1-exp(-c*i/m))/c)\n", + " print \"Time(s) = %d\\t\"%i,\"v(m/s) = %0.2f\"%v[j]\n", + " j+=1\n", + "print \"Time(s) = %0.2f\\t\"%inf,\"v(m/s) = %0.2f\"%(g*m/c)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex : 1.2 Pg :17" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time(s) = 0\tv(m/s) = 0.00\n", + "Time(s) = 2\tv(m/s) = 19.60\n", + "Time(s) = 4\tv(m/s) = 12.40\n", + "Time(s) = 6\tv(m/s) = 34.65\n", + "Time(s) = 8\tv(m/s) = 19.29\n", + "Time(s) = 10\tv(m/s) = 47.17\n", + "Time(s) = 12\tv(m/s) = 21.57\n", + "Time(s) = inf\tv(m/s) = 53.39\t\n" + ] + } + ], + "source": [ + "from numpy import arange, exp, inf\n", + "g=9.8##m/s**2# acceleration due to gravity\n", + "m=68.1##kg\n", + "c=12.5##kg/sec# drag coefficient\n", + "count=0#\n", + "v=[]\n", + "v.append(0)\n", + "print \"Time(s) = %d\\t\"%(0),\"v(m/s) = %0.2f\"%v[0]\n", + "\n", + "for i in arange(1,13,2):\n", + " v.append(v[(count-1)]+(g-c*v[(count)]/m)*(2))\n", + " print \"Time(s) = %d\\t\"%(i+1),\"v(m/s) = %0.2f\"%v[(count+1)]\n", + " count=count+1#\n", + "\n", + "print \"Time(s) = %0.2f\\t\"%inf,\"v(m/s) = %0.2f\\t\"%(g*m/c)\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter21_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter21_1.ipynb new file mode 100644 index 00000000..eaae38ce --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter21_1.ipynb @@ -0,0 +1,737 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 21 Newtin-cotes integration formula" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex : 21.1 Pg : 612" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Error Et= 1.468\n", + "The percent relative error et= 89.467 %\n", + "The approximate error estimate without using the true value= 2.56\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from sympy.mpmath import quad\n", + "def f(x):\n", + " y=(0.2+25*x-200*x**2+675*x**3-900*x**4+400*x**5)\n", + " return y\n", + "tval=1.640533#\n", + "a=0#\n", + "b=0.8#\n", + "fa=f(a)#\n", + "fb=f(b)#\n", + "l=(b-a)*((fa+fb)/2)#\n", + "Et=tval-l##error\n", + "et=Et*100/tval##percent relative error\n", + "\n", + "#by using approximate error estimate\n", + "\n", + "#the second derivative of f\n", + "def g(x):\n", + " y=-400+4050*x-10800*x**2+8000*x**3\n", + " return y\n", + "\n", + "\n", + "f2x=quad(g,[0,0.8])/(b-a)##average value of second derivative\n", + "Ea=-(1/12)*(f2x)*(b-a)**3#\n", + "print \"The Error Et=\",round(Et,3)\n", + "print \"The percent relative error et=\",round(et,3),\"%\"\n", + "print \"The approximate error estimate without using the true value=\",Ea" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex : 21.2 Pg : 613" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Error Et= 0.572\n", + "The percent relative error et= 34.85 %\n", + "The approximate error estimate without using the true value= 0.64\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from sympy.mpmath import quad\n", + "\n", + "def f(x):\n", + " y=(0.2+25*x-200*x**2+675*x**3-900*x**4+400*x**5)\n", + " return y\n", + "a=0#\n", + "b=0.8#\n", + "tval=1.640533#\n", + "n=2#\n", + "h=(b-a)/n#\n", + "fa=f(a)#\n", + "fb=f(b)#\n", + "fh=f(h)#\n", + "l=(b-a)*(fa+2*fh+fb)/(2*n)#\n", + "Et=tval-l##error\n", + "et=Et*100/tval##percent relative error\n", + "\n", + "#by using approximate error estimate\n", + "\n", + "#the second derivative of f\n", + "def g(x):\n", + " y=-400+4050*x-10800*x**2+8000*x**3\n", + " return y\n", + "f2x=quad(g,[0,0.8])/(b-a)##average value of second derivative\n", + "Ea=-(1/12)*(f2x)*(b-a)**3/(n**2)#\n", + "print \"The Error Et=\",round(Et,3)\n", + "print \"The percent relative error et=\",round(et,3),\"%\"\n", + "print \"The approximate error estimate without using the true value=\",Ea" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex :21.3 Pg : 614" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No. of segments= 10\n", + "Segment size= 1.0\n", + "Estimated d= 288.749146143 m\n", + "0.237014701487 et(%)\n", + "---------------------------------------------------------\n", + "No. of segments= 20\n", + "Segment size= 0.5\n", + "Estimated d= 289.263574224 m\n", + "0.0592795228803 et(%)\n", + "---------------------------------------------------------\n", + "No. of segments= 50\n", + "Segment size= 0.2\n", + "Estimated d= 298.382319223 m\n", + "et(%) -3.09125177877\n", + "---------------------------------------------------------\n", + "No. of segments= 100\n", + "Segment size= 0.1\n", + "Estimated d= 293.915596452 m\n", + "et(%) -1.54799665905\n", + "---------------------------------------------------------\n", + "No. of segments= 100\n", + "Segment size= 0.1\n", + "Estimated d= 293.915596452 m\n", + "et(%) -1.54799665905\n", + "---------------------------------------------------------\n", + "No. of segments= 200\n", + "Segment size= 0.05\n", + "Estimated d= 289.43343055 m\n", + "et(%) 0.000594070904571\n", + "---------------------------------------------------------\n", + "No. of segments= 200\n", + "Segment size= 0.05\n", + "Estimated d= 289.43343055 m\n", + "et(%) 0.000594070904571\n", + "---------------------------------------------------------\n", + "No. of segments= 500\n", + "Segment size= 0.02\n", + "Estimated d= 290.332334709 m\n", + "et(%) -0.309977799375\n", + "---------------------------------------------------------\n", + "No. of segments= 1000\n", + "Segment size= 0.01\n", + "Estimated d= 289.883809248 m\n", + "et(%) -0.155012011658\n", + "---------------------------------------------------------\n", + "No. of segments= 2000\n", + "Segment size= 0.005\n", + "Estimated d= 289.435129352 m\n", + "et(%) 7.13401428866e-06\n", + "---------------------------------------------------------\n", + "No. of segments= 2000\n", + "Segment size= 0.005\n", + "Estimated d= 289.435129352 m\n", + "et(%) 7.13401428866e-06\n", + "---------------------------------------------------------\n", + "No. of segments= 5000\n", + "Segment size= 0.002\n", + "Estimated d= 289.435143766 m\n", + "et(%) 2.15393877364e-06\n", + "---------------------------------------------------------\n", + "No. of segments= 5000\n", + "Segment size= 0.002\n", + "Estimated d= 289.435143766 m\n", + "et(%) 2.15393877364e-06\n", + "---------------------------------------------------------\n", + "No. of segments= 10000\n", + "Segment size= 0.001\n", + "Estimated d= 289.480018962 m\n", + "et(%) -0.0155022506708\n", + "---------------------------------------------------------\n" + ] + } + ], + "source": [ + "from numpy import arange, exp\n", + "g=9.8##m/s**2# acceleration due to gravity\n", + "m=68.1##kg\n", + "c=12.5##kg/sec# drag coefficient\n", + "def f(t):\n", + " from numpy import exp\n", + " v=g*m*(1-exp(-c*t/m))/c\n", + " return v\n", + "tval=289.43515##m\n", + "a=0#\n", + "b=10#\n", + "fa=f(a)#\n", + "fb=f(b)#\n", + "\n", + "for i in arange(10,21,10):\n", + " n=i#\n", + " h=(b-a)/n#\n", + " print \"No. of segments=\",i\n", + " print \"Segment size=\",h\n", + " j=a+h#\n", + " s=0#\n", + " while j" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,legend\n", + "from numpy import arange,exp\n", + "def f(t,y):\n", + " yp=-1000*y+3000-2000*exp(-t)\n", + " return yp\n", + "y0=0#\n", + "#explicit euler\n", + "h1=0.0005#\n", + "y1 =[y0]\n", + "count=1#\n", + "t=arange(0,0.0061,0.0001)\n", + "for i in arange(0,0.00591,0.0001):\n", + " y1.append(y1[(count-1)]+f(i,y1[(count-1)])*h1)\n", + " count=count+1#\n", + "\n", + "plot(t,y1)\n", + "h2=0.0015#\n", + "y2=[y0]#\n", + "count=1#\n", + "t=arange(0,0.0061,0.0001)\n", + "for i in arange(0,0.00591,0.0001):\n", + " y2.append(y2[(count-1)]+f(i,y2[(count-1)])*h2)\n", + " count=count+1#\n", + "\n", + "plot(t,y2)\n", + "title(\"y vs t\")\n", + "xlabel(\"t\")\n", + "ylabel(\"y\")\n", + "h=legend([\"h-0.0005\",\"h=0.0015\"])\n", + "show()\n", + "#implicit order\n", + "h3=0.05#\n", + "y3=[y0]#\n", + "count=1#\n", + "t=arange(0,0.401,0.01)\n", + "for j in arange(0,0.40,0.01):\n", + " y3.append((y3[(count-1)]+3000*h3-2000*h3*exp(-(j+0.01)))/(1+1000*h3))\n", + " count=count+1#\n", + "\n", + "plot(t,y3)\n", + "title(\"y vs t\")\n", + "xlabel(\"t\")\n", + "ylabel(\"y\")\n", + "show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:26.2 Pg: 758" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f(x,y) = 4*exp(0.8*x) - 0.5*y\n", + "the first corrector yields y = 15.7669298488\n", + "error = -6.21810039929 %\n" + ] + } + ], + "source": [ + "from math import exp\n", + "print \"f(x,y) = 4*exp(0.8*x) - 0.5*y\"\n", + "#f'(x,y) = 4*exp(0.8*x) - 0.5*y\n", + "h = 1#\n", + "x=range(0,5)\n", + "y = [2]\n", + "x1 = -1#\n", + "y1 = -0.3929953#\n", + "y10 = y1 + (4*exp(0.8*x[0]) - 0.5*y[0])*2\n", + "y11 = y[0] + (4*exp(0.8*x[0]) - 0.5*y[0] + 4*exp(0.8*x[0]) - 0.5*y10)*h/2\n", + "y12 = y[0] + (3 + 4*exp(0.8*x[1]) - 0.5*y11)*h/2#\n", + "t = 6.360865#\n", + "y20 = y[0] + (4*exp(0.8*x[1]) - 0.5*t) *2\n", + "y21 = t + (4*exp(0.8*x[1]) - 0.5*t + 4*exp(0.8*x[2]) - 0.5*y20)*h/2\n", + "print \"the first corrector yields y = \",y21\n", + "t = 14.84392\n", + "e = (t - y21)*100/t#\n", + "print \"error = \",e,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:26.3 Pg: 762" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ec (x = 1) = -0.150772\n", + "true error (x = 1) = -0.166234\n", + "Ec (x = 2) = -0.371756\n", + "true error (x = 2) = -0.45832\n" + ] + } + ], + "source": [ + "x1 = 1#\n", + "x2 = 2#\n", + "y1 = 6.194631#\n", + "y2 = 14.84392#\n", + "y10 = 5.607005#\n", + "y11 = 6.360865#\n", + "y20 = 13.44346#\n", + "y21 = 15.30224#\n", + "Ec1 = -(y11 - y10)/5#\n", + "print \"Ec (x = 1) = \",Ec1\n", + "e1 = y1 - y11#\n", + "print \"true error (x = 1) = \",e1\n", + "Ec2 = -(y21 - y20)/5#\n", + "print \"Ec (x = 2) = \",Ec2\n", + "e2 = y2 - y21#\n", + "print \"true error (x = 2) = \",e2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:26.4 Pg: 763" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ym = 6.210093\n", + "error = -0.249603245133 %\n", + "y20 = 13.5942344279\n", + "error = 8.41883796235 %\n", + "y20 = 14.1973224279\n", + "error = 4.35597586123 %\n", + "y2 = 14.8882708856\n", + "error = -0.2987814916 %\n" + ] + } + ], + "source": [ + "x0 = 0#\n", + "x1 = 1#\n", + "x2 = 2#\n", + "y1 = 6.194631#\n", + "y2 = 14.84392#\n", + "y10 = 5.607005#\n", + "y11 = 6.360865#\n", + "y1m = y11 - (y11 - y10)/5#\n", + "e = (y1 - y1m)*100/y1#\n", + "print \"ym =\",y1m\n", + "print \"error = \",e,\"%\"\n", + "y20 =2+(4*exp(0.8*x1) - 0.5*y1m)*2#\n", + "e2 = (y2 - y20)*100/y2#\n", + "print \"y20 = \",y20\n", + "print \"error = \",e2,\"%\"\n", + "y2o = y20 + 4* (y11 - y10)/5#\n", + "e2 = (y2 - y2o)*100/y2#\n", + "print \"y20 = \",y2o\n", + "print \"error = \",e2,\"%\"\n", + "y21 = 15.21178#\n", + "y23 = y21 - (y21 - y20)/5#\n", + "print \"y2 = \",y23\n", + "e3 = (y2 - y23)*100/y2#\n", + "print \"error = \",e3,\"%\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:26.5 Pg: 773" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f(x,y) = 4*exp(0.8*x) - 0.5*y\n", + "x = [ 1. 2. 3. 4.]\n", + "y0 = [2, 6.0227228499844756, 20.083112587836688, 41.872835141608761]\n", + "corrected y1 = [6.9056637734795867, 19.136474376155903, 38.385462010990274, 82.755745651588995]\n" + ] + } + ], + "source": [ + "from numpy import arange,exp\n", + "print \"f(x,y) = 4*exp(0.8*x) - 0.5*y\"\n", + "#f'(x,y) = 4*exp(0.8*x) - 0.5*y\n", + "h = 1#\n", + "x = arange(-3,4.1,h)\n", + "y=[-4.547302,-2.306160,-0.3929953,2,2]\n", + "y1=[0,0,0,0]\n", + "for i in range(3,7):\n", + " y.append(y[(i-3)] + 4*h*(2*(4*exp(0.8*x[(i)]) - 0.5*y[(i)]) - 4*exp(0.8*x[(i-1)]) + 0.5*y[(i-1)] + 2*(4*exp(0.8*x[(i-2)]) - 0.5*y[(i-2)]))/3)\n", + " y1.append(y[(i-1)] + h*(4*exp(0.8*x[(i-1)]) - 0.5*y[(i-1)] +4 * (4*exp(0.8*x[(i)]) - 0.5*y[(i)]) + 4*exp(0.8*x[(i+1)]) - 0.5*y[(i+1)])/3)\n", + "\n", + "print \"x = \",x[4:8]\n", + "print \"y0 = \",y[4:8]\n", + "print \"corrected y1 = \",y1[4:8]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:26.6 Pg: 774" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f(x,y) = 4*exp(0.8*x) - 0.5*y\n", + "x = [ 1. 2. 3. 4.]\n", + "y0 = [2, 6.0075392692969114, 6.2532143855636217, 14.488238413222703]\n", + "y1 = [6.0075392692969114, 6.2532143855636217, 14.488238413222703, 16.39224775082873]\n" + ] + } + ], + "source": [ + "from numpy import arange,exp\n", + "print \"f(x,y) = 4*exp(0.8*x) - 0.5*y\"\n", + "#f'(x,y) = 4*exp(0.8*x) - 0.5*y\n", + "h = 1#\n", + "x = arange(-3,4.1,h)\n", + "y = [-4.547302,-2.306160,-0.3929953,2]\n", + "m= [0,0,0,0,y[3]]\n", + "for i in range(3,7):\n", + " y.append(y[(i)] + h *(55* (4*exp(0.8*x[(i)]) - 0.5*y[(i)]) / 24 - 59 * (4*exp(0.8*x[(i-1)]) - 0.5*y[(i-1)]) / 24 + 37*(4*exp(0.8*x[(i-2)]) - 0.5*y[(i-2)])/24 - 9*(4*exp(0.8*x[(i-3)]) - 0.5*y[(i-3)])/24))\n", + " m.append(y[(i+1)])\n", + " y.append(y[(i)] + h*(9*(4*exp(0.8*x[(i+1)]) - 0.5*y[(i+1)])/24 +19*(4*exp(0.8*x[(i)]) - 0.5*y[(i)])/24 - 5*(4*exp(0.8*x[(i-1)]) - 0.5*y[(i-1)])/24 + (4*exp(0.8*x[(i-2)]) - 0.5*y[(i-2)])/24))\n", + "\n", + "print \"x = \",x[4:8]\n", + "print \"y0 = \",m[4:8]\n", + "print \"y1 = \",y[4:8]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:26.7 Pg: 775" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "x = [ 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 4.5 5. 5.5 6. 6.5 7.\n", + " 7.5 8. 8.5 9. 9.5]\n", + "\n", + "y0(milnes method) = [1, 0.62312747952608971, 0.60341314566242521, 0.35581682815742122, 0.3173461560388694, -0.073744603832379019, 0.05769466447055438, 0.097016353530268939, 0.21274204327392865, -0.36734037063735558, 0.09724068674400127, 0.43888095058828192, 0.3040024218422181, -0.1934006684100632, -0.1160863384290636, 0.32478026608871907, -0.052055689173705413, -0.36964931180484378, 0.00024232753216428538, 0.55995471612928904]\n", + "\n", + "corrected y1(milnes method) = [1, 0.62312747952608971, 0.60341314566242521, 0.35581682815742122, 0.3173461560388694, -0.073744603832379019, 0.05769466447055438, 0.097016353530268939, 0.21274204327392865, -0.36734037063735558, 0.09724068674400127, 0.43888095058828192, 0.3040024218422181, -0.1934006684100632, -0.1160863384290636, 0.32478026608871907, -0.052055689173705413, -0.36964931180484378, 0.00024232753216428538, 0.55995471612928904]\n", + "\n", + "y0(fourth order adams method) = [1, 0.27152768648678072, 0.65650943823969443, -0.097035945241965349, 0.90661897200241937, -0.41645854530303128, -0.006339328628468005, 0.0808211944939453, -0.031548281043396395, -0.01627399436000334, 0.0039276970657568626, -0.002208005756050492, -0.0027943948998587478, -0.00042783320198906672, -0.00032845203812321728, -0.00042142028381515442, -0.00017932875240256902, -8.560953717861569e-05, -7.1995388648036731e-05, -4.2020211202092437e-05]\n", + "\n", + "y1(fourth order adams method) = [1, 0.56419948638876194, 0.68342664355034821, -0.010131383289966767, -0.11667598191807985, -0.0076991693311919962, -0.015405634984349756, -0.02283279228603189, -0.0093238635936440419, -0.0046392587796136846, -0.0040348813308916029, -0.0023127486894963844, -0.0011969855369064737, -0.00079981133060367615, -0.00049813831748820084, -0.00028031874518611127, -0.00017096177282523818, -0.00010605960387014003, -6.2547086111287706e-05, -3.7396246727791117e-05]\n" + ] + } + ], + "source": [ + "from numpy import arange,exp\n", + "#dy/dx = -y\n", + "#y = exp(-x)\n", + "h = 0.5#\n", + "x = arange(-1.5,10.1,h)\n", + "y=[exp(-x[0]),exp(-x[1]),exp(-x[2]),1]\n", + "m=[0,0,0,y[3]]\n", + "for i in range(3,23):\n", + " y.append(y[(i-3)] + 4*h*(2*(-y[(i)]) + y[(i-1)] + 2*(-y[(i-2)]))/3)\n", + " m.append(y[(i+1)])\n", + " y.append(y[(i-1)] + h*(-y[(i-1)] +4 * (-y[(i)]) + (-y[(i+1)]))/3)\n", + "\n", + "print \"\\nx = \",x[3:23]\n", + "print \"\\ny0(milnes method) = \",m[3:23]\n", + "print \"\\ncorrected y1(milnes method) = \",y[3:23]\n", + "for i in range(3,23):\n", + " y[(i+1)] = y[(i)] + h *(55* (-y[(i)]) / 24 - 59 * (-y[(i-1)]) / 24 + 37*(-y[(i-2)])/24 - 9*(-y[(i-3)])/24)#\n", + " m[(i+1)] = y[(i+1)]\n", + " y[(i+1)] = y[(i)] + h*(9*(-y[(i+1)])/24 +19*(-y[(i)])/24 - 5*(-y[(i-1)])/24 + (-y[(i-2)])/24)#\n", + "\n", + "print \"\\ny0(fourth order adams method) = \",m[3:23]\n", + "print \"\\ny1(fourth order adams method) = \",y[3:23]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter3_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter3_1.ipynb new file mode 100644 index 00000000..b0cdc8c4 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter3_1.ipynb @@ -0,0 +1,382 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER 3 : Approximations and Round off Errors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex : 3.1 Pg : 56" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a. The true error is\n", + "for the bridge : 1 cm\n", + "for the rivet : 1 cm\n", + "b. The percent relative error is\n", + "for the bridge : 0.01 cm\n", + "for the rivet : 10.0 cm\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "lbm=9999# #cm, measured length of bridge\n", + "lrm=9##cm, measured length of rivet\n", + "lbt=10000##cm, true length of bridge\n", + "lrt=10##cm,true length of rivet\n", + "#calculating true error below#\n", + "Etb=lbt-lbm##cm, true error in bridge\n", + "Etr=lrt-lrm##cm, true error in rivet\n", + "#calculating percent relative error below\n", + "etb=Etb*100/lbt##percent relative error for bridge\n", + "etr=Etb*100/lrt##percent relative error for rivet\n", + "print \"a. The true error is\"\n", + "print \"for the bridge : \",Etb,\"cm\"\n", + "print \"for the rivet : \",Etr,\"cm\"\n", + "print \"b. The percent relative error is\"\n", + "print \"for the bridge : \",etb,\"cm\"\n", + "print \"for the rivet : \",etr,\"cm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.2 : Pg : 58" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Terms\t\t\tResult\t\t\t\tet(%)\t\t\t\tea(%)\n", + "----------------------------------------------------------------------------------------------------\n", + "1 \t\t\t1.00000 \t\t\t39.3469240702 \t\t\t100\n", + "----------------------------------------------------------------------------------------------------\n", + "2 \t\t\t2.00000 \t\t\t-21.3061518595 \t\t\t50.0\n", + "----------------------------------------------------------------------------------------------------\n", + "3 \t\t\t2.50000 \t\t\t-51.6326898244 \t\t\t20.0\n", + "----------------------------------------------------------------------------------------------------\n", + "4 \t\t\t2.62500 \t\t\t-59.2143243156 \t\t\t4.7619047619\n", + "----------------------------------------------------------------------------------------------------\n", + "5 \t\t\t2.64583 \t\t\t-60.4779300642 \t\t\t0.787401574803\n", + "----------------------------------------------------------------------------------------------------\n", + "6 \t\t\t2.64844 \t\t\t-60.6358807827 \t\t\t0.0983284169125\n", + "----------------------------------------------------------------------------------------------------\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import factorial\n", + "n=3##number of significant figures\n", + "es=0.5*(10**(2-n))##percent, specified error criterion\n", + "x=0.5#\n", + "f=[]\n", + "f.append(1)##first estimate f=e**x = 1\n", + "ft=1.648721##true value of e**0.5=f\n", + "et=[]\n", + "et.append((ft-f[0])*100/ft)\n", + "ea=[]\n", + "ea.append(100)\n", + "i=1\n", + "while ea[i-1]>=es:\n", + " f.append(f[(i-1)]+(x**(i-1))/(factorial(i-1)))\n", + " et.append((ft-f[(i)])*100/ft)\n", + " ea.append((f[(i)]-f[(i-1)])*100/f[(i)])\n", + " i=i+1#\n", + "\n", + "print \"Terms\\t\\t\\tResult\\t\\t\\t\\tet(%)\\t\\t\\t\\tea(%)\"\n", + "print '-'*100\n", + "for j in range(0,i-1):\n", + " print j+1,'\\t\\t\\t%0.5f'%f[j],'\\t\\t\\t',et[j],'\\t\\t\\t',ea[j]\n", + " print '-'*100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.3 Pg: 60" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Thus a 16-bit computer word can store decimal integers ranging from -32767 to 32767\n" + ] + } + ], + "source": [ + "n=16##no of bits\n", + "num=0#\n", + "for i in range(0,(n-1)):\n", + " num=num+(1*(2**i))#\n", + "\n", + "print \"Thus a 16-bit computer word can store decimal integers ranging from\",(-1*num),\"to\",num" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.4: Pg :63" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The smallest possible positive number for this system is : 0.0625\n" + ] + } + ], + "source": [ + "n=7##no. of bits\n", + "#the maximum value of exponents is given by\n", + "max=1*(2**1)+1*(2**0)#\n", + "#mantissa is found by\n", + "mantissa=1*(2**-1)+0*(2**-3)+0*(2**-3)#\n", + "num=mantissa*(2**(max*-1))##smallest possible positive number for this system\n", + "print \"The smallest possible positive number for this system is : \",num" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.5: Pg :65" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "value of epsilon= 0.25\n" + ] + } + ], + "source": [ + "b=2##base\n", + "t=3##number of mantissa bits\n", + "E=2**(1-t)##epsilon\n", + "print \"value of epsilon=\",E" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.6: Pg :68" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input a number: 15\n", + "The number summed up 100,000 times is= 1500000\n" + ] + } + ], + "source": [ + "num=input(\"Input a number: \")\n", + "Sum=0#\n", + "for i in range(0,100000):\n", + " Sum=Sum+num#\n", + "\n", + "print \"The number summed up 100,000 times is=\",Sum" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.7: Pg :71" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of the quadratic equation (x**2)+(3000.001*x)+3=0 are = -0.000999999999976 & -3000.0\n" + ] + } + ], + "source": [ + "a=1#\n", + "b=3000.001#\n", + "c=3#\n", + "#the roots of the quadratic equation x**2+3000.001*x+3=0 are found as\n", + "D=(b**2)-4*a*c#\n", + "x1=(-b+(D**0.5))/(2*a)#\n", + "x2=(-b-(D**0.5))/(2*a)#\n", + "print \"The roots of the quadratic equation (x**2)+(3000.001*x)+3=0 are = \",x1,'&',x2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex 3.8: Pg :73" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input value of x:1.25\n", + "sum: 1 term: 1 i: 0\n", + "-------------------------------------\n", + "sum: 2.25 term: 1.25 i: 1\n", + "-------------------------------------\n", + "sum: 3.03125 term: 0.78125 i: 2\n", + "-------------------------------------\n", + "sum: 3.35677083333 term: 0.325520833333 i: 3\n", + "-------------------------------------\n", + "sum: 3.45849609375 term: 0.101725260417 i: 4\n", + "-------------------------------------\n", + "sum: 3.48392740885 term: 0.0254313151042 i: 5\n", + "-------------------------------------\n", + "sum: 3.4892255995 term: 0.0052981906467 i: 6\n", + "-------------------------------------\n", + "sum: 3.49017170497 term: 0.000946105472625 i: 7\n", + "-------------------------------------\n", + "sum: 3.49031953395 term: 0.000147828980098 i: 8\n", + "-------------------------------------\n", + "sum: 3.49034006576 term: 2.05318027913e-05 i: 9\n", + "-------------------------------------\n", + "sum: 3.49034263223 term: 2.56647534892e-06 i: 10\n", + "-------------------------------------\n", + "sum: 3.49034292388 term: 2.91644926013e-07 i: 11\n", + "-------------------------------------\n", + "sum: 3.49034295426 term: 3.03796797931e-08 i: 12\n", + "-------------------------------------\n", + "sum: 3.49034295718 term: 2.92112305703e-09 i: 13\n", + "-------------------------------------\n", + "sum: 3.49034295744 term: 2.60814558663e-10 i: 14\n", + "-------------------------------------\n", + "sum: 3.49034295746 term: 2.17345465553e-11 i: 15\n", + "-------------------------------------\n", + "sum: 3.49034295746 term: 1.69801144963e-12 i: 16\n", + "-------------------------------------\n", + "sum: 3.49034295746 term: 1.24853783061e-13 i: 17\n", + "-------------------------------------\n", + "sum: 3.49034295746 term: 8.67040160146e-15 i: 18\n", + "-------------------------------------\n", + "sum: 3.49034295746 term: 5.7042115799e-16 i: 19\n", + "-------------------------------------\n", + "Exact Value: 3.49034295746\n" + ] + } + ], + "source": [ + "from math import exp\n", + "def f(x):\n", + " y=exp(x)\n", + " return y\n", + "Sum=1#\n", + "test=0#\n", + "i=0#\n", + "term=1#\n", + "x=input(\"Input value of x:\")\n", + "while Sum!=test:\n", + " print \"sum:\",Sum,\"term:\",term,\"i:\",i\n", + " print \"-------------------------------------\"\n", + " i=i+1#\n", + " term=term*x/i#\n", + " test=Sum#\n", + " Sum=Sum+term#\n", + "\n", + "print \"Exact Value:\",f(x)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter4_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter4_1.ipynb new file mode 100644 index 00000000..b51b3a07 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter4_1.ipynb @@ -0,0 +1,514 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4 : Truncation Errors and the Taylor Series" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example: 4.1 Page No:79" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of f at x=0 : 1.2\n", + "The value of f at x=1 due to zero order approximation : 1.2\n", + "Truncation error : -1.0\n", + "----------------------------------------------\n", + "The value of first derivative of f at x=0 : -0.4\n", + "The value of f at x=1 due to first order approximation : 0.8\n", + "Truncation error : -0.6\n", + "----------------------------------------------\n", + "The value of second derivative of f at x=0 : -1.8\n", + "The value of f at x=1 due to second order approximation : -0.1\n", + "Truncation error : 0.3\n", + "----------------------------------------------\n", + "The value of third derivative of f at x=0 : -0.9\n", + "The value of f at x=1 due to third order approximation : -0.25\n", + "Truncation error : 0.45\n", + "----------------------------------------------\n", + "The value of fourth derivative of f at x=0 : -2.4\n", + "The value of f at x=1 due to fourth order approximation : -0.35\n", + "Truncation error : 0.55\n", + "----------------------------------------------\n" + ] + } + ], + "source": [ + "from math import factorial\n", + "from scipy.misc import derivative\n", + "def f(x):\n", + " y=-0.1*x**4-0.15*x**3-0.5*x**2-0.25*x+1.2#\n", + " return y\n", + "xi=0#\n", + "xf=1#\n", + "h=xf-xi#\n", + "fi=f(xi)##function value at xi\n", + "ffa=f(xf)##actual function value at xf\n", + "\n", + "#for n=0, i.e, zero order approximation\n", + "ff=fi#\n", + "Et_1=ffa-ff##truncation error at x=1\n", + "print \"The value of f at x=0 :\",fi\n", + "print \"The value of f at x=1 due to zero order approximation :\",ff\n", + "print \"Truncation error :\",Et_1\n", + "print \"----------------------------------------------\"\n", + "\n", + "#for n=1, i.e, first order approximation\n", + "def f1(x):\n", + " y=derivative(f,x)\n", + " return y\n", + "f1i=f1(xi)##value of first derivative of function at xi\n", + "f1f=fi+f1i*h##value of first derivative of function at xf\n", + "Et_2=ffa-f1f##truncation error at x=1\n", + "print \"The value of first derivative of f at x=0 :\",f1i\n", + "print \"The value of f at x=1 due to first order approximation :\",f1f\n", + "print \"Truncation error :\",Et_2\n", + "print \"----------------------------------------------\"\n", + "\n", + "\n", + "#for n=2, i.e, second order approximation\n", + "def f2(x):\n", + " y=derivative(f1,x)\n", + " return y\n", + "f2i=f2(xi)##value of second derivative of function at xi\n", + "f2f=f1f+f2i*(h**2)/factorial(2)##value of second derivative of function at xf\n", + "Et_3=ffa-f2f##truncation error at x=1\n", + "print \"The value of second derivative of f at x=0 :\",f2i\n", + "print \"The value of f at x=1 due to second order approximation :\",f2f\n", + "print \"Truncation error :\",Et_3\n", + "print \"----------------------------------------------\"\n", + "\n", + "#for n=3, i.e, third order approximation\n", + "def f3(x):\n", + " y=derivative(f2,x)\n", + " return y\n", + "f3i=f3(xi)##value of third derivative of function at xi\n", + "f3f=f2f+f3i*(h**3)/factorial(3)##value of third derivative of function at xf\n", + "Et_4=ffa-f3f##truncation error at x=1\n", + "print \"The value of third derivative of f at x=0 :\",f3i\n", + "print \"The value of f at x=1 due to third order approximation :\",f3f\n", + "print \"Truncation error :\", Et_4\n", + "print \"----------------------------------------------\"\n", + "\n", + "#for n=4, i.e, fourth order approximation\n", + "def f4(x):\n", + " y=derivative(f3,x)\n", + " return y\n", + "f4i=f4(xi)##value of fourth derivative of function at xi\n", + "f4f=f3f+f4i*(h**4)/factorial(4)##value of fourth derivative of function at xf\n", + "Et_5=ffa-f4f##truncation error at x=1\n", + "print \"The value of fourth derivative of f at x=0 :\",f4i\n", + "print \"The value of f at x=1 due to fourth order approximation :\",f4f\n", + "print \"Truncation error :\",Et_5\n", + "print \"----------------------------------------------\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.2: Page No:82" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of f at x=1 due to zero order approximation : 0.707106781187\n", + "% relative error : -41.4213562373\n", + "----------------------------------------------\n", + "The value of f at x=1 due to first order approximation : 0.551333569463\n", + "% relative error : -10.2667138927\n", + "----------------------------------------------\n", + "The value of f at x=1 due to second order approximation : 0.534175415889\n", + "% relative error : -6.83508317772\n", + "----------------------------------------------\n", + "The value of f at x=1 due to third order approximation : 0.535435376789\n", + "% relative error : -7.08707535775\n", + "----------------------------------------------\n", + "The value of f at x=1 due to fourth order approximation : 0.535504768061\n", + "% relative error : -7.10095361216\n", + "----------------------------------------------\n", + "The value of f at x=1 due to fifth order approximation : 0.535501917392\n", + "% relative error : -7.10038347839\n", + "----------------------------------------------\n", + "The value of f at x=1 due to sixth order approximation : 0.535501819651\n", + "% relative error : -7.10036393016\n", + "----------------------------------------------\n" + ] + } + ], + "source": [ + "from math import pi,cos,factorial\n", + "from scipy.misc import derivative\n", + "def f(x):\n", + " y=cos(x)\n", + " return y\n", + "xi=pi/4#\n", + "xf=pi/3#\n", + "h=xf-xi#\n", + "fi=f(xi)##function value at xi\n", + "ffa=f(xf)##actual function value at xf\n", + "\n", + "#for n=0, i.e, zero order approximation\n", + "ff=fi#\n", + "et1=(ffa-ff)*100/ffa##percent relative error at x=1\n", + "print \"The value of f at x=1 due to zero order approximation :\",ff\n", + "print \"% relative error :\",et1\n", + "print \"----------------------------------------------\"\n", + "\n", + "#for n=1, i.e, first order approximation\n", + "def f1(x):\n", + " y=derivative(f,x)\n", + " return y\n", + "f1i=f1(xi)##value of first derivative of function at xi\n", + "f1f=fi+f1i*h##value of first derivative of function at xf\n", + "et2=(ffa-f1f)*100/ffa##% relative error at x=1\n", + "print \"The value of f at x=1 due to first order approximation :\",f1f\n", + "print \"% relative error :\",et2\n", + "print \"----------------------------------------------\"\n", + "\n", + "\n", + "#for n=2, i.e, second order approximation\n", + "def f2(x):\n", + " y=derivative(f1,x)\n", + " return y\n", + "f2i=f2(xi)##value of second derivative of function at xi\n", + "f2f=f1f+f2i*(h**2)/factorial(2)##value of second derivative of function at xf\n", + "et3=(ffa-f2f)*100/ffa##% relative error at x=1\n", + "print \"The value of f at x=1 due to second order approximation :\",f2f\n", + "print \"% relative error :\",et3\n", + "print \"----------------------------------------------\"\n", + "\n", + "\n", + "#for n=3, i.e, third order approximation\n", + "def f3(x):\n", + " y=derivative(f2,x)\n", + " return y\n", + "f3i=f3(xi)##value of third derivative of function at xi\n", + "f3f=f2f+f3i*(h**3)/factorial(3)##value of third derivative of function at xf\n", + "et4=(ffa-f3f)*100/ffa##% relative error at x=1\n", + "print \"The value of f at x=1 due to third order approximation :\",f3f\n", + "print \"% relative error :\",et4\n", + "print \"----------------------------------------------\"\n", + "\n", + "\n", + "#for n=4, i.e, fourth order approximation\n", + "def f4(x):\n", + " y=derivative(f3,x)\n", + " return y\n", + "f4i=f4(xi)##value of fourth derivative of function at xi\n", + "f4f=f3f+f4i*(h**4)/factorial(4)##value of fourth derivative of function at xf\n", + "et5=(ffa-f4f)*100/ffa##% relative error at x=1\n", + "print \"The value of f at x=1 due to fourth order approximation :\",f4f\n", + "print \"% relative error :\",et5\n", + "print \"----------------------------------------------\"\n", + "\n", + "\n", + "#for n=5, i.e, fifth order approximation\n", + "f5i=(f4(1.1*xi)-f4(0.9*xi))/(2*0.1)##value of fifth derivative of function at xi (central difference method)\n", + "f5f=f4f+f5i*(h**5)/factorial(5)##value of fifth derivative of function at xf\n", + "et6=(ffa-f5f)*100/ffa##% relative error at x=1\n", + "print \"The value of f at x=1 due to fifth order approximation :\",f5f\n", + "print \"% relative error :\",et6\n", + "print \"----------------------------------------------\"\n", + "\n", + "\n", + "#for n=6, i.e, sixth order approximation\n", + "def f6(x):\n", + " y=derivative(f5,x)\n", + " return y\n", + "f6i=(f4(1.1*xi)-2*f4(xi)+f4(0.9*xi))/(0.1**2)##value of sixth derivative of function at xi (central difference method)\n", + "f6f=f5f+f6i*(h**6)/factorial(6)##value of sixth derivative of function at xf\n", + "et6=(ffa-f6f)*100/ffa##% relative error at x=1\n", + "print \"The value of f at x=1 due to sixth order approximation :\",f6f\n", + "print \"% relative error :\", et6\n", + "print \"----------------------------------------------\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.3 : Page No:85" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input value of m:4\n", + "Input value of h:5\n", + "\n", + "Remainder: 21 \n", + "The value by first order approximation: 1275\n", + "True Value at x2: 1296\n" + ] + } + ], + "source": [ + "from math import pi,cos,factorial\n", + "m=input(\"Input value of m:\")\n", + "h=input(\"Input value of h:\")\n", + "def f(x):\n", + " y=x**m\n", + " return y\n", + "x1=1#\n", + "x2=x1+h#\n", + "fx1=f(x1)#\n", + "fx2=fx1+m*(fx1**(m-1))*h#\n", + "if m==1:\n", + " R=0#\n", + "elif m==2 :\n", + " R=2*(h**2)/factorial(2)#\n", + " \n", + "elif m==3:\n", + " R=(6*(x1)*(h**2)/factorial(2))+(6*(h**3)/factorial(3))#\n", + " \n", + "elif m==4:\n", + " R=(12*(x1**2)*(h**2)/factorial(2))+(24*(x1)*(h**3)/factorial(3))+(24*(h**4)/factorial(4))\n", + " \n", + "print \"\\nRemainder:\",fx2,\"\\nThe value by first order approximation:\",R\n", + "print \"True Value at x2:\",f(x2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.4: Page No:92" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input h:1.232323\n", + "For h= 1.232323\n", + "and percent error= -2.70944264922 Derivative at x by forward difference method= 114.60931875\n", + "and percent error= -0.178591334206 Derivative at x by backward difference method= 85.854151746\n", + "and percent error= -1.44401699172 Derivative at x by central difference method= 14.3775835022\n" + ] + } + ], + "source": [ + "from scipy.misc import derivative\n", + "def f(x):\n", + " y=-0.1*(x**4)-0.15*(x**3)-0.5*(x**2)-0.25*(x)+1.2\n", + " return y\n", + "x=0.5#\n", + "h=input(\"Input h:\")\n", + "x1=x-h#\n", + "x2=x+h#\n", + "#forward difference method\n", + "fdx1=(f(x2)-f(x))/h##derivative at x\n", + "et1=abs((fdx1-derivative(f,x))/derivative(f,x))*100#\n", + "#backward difference method\n", + "fdx2=(f(x)-f(x1))/h##derivative at x\n", + "et2=abs((fdx2-derivative(f,x))/derivative(f,x))*100#\n", + "#central difference method\n", + "fdx3=(f(x2)-f(x1))/(2*h)##derivative at x\n", + "et3=abs((fdx3-derivative(f,x))/derivative(f,x))*100#\n", + "print \"For h=\",h\n", + "print \"and percent error=\",fdx1,\"Derivative at x by forward difference method=\",et1\n", + "print \"and percent error=\",fdx2,\"Derivative at x by backward difference method=\",et2\n", + "print \"and percent error=\",fdx3,\"Derivative at x by central difference method=\",et3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.5: Page No: 95" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "true value is between : 15.4275 and 15.8225\n" + ] + } + ], + "source": [ + "from scipy.misc import derivative\n", + "def f(x):\n", + " y=x**3\n", + " return y\n", + "x=2.5#\n", + "delta=0.01#\n", + "deltafx=abs(derivative(f,x))*delta#\n", + "fx=f(x)#\n", + "print \"true value is between : \",fx-deltafx,\"and\",fx+deltafx" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.6: Page No: 96" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of y is between: 0.528721343471 and 0.596278656529\n", + "ymin is calculated at lower extremes of F, L, E, I values as = 0.524066539965\n", + "ymax is calculated at higher extremes of F, L, E, I values as = 0.602846335915\n" + ] + } + ], + "source": [ + "from scipy.misc import derivative\n", + "def f(F,L,E,I):\n", + " y=(F*(L**4))/(8*E*I)\n", + " return y\n", + "Fbar=50##lb/ft\n", + "Lbar=30##ft\n", + "Ebar=1.5*(10**8)##lb/ft**2\n", + "Ibar=0.06##ft**4\n", + "deltaF=2##lb/ft\n", + "deltaL=0.1##ft\n", + "deltaE=0.01*(10**8)##lb/ft**2\n", + "deltaI=0.0006##ft**4\n", + "ybar=(Fbar*(Lbar**4))/(8*Ebar*Ibar)#\n", + "def f1(F):\n", + " y=(F*(Lbar**4))/(8*Ebar*Ibar)\n", + " return y\n", + "def f2(L):\n", + " y=(Fbar*(L**4))/(8*Ebar*Ibar)\n", + " return y\n", + "def f3(E):\n", + " y=(Fbar*(Lbar**4))/(8*E*Ibar)\n", + " return y\n", + "def f4(I):\n", + " y=(Fbar*(Lbar**4))/(8*Ebar*I)\n", + " return y\n", + "\n", + "deltay=abs(derivative(f1,Fbar))*deltaF+abs(derivative(f2,Lbar))*deltaL+abs(derivative(f3,Ebar))*deltaE+abs(derivative(f4,Ibar))*deltaI#\n", + "\n", + "print \"The value of y is between:\",ybar-deltay,\"and\",ybar+deltay\n", + "ymin=((Fbar-deltaF)*((Lbar-deltaL)**4))/(8*(Ebar+deltaE)*(Ibar+deltaI))#\n", + "ymax=((Fbar+deltaF)*((Lbar+deltaL)**4))/(8*(Ebar-deltaE)*(Ibar-deltaI))#\n", + "print \"ymin is calculated at lower extremes of F, L, E, I values as =\",ymin\n", + "print \"ymax is calculated at higher extremes of F, L, E, I values as =\",ymax" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.7 : Page No:98" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The condition number of function for x = 0.18201112073 is : 1.72787595947\n", + "The condition number of function for x = 0.0160083243793 is : 1.58650429006\n" + ] + } + ], + "source": [ + "from math import pi,tan\n", + "from scipy.misc import derivative\n", + "def f(x):\n", + " y=tan(x)\n", + " return y\n", + "x1bar=(pi/2)+0.1*(pi/2)#\n", + "x2bar=(pi/2)+0.01*(pi/2)#\n", + "#computing condition number for x1bar\n", + "condnum1=x1bar*derivative(f,x1bar)/f(x1bar)#\n", + "print \"The condition number of function for x =\",condnum1,\"is :\",x1bar\n", + "if abs(condnum1)>1:\n", + " print \"Function is ill-conditioned for x =\",x1bar\n", + "\n", + "#computing condition number for x2bar\n", + "condnum2=x2bar*derivative(f,x2bar)/f(x2bar)#\n", + "print \"The condition number of function for x =\",condnum2,\"is :\",x2bar\n", + "if abs(condnum2)>1:\n", + " print \"Function is ill-conditioned for x =\",x2bar" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter5_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter5_1.ipynb new file mode 100644 index 00000000..2de92c8c --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter5_1.ipynb @@ -0,0 +1,528 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 : Bracketing Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex5.1: Pg:120" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For various values of c and f(c) is found as:\n", + "[4, 34.114844174677984]\n", + "[8, 17.653427509399428]\n", + "[12, 6.066935998372109]\n", + "[16, -2.2687619693477643]\n", + "[20, -8.400628721768179]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from numpy import arange\n", + "from math import exp\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "m=68.1##kg\n", + "v=40##m/s\n", + "t=10##s\n", + "g=9.8##m/s**2\n", + "def f(c):\n", + " y=g*m*(1-exp(-c*t/m))/c - v#\n", + " return y\n", + "print \"For various values of c and f(c) is found as:\"\n", + "i=0#\n", + "Fc=[]\n", + "for c in arange(4,21,4):\n", + " i=i+1#\n", + " bracket=[c, f(c)]\n", + " print bracket\n", + " Fc.append(f(c))\n", + "\n", + "c=arange(4,21,4)\n", + "plot(c,Fc)\n", + "title('f(c) vs c')\n", + "xlabel('c')\n", + "ylabel('f(c) (m/s)')\n", + "show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex5.2: Pg:123" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\njXMbWAkg26AAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.55 \t0.60 \t0.65 \t0.70 \t0.75 \t0.80 \t0.85 \t0.90 \t0.95 \t" + ] + } + ], + "source": [ + "from numpy import arange\n", + "from math import sin,cos\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot, title, xlabel, ylabel, show\n", + "\n", + "def f(x):\n", + " y=sin(10*x)+cos(3*x)#\n", + " return y\n", + "count=1#\n", + "func=[]\n", + "val=[]\n", + "for i in arange(0.55,1,0.05):\n", + " val.append(i)\n", + " func.append(f(i))\n", + " count=count+1#\n", + "\n", + "plot(val,func)\n", + "title(\"x vs f(x)\")\n", + "xlabel('x')\n", + "ylabel('f(x)')\n", + "show()\n", + "for v in val:\n", + " print '%0.2f'%v,'\\t'," + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex5.3: Pg:125" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "enter the tolerable true percent error=1.24\n" + ] + } + ], + "source": [ + "from math import exp\n", + "m=68.1##kg\n", + "v=40##m/s\n", + "t=10##s\n", + "g=9.8##m/s**2\n", + "def f(c):\n", + " y=g*m*(1-exp(-c*t/m))/c - v#\n", + " return y\n", + "x1=12#\n", + "x2=16#\n", + "xt=14.7802##true value\n", + "e=input(\"enter the tolerable true percent error=\")\n", + "xr=(x1+x2)/2#\n", + "etemp=abs(xr-xt)/xt*100##error\n", + "while etemp>e:\n", + " if f(x1)*f(xr)>0:\n", + " x1=xr#\n", + " xr=(x1+x2)/2#\n", + " etemp=abs(xr-xt)/xt*100#\n", + " \n", + " if f(x1)*f(xr)<0:\n", + " x2=xr#\n", + " xr=(x1+x2)/2#\n", + " etemp=abs(xr-xt)/xt*100#\n", + " \n", + " if f(x1)*f(xr)==0:\n", + " break\n", + " \n", + "print \"The result is =\",xr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex5.4: Pg:126" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "enter the tolerable approximate error=21.03\n", + "Iteration: 1\n", + "xl: 12\n", + "xu: 16\n", + "xr: 14\n", + "et: 5.27868364433 %\n", + "----------------------------------------\n", + "Iteration: 2\n", + "xl: 14\n", + "xu: 15\n", + "xr: 14\n", + "et(%): 5.27868364433 %\n", + "ea 0 %\n", + "----------------------------------------\n", + "The result is= 14\n" + ] + } + ], + "source": [ + "from math import exp\n", + "m=68.1##kg\n", + "v=40##m/s\n", + "t=10##s\n", + "g=9.8##m/s**2\n", + "def f(c):\n", + " y=g*m*(1-exp(-c*t/m))/c - v#\n", + " return y\n", + "x1=12#\n", + "x2=16#\n", + "xt=14.7802##true value\n", + "e=input(\"enter the tolerable approximate error=\")\n", + "xr=(x1+x2)/2#\n", + "i=1#\n", + "et=abs(xr-xt)/xt*100##error\n", + "print \"Iteration:\",i\n", + "print \"xl:\",x1\n", + "print \"xu:\",x2\n", + "print \"xr:\",xr\n", + "print \"et:\",et,\"%\"\n", + "print \"----------------------------------------\"\n", + "etemp=100#\n", + "while etemp>e:\n", + " if f(x1)*f(xr)>0:\n", + " x1=xr\n", + " xr=(x1+x2)/2\n", + " etemp=abs(xr-x1)/xr*100\n", + " et=abs(xr-xt)/xt*100\n", + " \n", + " if f(x1)*f(xr)<0:\n", + " x2=xr\n", + " xr=(x1+x2)/2\n", + " etemp=abs(xr-x2)/xr*100\n", + " et=abs(xr-xt)/xt*100\n", + " \n", + " if f(x1)*f(xr)==0:\n", + " break#\n", + " \n", + " i=i+1#\n", + " print \"Iteration:\",i\n", + " print \"xl:\",x1\n", + " print \"xu:\",x2\n", + " print \"xr:\",xr\n", + " print \"et(%):\",et,\"%\"\n", + " print \"ea\",etemp,\"%\"\n", + " print \"----------------------------------------\"\n", + "\n", + "\n", + "print \"The result is=\",xr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex5.5: Pg:133" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "enter the tolerable true percent error=24.36\n", + "The result is= 14.9113031791\n" + ] + } + ], + "source": [ + "from math import exp\n", + "m=68.1##kg\n", + "v=40##m/s\n", + "t=10##s\n", + "g=9.8##m/s**2\n", + "def f(c):\n", + " y=g*m*(1-exp(-c*t/m))/c - v#\n", + " return y\n", + "x1=12#\n", + "x2=16#\n", + "xt=14.7802##true value\n", + "e=input(\"enter the tolerable true percent error=\")\n", + "xr=x1-(f(x1)*(x2-x1))/(f(x2)-f(x1))#\n", + "etemp=abs(xr-xt)/xt*100##error\n", + "while etemp>e:\n", + " if f(x1)*f(xr)>0:\n", + " x1=xr\n", + " xr=x1-(f(x1)*(x2-x1))/(f(x2)-f(x1))\n", + " etemp=abs(xr-xt)/xt*100\n", + " \n", + " if f(x1)*f(xr)<0:\n", + " x2=xr\n", + " xr=x1-(f(x1)*(x2-x1))/(f(x2)-f(x1))\n", + " etemp=abs(xr-xt)/xt*100\n", + " \n", + " if f(x1)*f(xr)==0:\n", + " break\n", + " \n", + "\n", + "print \"The result is=\",xr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex5.6: Pg:135" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BISECTION METHOD:\n", + "Iteration: 1\n", + "xl: 0\n", + "xu: 1.3\n", + "xr: 0.65\n", + "et(%): 35.0 %\n", + "----------------------------------------\n", + "Iteration: 2\n", + "xl: 0.65\n", + "xu: 1.3\n", + "xr: 0.975\n", + "et(%): 2.5 %\n", + "ea(%) 33.3333333333 %\n", + "----------------------------------------\n", + "Iteration: 3\n", + "xl: 0.975\n", + "xu: 1.3\n", + "xr: 1.1375\n", + "et(%): 13.75 %\n", + "ea(%) 14.2857142857 %\n", + "----------------------------------------\n", + "Iteration: 4\n", + "xl: 0.975\n", + "xu: 1.1375\n", + "xr: 1.05625\n", + "et(%): 5.625 %\n", + "ea(%) 7.69230769231 %\n", + "----------------------------------------\n", + "Iteration: 5\n", + "xl: 0.975\n", + "xu: 1.05625\n", + "xr: 1.015625\n", + "et(%): 1.5625 %\n", + "ea(%) 4.0 %\n", + "----------------------------------------\n", + "FALSE POSITION METHOD:\n", + "Iteration: 1\n", + "xl: 0\n", + "xu: 1.3\n", + "xr: 0.0942995953723\n", + "et(%): 90.5700404628 %\n", + "----------------------------------------\n", + "Iteration: 2\n", + "xl: 0.0942995953723\n", + "xu: 1.3\n", + "xr: 0.181758872519\n", + "et(%): 81.8241127481 %\n", + "ea(%) 48.1182986748 %\n", + "----------------------------------------\n", + "Iteration: 3\n", + "xl: 0.181758872519\n", + "xu: 1.3\n", + "xr: 0.26287401252\n", + "et(%): 73.712598748 %\n", + "ea(%) 30.8570403075 %\n", + "----------------------------------------\n", + "Iteration: 4\n", + "xl: 0.26287401252\n", + "xu: 1.3\n", + "xr: 0.338105103322\n", + "et(%): 66.1894896678 %\n", + "ea(%) 22.2508001396 %\n", + "----------------------------------------\n", + "Iteration: 5\n", + "xl: 0.338105103322\n", + "xu: 1.3\n", + "xr: 0.407877916593\n", + "et(%): 59.2122083407 %\n", + "ea(%) 17.1062983388 %\n", + "----------------------------------------\n" + ] + } + ], + "source": [ + "def f(x):\n", + " y=x**10 - 1#\n", + " return y\n", + "x1=0#\n", + "x2=1.3#\n", + "xt=1#\n", + "\n", + "#using bisection method\n", + "print \"BISECTION METHOD:\"\n", + "xr=(x1+x2)/2#\n", + "et=abs(xr-xt)/xt*100##error\n", + "print \"Iteration:\",1\n", + "print \"xl:\",x1\n", + "print \"xu:\",x2\n", + "print \"xr:\",xr\n", + "print \"et(%):\",et,\"%\"\n", + "print \"----------------------------------------\"\n", + "for i in range(2,6):\n", + " if f(x1)*f(xr)>0:\n", + " x1=xr\n", + " xr=(x1+x2)/2\n", + " ea=abs(xr-x1)/xr*100#\n", + " et=abs(xr-xt)/xt*100#\n", + " else:\n", + " if f(x1)*f(xr)<0:\n", + " x2=xr#\n", + " xr=(x1+x2)/2#\n", + " ea=abs(xr-x2)/xr*100#\n", + " et=abs(xr-xt)/xt*100#\n", + " \n", + " \n", + " if f(x1)*f(xr)==0:\n", + " break\n", + " \n", + " print \"Iteration:\",i\n", + " print \"xl:\",x1\n", + " print \"xu:\",x2\n", + " print \"xr:\",xr\n", + " print \"et(%):\",et,\"%\"\n", + " print \"ea(%)\",ea,\"%\"\n", + " print \"----------------------------------------\"\n", + "\n", + "\n", + "#using false position method\n", + "print \"FALSE POSITION METHOD:\"\n", + "x1=0#\n", + "x2=1.3#\n", + "xt=1#\n", + "xr=x1-(f(x1)*(x2-x1))/(f(x2)-f(x1))##\n", + "et=abs(xr-xt)/xt*100##error\n", + "print \"Iteration:\",1\n", + "print \"xl:\",x1\n", + "print \"xu:\",x2\n", + "print \"xr:\",xr\n", + "print \"et(%):\",et,\"%\"\n", + "print \"----------------------------------------\"\n", + "for i in range(2,6):\n", + " if f(x1)*f(xr)>0:\n", + " x1=xr#\n", + " xr=x1-(f(x1)*(x2-x1))/(f(x2)-f(x1))#\n", + " ea=abs(xr-x1)/xr*100#\n", + " et=abs(xr-xt)/xt*100#\n", + " \n", + " elif f(x1)*f(xr)<0:\n", + " x2=xr#\n", + " xr=x1-(f(x1)*(x2-x1))/(f(x2)-f(x1))#\n", + " ea=abs(xr-x2)/xr*100#\n", + " et=abs(xr-xt)/xt*100#\n", + " \n", + " \n", + " elif f(x1)*f(xr)==0:\n", + " break#\n", + " \n", + " print \"Iteration:\",i\n", + " print \"xl:\",x1\n", + " print \"xu:\",x2\n", + " print \"xr:\",xr\n", + " print \"et(%):\",et,'%'\n", + " print \"ea(%)\",ea,\"%\"\n", + " print \"----------------------------------------\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter6_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter6_1.ipynb new file mode 100644 index 00000000..9efcccef --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter6_1.ipynb @@ -0,0 +1,688 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6 : Open Methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.1: Pg: 143" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = :\n", + "0\n", + "1.0\n", + "0.367879441171\n", + "0.692200627555\n", + "0.500473500564\n", + "0.606243535086\n", + "0.545395785975\n", + "0.579612335503\n", + "0.560115461361\n", + "0.57114311508\n", + "0.564879347391\n", + "\n", + "e = :\n", + "100.0\n", + "-171.828182846\n", + "46.8536394613\n", + "-38.3091465933\n", + "17.4467896812\n", + "-11.1566225254\n", + "5.90335081441\n", + "-3.48086697962\n", + "1.93080393126\n", + "-1.10886824205\n" + ] + } + ], + "source": [ + "from math import exp\n", + "#f(x) = exp(-x) - x#\n", + "#using simple fixed point iteration, Xi+1 = exp(-Xi)\n", + "x = 0##initial guess\n", + "y=[]\n", + "e=[]\n", + "y.append(0)\n", + "e.append(0)\n", + "for i in range(1,12):\n", + " if i == 1 :\n", + " y.append(x)\n", + " else:\n", + " y.append(exp(-y[(i-1)]))\n", + " e.append((y[(i)] - y[(i-1)]) * 100 / y[(i)])\n", + " \n", + "print \"x = :\"\n", + "for x in y[1:]:\n", + " print x\n", + "print \"\\ne = :\"\n", + "for e in e[1:]:\n", + " print e\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.2: Pg: 144" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = [0, 0.2, 0.4, 0.6000000000000001, 0.8, 1.0]\n", + "y1 = [0, 0.2, 0.4, 0.6000000000000001, 0.8, 1.0]\n", + "y2 = [1.0, 0.8187307530779818, 0.6703200460356393, 0.5488116360940264, 0.44932896411722156, 0.36787944117144233]\n", + "answer using two curve graphical method = 5.7\n" + ] + }, + { + "data": { + "image/png": "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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from math import exp\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,title,xlabel,ylabel,show\n", + "#y1 = x\n", + "#y2 = exp(-x)\n", + "x=[]\n", + "y1=[]\n", + "y2=[]\n", + "for i in range(0,6):\n", + " if i == 0:\n", + " x.append(0)\n", + " else:\n", + " x.append(x[(i-1)] + 0.2)\n", + " \n", + " y1.append(x[(i)])\n", + " y2.append(exp(-x[(i)]))\n", + "\n", + "print \"x = \",x\n", + "print \"y1 = \",y1\n", + "print \"y2 = \",y2\n", + "plot(x,y1)\n", + "plot(x,y2)#\n", + "title(\"f(x) vs x\")\n", + "xlabel(\"x\")\n", + "y=(\"f(x)\")\n", + "# from the graph, we get\n", + "x7 = 5.7#\n", + "print \"answer using two curve graphical method = \",x7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.3: Pg: 149" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = [0.5, 0.5663110031972182, 0.5671431650348622, 0.5671432904097811, 0.5671432904097811]\n", + "et = [100.0, 11.709290976662398, 0.14672870783743905, 2.2106391984397626e-05]\n" + ] + } + ], + "source": [ + "from math import exp\n", + "#f(x) = exp(-x)-x\n", + "#f'(x) = -exp(-x)-1\n", + "x=[]\n", + "et=[]\n", + "for i in range(0,5):\n", + " if i == 0:\n", + " x.append(0)\n", + " else:\n", + " x.append(x[(i-1)] - (exp(-x[(i-1)])-x[(i-1)])/(-exp(-x[(i-1)])-1))\n", + " et.append((x[(i)] - x[(i-1)]) * 100 / x[(i)])\n", + " x[(i-1)] = x[(i)]\n", + " \n", + "\n", + "print \"x =\",x\n", + "print \"et =\",et" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.4: Pg: 150" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Et1 = 0.0582022389721 which is close to the true error of 0.06714329\n", + "Et2 = 0.000815754223141 which is close to the true error of 0.0008323\n", + "Et3 = 1.253469828e-07 which is close to the true error of 0.0008323\n", + "Et4 = 2.84303276339e-15 which is close to the true error of 0.0008323\n", + "Thus it illustratres that the error of newton raphson method for this case is proportional(by a factor of 0.18095) to the square of the error of the previous iteration\n" + ] + } + ], + "source": [ + "from math import exp\n", + "#f(x) = exp(-x) - x\n", + "#f'(x) = -exp(-x) - 1\n", + "#f\"(x) = exp(-x)\n", + "xr = 0.56714329#\n", + "#E(ti+1) = -f\"(x)* E(ti) / 2 * f'(x)\n", + "Et0 = 0.56714329#\n", + "Et1 = -exp(-xr)* ((Et0)**2) / (2 * (-exp(-xr) - 1))#\n", + "print \"Et1 = \",Et1,\"which is close to the true error of 0.06714329\"\n", + "Et1true = 0.06714329#\n", + "Et2 = -exp(-xr)* ((Et1true)**2) / (2 * (-exp(-xr) - 1))#\n", + "print \"Et2 = \",Et2,\"which is close to the true error of 0.0008323\"\n", + "Et2true = 0.0008323#\n", + "Et3 = -exp(-xr)* ((Et2true)**2) / (2 * (-exp(-xr) - 1))#\n", + "print \"Et3 = \",Et3,\"which is close to the true error of 0.0008323\"\n", + "Et4 = -exp(-xr)* ((Et3)**2) / (2 * (-exp(-xr) - 1))#\n", + "print \"Et4 = \",Et4,\"which is close to the true error of 0.0008323\"\n", + "print \"Thus it illustratres that the error of newton raphson method for this case is proportional(by a factor of 0.18095) to the square of the error of the previous iteration\"\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.5: Pg: 151" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "0.5\n", + "51.65\n", + "46.485\n", + "41.8365\n", + "37.65285\n", + "33.887565\n", + "30.4988085\n", + "27.44892765\n", + "24.704034885\n", + "22.2336313965\n", + "20.0102682569\n", + "18.0092414312\n", + "16.208317288\n", + "14.5874855592\n", + "13.1287370033\n", + "11.815863303\n", + "10.6342769727\n", + "9.57084927551\n", + "8.61376434811\n", + "7.75238791368\n", + "6.9771491233\n", + "6.27943421352\n", + "5.65149079876\n", + "5.08634173588\n", + "4.57770760618\n", + "4.11993695885\n", + "3.70794355537\n", + "3.33714995458\n", + "3.00343690726\n", + "2.70309824497\n", + "2.43280139954\n", + "2.18955475922\n", + "1.97068573981\n", + "1.7738402371\n", + "1.59703134797\n", + "1.43880793143\n", + "1.29871134273\n", + "1.17835471562\n", + "1.08334975351\n", + "1.02366466118\n", + "Thus, after the first poor prediction, the technique is converging on to the true root of 1 but at a very slow rate\n" + ] + } + ], + "source": [ + "z = 0.5#\n", + "#f(x) = x**10 - 1\n", + "#f'(x) = 10*x**9\n", + "y=[]\n", + "for i in range(0,40):\n", + " if i==0:\n", + " y.append(z)\n", + " else:\n", + " y.append(y[(i-1)] - (y[(i-1)]**10 - 1)/(10*y[(i-1)]**9))\n", + " \n", + "print \"y =\"\n", + "for yy in y:\n", + " print yy\n", + "print \"Thus, after the first poor prediction, the technique is converging on to the true root of 1 but at a very slow rate\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.6: Pg: 155" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x =\n", + "0\n", + "1\n", + "0.61269983678\n", + "0.563838389161\n", + "0.56717035842\n", + "\n", + "et =\n", + "-8.03263435953\n", + "0.582727662867\n", + "-0.00477276558181\n" + ] + } + ], + "source": [ + "from math import exp\n", + "#f(x) = exp(-x)-x\n", + "x=[]\n", + "er=[]\n", + "for i in range(0,5):\n", + " if i==0:\n", + " x.append(0)\n", + " else:\n", + " if i==1:\n", + " x.append(1)\n", + " else:\n", + " x.append(x[(i-1)] - (exp(-x[(i-1)])-x[(i-1)])*(x[(i-2)] - x[(i-1)])/((exp(-x[(i-2)])-x[(i-2)])-(exp(-x[(i-1)])-x[(i-1)])))\n", + " er.append((0.56714329 - x[(i)]) * 100 / 0.56714329)\n", + " \n", + "print \"x =\"\n", + "for xx in x:\n", + " print xx\n", + "\n", + "print \"\\net =\"\n", + "for xx in er:\n", + " print xx\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.7: Pg: 156" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "secant method\n", + "x =\n", + "[0.5, 5, 1.8546349804879152, -0.1043807923822424]\n", + "[0.5, 5, 1.8546349804879152, -0.1043807923822424]\n", + "[0.5, 5, 1.8546349804879152, -0.1043807923822424]\n", + "[0.5, 5, 1.8546349804879152, -0.1043807923822424]\n", + "thus, secant method is divergent\n", + "Now, False position method\n", + "xr = 1.85463498049\n", + "xr = 1.21630781847\n", + "xr = 1.05852096245\n", + "thus, false position method is convergent\n" + ] + } + ], + "source": [ + "from math import log\n", + "#f(x) = log(x)\n", + "print \"secant method\"\n", + "x=[]\n", + "for i in range(0,4):\n", + " if i==0:\n", + " x.append(0.5)\n", + " else:\n", + " if i==1:\n", + " x.append(5)\n", + " else:\n", + " x.append(x[(i-1)] - log(x[(i-1)]) * (x[(i-2)] - x[(i-1)])/(log(x[(i-2)]) - log(x[(i-1)])))\n", + " \n", + " \n", + "print \"x =\"\n", + "for xx in x:\n", + " print x\n", + "print \"thus, secant method is divergent\"\n", + "print \"Now, False position method\"\n", + "xl = 0.5#\n", + "xu = 5#\n", + "for i in range(0,3):\n", + " m = log(xl)#\n", + " n = log(xu)#\n", + " xr = xu - n*(xl - xu)/(m - n)#\n", + " print \"xr = \",xr\n", + " w = log(xr)#\n", + " if m*w < 0:\n", + " xu = xr#\n", + " else:\n", + " xl = xr#\n", + " \n", + "\n", + " \n", + "print \"thus, false position method is convergent\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.8: Pg: 158" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x1 = 1\n", + "x = 0.537262665537\n", + "error = 5.26861993966 %\n", + "x = 0.567009685365\n", + "error = 0.0235574743537 %\n", + "x = 0.567143424147\n", + "error = -2.3653190891e-05 %\n" + ] + } + ], + "source": [ + "from math import exp\n", + "Del = 0.01#\n", + "z = 0.56714329\n", + "x1 = 1#\n", + "#f(x) = exp(-x) - x\n", + "x=[]\n", + "print \"x1 = \",x1\n", + "for i in range(0,4):\n", + " if i == 0:\n", + " x.append(1)\n", + " else :\n", + " w = x[(i-1)]\n", + " m = exp(-x[(i-1)]) - x[(i-1)]\n", + " x[(i-1)] = x[(i-1)]*(1+Del)#\n", + " n = exp(-x[(i-1)]) - x[(i-1)]#\n", + " x.append(w - (x[(i-1)]- w) * m/(n-m))\n", + " em = (z - x[(i)])*100/z#\n", + " print \"x = \",x[(i)]\n", + " print \"error = \",em,\"%\"\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.9: Pg: 161" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "standard Newton Raphson method\n", + "x = 0.428571428571\n", + "error = 57.1428571429 %\n", + "x = 0.685714285714\n", + "error = 31.4285714286 %\n", + "x = 0.832865400495\n", + "error = 16.7134599505 %\n", + "x = 0.913329893257\n", + "error = 8.66701067434 %\n", + "x = 0.955783292966\n", + "error = 4.42167070343 %\n", + "x = 0.977655101273\n", + "error = 2.23448987271 %\n", + "Modified Newton Raphson method\n", + "x = 1.10526315789\n", + "error = -10.5263157895 %\n", + "x = 1.0030816641\n", + "error = -0.30816640986 %\n", + "x = 1.00000238149\n", + "error = -0.000238149381548 %\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "#f(x) = x**3 - 5*x**2 + 7*x -3\n", + "#f'(x) = 3*x**2 - 10*x + 7\n", + "print \"standard Newton Raphson method\"\n", + "x=[]\n", + "et=[]\n", + "for i in range(0,7):\n", + " if i == 0:\n", + " x.append(0)\n", + " else:\n", + " x.append(x[(i-1)] - ((x[(i-1)])**3 - 5*(x[(i-1)])**2 + 7*x[(i-1)] -3)/(3*(x[(i-1)])**2 - 10*(x[(i-1)]) + 7)) \n", + " et.append((1 - x[(i)]) * 100 / 1)\n", + " print \"x = \",x[i]\n", + " print \"error = \",et[(i-1)],\"%\"\n", + " x[(i-1)] = x[(i)]\n", + " \n", + "\n", + "print \"Modified Newton Raphson method\"\n", + "#f\"(x) = 6*x - 10\n", + "x=[]\n", + "et=[]\n", + "for i in range(0,4):\n", + " if i == 0:\n", + " x.append(0)\n", + " else:\n", + " x.append(x[(i-1) ]- ((x[(i-1)])**3 - 5*(x[(i-1)])**2 + 7*x[(i-1)] -3)*((3*(x[(i-1)])**2 - 10*(x[(i-1)]) + 7))/((3*(x[(i-1)])**2 - 10*(x[(i-1)]) + 7)**2 - ((x[(i-1)])**3 - 5*(x[(i-1)])**2 + 7*x[(i-1)] -3) * (6*x[(i-1)] - 10)))\n", + " et.append((1 - x[(i)]) * 100 / 1)\n", + " print \"x = \",x[i]\n", + " print \"error = \",et[i-1],'%'\n", + " x[(i-1) ]= x[(i)]\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.10: Pg: 165" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x = 2.17944947177\n", + "y = 2.86050598812\n", + "x = 1.94053387891\n", + "y = 3.04955067322\n", + "x = 2.02045628588\n", + "y = 2.98340474674\n", + "Thus the approaching to the true value 0f x = 2 and y = 3\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import sqrt\n", + "#u(x,y) = x**2 + x*y - 10\n", + "#v(x,y) = y + 3*x*y**2 -57\n", + "x=[]\n", + "y=[]\n", + "for i in range(0,4):\n", + " if i == 0:\n", + " x.append(1.5)\n", + " y.append(3.5)\n", + " else:\n", + " x.append(sqrt(10 - (x[(i-1)])*(y[(i-1)])))\n", + " y.append(sqrt((57 - y[(i-1)])/(3*x[(i)])))\n", + " print \"x =\",x[(i)]\n", + " print \"y =\",y[i]\n", + " \n", + "\n", + "print \"Thus the approaching to the true value 0f x = 2 and y = 3\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex6.11:Pg 168" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bracket: [1.9999999838762603, 2.9999994133889132]\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import mat\n", + "from numpy.linalg import det\n", + "def u(x,y):\n", + " z=x**2+x*y-10\n", + " return z\n", + "def v(x,y):\n", + " z=y+3*x*y**2-57\n", + " return z\n", + "x=1.5#\n", + "y=3.5#\n", + "e=[100,100]#\n", + "while e[0]>0.0001 and e[1]>0.0001:\n", + " J=mat([[2*x+y, x],[3*y**2, 1+6*x*y]])\n", + " deter=det(J)#\n", + " u1=u(x,y)#\n", + " v1=v(x,y)#\n", + " x=x-((u1*J[1,1]-v1*J[0,1])/deter)#\n", + " y=y-((v1*J[0,0]-u1*J[1,0])/deter)#\n", + " e[(0)]=abs(2-x)#\n", + " e[(1)]=abs(3-y)#\n", + "\n", + "bracket=[x ,y]#\n", + "print \"bracket:\",bracket" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter7_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter7_1.ipynb new file mode 100644 index 00000000..c923ac9f --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter7_1.ipynb @@ -0,0 +1,718 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7 : Roots of polynomials" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.1: Pg: 179" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The quptient is a(1)+a(2)*x where :\n", + "a(1)= 6\n", + "a(2)= 1\n", + "remainder= 0\n" + ] + } + ], + "source": [ + "from numpy import arange\n", + "def f(x):\n", + " y=(x-4)*(x+6)\n", + " return y\n", + "n=2\n", + "a=[0,-24,2,1]\n", + "t=4\n", + "r=a[(3)]\n", + "a[(3)]=0\n", + "for i in arange(n,0,-1):\n", + " s=a[(i)]\n", + " a[(i)]=r\n", + " r=s+r*t\n", + "\n", + "print \"The quptient is a(1)+a(2)*x where :\"\n", + "print \"a(1)=\",a[1]\n", + "print \"a(2)=\",a[2]\n", + "print \"remainder=\",r" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.2: Pg: 183" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iteration: 0\n", + "xr: 5\n", + "---------------------------------------------\n", + "iteration: 0\n", + "xr: 3.97648704224\n", + "ea(%): 25.7391246818 %\n", + "---------------------------------------------\n", + "iteration: 1\n", + "xr: 4.00105049882\n", + "ea(%): 0.613925182444 %\n", + "---------------------------------------------\n", + "iteration: 2\n", + "xr: 4.00000070527\n", + "ea(%): 0.026244833989 %\n", + "---------------------------------------------\n", + "iteration: 3\n", + "xr: 4.0\n", + "ea(%): 1.76317506373e-05 %\n", + "---------------------------------------------\n" + ] + } + ], + "source": [ + "def f(x):\n", + " y=x**3 - 13*x - 12\n", + " return y\n", + "\n", + "x1t=-3\n", + "x2t=-1\n", + "x3t=4\n", + "x0=4.5\n", + "x1=5.5\n", + "x2=5\n", + "print \"iteration:\",0\n", + "print \"xr:\",x2\n", + "print \"---------------------------------------------\"\n", + "for i in range(0,4):\n", + "\n", + " h0=x1-x0\n", + " h1=x2-x1\n", + " d0=(f(x1)-f(x0))/(x1-x0)\n", + " d1=(f(x2)-f(x1))/(x2-x1)\n", + " a=(d1-d0)/(h1+h0)\n", + " b=a*h1+d1\n", + " c=f(x2)\n", + " d=(b**2 - 4*a*c)**0.5\n", + " if abs(b+d)>abs(b-d):\n", + " x3=x2+((-2*c)/(b+d))\n", + " else:\n", + " x3=x2+((-2*c)/(b-d))\n", + " ea=abs(x3-x2)*100/x3\n", + " x0=x1\n", + " x1=x2\n", + " x2=x3\n", + " print \"iteration:\",i\n", + " print \"xr:\",x2\n", + " print \"ea(%):\",ea,\"%\"\n", + " print \"---------------------------------------------\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.3: Pg: 187" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 1\n", + "delata r: 0.212481426449\n", + "delata s: 1.61961367013\n", + "r: -0.787518573551\n", + "s: 0.619613670134\n", + "Error in r: 26.9811320755\n", + "Error in s: 261.39088729\n", + "-----------------------------------------------------\n", + "Iteration: 2\n", + "delata r: 4.04595826496\n", + "delata s: 5.2325468461\n", + "r: 3.25843969141\n", + "s: 5.85216051623\n", + "Error in r: 124.168579079\n", + "Error in s: 89.4122235982\n", + "-----------------------------------------------------\n", + "Iteration: 3\n", + "delata r: 2.4536017174\n", + "delata s: -24.7953826358\n", + "r: 5.71204140882\n", + "s: -18.9432221196\n", + "Error in r: 42.9549007403\n", + "Error in s: 130.893163155\n", + "-----------------------------------------------------\n", + "Iteration: 4\n", + "delata r: -7.89009085\n", + "delata s: 22.0401977474\n", + "r: -2.17804944119\n", + "s: 3.09697562788\n", + "Error in r: 362.254901143\n", + "Error in s: 711.668427386\n", + "-----------------------------------------------------\n", + "Iteration: 5\n", + "delata r: -58.1023530819\n", + "delata s: 185.887882155\n", + "r: -60.2804025231\n", + "s: 188.984857783\n", + "Error in r: 96.386803422\n", + "Error in s: 98.3612572646\n", + "-----------------------------------------------------\n", + "Iteration: 6\n", + "delata r: 1160.70485616\n", + "delata s: 90001.7445985\n", + "r: 1100.42445363\n", + "s: 90190.7294562\n", + "Error in r: 105.477922844\n", + "Error in s: 99.7904608834\n", + "-----------------------------------------------------\n", + "Iteration: 7\n", + "delata r: -21882.7802726\n", + "delata s: 31520060.138\n", + "r: -20782.355819\n", + "s: 31610250.8675\n", + "Error in r: 105.294993807\n", + "Error in s: 99.7146788558\n", + "-----------------------------------------------------\n", + "Iteration: 8\n", + "delata r: 411986.000256\n", + "delata s: 11197461422.1\n", + "r: 391203.644438\n", + "s: 11229071673.0\n", + "Error in r: 105.312413653\n", + "Error in s: 99.7184963122\n", + "-----------------------------------------------------\n", + "Iteration: 9\n", + "delata r: -7758767.67604\n", + "delata s: 3.9700158833e+12\n", + "r: -7367564.0316\n", + "s: 3.98124495498e+12\n", + "Error in r: 105.309809901\n", + "Error in s: 99.7179507466\n", + "-----------------------------------------------------\n", + "Iteration: 10\n", + "delata r: 146111056.094\n", + "delata s: 1.4079763212e+15\n", + "r: 138743492.063\n", + "s: 1.41195756615e+15\n", + "Error in r: 105.310205129\n", + "Error in s: 99.7180336683\n", + "-----------------------------------------------------\n", + "Iteration: 11\n", + "delata r: -2751543853.16\n", + "delata s: 4.99319657786e+17\n", + "r: -2612800361.1\n", + "s: 5.00731615352e+17\n", + "Error in r: 105.310145166\n", + "Error in s: 99.718021087\n", + "-----------------------------------------------------\n", + "Iteration: 12\n", + "delata r: 51816650788.5\n", + "delata s: 1.77078151694e+20\n", + "r: 49203850427.4\n", + "s: 1.7757888331e+20\n", + "Error in r: 105.310154263\n", + "Error in s: 99.7180229957\n", + "-----------------------------------------------------\n", + "Iteration: 13\n", + "delata r: -9.75803357309e+11\n", + "delata s: 6.27987270746e+22\n", + "r: -9.26599506881e+11\n", + "s: 6.29763059579e+22\n", + "Error in r: 105.310152883\n", + "Error in s: 99.7180227061\n", + "-----------------------------------------------------\n", + "Iteration: 14\n", + "delata r: 1.83761812944e+13\n", + "delata s: 2.22708488435e+25\n", + "r: 1.74495817875e+13\n", + "s: 2.23338251495e+25\n", + "Error in r: 105.310153092\n", + "Error in s: 99.7180227501\n", + "-----------------------------------------------------\n", + "Iteration: 15\n", + "delata r: -3.46057469143e+14\n", + "delata s: 7.89810111349e+27\n", + "r: -3.28607887356e+14\n", + "s: 7.92043493864e+27\n", + "Error in r: 105.310153061\n", + "Error in s: 99.7180227434\n", + "-----------------------------------------------------\n", + "Iteration: 16\n", + "delata r: 6.51690195935e+15\n", + "delata s: 2.80097098525e+30\n", + "r: 6.18829407199e+15\n", + "s: 2.80889142018e+30\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227444\n", + "-----------------------------------------------------\n", + "Iteration: 17\n", + "delata r: -1.22725312811e+17\n", + "delata s: 9.93332238103e+32\n", + "r: -1.16537018739e+17\n", + "s: 9.96141129523e+32\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 18\n", + "delata r: 2.31114454359e+18\n", + "delata s: 3.5227388664e+35\n", + "r: 2.19460752485e+18\n", + "s: 3.53270027769e+35\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 19\n", + "delata r: -4.35231247656e+19\n", + "delata s: 1.24929893994e+38\n", + "r: -4.13285172407e+19\n", + "s: 1.25283164021e+38\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 20\n", + "delata r: 8.19620908009e+20\n", + "delata s: 4.43049541996e+40\n", + "r: 7.78292390768e+20\n", + "s: 4.44302373636e+40\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 21\n", + "delata r: -1.54349770717e+22\n", + "delata s: 1.57122439144e+43\n", + "r: -1.46566846809e+22\n", + "s: 1.57566741518e+43\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 22\n", + "delata r: 2.90669155552e+23\n", + "delata s: 5.57216711507e+45\n", + "r: 2.76012470871e+23\n", + "s: 5.58792378922e+45\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 23\n", + "delata r: -5.47383760902e+24\n", + "delata s: 1.97610516534e+48\n", + "r: -5.19782513815e+24\n", + "s: 1.98169308913e+48\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 24\n", + "delata r: 1.03082482601e+26\n", + "delata s: 7.00803034767e+50\n", + "r: 9.78846574632e+25\n", + "s: 7.02784727856e+50\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 25\n", + "delata r: -1.94123373367e+27\n", + "delata s: 2.48531759419e+53\n", + "r: -1.8433490762e+27\n", + "s: 2.49234544147e+53\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 26\n", + "delata r: 3.6557020297e+28\n", + "delata s: 8.81389382974e+55\n", + "r: 3.47136712208e+28\n", + "s: 8.83881728416e+55\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 27\n", + "delata r: -6.88436281433e+29\n", + "delata s: 3.12574636833e+58\n", + "r: -6.53722610212e+29\n", + "s: 3.13458518562e+58\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 28\n", + "delata r: 1.29645280097e+31\n", + "delata s: 1.10851010324e+61\n", + "r: 1.23108053995e+31\n", + "s: 1.11164468843e+61\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 29\n", + "delata r: -2.44146032172e+32\n", + "delata s: 3.93120395638e+63\n", + "r: -2.31835226773e+32\n", + "s: 3.94232040327e+63\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 30\n", + "delata r: 4.59772118049e+33\n", + "delata s: 1.39415639979e+66\n", + "r: 4.36588595372e+33\n", + "s: 1.3980987202e+66\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 31\n", + "delata r: -8.65835904252e+34\n", + "delata s: 4.94421578898e+68\n", + "r: -8.22177044714e+34\n", + "s: 4.95819677619e+68\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 32\n", + "delata r: 1.63052908966e+36\n", + "delata s: 1.75340942893e+71\n", + "r: 1.54831138518e+36\n", + "s: 1.75836762571e+71\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 33\n", + "delata r: -3.07058773973e+37\n", + "delata s: 6.21826545742e+73\n", + "r: -2.91575660121e+37\n", + "s: 6.23584913368e+73\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 34\n", + "delata r: 5.78248442618e+38\n", + "delata s: 2.20523653295e+76\n", + "r: 5.49090876606e+38\n", + "s: 2.21147238208e+76\n", + "Error in r: 105.310153065\n", + "Error in s: 99.7180227443\n", + "-----------------------------------------------------\n", + "Iteration: 35\n", + "delata r: -inf\n", + "delata s: inf\n", + "r: -inf\n", + "s: inf\n", + "Error in r: nan\n", + "Error in s: nan\n", + "-----------------------------------------------------\n", + "[nan, -inf] The roots are:\n", + "x**3 - 4*x**2 + 5.25*x - 2.5 The quotient is:\n", + "-----------------------------------------------------\n" + ] + } + ], + "source": [ + "from numpy import arange\n", + "def f(x):\n", + " y=x**5-3.5*x**4+2.75*x**3+2.125*x**2-3.875*x+1.25\n", + " return y\n", + "r=-1\n", + "s=-1\n", + "es=1##%\n", + "n=6\n", + "count=1\n", + "ear=100\n", + "eas=100\n", + "a=[0,1.25, -3.875, 2.125, 2.75, -3.5, 1]\n", + "b=a\n", + "c=a\n", + "while (ear>es) and (eas>es):\n", + " \n", + " b[(n)]=a[(n)]\n", + " b[(n-1)]=a[(n-1)]+r*b[(n)]\n", + " for i in arange(n-2,0,-1):\n", + " b[(i)]=a[(i)]+r*b[(i+1)]+s*b[(i+2)]\n", + "\n", + " c[(n)]=b[(n)]\n", + " c[(n-1)]=b[(n-1)]+r*c[(n)]\n", + " for i in arange((n-2),1,-1):\n", + " c[(i)]=b[(i)]+r*c[(i+1)]+s*c[(i+2)]\n", + " \n", + " #c(3)*dr+c(4)*ds=-b(2)\n", + " #c(2)*dr+c(3)*ds=-b(1)\n", + " ds=((-b[(1)])+(b[(2)]*c[(2)]/c[(3)]))/(c[(3)]-(c[(4)]*c[(2)]/c[(3)]))\n", + " dr=(-b[(2)]-c[(4)]*ds)/c[(3)]\n", + " r=r+dr\n", + " s=s+ds\n", + " ear=abs(dr/r)*100\n", + " eas=abs(ds/s)*100\n", + " print \"Iteration:\",count\n", + " print \"delata r:\",dr\n", + " print \"delata s:\",ds\n", + " print \"r:\",r\n", + " print \"s:\",s\n", + " print \"Error in r:\",ear\n", + " print \"Error in s:\",eas\n", + " print \"-----------------------------------------------------\"\n", + " count=count+1\n", + "\n", + "x1=(r+(r**2 + 4*s)**0.5)/2\n", + "x2=(r-(r**2 + 4*s)**0.5)/2\n", + "bracket=[x1, x2]\n", + "print bracket,\"The roots are:\"\n", + "print \"x**3 - 4*x**2 + 5.25*x - 2.5\",\"The quotient is:\"\n", + "print \"-----------------------------------------------------\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.4: Pg: 191" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The root is= 0.738868466337\n" + ] + } + ], + "source": [ + "from math import cos\n", + "def f(x):\n", + " y=x-cos(x)\n", + " return y\n", + "x1=0\n", + "if f(x1)<0:\n", + " x2=x1+0.001\n", + " while f(x2)<0:\n", + " x2=x2+0.001\n", + " \n", + "elif x20==x1+0.001:\n", + " while f(x2)>0:\n", + " x2=x2+0.001\n", + " \n", + "else:\n", + " print \"The root is=\",x1\n", + "\n", + "x=x2-(x2-x1)*f(x2)/(f(x2)-f(x1))\n", + "print \"The root is=\",x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.5: Pg: 191" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x= 2\n", + "y= 3.0\n" + ] + } + ], + "source": [ + "def u(x,y):\n", + " z=x**2+x*y-10\n", + " return z\n", + "def v(x,y):\n", + " z=y+3*x*y**2-57\n", + " return z\n", + "x=1\n", + "y=3.5\n", + "while u(x,y)!=v(x,y):\n", + " x=x+1\n", + " y=y-0.5\n", + "\n", + "print \"x=\",x\n", + "print \"y=\",y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.6: Pg: 194" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of the polynomial are:\n", + "-1\n", + "1\n", + "-1/4 + sqrt(5)/4 - I*sqrt(sqrt(5)/8 + 5/8)\n", + "-1/4 + sqrt(5)/4 + I*sqrt(sqrt(5)/8 + 5/8)\n", + "1/4 + sqrt(5)/4 - I*sqrt(-sqrt(5)/8 + 5/8)\n", + "1/4 + sqrt(5)/4 + I*sqrt(-sqrt(5)/8 + 5/8)\n", + "-sqrt(5)/4 - 1/4 - I*sqrt(-sqrt(5)/8 + 5/8)\n", + "-sqrt(5)/4 - 1/4 + I*sqrt(-sqrt(5)/8 + 5/8)\n", + "-sqrt(5)/4 + 1/4 - I*sqrt(sqrt(5)/8 + 5/8)\n", + "-sqrt(5)/4 + 1/4 + I*sqrt(sqrt(5)/8 + 5/8)\n" + ] + } + ], + "source": [ + "from sympy import symbols,solve\n", + "x=symbols('s')\n", + "p=x**10 -1\n", + "print \"The roots of the polynomial are:\"\n", + "for r in solve(p):\n", + " print r" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.7: Pg: 195" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The roots of the polynomial are:\n", + "-1.00000000000000\n", + "0.500000000000000\n", + "2.00000000000000\n", + "1.0 - 0.5*I\n", + "1.0 + 0.5*I\n" + ] + } + ], + "source": [ + "from sympy import symbols,solve\n", + "x=symbols('s')\n", + "p=x**5 - 3.5*x**4 +2.75*x**3 +2.125*x**2 - 3.875*x + 1.25\n", + "print \"The roots of the polynomial are:\"\n", + "for r in solve(p):\n", + " print r" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex7.8: Pg: 196" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The root is= 0.739083980074\n" + ] + } + ], + "source": [ + "from math import cos\n", + "def f(x):\n", + " y=x-cos(x)\n", + " return y\n", + "x1=0\n", + "if f(x1)<0:\n", + " x2=x1+0.00001\n", + " while f(x2)<0:\n", + " x2=x2+0.00001\n", + " \n", + "elif x2==x1+0.00001:\n", + " while f(x2)>0:\n", + " x2=x2+0.00001\n", + " \n", + "else:\n", + " print x1,\"The root is=\"\n", + "\n", + "x=x2-(x2-x1)*f(x2)/(f(x2)-f(x1))\n", + "print \"The root is=\",x" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter9_1.ipynb b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter9_1.ipynb new file mode 100644 index 00000000..1c603f39 --- /dev/null +++ b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/Chapter9_1.ipynb @@ -0,0 +1,608 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter - 9 : Gauss Eliminations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.1 Pg: 242" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The lines meet at=x2= 3 and x1= 4\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from __future__ import division\n", + "%matplotlib inline\n", + "from matplotlib.pyplot import plot,title,xlabel,ylabel,show\n", + "#the equations are:\n", + "#3*x1 + 2*x2=18 and -x1 + 2*x2=2\n", + "\n", + "#equation 1 becomes,\n", + "#x2=-(3/2)*x1 + 9\n", + "#equation 2 becomes,\n", + "#x2=-(1/2)*x1 + 1\n", + "\n", + "#plotting equation 1\n", + "x2=[0]\n", + "for x1 in range(1,7):\n", + " x2.append(-(3/2)*x1 + 9)\n", + "\n", + "x1=[1, 2, 3, 4, 5, 6]\n", + "#plotting equation 2\n", + "x4=[0]\n", + "for x3 in range(1,7):\n", + " x4.append((1/2)*x3 + 1)\n", + "\n", + "x3=[1, 2, 3, 4, 5, 6]\n", + "plot(x1,x2[1:])\n", + "plot(x3,x4[1:])\n", + "title(\"x2 vs x1\")\n", + "xlabel(\"x1\")\n", + "ylabel(\"x2\")\n", + "#the lines meet at x1=4 amd x2=3\n", + "print \"The lines meet at=x2=\",3,\"and x1=\",4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.2 Pg: 244" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of determinant for system repesented in fig 9.1 = 8.0\n", + "The value of determinant for system repesented in fig 9.2 (a) = 0.0\n", + "The value of determinant for system repesented in fig 9.2 (b) = 0.0\n", + "The value of determinant for system repesented in fig 9.2 (c) = -0.04\n" + ] + } + ], + "source": [ + "from numpy.linalg import det\n", + "from numpy import mat\n", + "#For fig9.1\n", + "a=mat([[3, 2],[-1, 2]])\n", + "print \"The value of determinant for system repesented in fig 9.1 =\",det(a)\n", + "#For fig9.2 (a)\n", + "a=mat([[-0.5, 1],[-0.5, 1]])\n", + "print \"The value of determinant for system repesented in fig 9.2 (a) =\",det(a)\n", + "#For fig9.2 (b)\n", + "a=mat([[-0.5, 1],[-1, 2]])\n", + "print \"The value of determinant for system repesented in fig 9.2 (b) =\",det(a)\n", + "#For fig9.2 (c)\n", + "a=mat([[-0.5, 1],[-2.3/5, 1]])\n", + "print \"The value of determinant for system repesented in fig 9.2 (c) =\",det(a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.3 Pg: 245" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The values are:\n", + "x1= -14.9\n", + "x2= -29.5\n", + "x3= 19.8\n" + ] + } + ], + "source": [ + "from numpy import mat\n", + "from numpy.linalg import det\n", + "#the matrix or the system\n", + "b1=-0.01#\n", + "b2=0.67#\n", + "b3=-0.44#\n", + "a=mat([[0.3, 0.52, 1],[0.5, 1, 1.9],[0.1, 0.3, 0.5]])\n", + "a1=mat([[a[1,1], a[1,2]],[a[2,1], a[2,2]]])\n", + "A1=det(a1)\n", + "a2=mat([[a[1,0], a[1,2]],[a[2,0], a[2,2]]])\n", + "A2=det(a2)\n", + "a3=mat([[a[1,0], a[1,1]],[a[2,0], a[2,1]]])\n", + "A3=det(a3)\n", + "D=a[0,0]*A1-a[0,1]*A2+a[0,2]*A3\n", + "p=mat([[b1, 0.52, 1],[b2, 1, 1.9],[b3, 0.3, 0.5]])\n", + "q=mat([[0.3, b1, 1],[0.5, b2, 1.9],[0.1, b3, 0.5]])\n", + "r=mat([[0.3, 0.52, b1],[0.5, 1, b2],[0.1 ,0.3, b3]])\n", + "x1=det(p)/D#\n", + "x2=det(q)/D#\n", + "x3=det(r)/D#\n", + "print \"The values are:\"\n", + "print \"x1=\",x1\n", + "print \"x2=\",x2\n", + "print \"x3=\",x3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.4 Pg: 246" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x1= 4.0\n", + "x2= 3.0\n" + ] + } + ], + "source": [ + "#the equations are:\n", + "#3*x1+2*x2=18\n", + "#-x1+2*x2=2\n", + "a11=3#\n", + "a12=2#\n", + "b1=18#\n", + "a21=-1#\n", + "a22=2#\n", + "b2=2#\n", + "x1=(b1*a22-a12*b2)/(a11*a22-a12*a21)#\n", + "x2=(b2*a11-a21*b1)/(a11*a22-a12*a21)#\n", + "print \"x1=\",x1\n", + "print \"x2=\",x2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.5 Pg: 251" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x1= 2.61666666667\n", + "x2= -2.79319371728\n", + "x3= 7.0\n" + ] + } + ], + "source": [ + "from numpy import arange,mat\n", + "\n", + "n=3#\n", + "b=[7.85,-19.3,71.4] # ################################\n", + "a=mat([[3, -0.1, -0.2],[0.1, 7, -0.3],[0.3, -0.2, 10]])\n", + "for k in range(1,n):\n", + " for i in range(k+1,n+1):\n", + " fact=a[i-1,k-1]/a[k-1,k-1]\n", + " for j in range(k+1,n+1):\n", + " a[i-1,j-1]=a[i-1,j-1]-fact*(a[k-1,j-1])\n", + " \n", + " b[(i-1)]=b[(i-1)]-fact*b[(k-1)]\n", + " \n", + "x=[0,0,b[(n-1)]/a[n-1,n-1]]\n", + "for i in arange(n-1,0,-1):\n", + " s=b[i-1]#\n", + " for j in range(i+1,n+1):\n", + " s=s-a[i-1,j-1]*x[j-1]\n", + " \n", + " x[i-1]=b[i-1]/a[i-1,i-1]\n", + "\n", + "print \"x1=\",x[0]\n", + "print \"x2=\",x[1]\n", + "print \"x3=\",x[2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.6 Pg:255" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "For the original system:\n", + "x1= 4.0\n", + "x2= 3.0\n", + "For the new system:\n", + "x1= 8.0\n", + "x2= 1.0\n" + ] + } + ], + "source": [ + "a11=1#\n", + "a12=2#\n", + "b1=10#\n", + "a21=1.1#\n", + "a22=2#\n", + "b2=10.4#\n", + "x1=(b1*a22-a12*b2)/(a11*a22-a12*a21)#\n", + "x2=(b2*a11-a21*b1)/(a11*a22-a12*a21)#\n", + "print \"For the original system:\"\n", + "print \"x1=\",x1\n", + "print \"x2=\",x2\n", + "a21=1.05#\n", + "x1=(b1*a22-a12*b2)/(a11*a22-a12*a21)#\n", + "x2=(b2*a11-a21*b1)/(a11*a22-a12*a21)#\n", + "print \"For the new system:\"\n", + "print \"x1=\",x1\n", + "print \"x2=\",x2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.7 Pg: 257" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The determinant for part(a)= 8.0\n", + "The determinant for part(b)= -0.2\n", + "The determinant for part(c)= -20.0\n" + ] + } + ], + "source": [ + "from numpy.linalg import det\n", + "from numpy import mat\n", + "#part a\n", + "a=mat([[3, 2],[-1, 2]])\n", + "b1=18#\n", + "b2=2#\n", + "print \"The determinant for part(a)=\",det(a)\n", + "#part b\n", + "a=mat([[1, 2],[1.1, 2]])\n", + "b1=10\n", + "b2=10.4#\n", + "print \"The determinant for part(b)=\",det(a)\n", + "#part c\n", + "a1=a*10#\n", + "b1=100#\n", + "b2=104#\n", + "print \"The determinant for part(c)=\",det(a1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.8 Pg: 258" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The determinant for part(a)= 1.3335\n", + "The determinant for part(b)= -0.05\n", + "The determinant for part(c)= -0.05\n" + ] + } + ], + "source": [ + "from numpy.linalg import det\n", + "from numpy import mat\n", + "#part a\n", + "a=mat([[1, 0.667],[-0.5, 1]])\n", + "b1=6#\n", + "b2=1#\n", + "print \"The determinant for part(a)=\",det(a)\n", + "#part b\n", + "a=mat([[0.5, 1],[0.55, 1]])\n", + "b1=5\n", + "b2=5.2\n", + "print \"The determinant for part(b)=\",det(a)\n", + "#part c\n", + "b1=5#\n", + "b2=5.2#\n", + "print \"The determinant for part(c)=\",det(a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.9 Pg: 260" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x2 = 0.666666666667\n", + "x1 = 0.333333333334\n", + "The error varies depending on the no. of significant figures used\n" + ] + } + ], + "source": [ + "#0.0003*x1 + 3*x2 = 2.0001\n", + "#1*x1 + 1*x2 = 1\n", + "a11 = 0.000#\n", + "#multiplying first equation by 1/0.0003, we get, x1 + 10000*x2 = 6667\n", + "x2 = (6667-1)/(10000-1)#\n", + "x1 = 6667 - 10000*x2#\n", + "print \"x2 = \",x2\n", + "print \"x1 = \",x1\n", + "print \"The error varies depending on the no. of significant figures used\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.10 Pg: 262" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "without scaling, applying forward elimination\n", + "x2 = 1.0\n", + "x1 = 0\n", + "error for x1 = 100.0\n", + "with scaling\n", + "x1 = 1\n", + "x2 = 1\n", + "pivot and retaining original coefficients\n", + "x1 = 1\n", + "x2 = 1.0\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "#2*x1 + 10000*x2 = 10000\n", + "#x1 + x2 = 2\n", + "x1 = 1#\n", + "x2 = 1#\n", + "print \"without scaling, applying forward elimination\"\n", + "#x1 is too small and can be neglected\n", + "x21 = 10000/10000#\n", + "x11 = 0#\n", + "e1 = (x1 - x11)*100/x1#\n", + "print \"x2 = \",x21\n", + "print \"x1 = \",x11\n", + "print \"error for x1 = \",e1\n", + "print \"with scaling\"\n", + "#0.00002*x1 + x2 = 1\n", + "#now x1 is neglected because of the co efficient\n", + "x22 = 1#\n", + "x12 = 2 - x1#\n", + "print \"x1 = \",x12\n", + "print \"x2 = \",x22\n", + "#using original co efficient\n", + "#x1 can be neglected\n", + "print \"pivot and retaining original coefficients\"\n", + "x22 = 10000/10000#\n", + "x12 = 2 - x1#\n", + "print \"x1 = \",x12\n", + "print \"x2 = \",x22" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.11 Pg: 265" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a= 8.59411764706 m/s**2\n", + "T= 34.4117647059 N\n", + "R= 36.7647058824 N\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import mat\n", + "from numpy.linalg import solve\n", + "a=mat([[70, 1, 0],[60, -1, 1],[40, 0, -1]])\n", + "b=mat([[636],[518],[307]])\n", + "x=abs(solve(a,b))\n", + "print \"a=\",x[0,0],\"m/s**2\"\n", + "print \"T=\",x[1,0],\"N\"\n", + "print \"R=\",x[2,0],\"N\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:9.12 Pg: 269" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Equation in matrix form can be written as : \n", + "[[ 3. -0.1 -0.2 7.85]\n", + " [ 0.1 7. -0.3 -19.3 ]\n", + " [ 0.3 -0.2 10. 71.4 ]]\n", + "final matrix = \n", + "[[ 1. 0. 0. 3. ]\n", + " [ 0. 1. 0. -2.5]\n", + " [ 0. 0. 1. 7. ]]\n", + "\n", + "x1 = 3.0\n", + "x2 = -2.5\n", + "x3 = 7.0\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from numpy import mat,vstack\n", + "from numpy.linalg import det\n", + "#3*x1 - 0.1*x2 - 0.2*x3 = 7.85\n", + "#0.1*x1 + 7*x2 - 0.3*x3 = -19.3\n", + "#0.3*x1 - 0.2*x2 + 10*x3 = 71.4\n", + "# this can be written in matrix form as\n", + "A = mat([[3,-0.1,-0.2,7.85],[0.1,7,-0.3,-19.3],[0.3,-0.2,10,71.4]])\n", + "print \"Equation in matrix form can be written as : \\n\",A\n", + "X = A[0:1] / (A[0,0])#\n", + "Y = A[1:2] - 0.1*X#\n", + "Z = A[2:3] - 0.3*X#\n", + "\n", + "Y = Y/(Y[0,1])\n", + "X = X - Y * (X[0,1])\n", + "Z = Z - Y * (Z[0,1])#\n", + "Z = Z/(Z[0,2])#\n", + "X = X - Z*(X[0,2])#\n", + "Y = Y - Z*(Y[0,2])#\n", + "A = vstack((X,Y,Z))\n", + "print \"final matrix = \\n\",A\n", + "print \"\\nx1 = \",A[0,3]\n", + "print \"x2 = \",A[1,3]\n", + "print \"x3 = \",A[2,3]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14PathOfAscent_1.png b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14PathOfAscent_1.png new file mode 100644 index 00000000..f4f76738 Binary files /dev/null and b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14PathOfAscent_1.png differ diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14RandomNumberGenerator_1.png b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14RandomNumberGenerator_1.png new file mode 100644 index 00000000..de7353a3 Binary files /dev/null and b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch14RandomNumberGenerator_1.png differ diff --git a/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch26EulerMethod_1.png b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch26EulerMethod_1.png new file mode 100644 index 00000000..0bf7e18d Binary files /dev/null and b/Numerical_Methods_For_Engineers_by_S._C._Chapra_And_R._P._Canale/screenshots/Ch26EulerMethod_1.png differ diff --git a/sample_notebooks/GundlaKeerthi vani/J.B.Gupta_Chapter_6_(1).ipynb b/sample_notebooks/GundlaKeerthi vani/J.B.Gupta_Chapter_6_(1).ipynb new file mode 100644 index 00000000..eeabf53b --- /dev/null +++ b/sample_notebooks/GundlaKeerthi vani/J.B.Gupta_Chapter_6_(1).ipynb @@ -0,0 +1,196 @@ +{ + "metadata": { + "name": "J.B.Gupta Chapter 6" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": "Chapter 6 Extension of Instrument Range" + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.1,Page No 165" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n \n#variable declaration\nIm = 50*10**-6; #full scale deflection current in A\nRm = 1000; #instrument resistance in \u03a9\nI = 1; #total current to be measured in A\n \n#calculations\nRs = (Rm/float((I/float(Im))-1)); #resistance of ammeter in \u03a9\n \n \n#result\nprint'resistance of ammeter shunt required Rs = %3.7f'%Rs,'\u03a9';\n \n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "resistance of ammeter shunt required Rs = 0.0500025 \u03a9\n" + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.2,Page No 165" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n \n#variable declaration\nRm = 1; #instrument resistance in \u03a9\nRse = 4999; #series resistance in \u03a9\nV = 250; #full-scale deflection voltage in V\nRs = 0.002004; #Shunt resistance in \u03a9(Rs =1/float(499))\nI1 = 50; #full-scale defelction current in A\n \n#calculations\nIm = V/float(Rm+Rse); #full-scale deflection current in A\nx = 1/float(Rse);\nI = Im*(1+(Rm/float(x))); #current in A\nN = I1/float(Im); \nRsh = Rm/float(N-1); #shunt resistance in \u03a9\n \n#result\nprint'full-scale defelction current in Im = %3.2f'%Im,'A';\nprint'current range of instrument when used as an ammeter with coil connected across shunt is I = %3.2f'%I,'A';\nprint'Shunt resistance for the instrument to give a full-scale deflection of 50A is Rsh = %3.2e'%Rsh,'\u03a9';\n \n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "full-scale defelction current in Im = 0.05 A\ncurrent range of instrument when used as an ammeter with coil connected across shunt is I = 250.00 A\nShunt resistance for the instrument to give a full-scale deflection of 50A is Rsh = 1.00e-03 \u03a9\n" + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.3,Page No 167" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n \n#variable declaration\nRm = 10; #instrument resistance in \u03a9\nIm = 0.05; #instrument current in A\nV = 750; #voltage to be measured in V\nI = 100; #current to be measured in A\n \n#calculations\nR = (V/float(Im))-Rm; #External resistance in \u03a9\nN = I/float(Im); #power of shunt\nRs = Rm/float(N-1); #resistance in \u03a9\n \n \n#result\nprint'external resistance to be connected in sereis to enable the instrument to measure voltage upto 750V is %3.1f'%R,'\u03a9';\nprint'shunt resistance required %3.4f'%Rs,'\u03a9';", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "external resistance to be connected in sereis to enable the instrument to measure voltage upto 750V is 14990.0 \u03a9\nshunt resistance required 0.0050 \u03a9\n" + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.4,Page No 167" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n \n#variable declaration\nRm = 5; #instrument resistance in \u03a9\nIm = 15*10**-3; #full scale defelection current in A\nI =1; #current to be measured in A\nV = 10; #voltage to be measured in V\n \n#calculations\nN = I/float(Im); #power of shunt\nRs = Rm/float(N-1); #resistance in \u03a9\nR = (V/float(Im))-Rm; #series resistance in \u03a9\n \n \n#result\nprint'resistance to be connected in parallel to enable the instrument to measure current upto 1A is %3.4f'%Rs,'\u03a9';\nprint'shunt resistance required for full-scale defelction with 10v is %3.4f'%R,'\u03a9';\n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "resistance to be connected in parallel to enable the instrument to measure current upto 1A is 0.0761 \u03a9\nshunt resistance required for full-scale defelction with 10v is 661.6667 \u03a9\n" + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.5,Page No 167" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n \n#variable declaration\nRm = 2; #instrument coil resistance in \u03a9\nV = 250; #full-scale reading in V\nRs = 5000; #series resistance in \u03a9\nRsh = 2*10**-3; #shunt resistance in \u03a9\n \n \n#calculations\nIm = V/float(Rm+Rs); #current flowing through the instrument for full-scale deflection in A\nIs = (Im*Rm)/float(Rsh); #current through shunt resistance in A \nI = Im+Is; #current range of instrument in A\n \n#result\nprint'current flowing through the instrument for full-scale deflection is %3.4f'%(Im*10**3),'mA';\nprint'current through shunt resistance is %3.2f'%Is,'A';\nprint'current range of instrumentis %3.1f'%I,'A'\n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "current flowing through the instrument for full-scale deflection is 49.9800 mA\ncurrent through shunt resistance is 49.98 A\ncurrent range of instrumentis 50.0 A\n" + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.6,Page No 168" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n \n#variable declaration\nRsh = 0.02; #shunt resistance in \u03a9\nV = 0.5; #potential difference across the shunt in V\nRm = 1000; #resistance in \u03a9\nI1 = 10; #current in A\nI2 = 75; #current in A\nI = 100;\t\t\t #current in A\nx = 40;\t\t\t #deflection %\n \n#calculations\nIs = V/float(Rsh); #current through shunt in A\nIm = V/float(Rm); #current through ammeter for full-scale defelction in A\nV1 = I1*Rsh; #voltage across shunt for 10A in V\nR1 = V1/float(Im);\t\t\t #resistance for the ammeter for a current of 10 A for full-scale defelction in \u03a9\nV2 = I2*Rsh; #voltage across shunt for 75A in V\nR2 = V2/float(Im);\t\t\t #resistance for the ammeter for a current of 75 A for full-scale defelction in \u03a9\nI3 = I*(100/float(x));\t\t\t #full-scale defelction current when 100 A gives 40% defelction\nV3 = I3*Rsh; #voltage across shunt for 250 A in V\nR3 = V3/float(Im);\t\t\t #resistance for the ammeter for a current of 250 A for full-scale defelction in \u03a9\n\n\n#result\nprint'current through ammeter for full-scale defelction is %3.1f'% (Im*10**3),' A'\nprint'Resistance for the ammeter for a current of 10 A for full-scale defelction is %3.2f'%R1,' \u03a9';\nprint'Resistance for the ammeter for a current of 75 A for full-scale defelction is %3.2f'%R2,' \u03a9';\nprint'Resistance for the ammeter for a current of 250 A for full-scale defelction is %3.2f'%R3,' \u03a9';\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "current through ammeter for full-scale defelction is 0.5 A\nResistance for the ammeter for a current of 10 A for full-scale defelction is 400.00 \u03a9\nResistance for the ammeter for a current of 75 A for full-scale defelction is 3000.00 \u03a9\nResistance for the ammeter for a current of 250 A for full-scale defelction is 10000.00 \u03a9\n" + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.7,Page No 168" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n\n#variable declaration\nB = 0.5;\t\t\t #flux density of the magnetic field in Wb/m**2\nN = 100;\t\t\t #number of turns in coil\nl = 0.04;\t\t #length in m\nr =0.03;\t\t\t #width in m\nTc = 120*10**-6;\t #controlling torque in N-m\nv = 1; \t\t\t #volts per division in V\nn = 100;\t\t\t #number of division on full-scale\nRm = 0;\n\n#calculations\nI = Tc/float(B*N*l*r);\t\t #current for full-scale deflection in A\nV = n*v;\t\t\t #full-scale reading of instrument in V\nR = (V/float(I))-Rm;\t\t\t #External resistance required to be put in series with the coil in \u03a9\n\n#result\nprint'current for full-scale deflection is %3.4f'%I,'A';\nprint'External resistance required to be put in series with the coil is %3.3f'%R,' \u03a9';\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "current for full-scale deflection is 0.0020 A\nExternal resistance required to be put in series with the coil is 50000.000 \u03a9\n" + } + ], + "prompt_number": 48 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": "Example 6.8,Page No 169" + }, + { + "cell_type": "code", + "collapsed": false, + "input": "import math\n\n\n#variable decalaration\nRm = 5;\t\t #coil resistance in \u03a9\nRm1 = 0.00075;\t\t #coil resistance in \u03a9\nIm = 0.015;\t\t #full-scale defelction current in A\nI = 100; \t\t #current to be measured in A\nT1 = 0.004;\t\t #temperature coeficient of copper in \u03a9/\u03a9/\u00b0C\nT2 = 0.00015;\t\t #temperature coeficient of manganin in \u03a9/\u03a9/\u00b0C\nT =10; \t\t #rise in temperature in \u00b0C\n#calculations\nN = I/float(Im);\t\t #multiplying power of shunt\nRs = Rm/float(N-1);\t #resistance of manganin shunt in \u03a9\nRc = Rm*(1+(T1*T));\t #coil resitance with 10\u00b0C in temperature in \u03a9\nRsh = Rm1*(1+(T2*T));\t #shunt resitance with 10\u00b0C in temperature in \u03a9\nIn = (Rsh/float(Rc+Rsh))*100;\t#new instrument current in A\nr = (In/float(Im))*100;\t\t#new instrument reading in A\ne = ((r-I)/float(I))*100;\t\t#percentage error in %\n\n\n#result\nprint'percentage error %3.5f'%e,'%';", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "percentage error -3.71583 %\n" + } + ], + "prompt_number": 83 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "", + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file -- cgit