statistics mathematic

Page 1

‫ﻣﺪﺧﻞ ﺣﺪﻳﺚ ﻟﻠﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام ﺑﺮﻧﺎﻣﺞ‬

‫‪Mathematica‬‬ ‫ﺗﺄﻟﻴﻒ‬ ‫اﻟﺪﻛﺘﻮرة ‪ /‬ﺛﺮوت ﻣﺤﻤﺪ ﻋﺒﺪ اﻟﻤﻨﻌﻢ ﻣﺤﻤﺪ اﺑﺮاﻫﻴﻢ‬ ‫أﺳﺘﺎذ ﻣﺸﺎرك‬ ‫ﺟﺎﻣﻌﺔ اﻟﺪﻣﺎم‬ ‫ﻛﻠﻴﺔ اﻟﻌﻠﻮم ﺑﺎﻟﺪﻣﺎم – ﻗﺴﻢ اﻟﺮﻳﺎﺿﻴﺎت )ﺳﺎﺑﻘﺎ(‬ ‫‪٢٠١٣‬م‬

‫‪١‬‬


٢


‫اﻟﻰ اﺧﻰ اﻟﻣﻬﻧدس اﻟزراﻋﻰ ﻣﺣﻣود ﻣﺣﻣد ﻋﺑد اﻟﻣﻧﻌم‬ ‫اﻟﻰ اﺧﺗﻰ اﻟدﻛﺗورة ﻓﺎطﻣﺔ اﻟزﻫراء‬ ‫اﻟﻰ اﺧﻰ اﻟﻣﺣﺎﺳب ﻛﻣﺎل اﻟدﯾن ﻣﺣﻣد ﻋﺑد اﻟﻣﻧﻌم‬ ‫اﻟﻰ اﺧﺗﻰ ﻓﻰ اﷲ اﻟدﻛﺗورة ﻣﻧﻰ ﻣﺻطﻔﻰ ﺣﺳﯾن اﻟﺗﻰ ﺗﺣﺎﺑﺑﻧﺎ ﻓﻰ اﷲ‬ ‫اﻟﻰ اوﻻد اﺧواﺗﻰ ﻣﺣﻣد ﻋز وﻣﺣﻣد ﺣﺳﯾن واﺣﻣد ﻋز وﺑﻬﺎء ﺣﺳﯾن اﻟذﯾن ﻋﻠﻣﺗﻬم ﻓﻰ ﺻﻐرﻫم‬ ‫اﻟﺣﺎﺳب اﻻﻟﻰ ﺛم اﺳﺗﺷرﺗﻬم ﻓﻰ ﺑﻌض اﻟﻣواﺿﯾﻊ واﻧﺎ ﻛﺑﯾرة وﺑﻌد ان ﺗﻘدﻣت ﻋﻠوم اﻟﺣﺎﺳب‬ ‫اﻻﻟﻰ واﺻﺑﺣوا اﻛﺛر ﻣﻌرﻓﺔ ﻣﻧﻰ ﻓﻰ ﺑﻌض اﻟﻣﺟﺎﻻت اﻓﺎدوﻧﻰ ﻓﻠﻬم ﻣﻧﻰ اﻟﺷﻛر ﺟﻣﯾﻌﺎ‬ ‫اﻟﻰ ﻛل ﻣن ﯾﻌﻣل ﺑﺟد ﻟﺻﺎﻟﺢ اﻟﻌﺎﻟم ﺑﺎﻛﻣﻠﻪ‬ ‫وﻻ ﯾﺑﻐﻰ اﻻ وﺟﻪ اﷲ‬ ‫د‪ .‬ﺛروت ﻣﺣﻣد ﻋﺑد اﻟﻣﻧﻌم‬

‫‪٣‬‬


‫ﺑﺳم اﷲ اﻟرﺣﻣن اﻟرﺣﯾم‬

‫ﺗﻣﻬﯾد‬

‫اﻟﺣﻣـد ﷲ رب اﻟﻌــﺎﻟﻣﯾن واﻟﺻــﻼة واﻟﺳـﻼم ﻋﻠــﻰ أﺷــرف اﻟﻣرﺳـﻠﯾن ﻣﺣﻣــد وﻋﻠــﻰ آﻟـﻪ وﺻــﺣﺑﻪ أﺟﻣﻌــﯾن‪ .‬أﻣــﺎ‬ ‫ﺑﻌــد‪ ،‬ﻓﺎﻟﺣﻣــد ﷲ اﻟــذي ﻫــداﻧﺎ وﻣــﺎ ﻛﻧــﺎ ﻟﻧﻬﺗــدي ﻟــوﻻ أن ﻫــداﻧﺎ اﷲ اﻟــذي أﻧﻌــم ﻋﻠــﻲ ﺑﻛﺗﺎﺑــﺔ ﻫــذا اﻟﻛﺗــﺎب ﺗﻠﺑﯾــﺔ ﻟﻧــداء‬ ‫اﻟﺗﻌرﯾب اﻟذي ﯾﺗﺑﻧﺎﻩ اﻟﻛﺛﯾر ﻣن اﻟﻌﻠﻣﺎء واﻟﻣﺛﻘﻔﯾن‪.‬‬ ‫ﯾﺧــدم ﺑرﻧــﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛــﺎ ‪ Mathematica‬ﻗطﺎﻋــﺎ ﻛﺑﯾ ـ ار ﻣــن اﻟﺗﺧﺻﺻــﺎت اﻟﻌﻠﻣﯾــﺔ اﻟﻣﺧﺗﻠﻔــﺔ ﺣﯾــث ﯾﻘــوم‬ ‫ﺑـﺈﺟراء اﻟﻌﻣﻠﯾـﺎت اﻟﺣﺳـﺎﺑﯾﺔ اﻟﻌددﯾـﺔ ‪ Numerical Calculations‬اﻟﻣﺗﻌـﺎرف ﻋﻠﯾﻬـﺎ ﻣﺛـل اﻟﺟﻣـﻊ واﻟطـرح واﻟﻘﺳـﻣﺔ‬ ‫وﺣﺳﺎب اﻻﺳس واﻟﻠوﻏﺎرﺗﻣﺎت و اﻟدوال اﻟﻣﺛﻠﺛﯾـﺔ و اﻟزاﺋدﯾـﺔ ﺳـواء ﻟﻼﻋـداد اﻟﺣﻘﯾﻘﯾـﺔ او اﻻﻋـداد اﻟﻣرﻛﺑـﺔ وﻛـذﻟك ﯾﻘـوم‬ ‫ﺑﺈﺟراء اﻟﻌﻣﻠﯾﺎت اﻟرﯾﺎﺿﯾﺔ اﻟرﻣزﯾﺔ ‪ Symbolic‬اﻟﻣﺗﻌﺎرف ﻋﻠﯾﻬﺎ ﻓﻰ ﻓروع ﻛﺛﯾرة ﻣن اﻟرﯾﺎﺿـﯾﺎت ﻣﺛـل اﻟﺟﺑـر اﻟﺧطـﻰ‬ ‫واﻻﺣﺻﺎء واﻟﺗﻔﺎﺿل واﻟﺗﻛﺎﻣـل واﻟـدوال اﻟﺧﺎﺻـﺔ واﻟﻣﻌـﺎدﻻت اﻟﺗﻔﺎﺿـﻠﯾﺔ واﻟﺗﺣﻠﯾـل اﻟﻌـددى واﻟﺑرﻣﺟـﺔ اﻟﺧطﯾـﺔ ‪ .‬ﻛﻣـﺎ‬ ‫ﯾﻘوم ﺑرﺳم اﻟدوال ﺳواء اﻟﻣﺑﺎﺷرة او اﻟﺑﺎراﻣﺗرﯾﺔ ﻓﻰ ﺑﻌدﯾن او ﺛﻼث اﺑﻌـﺎد‪ .‬ﻛﻣـﺎ ﯾﻣﻛـن اﺳـﺗﺧدام ﺑرﻧـﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛـﺎ‬ ‫ﻛﻠﻐـﺔ ﺑرﻣﺟــﺔ ﻟﻛﺗﺎﺑـﺔ ﺑـراﻣﺞ ﺗﺣــل ﻣﺷـﻛﻼت ﻛﺑﯾـرة ‪ ،‬ﻓــﻰ ﻣﺟـﺎﻻت ﻛﺛﯾـرة ﻣﺛــل اﻟرﯾﺎﺿـﯾﺎت واﻻﺣﺻــﺎء واﻻﺣﺗﻣــﺎﻻت‪،‬‬ ‫ﯾﻌﺟز ﺣﻠﻬﺎ اﻣر واﺣد وﻫذا ﻫدﻓﻧﺎ ﻓﻰ ﻫذا اﻟﻛﺗﺎب ‪ .‬وﻟﻘد اﻋﺗﻣدت ﻓﻰ وﺿـﻊ ﻫـذا اﻟﻛﺗـﺎب ﻋﻠـﻰ اﻻﺻـدار ‪ 5‬ﻟﺑرﻧـﺎﻣﺞ‬ ‫اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ وﯾﻣﻛن ﻟﻠﻣﺳﺗﺧدم ﻻى اﺻدار اﺧر اﻻﻋﺗﻣﺎد ﻋﻠﯾﻪ ﻻﻧﻪ ﯾﺗﻧﺎول اﻻﺳﺎﺳﯾﺎت واﻟﻣوﺟودة ﻓﻰ اى اﺻدار ‪.‬‬ ‫ـرر ﻟطـﻼب اﻟد ارﺳـﺎت اﻟﻌﻠﯾـﺎ‬ ‫ﻫذا اﻟﻛﺗـﺎب ﯾﺻـﻠﺢ ﻛﻣﻘـرر ﻟطـﻼب ﻛﻠﯾـﺎت اﻟﻌﻠـوم ‪ ،‬ﻛﻣـﺎ ﯾﺻـﻠﺢ ﻷن ﯾﻛـون ﻣﻘ ا‬ ‫ﻟﺗﺳــﺎﻋدﻫم ‪ ،‬ﻓــﻰ رﺳــﺎﻟﺔ اﻟﻣﺎﺟﺳــﺗﯾر واﻟــدﻛﺗوراﻩ ‪ ،‬ﻓــﻰ ﻋﻣــل ﺑ ـراﻣﺞ ﻓــﻰ ﻣﺟــﺎل اﻟﻔــرع اﻟــذى ﯾﻌﻣﻠ ـون ﻓﯾــﻪ‪ .‬ﯾﺻــﻠﺢ ﻫــذا‬ ‫اﻟﻛﺗﺎب أﯾﺿﺎً ﻷن ﯾﻛون ﻣرﺟﻌﺎً ﻟﻛل اﻟﻣﺳﺗﺧدﻣﯾن ﻟﻬذا اﻟﺑرﻧﺎﻣﺞ ﻣﺛـل اﻟطﻠﺑـﺔ و اﻟﻣﻬﻧدﺳـﯾن ورﺟـﺎل اﻻﻋﻣـﺎل واﻋﺿـﺎء‬ ‫ﻫﯾﺋﺔ اﻟﺗدرﯾس واﻟذﯾن ﯾﻠﻣـون ﺑﺎﻟﺑرﻧـﺎﻣﺞ ‪ .‬ﻫـذا وﯾﻣﻛـن ﻓـﻰ ﺣﺎﻟـﺔ ﻋـدم اﻻﻟﻣـﺎم ﺑﺎﻟﺑرﻧـﺎﻣﺞ اﻻﺳـﺗﻌﺎﻧﺔ ﺑﺎﻟﻣﺗﺧﺻﺻـﯾن ﻓـﻰ‬ ‫ادﺧﺎل اﻟﺑﯾﺎﻧﺎت واﻟﺣﺻول ﻋﻠﻰ اﻟﻣﺧرﺟﺎت ‪ .‬واﻧﻰ اﻗﺗرح ان ﯾدرس ﻟﻠطﻼب ﻓﻰ اﻟﻣرﺣﻠـﺔ اﻻﻋدادﯾـﺔ و اﻟﺛﺎﻧوﯾـﺔ ﻋﻠـﻰ‬ ‫ان ﯾﻘ ــوم ﻣﺗﺧﺻﺻ ــﯾن ﻓ ــﻰ ﻫـ ـذا اﻟﺑرﻧ ــﺎﻣﺞ‪ ،‬ﺗ ــم ﺗ ــدرﯾﺑﻬم ﻋﻠﯾ ــﻪ ‪ ،‬ﻓ ــﻰ اﺳ ــﺗﺧدام اواﻣ ــر اﻟﺑرﻧ ــﺎﻣﺞ ﻓ ــﻰ ﺣ ــل ﻣﺳ ــﺎﺋل‬ ‫اﻟرﯾﺎﺿﯾﺎت ﻣﺛﻼ ﺑﻌد ﺗﻌﻠﯾﻣﻬم اﻟﺣل ﯾدوﯾﺎ ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻣﺳـﺎﻟﺔ ﻓـﻰ اﻟﻧﻬﺎﯾـﺎت ﯾﻣﻛـن ﺣﻠﻬـﺎ ﻓـﻰ ﺛـوان ﺑﺎﺳـﺗﺧدام‬ ‫‪٤‬‬


‫اﻟﺑرﻧﺎﻣﺞ واﻟﺗﻰ ﺗﺳﺗﻐرق ﻣﻊ اﻟطﺎﻟب اﻟوﻗت اﻟطوﯾل ‪ .‬اﯾﺿﺎ ﺗﻌﻠﯾم اﻟطﺎﻟب اﻻﻣﺗﺣﺎن اﻟﻣﻔﺗـوح وﻟـو ﻣـرة واﺣـدة واﻟـدﺧول‬ ‫ﺑﺎﻟﻛﺗب واﻟﺟﻠوس اﻣﺎم ﺟﻬﺎز اﻟﺣﺎﺳب واﻟﺣـل ﺣﺗـﻰ ﻧـوﻓر ﻟﻠطﺎﻟـب اﻟوﻗـت واﻟﻣﺟﻬـود وﻧﻌﻠﻣـﻪ اﻟﻔﻬـم وﻟـﯾس اﻟﺣﻔـظ وﻫـذا‬ ‫اﻻﺳــﻠوب ﯾطﺑــق ﻓــﻰ اﻟﺧــﺎرج ‪ .‬ﻛﻣــﺎ ﯾﻣﻛــن ﻟﻠطﺎﻟــب اﻟﺗﺎﻛــد ﻣــن ﺣﻠوﻟــﺔ اﻟﺗــﻰ ﯾﺟرﯾﻬــﺎ ﯾــدوﯾﺎ ﻣــﻊ اﻟﺣﻠــول اﻟﺳــﺗﺧرﺟﺔ ﻣــن‬ ‫اﻟﺑرﻧﺎﻣﺞ ‪.‬‬ ‫وﻓﻲ وﺿﻊ ﻫذا اﻟﻛﺗﺎب اﺳﺗﻌﻧت ﺑﻌـدد ﻣـن اﻟﻣ ارﺟـﻊ واﻷﺟﻧﺑﯾـﺔ وﻣرﺟـﻊ واﺣـد ﺑﺎﻟﻠﻐـﺔ اﻟﻌرﺑﯾـﺔ ﻛﻣـﺎ اﺳـﺗﻌﻧت‬ ‫ﺑﺧﺑرﺗﻲ ﻓﻲ ﺗدرﯾس ﻫذا اﻟﻣﻘرر ﻟطﻼب اﻟدراﺳﺎت اﻟﻌﻠﯾﺎ ﻓﻲ ﻣرﺣﻠﺔ اﻟﻣﺎﺟﺳﺗﯾر واﻟدﻛﺗوراﻩ ‪.‬‬ ‫وﯾﻌﺗﺑر ﻫذا اﻟﻛﺗﺎب ﻣن اﻟﻣراﺟﻊ اﻟﺗﻰ ﺗﻌـد ﻋﻠـﻰ اﻻﺻـﺎﺑﻊ ﻓـﻰ اﻟﻌـﺎﻟم اﻟﻌرﺑـﻰ ﻓـﻰ ﻫـذا اﻟﻣﺟـﺎل ﻛﻣـﺎ اﻋﺗﺑـرﻩ ﻻ ﯾﻘـل‬ ‫ﻋـن اﻟﻛﺗــب اﻻﺟﻧﺑﯾــﺔ ﻓـﻰ ﻫــذا اﻟﻣﺟــﺎل وﺳــوف اﺗـرك اﻟﺣﻛــم ﻟﻛــم ‪ .‬وﻟﻘـد اﻟﻔــت ﻣــن ﻗﺑــل ﻛﺗـﺎب ﻓــﻰ اﻟﺑرﻣﺟــﺔ ﺑﺎﺳــﺗﺧدام‬ ‫اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻓﻰ ﻣﺟﺎل اﻻﺳﺗدﻻل اﻻﺣﺻﺎﺋﻰ وﻫو ﻓﻰ ﻣﻧﺗدى اﻻﺣﺻﺎﺋﯾﯾن اﻟﻌرب ﻓـﻰ اﻟﻛﺗـب واﻟﻣ ارﺟـﻊ اﻟﻌرﺑﯾـﺔ وﻟﻣـﺎ‬ ‫ﻛـﺎن ﻫـذا اﻟﻛﺗـﺎب ﯾﺣﺗـﺎج اﻣـﺎ اﻟــﻰ ﻋﺿـو ﻫﯾﺋـﺔ ﺗـدرﯾس ﻟﺷـرﺣﺔ او ان ﯾﻛــون اﻟﻣﺳـﺗﺧدم ﻋﻧـدﻩ ﻣﻌﻠوﻣـﺎت ﻋـن اﻟﺑرﻧــﺎﻣﺞ‬ ‫ﻟذﻟك اﻗدﻣت ﻋﻠﻰ ﺗﺎﻟﯾف ﻫذا اﻟﻛﺗﺎب واﻟذى ﯾﺑدا ﻣن ﻧﻘطـﺔ اﻟﺻـﻔر وﯾﻧﺗﻬـﻰ ﺑﻣﻌرﻓـﺔ اﻟﺑرﻣﺟـﺔ ﻓـﻰ ﻣﺟـﺎﻻت ﻛﺛﯾـرة ﻣﺛـل‬ ‫اﻟرﯾﺎﺿﯾﺎت واﻻﺣﺻﺎء‪ .‬واﻻﻟﻣﺎم ﺑﺎﻟﺑرﻣﺟﺔ ﺑﺎﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﺳﻬل ﺟدا وﯾﺣﺗﺎج اﻟﻰ ﻣﻣﺎرﺳـﺔ واﻟﺗـﻰ ﺗﻌطـﻰ اﻟﻣﺳـﺗﺧدم ﺧﺑـرة‬ ‫ﻓﻰ اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑرﻧﺎﻣﺞ واﻧﺎ ﺗﻌﻠﻣـت ﻫـذﻩ اﻟﻠﻐـﺔ ﺑﻧﻔﺳـﻰ ﺑـﺎﻻطﻼع واﻟﻣﻣﺎرﺳـﺔ وﻋﻠﻣﺗﻬـﺎ ﻟﻛﺛﯾـر ﻣـن اﻟـزﻣﻼء ‪ .‬وﯾﻧﺻـﺢ‬ ‫ﻓﻰ ﺣﺎﻟﺔ ﺣدوث ﻣﺷﺎﻛل ﻓﻰ اﻟﺑرﻧﺎﻣﺞ اﻟﺧروج ﻣﻧﻪ ﺛم اﻟﻌودة ﻣرة اﺧرى ‪.‬‬ ‫ﯾﺣﺗوي ﻫـذا اﻟﻛﺗـﺎب ﻋﻠـﻰ ﺳـﺗﺔ ﻓﺻـول‪ ،‬ﯾﻘـدم اﻟﻔﺻـل اﻷول ﺑـدا اﻟﻌﻣـل ﺑﺑرﻧـﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛـﺎ أﻣـﺎ اﻟﻔﺻـل اﻟﺛـﺎﻧﻲ ﻓﯾﻬـﺗم‬ ‫ﺑﺎﻟﻌﻣﻠﯾــﺎت اﻟرﯾﺎﺿــﯾﺔ ﻋﻠــﻰ اﻻﻋــداد واﻟﺗﻌﺑﯾ ـرات واﻟــدوال ‪ ،‬أﻣــﺎ اﻟﻔﺻــل اﻟﺛﺎﻟــث ﻓﯾﺗطــرق اﻟــﻰ رﺳــوم اﻟــدوال واﻟﺗﻌﺑﯾ ـرات‬ ‫واﻟﻣﻌــﺎدﻻت ‪ ،‬ﺑﯾﻧﻣ ــﺎ ﯾﻬ ــﺗم اﻟﻔﺻ ــل اﻟ ارﺑ ــﻊ ﺑﻣواﺿ ــﯾﻊ ﻓ ــﻰ اﻟﺟﺑ ــر ‪ ،‬وواﺧﯾـ ـ ار ﯾﺗط ــرق اﻟﻔﺻ ــل اﻟﺧ ــﺎﻣس إﻟ ــﻰ اﻟﺗﻔﺎﺿ ــل‬ ‫واﻟﺗﻛﺎﻣل‪.‬‬ ‫وﻗد ﻛﻧت اﻧوى اﺿﺎﻓﺔ ﻓﺻل ﻋن اﺳﺗﺧدام ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻓـﻰ ﻣﺟـﺎل اﻻﺣﺻـﺎء واﻻﺣﺗﻣـﺎﻻت وﻟﻛـن اﺟﻠـت ذﻟـك‬ ‫اﻟﻰ ﻛﺗﺎب ﻗﺎدم ﻣوﺳﻊ ‪ ،‬ان ﺷﺎء اﷲ ‪،‬اﻋﻣل ﻓﯾﻪ ﺣﺎﻟﯾﺎ‪.‬‬ ‫وأﺳﺄل اﷲ أن أﻛون ﻗد وﻓﻘت ﻓﻲ ﻫذا اﻟﻣﺟﻬود اﻟﻣﺗواﺿﻊ ﺧدﻣﺔً ﻟﻘﺿﺎﯾﺎ اﻟﺑﺣث اﻟﻌﻠﻣﻲ ﻓﻲ وطﻧﻧﺎ اﻟﻌرﺑﻲ‪.‬‬ ‫ٕواﻧﻧﻲ أرﺣب ﺑﻛل ﻧﻘد ﺑﻧﺎء ﯾﻬدف إﻟﻰ اﻷﻓﺿل‪ ،‬وﻣﺎ اﻟﻛﻣﺎل إﻻ ﷲ وﺣدﻩ‪.‬‬

‫واﷲ وﻟﻲ اﻟﺗوﻓﯾق‬ ‫د‪ .‬ﺛروت ﻣﺣﻣد ﻋﺑد اﻟﻣﻧﻌم‬

‫‪٥‬‬


‫اﻟﻔﺻـل اﻷول ‪ :‬ﺑدا اﻟﻌﻣل ﺑﺑرﻧﺎﻣﺞ ‪Mathematica‬‬ ‫)‪(١ -١‬‬

‫ﻓﺗﺢ اﻟﺑرﻧﺎﻣﺞ‬

‫)‪(٢ -١‬‬

‫وﺻف ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ‬

‫)‪(٣ -١‬‬

‫ﺗﺷﻐﯾل اﻟﺑرﻧﺎﻣﺞ‬

‫)‪(٤ -١‬‬

‫اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻣن اﻟﺑرﻧﺎﻣﺞ‬

‫)‪(٥ -١‬‬

‫اﻻﺧطﺎء‬

‫)‪(٦ -١‬‬

‫ﺗﺷﻐﯾل اﻟﺣزم اﻟﺟﺎﻫزة اﻟﻣوﺟودة ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‬

‫)‪(٧ -١‬‬

‫اﺳﺗﺧدام اﻻﻣر‪ Help‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ‬ ‫اﻟﻔﺻل اﻟﺛﺎﻧﻰ ‪ :‬اﻟﻌﻣﻠﯾﺎت اﻟﻼرﯾﺎﺿﯾﺔ ﻋﻠﻰ ﻛل ﻣن اﻻﻋداد واﻟﺗﻌﺑﯾرات واﻟدوال‬

‫)‪(١ -٢‬‬

‫اﻟﺣﺳﺎﺑﺎت اﻟﻌددﯾﺔ‬

‫)‪(٢ -٢‬‬

‫اﻟﺛواﺑت اﻟرﯾﺎﺿﯾﺔ‬

‫)‪(٣ -٢‬‬

‫اﻟﻣﺗﻐﯾرات‬

‫)‪(٤ -٢‬‬

‫اﻟدوال اﻟﻣﻌرﻓﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‬

‫)‪(٥ -٢‬‬

‫اﻟﺗﻌﺑﯾرات‬

‫)‪(٦ -٢‬‬

‫ﺗﻌرﯾف وﺗﻘدﯾر اﻟدوال ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم‬

‫)‪(٧-٢‬‬

‫اﻟﻌﻣﻠﯾﺎت اﻟﻌﻼﻗﯾﺔ واﻟﻌﻣﻠﯾﺎت اﻟﻣﻧطﻘﯾﺔ‬ ‫اﻟﻔﺻـل اﻟﺛﺎﻟث ‪ :‬رﺳم اﻟدوال واﻟﺗﻌﺑﯾرات واﻟﻣﻌﺎدﻻت‬

‫‪٦‬‬


‫)‪(١ -٣‬‬

‫رﺳم داﻟﺔ ﻟﻣﺗﻐﯾر واﺣد )ﻓﻰ اﻟﻣﺳﺗوى(‬

‫)‪(٢ -٣‬‬

‫رﺳوم ﻓﻰ اﻟﺑﻌد اﻟﺛﺎﻟث )اﻟﻔراغ(‬

‫)‪(٣ -٣‬‬

‫رﺳم اﻟدوال اﻟﺑﺎراﻣﺗرﯾﺔ‬ ‫اﻟﻔﺻـل اﻟراﺑﻊ ‪ :‬ﻣواﺿﯾﻊ ﻓﻰ اﻟﺟﺑر‬

‫)‪(١ -٤‬‬

‫اﻟﻌﻣﻠﯾﻠت اﻟﺟﺑرﯾﺔ ﻋﻠﻰ اﻟﻣﺗﻐﯾرات‬

‫)‪(٢ -٤‬‬

‫ﻋﻣﻠﯾﺎت اﻟﺟﻣﻊ ﻋﻠﻰ اﻟﺣدود اﻟﻣﻧﺗظﻣﺔ‬

‫)‪(٣ -٤‬‬

‫ﻋﻣﻠﯾﺎت اﻟﺿرب ﻋﻠﻰ اﻟﺣدود اﻟﻣﻧﺗظﻣﺔ‬

‫)‪(٤ -٤‬‬

‫اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ واﻟﺗﻘرﯾﺑﯾﺔ ﻟﻠﻣﻌﺎدﻻت‬

‫)‪(٥-٤‬‬

‫اﻟﻘواﺋم‬

‫)‪(١-٥-٤‬‬

‫ﺗﻌرﯾف اﻟﻘواﺋم‬

‫)‪(٢-٥-٤‬‬

‫اﺑﻌﺎداﻟﻘواﺋم‬

‫)‪(٣-٥-٤‬‬

‫اﻟﻌﻣل ﻣﻊ ﻋﻧﺎﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬

‫)‪(٤-٥-٤‬‬

‫اﻟﻌﻣل ﻣﻊ ﻋدة ﻗواﺋم‬

‫)‪(٥-٥-٤‬‬

‫اﻟدوال ﻋﺎﻟﯾﺔ اﻟرﺗﺑﺔ‬

‫)‪(٦-٥-٤‬‬

‫رﺳم ﻗواﺋم ﻣن ﻧﻘﺎط وﻗواﺋم ﻣن دوال‬

‫)‪(٧-٥-٤‬‬

‫اﺟراء اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻋﻠﻰ ﻗﺎﺋﻣﺗﯾن‬

‫)‪(٨-٥-٤‬‬

‫ﺗطﺑﯾق اﻟدوال ﻋل اﻟﻘواﺋم ﺑﺻور ﻣﺗﻛررةة‬

‫)‪(٩-٥-٤‬‬

‫‪Nested Functions Call‬‬

‫)‪(١٠-٥-٤‬‬

‫‪Anonymous Functions‬‬

‫)‪(١١-٥-٤‬‬

‫ﻗواﻋد اﻟﺗﺣوﯾل‬

‫‪٧‬‬


‫)‪(١٢-٥-٤‬‬

‫اﻟﺣروف وﻣﺗﺗﺎﺑﻌﺔ ﻣن اﻟﺣروف‬

‫)‪(١٣-٥-٤‬‬

‫ﻣﻧظوﻣﺔ اﻻﺟراءات‬

‫)‪(١٤-٥-٤‬‬

‫اﻟدوال ) اﻻواﻣر اﻟﺷرطﯾﺔ (‬

‫)‪(١٥-٥-٤‬‬ ‫)‪(٦-٤‬‬

‫اﻟﺣﻠﻘﺎت اﻟﺗﻛ اررﯾﺔ‬ ‫اﻟﻣﺻﻔوﻓﺎت‬

‫)‪(١-٦-٤‬‬

‫ﻣﻘدﻣﺔ‬

‫)‪(٢-٦-٤‬‬

‫اﺳﺗﺧﻼص ﻋﻧﺎﺻر ﻣن اﻟﻣﺻﻔوﻓﺎت‬

‫)‪(٣-٦-٤‬‬

‫اﻟﺣﺳﺎﺑﺎت اﻻوﻟﯾﺔ ﻋﻠﻰ اﻟﻣﺻﻔوﻓﺎت واﻟﻣﺗﺟﻬﺎت‬

‫)‪(٤-٦-٤‬‬

‫اﻟﻌﻼﻗﺎت اﻟﻣﺗﻛررة‬

‫)‪(٥-٦-٤‬‬

‫ﺣﺳﺎب اﻟﺣﻠول ﻻﻧظﻣﺔ ﺧطﯾﺔ ﻣن اﻟﻣﻌﺎدﻻت‬

‫)‪(٦-٦-٤‬‬

‫اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة‬ ‫اﻟﻔﺻـل اﻟﺧﺎﻣس ‪ :‬اﻟﺗﻔﺎﺿل واﻟﺗﻛﺎﻣل‬

‫)‪(١-٥‬‬

‫ﺣﺳﺎب اﻟﻧﻬﺎﯾﺎت‬

‫)‪(٢-٥‬‬

‫اﻟﺗﻔﺎﺿل‬

‫)‪(٣-٥‬‬

‫اﻟﺗﻛﺎﻣل‬

‫)‪(٤-٥‬‬

‫اﻟﻣﺗﺳﻠﺳﻼت‬

‫‪٨‬‬


‫اﻟﻔﺻل اﻻول‬ ‫ﺑدا اﻟﻌﻣل ﺑﺑرﻧﺎﻣﺞ ‪Mathematica‬‬

‫‪٩‬‬


‫)‪ (١-١‬ﻓﺗﺢ اﻟﺑرﻧﺎﻣﺞ‬

‫ﺑﻌد ﺗﺣﻣﯾل اﻟﺑرﻧﺎﻣﺞ واذا ﻛﺎن ﺑرﻧﺎﻣﺞ اﻟﻧواﻓذ ﻫو اﻟﻣﺳﺗﺧدم ﻓﺳوف ﺗظﻬر اﻻﯾﻘوﻧﺔ‬ ‫ﺑﺑرﻧﺎﻣﺞ ﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ اﻻﺻدار‪Mathematica 5‬‬

‫اﻟﺧﺎﺻﺔ‬

‫اذا ﻛﺎن ﻗد ﺗم وﺿﻌﻬﺎ ﺑواﺳطﺔ اﻟﻣﺳﺗﺧدم واﻟﻣﺷﺎر‬

‫اﻟﯾﻬﺎ ﺑﺎﻟﺳﻬم ﻋﻠﻰ ﺳطﺢ اﻟﻣﻛﺗب )ﻧﺎﻓذة ادارة اﻟﺑراﻣﺞ ‪ (Program Manager‬ﻛﻣﺎ ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ ﻫذﻩ اﻻﯾﻘوﻧﺔ وﺑﻌد ﻟﺣظﺎت ﺗظﻬر ﻧﺎﻓذة ادﺧﺎل اﻟﺑﯾﺎﻧﺎت او ﻧﺎﻓذة اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ‬ ‫‪ Mathematica Window‬اﻟﺗﺎﻟﯾﺔ واﻟﺗﻰ ﺳوف ﻧطﻠق ﻋﻠﯾﻬﺎ ﻓﯾﻣﺎ ﺑﻌد ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻟﻠﺗﺳﻬﯾل‪:‬‬

‫او ﯾﻣﻛن ﻓﺗﺢ اﻟﺑرﻧﺎﻣﺞ وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﯾﻘوﻧﺔ ‪start‬‬ ‫اﺳﻔل اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ﺟﻬﺔ اﻟﯾﺳﺎر ‪:‬‬

‫‪١٠‬‬

‫واﻟﻣﺷﺎر اﻟﯾﻬﺎ ﺑﺎﻟﺳﻬم واﻟﻣوﺟود‬


‫ﺣﯾث ﺗظﻬر اﻟﻘﺎﺋﻣﺔ ‪ All Programs‬اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪١١‬‬


‫وﺑﺗﺣرﯾك ﻣؤﺷر اﻟﻔﺎرة اﻟﻰ اﯾﻘوﻧﺔ ﺑرﻧﺎﻣﺞ ﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ‬

‫اﻟﻣﺷﺎر ﻋﻠﯾﻬﺎ ﺑﺎﻟﺳﻬم ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ‬ ‫واﻟﺿﻐط ﻋﻠﯾﻬﺎ ﯾﺑدا ﺗﺣﻣﯾل اﻟﺑرﻧﺎﻣﺞ و ﺗظﻬر ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ اﻟﺳﺎﺑق ذﻛرﻫﺎ اى اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ‪:‬‬

‫)‪ (٢-١‬وﺻف ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ‬ ‫ﺗﻧﻘﺳم ﻧﺎﻓذة ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ اﻟﻰ ﺛﻼﺛﺔ اﺟزاء ‪ .‬اﻟﺟزء اﻟﻌﻠوى واﻟﺟزء اﻟﺳﻔﻠﻰ واﻟﺟزء اﻻوﺳط ‪ .‬اﻟﺟزء‬ ‫اﻟﺳﻔﻠﻰ ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻋﺑﺎرة ﻋن ﺷرﯾط رﻣﺎدى اﻟﻠون ﯾﺳﻣﻰ ﺷرﯾط اﻟﺗﺻﻔﺢ او ﺷرﯾط اﻟﺗﻣرﯾر وﻋن طرﯾق‬ ‫اﻟﻣؤﺷر اﻟﻣوﺟود ﺑﻪ ﯾﻣﻛن رؤﯾﺔ اﻟﻣزﯾد ﻣن اﻟﻣﻌﻠوﻣﺎت ﯾﻣﯾﻧﺎ وﯾﺳﺎ ار ‪ .‬اﻟﻣﺳﺎﺣﺔ اﻟﺑﯾﺿﺎء ﺑﯾن اﻟﺟزء اﻟﻌﻠوى‬ ‫واﻟﺳﻔﻠﻰ ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻧﺞ ﺗﻣﺛل ﻣﻧطﻘﺔ ﻋﻣل وﯾﺗم ﻓﯾﻬﺎ ﻛﺗﺎﺑﺔ اﻻواﻣر او اﻟﻌﻣﻠﯾﺎت اﻟﻣطﻠوب ﺗﻧﻔﯾذﻫﺎ ‪ .‬اﻟﺟزء‬ ‫اﻟﻌﻠوى ﯾﺗﻛون ﻣن ﺻﻔﯾن ﻣوﺿﺣﯾن ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫ﺣﯾث اﻟﺻف اﻟﻌﻠوى ﻫو ﺷرﯾط اﻟﻌﻧوان وﯾﺣﺗوى ﻋﻠﻰ اﻻﺗﻰ ‪ :‬ﻓﻰ اﻟرﻛن اﻻﯾﻣن ﻣن اﻟﺷرﯾط ﯾوﺟد ﺛﻼث‬ ‫ﻣرﺑﻌﺎت ﺻﻐﯾرة ‪ .‬اﻟﻣرﺑﻊ اﻻول ﻧﺎﺣﯾﺔ اﻟﯾﺳﺎر ﯾﺳﺗﺧدم ﻟﺗﺻﻐﯾر اﻟﻧﺎﻓذة ‪ Minimize‬وذﻟك ﺑﺗﺣرﯾك ﻣؤﺷر‬

‫‪١٢‬‬


‫اﻟﻔﺎرة ﻧﺣوﻩ واﻟﺿﻐط ﻋﻠﯾﻪ اﻣﺎ اﻟﻣرﺑﻊ اﻟذى ﯾﻠﯾﻪ ﻣن ﻧﺎﺣﯾﺔ اﻟﯾﻣﯾن ﻓﻬو ﻟﺗﻛﺑﯾر ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪Maximize‬‬ ‫واﻟﻣرﺑﻊ اﻻﺧﯾر ﻧﺎﺣﯾﺔ اﻟﯾﻣﯾن ﻓﻬو ﻟﻐﻠق اﻟﻧﺎﻓذة ‪ .Close‬وﻓﻰ اﻟرﻛن اﻻﯾﺳر ﻣن اﻟﺷرﯾط ﯾوﺟد ﻋﻧوان اﻟﺑرﻧﺎﻣﺞ‬ ‫)‪ Mathematica( 5‬واﺳم اﻟﻣﻠف اﻟذى ﯾﺗم اﻟﺗﻌﺎﻣل ﻣﻌﻪ واﻟﺑرﻧﺎﻣﺞ ﯾﻘوم ﺑﺎﻋطﺎء اﻻﺳم ]‪ Untitle [1‬ﻟﻠﻣﻠف‬ ‫ﻋﻧد ﺑداﯾﺔ اﻟﺗﺷﻐﯾل وﯾﻣﻛن ﻟﻠﻣﺳﺗﺧدم ﺣﻔظ اﻟﻣﻠف ﺑﻌد ذﻟك ﺑﺎﻻﺳم اﻟذى ﯾرﯾدﻩ ‪.‬‬ ‫اﻟﺻف اﻟﺳﻔﻠﻰ ﯾﻣﺛل اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ‪ Bar Menu‬ﻟﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ وﺑﻬﺎ ﻣﺟﻣوﻋﺔ ﻣن اﻻواﻣر اﻟﻣوﺿﺣﺔ ﻓﻰ‬ ‫اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫وﺑﺗﺣرﯾك اﻟﻣؤﺷر ﻧﺣو اﻻﻣر اﻟﻣطﻠوب ﺛم اﻟﺿﻐط ﻋﻠﻰ زر اﻟﻣﺎوس اﻻﯾﺳر ﻓﺈﻧﻪ ﯾﺧرج ﻣن ﻫذا اﻻﻣر ﻗﺎﺋﻣﺔ‬ ‫ﻣﺳﺣوﺑﺔ ﺗﺳﻣﻰ اﻟﻘﺎﺋﻣﺔ اﻟﻌﻣودﯾﺔ وﺑﻬﺎ ﻣﺟﻣوﻋﺔ ﻣن اﻻواﻣر اﻟﺗﻰ ﺗﺳﻬل اﻟﻌﻣل داﺧل اﻟﺑرﻧﺎﻣﺞ ‪ .‬ﻓﻣﺛﻼ‬ ‫ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Help‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﯾﻣﻛن اﻟﺗﻌرف ﻋﻠﻰ ﺷرح واﻓﻰ ﻟﻣﺣﺗوﯾﺎت اﻟﺑرﻧﺎﻣﺞ ‪.‬‬ ‫اﯾﺿﺎ ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ File‬اﻟﻣوﺟود ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﻌﻣودﯾﺔ اﻟﺗﺎﻟﯾﺔ وﺑﻬﺎ‬ ‫ﻣﺟﻣوﻋﺔ ﻣن اﻻواﻣر اﻟﻔرﻋﯾﺔ‪:‬‬

‫‪١٣‬‬


‫ﻓﻣﺛﻼ اﻟﻘﺎﺋﻣﺔ اﻟﺧﺎﺻﺔ ﺑﺎﻻﻣر ‪ File‬ﺗﺣﺗوى ﻋﻠﻰ اﻻواﻣر اﻟﻔرﻋﯾﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫‪-‬‬

‫‪ New‬واﻟذى ﯾﻘوم ﺑﻌﻣل ﻣﻠف ﺟدﯾد داﺧل اﻟﺑرﻧﺎﻣﺞ‪.‬‬

‫‪-‬‬

‫‪ Open‬واﻟذى ﯾﻘوم ﺑﻔﺗﺢ ﻣﻠف ﺳﺑق ﺗﺧزﯾﻧﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫‪-‬‬

‫‪ Close‬واﻟذى ﯾﻘوم ﺑﺎﻏﻼق ﻣﻠف ﻣﻔﺗوح ‪.‬‬

‫‪-‬‬

‫‪ Print‬واﻟذى ﯾﻘوم ﺑﺎرﺳﺎل اﻟﻣﻠف اﻟﻰ ﺟﻬﺎز اﻟطﺑﺎﻋﺔ ‪.‬‬

‫وﻓﻰ ﻧﻬﺎﯾﺔ اﻟﻘﺎﺋﻣﺔ اﻟﻌﻣودﯾﺔ اﻟﺧﺎﺻﺔ ﺑﺎﻻﻣر ‪ File‬ﺗظﻬر اﺳﻣﺎء اﺧر ﻣﻠﻔﺎت ﺗم اﻟﺗﻌﺎﻣل ﻣﻌﻬﺎ ﺣﯾث ﯾﺗم ﻓﺗﺣﻬﺎ‬ ‫ﺑﻣﺟرد اﻟﺿﻐط ﻋﻠﻰ اﺳم اﻟﻣﻠف اﻟﻣطﻠوب ‪ .‬وﻋﻧد اﻟﺗﻌﺎﻣل ﻣﻊ ﺑﻌض اﻻواﻣر ﺑﺎﻟﻘواﺋم اﻟﻌﻣودﯾﺔ ﺗظﻬر ﺻﻧﺎدﯾق‬ ‫ﺣوارﯾﺔ ﯾطﻠق ﻋﻠﯾﻬﺎ ‪ ، Dialog Box‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻋﻧد اﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Open‬ﯾظﻬر اﻟﺻﻧدوق‬ ‫اﻟﺗﺎﻟﻰ ‪:‬‬

‫وﯾﻣﻛن اﺧﺗﯾﺎر اﻟﻣﻠف اﻟﻣﺣﻔوظ واﻟﻣراد اﻟﺗﻌﺎﻣل ﻣﻌﻪ وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟدﻟﯾل اﻟﻣوﺟود ﻓﻰ اﻟﺟﺎﻧب‬ ‫اﻻﯾﺳر ﻣن اﻟﺻﻧدوق واﻟﻣوﺟود ﺑﻪ اﻟﻣﻠف ﺣﯾث ﺗظﻬر ﻣﻠﻔﺎت اﻟدﻟﯾل ﻓﻰ اﻟﺟﺎﻧب اﻻﯾﻣن ﻣن اﻟﺻﻧدوق‬

‫‪١٤‬‬


‫وﯾﻣﻛن ﺗﺣدﯾد )اﺧﺗﯾﺎر( اﻟﻣﻠف اﻟﻣطﻠوب وذﻟك ﺑوﺿﻊ اﻟﻣﺎوس ﻋﻠﯾﻪ ﻛﻣﺎ ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ﺣﯾث اﺳم اﻟدﻟﯾل‬ ‫‪ D‬واﺳم اﻟﻣﻠف ‪: kkkkk‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر‬

‫ﻓﻰ اﻟﺻﻧدوق اﻟﺣوارى ﯾﺗم ﻓﺗﺢ اﻟﻣﻠف ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪ .‬وﻋﻧد‬

‫اﻟرﻏﺑﺔ ﻓﻰ اﻟﻌودة اﻟﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺑدون ﻓﺗﺢ ﻣﻠف ﯾﺗم اﻟﺿﻐط ﻋﻠﻰ اﻻﻣر‬

‫‪.‬‬

‫وﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ اﻧﺷﺎء ﻣﻠف ﺟدﯾد ﺳواء ﻗﺑل اﻟﻌﻣل ﻋﻠﯾﻪ او ﺑﻌد اﻟﻌﻣل ﻋﻠﯾﻪ ﯾﺧﺗﺎر ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ اﻣر‬ ‫‪ File‬ﺛم ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻻﻣر ‪ Save‬ﻓﯾظﻬر اﻟﺻﻧدوق اﻟﺣوارى اﻟﺗﺎﻟﻰ وﯾﻛﺗب اﺳم اﻟﻣﻠف ﻓﻰ ﺧﺎﻧﺔ‬

‫‪١٥‬‬


‫‪ File Name‬وﻫو ﻫﻧﺎ ‪ ss1‬اﻟﻣﺣﻔوظ ﻓﻰ اﻟدﻟﯾل ‪ D‬وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر‬ ‫اﻟﺣوارى ﯾﺗم ﺣﻔظ اﻟﻣﻠف واﻟرﺟوع اﻟﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫)‪ (٣-١‬ﺗﺷﻐﯾل اﻟﺑرﻧﺎﻣﺞ‬

‫‪١٦‬‬

‫ﻓﻰ اﻟﺻﻧدوق‬


‫ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ وﻟﺗﻧﻔﯾذ ﻋدد ﻣن اﻻواﻣر )او اﻣر واﺣد ( وﻓﻰ اﻟﺟزء اﻻوﺳط ﻣن اﻟﺷﺎﺷﺔ ﯾﺗم ﻛﺗﺎﺑﺔ‬ ‫اﻻواﻣر اﻟﻣطﻠوب ﺗﻧﻔﯾذﻫﺎ ﺑﻧﻔس اﻟطرﯾﻘﺔ اﻟﺗﻰ ﯾﻛﺗب ﺑﻬﺎ ﻓﻰ ﺑرﻧﺎﻣﺞ ﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت ‪Word Processing‬‬ ‫ﺣﯾث ﯾﺗم اﻟﻧﻘر اﻟﻣﺎوس وﻛﺗﺎﺑﺔ اﻻﻣر اﻻول ﻓﻰ اﻋﻠﻰ اﻟﺟزء ﻣن اﻟﻧﺎﻓذة‪ .‬ﻓﻣﺛﻼ ﺑﻔرض اﺟراء ﻋﻣﻠﯾﺔ ﺑﺳﯾطﺔ‬ ‫ﻣﺛل ‪ 10*5‬ﯾﻛﺗب ﻫذا اﻻﻣر ﻛﻣﺎ ﻫو ﻣوﺿﺢ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر‪ ) Kernal‬واﻟذى ﯾﻌﺗﺑر ﻋﻘل او ﻣﺦ اﻟﺑرﻧﺎﻣﺞ ( واﻟﻣﺷﺎر ﻟﻪ ﺑﺎﻟﺳﻬم ﻛﻣﺎ ﻫو ﻣوﺿﺢ‬ ‫ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪١٧‬‬


‫ﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ﺣﯾث ﯾﺧﺗﺎر ﻣﻧﻬﺎ اﻻﻣر ‪: Evalution‬‬

‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ واﻟﺗﻰ ﯾﺧﺗﺎر ﻣﻧﻬﺎ اﻻﻣر ‪: Evalute Notebook‬‬

‫‪١٨‬‬


‫ﻓﺗظﻬر ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫رﻗم اﻻﻣر اﻻول ﯾﻣﺛل ﺑﺎﻟﻌﻼﻣﺔ =‪ In[1]:‬وﯾظﻬر ﻓﻰ اﻟﺟﺎﻧب اﻻﯾﺳر ﻣن اﻟﺷﺎﺷﺔ ﻋﻠﻰ ﯾﺳﺎر اﻻﻣر‬ ‫وﯾﺳﻣﻰ اﻟﻣﺣث ‪ Promp‬وﺑﺻورة ﻋﺎﻣﺔ =‪ In[n]:‬ﯾﻣﺛل اﻟﻣدﺧل رﻗم ‪ .n‬وﻓﻰ اﻟﺳطر اﻟﺛﺎﻧﻰ ﺗظﻬر ﻋﻼﻣﺔ‬ ‫اﻟﻣﺧرج اﻻول =‪ Out [1]:‬ﺣﯾث ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑطﺑﺎﻋﺔ اﻟﻧﺎﺗﺞ ﺑﺟﺎﻧب ﻋﻼﻣﺔ اﻟﻣﺧرج=‪ . Out [1]:‬وﻓﻰ‬ ‫ﺣﺎﻟﺔ وﺟود اﻛﺛر ﻣن اﻣر وﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ ﺗﻧﻔﯾذ ﺑﻌض اﻻواﻣر وﻟﯾس ﻛل اﻻواﻣر ﯾﺧﺗﺎر اﻻواﻣر اﻟﻣطﻠوب‬ ‫ﺗﻧﻔﯾذﻫﺎ وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻗواس اﻟﻣوﺟودة ﻓﻰ ﻧﻬﺎﯾﺔ اﻟﺟﺎﻧب اﻻﯾﺳر ﻣن ﺗﻠك اﻻوﻣر ﺣﯾث ﯾﺗم ﺗﺣدﯾد‬ ‫اوﺗظﻠﯾل ﻫذﻩ اﻻﻗواس ﻛﻣﺎ ﻧﺷﺎﻫد ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ﺑﺎﻟﻧﺳﺑﺔ ﻟﻼﻣر اﻻول ‪:‬‬

‫‪١٩‬‬


‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Kernal‬ﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫واﻟﺗﻰ ﯾﺧﺗﺎر ﻣﻧﻬﺎ اﻻﻣر ‪ Evaluate‬وﺑﺎﻟﺿﻐط ﻋﻠﻰ ﻫذا اﻻﻣر ﺗظﻬر ﻟﻧﺎ اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺗﺎﻟﯾﺔ ﯾﺧﺗﺎر‬ ‫ﻣﻧﻬﺎ اﻻﻣر ‪ Evaluate Cell‬ﺑدﻻ ﻣن اﻻﻣر ‪ Evaluate Notebook‬ﻛﻣﺎ ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪٢٠‬‬


‫وﺑﺎﻟﺿﻐط ﻋﻠﯾﻬﺎ ﻧرﺟﻊ اﻟﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯨﺔ ﻛﻣﺎ ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫وﯾﻼﺣظ ان ﺷﻛل اﻟﻘوس اﻟﻣوﺟود ﻓﻰ ﻧﻬﺎﯾﺔ اﻟﺟﺎﻧب اﻻﯾﺳر ﻣن اﻣر اﻻدﺧﺎل ﯾﺧﺗﻠف ﻋن ﺷﻛل اﻟﻘوس‬ ‫اﻟﻣوﺟود ﻟﻠﻣﺧرج ‪.‬‬ ‫‪٢١‬‬


‫وﻟﺗﺣوﯾل ﻣﺧرج اﻟﻰ ﻣدﺧل ﻟﻠﺗﻌﺎﻣل ﻣﻌﻪ ﯾﺿﻐط ﺑﺎﻟﻣﺎوس ﺗﺣﺗﻪ ﺛم ﯾﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Input‬ﻣن اﻟﻘﺎﺋﻣﺔ‬ ‫اﻟرﺋﯾﺳﯾﺔ ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ . Copy Input from Above‬وﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﯾﻣﻛن ﻛﺗﺎﺑﺔ‬ ‫اﻛﺛر ﻣن ﻋﻣﻠﯾﺔ رﯾﺎﺿﯾﺔ ﻋﻠﻰ ﺳطر واﺣد ﺑﺟﻣﻠﺔ ادﺧﺎل واﺣدة ﺑﺷرط ان ﯾﻔﺻل ﻛل ﻋﻣﻠﯾﺔ ﻋن اﻻﺧرى‬ ‫ﺑﺎﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ ; وﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻓﺎن ﻧﺎﺗﺞ اﻟﺗﻧﻔﯾذ ﯾﻌطﻰ ﻧﺎﺗﺞ اﺧر ﻋﻣﻠﯾﺔ ﺗم ادﺧﺎﻟﻬﺎ ﻓﻰ اﻟﺳطر اﻣﺎ اذا‬ ‫اﻧﺗﻬﻰ ﺳطر اﻻدﺧﺎل ﺑﺎﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ ﻓﻬذا ﯾﻌﻧﻰ رﻏﺑﺔ اﻟﻣﺳﺗﺧدم ﻓﻰ ﻋدم ظﻬور اﻟﻧﺎﺗﺞ وﺧﺻوﺻﺎ اذا ﻛﺎن‬ ‫ﺣﺟﻣﻪ ﻛﺑﯾر وﯾﻔﺿل اﻟﻣﺳﺗﺧدم ﻓﻰ ﺗﺻﻐﯾر ﺣﺟم اﻟﺑرﻧﺎﻣﺞ اﻟﻰ اﻗل ﺣﺟم ﻣﻣﻛن ﺣﺗﻰ ﯾﺳﻬل ﻣراﺟﻌﺗﻪ ﻋﻧد‬ ‫وﺟود اﺧطﺎء ﻓﯾﻪ ‪.‬‬ ‫وﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ ﻣﺳﺢ اﻣر او ﺣرف ﻓﺎﻧﻪ ﯾﻣﻛن اﻟذﻫﺎب اﻟﯾﻪ وﺗظﻠﯾﻠﻪ ﺑﺎﻟﻣﺎوس واﻟﺿﻐط ﻋﻠﻰ ‪ Del‬ﻣن ﻟوﺣﺔ‬ ‫اﻟﻣﻔﺎﺗﯾﺢ‬ ‫وﻋﻧدﻣﺎ ﻧرﯾد اﺧذ ﻧﺳﺧﺔ ﻣن اﻣر ﺗم ﻛﺗﺎﺑﺗﻪ ﻣن ﻗﺑل ﻓﺎﻧﻪ ﯾﻣﻛن اﻟذﻫﺎب اﻟﯾﻪ وﺗظﻠﯾﻠﻪ ﺑﺎﻟﻣﺎوس ﺛم اﻟذﻫﺎب اﻟﻰ‬ ‫اﻻﻣر ‪ Edit‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﺛم اﻟﺿﻐط ﻋﻠﻰ اﻣر ‪ Copy‬ﻟﻌﻣل ﻧﺳﺧﺔ ﻣﻧﻪ وﺑﻌد ذﻟك ﻧذﻫب ﺑﺎﻟﻣوﺷر‬ ‫اﻟﻰ اﻟﻣﻛﺎن اﻟﻣطﻠوب ﻟﺻق اﻟﻧﺳﺧﺔ ﻓﯾﻪ ﺛم اﻟﺿﻐط ﻋﻠﻰ اﻣر ‪ Edit‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﺛم اﻟﺿﻐط ﻋﻠﻰ‬ ‫اﻣر ‪ Past‬ﻟﻌﻣل ﻧﺳﺧﺔ ﻣﻧﻪ‪.‬‬ ‫وﻟﻣﺎ ﻛﺎن اﻟﺑرﻧﺎﻣﺞ ﯾرﻗم ﻟﻧﺎ ﻛل ﻣن ﻣدﺧﻼﺗﻪ وﻣﺧرﺟﺎﺗﻪ ﺗرﻗﯾم ﺗﺻﺎﻋدى وﻋﻠﻰ ذﻟك اذا ﻛﺎن اﻟﻣطﻠوب اﺟراء‬ ‫ﻋﻣﻠﯾﺔ ﻋﻠﻰ ﻧﺎﺗﺞ اﺧرﺟﻪ اﻟﺑرﻧﺎﻣﺞ ﻗﺑل اﻟﻌﻣﻠﯾﺔ اﻟﺣﺎﻟﯾﺔ ﺑﻌدد ﻛﺑﯾر ﻣن اﻟﻌﻣﻠﯾﺎت وﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﺗوﺿﻊ ﻋﻼﻣﺔ‬ ‫اﻟﻧﺳﺑﺔ اﻟﻣﺋوﯾﺔ ‪ %‬ﯾﻠﯾﻬﺎ رﻗم ذﻟك اﻟﻧﺎﺗﺞ ﺣﺳب اﻟﺗرﻗﯾم اﻟﻣﻌطﻰ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ‪ .‬واذا ﻛﺎن اﻟﻧﺎﺗﺞ ﯾﺳﺑق اﻟﻌﻣﻠﯾﺔ‬ ‫اﻟﻣطﻠوب ﺗﻧﻔﯾذﻫﺎ ﺑﻌﻣﻠﯾﺗﯾن ﻓﺎﻧﻧﺎ ﻧﺷﯾﯨر اﻟﻰ اﻟﻧﺎﺗﺞ ﺑﻌﻼﻣﺗﻰ ﻧﺳﺑﺔ ﻣﺋوﯾﺔ ‪ .%%‬واذا ﻛﺎن اﻟﻧﺎﺗﺞ ﯾﺳﺑق اﻟﻌﻣﻠﯾﺔ‬ ‫اﻟﻣطﻠوب ﺗﻧﻔﯾذﻫﺎ ﻣﺑﺎﺷرة ﻓﺎﻧﻧﺎ ﻧﺷﯾر اﻟﻰ اﻟﻧﺎﺗﺞ ﺑﻌﻼﻣﺔ ﻧﺳﺑﺔ ﻣﺋوﯾﺔ‪.%‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻧﻧﺎ ادﺧﻠﻧﺎ اﻟﻰ اﻟﺑرﻧﺎﻣﺞ ﻋﻣﻠﯾﺔ ﻣﺛل ‪ 10*3‬ﻓﺎن اﻟﻧﺎﺗﺞ ﯾﻛون ‪ 30‬واذا اردﻧﺎ اﺟراء ﻋﻣﻠﯾﺔ ﻋﻠﻰ ﻫذا‬ ‫اﻟﻧﺎﺗﺞ ﻣﺛل طرح ‪ 9‬ﻣﻧﻪ ﻓﺎﻧﻧﺎ ﻧﺷﯾر اﻟﻰ ﻫذا اﻟﻧﺎﺗﺞ ﺑﻌﻼﻣﺔ اﻟﻧﺳﺑﺔ اﻟﻣﺋوﯾﺔ وﺑﺎﻟﺗﺎﻟﻰ ﺑدﻻ ﻣن ﻛﺗﺎﺑﺔ ‪30-9‬‬ ‫ﻧﻛﺗب ‪ %-9‬ﻓﯾﺧرج ﻟﻧﺎ اﻟﻧﺎﺗﺞ ‪ . 21‬واذا اردﻧﺎ اﺟراء ﻋﻣﻠﯾﺔ اﺧرى ﻋﻠﻰ ﻧﻔس اﻟﻧﺎﺗﺞ اﻻول ‪ 30‬ﻣﺛل اﺿﺎﻓﺔ ‪5‬‬ ‫ﻟﻪ ﻓﺎﻧﻧﺎ ﻧﺷﯾر اﻟﻰ اﻟﻧﺎﺗﺞ ‪ 30‬ﺑﻌﻼﻣﺗﻰ ﻧﺳﺑﺔ ﻣﺋوﯾﺔ ‪ %%‬ﻻن اﻟﻧﺎﺗﺞ ‪ 30‬ﯾﺳﺑق ﻫذﻩ اﻟﻌﻣﻠﯾﺔ ﺑﻌﻣﻠﯾﺗﯾن وﺑذﻟك‬ ‫ﻧﻛﺗب اﻻﻣر ﻛﺎﻟﺗﺎﻟﻰ ‪ %%+5‬ﻓﯾﺧرج ﻟﻧﺎ اﻟﻧﺎﺗﺞ ‪ . 35‬اواﻣر اﻻدﺧﺎل ﻣوﺿﺣﺔ ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪٢٢‬‬


‫وﯾﻣﻛن ادﺧﺎل اﻟﻣﻌﺎدﻻت او اﻟدوال اﻟرﯾﺎﺿﯾﺔ ﻓﻰ ﺻورة ادﺧﺎل ‪ Inpur Form‬او ﻓﻰ ﺻورة ﻗﯾﺎﺳﯾﺔ‬ ‫‪ ، StandardForm‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻛل ﻣن‬

‫ﺗﻣﺛل ﺻﯾﻐﺔ اﻻدﺧﺎل و ‪‬‬

‫‪‬‬

‫و‪ Pi‬ﯾﻣﺛﻠون اﻟﺛﺎﺑت اﻟرﯾﺎﺿﻰ ‪ 3.14159‬ﺣﯾث ‪Pi‬‬

‫ﺗﻣﺛل اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ‪.‬‬

‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟرﻣز‬

‫‪‬‬

‫وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ File‬اﻟﻣوﺟود ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻣن ﻧﺎﻓذة‬

‫اﻟﺑرﻧﺎﻣﺞ ﺛم ﻧﺧﺗﺎر ﻣن ﻗﺎﺋﻣﺔ ‪ File‬اﻟﺗﺎﻟﯾﺔ اﻻﻣر ‪:Palette‬‬

‫‪٢٣‬‬


‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺗﺎﻟﯾﺔ وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪:BasicInput‬‬

‫ﯾﺗم اﻟﺣﺻول ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ واﻟﺗﻰ ﺗظل ﻣوﺿوﻋﺔ ﻋﻠﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ طول اﻟﺗﺷﻐﯾل واﻟﺗﻰ ﺗﻣد اﻟﻣﺳﺗﺧدم‬ ‫ﺑﻛﺛﯾر ﻣن اﻟرﻣوز اﻟﻣﻔﯾدة‬

‫واﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻣﺛل اﻟﻘﺳﻣﺔ واﯾﺟﺎد اﻟﺟذر واﻟرﻣز ‪‬‬

‫ﻣوﺿﺢ ﺑﺎﻟﺳﻬم ‪.‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اى رﻣز ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ ﻓﻧﺣﺻل ﻋﻠﯾﻪ ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻓﻰ اﻟﻣﻛﺎن اﻟﻣﺣدد ﺳﺎﺑﻘﺎ‪ ،‬وﻓﯾﻣﺎ‬ ‫ﯾﻠﻰ اﻣﺛﻠﺔ ﻋﻠﻰ ذﻟك ﺗم ﺗﻧﻔﯾذﻫﺎ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‪:‬‬ ‫]‪N[Pi‬‬

‫‪3.14159‬‬ ‫ﺣﯾث ]‪ N[Pi‬ﺗﻌﻧﻰ ﺗﻘرﯾب ﻟﻠﺛﺎﺑت ‪. ‬‬ ‫‪٢٤‬‬


‫] ‪N[ ‬‬

‫‪3.14159‬‬ ‫ﺣﯾث] ‪ N[ ‬ﺗﻌﻧﻰ ﺗﻘرﯾب ﻟﻠﺛﺎﺑت ‪. ‬‬ ‫ان ﺗرﺑﯾﻊ اﻟرﻗم ﻋﺷرة ﯾﻣﻛن ان ﯾﺗم ﺑﺛﻼث طرق ﻓﻔﻰ اﻟطرﯾﻘﺔ اﻻوﻟﻰ ﯾﻛﺗب ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﯾﺳﯾﺔ ﺑﺎﺳﺗﺧدام‬ ‫اﻟرﻣز‬

‫ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺳﺎﺑﻘﺔ وذﻟك ﻟﻛﺗﺎﺑﺔ اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪102‬‬ ‫‪100‬‬ ‫اﻟطرﯾﻘﺔ اﻟﺛﺎﻧﯾﺔ ﻓﺗﺗم ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬ ‫‪10*10‬‬ ‫‪100‬‬

‫اﻟطرﯾﻘﺔ اﻟﺛﺎﻟﺛﺔ ﺗﺗم ﺑﺷﻛل اﺧر ﻟﺻﯾﻐﺔ اﻻدﺧﺎل ‪:‬‬ ‫‪10^2‬‬ ‫‪100‬‬

‫ﻛﻣﺎ ان ﻗﺳﻣﺔ ﺛﻼﺛﺔ ﻋﻠﻰ ﺧﻣﺳﺔ ﯾﻣﻛن ان ﺗﺗم ﺑطرﯾﻘﺗﯾن ﻓﻔﻰ اﻟطرﯾﻘﺔ اﻻوﻟﻰ ﯾﻛﺗب ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﯾﺳﯾﺔ‬ ‫ﺑﺎﺳﺗﺧدام اﻟرﻣز‬

‫ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺳﺎﺑﻘﺔ وذﻟك ﻟﻛﺗﺎﺑﺔ اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪3‬‬ ‫‪5‬‬ ‫‪3‬‬ ‫‪5‬‬

‫او ﺑﺎﺳﺗﺧدام ﺻﯾﻐﺔ اﻻدﺧﺎل ‪:‬‬

‫‪3/5‬‬

‫‪3‬‬ ‫‪5‬‬

‫ﺟذر ﻋﺷرة ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻪ ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫]‪Sqrt[10‬‬ ‫‪‬‬

‫‪10‬‬

‫او ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻪ ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﺑﺎﺳﺗﺧدام اﻟرﻣز‬

‫ﻣن اﻟﻘﺎﺋﻣﺔ ااﻟﺳﺎﺑﻘﺔ وذﻟك ﻟﻛﺗﺎﺑﺔ اﻟﺗﺎﻟﻰ‬

‫‪‬‬

‫‪10‬‬

‫‪‬‬

‫‪10‬‬

‫‪٢٥‬‬


‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ ‪ y‬ﻣن ﺻﻔر اﻟﻰ واﺣد ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻪ ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﺑﺎﺳﺗﺧدام اﻟرﻣز‬ ‫ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺳﺎﺑﻘﺔ وذﻟك ﻟﻛﺗﺎﺑﺔ اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪1‬‬

‫‪ y y‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪2‬‬

‫وﺑﺻﯾﻐﺔ اﻻدﺧﺎل ‪:‬‬

‫]}‪Integrate[y,{y,0,1‬‬

‫‪1‬‬ ‫‪2‬‬ ‫ﻫذا وﺳوف ﯾﺗﻌود اﻟﻣﺳﺗﺧدم ﻋﻠﻰ ﻫذﻩ اﻻﺷﻛﺎل واﺷﯾﺎء اﺧرى ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ ﻣن ﻛﺛرة اﺳﺗﺧداﻣﻬﺎ‪.‬‬

‫)‪ (٤-١‬اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻣن اﻟﺑرﻧﺎﻣﺞ‬ ‫ﻓﻰ ﻛﺛﯾر ﻣن اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ اﻟﺗﻌرف ﻋﻠﻰ اﻟﻣﻌﻠوﻣﺎت اﻟﺧﺎﺻﺔ ﺑﺎﻻواﻣر او اﻟدوال اﻟﻣﺧﺗﻠﻔﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‬ ‫وﻟﻠﺗﻌرف ﻋﻠﻰ اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ وﻛﯾﻔﯾﺔ ﻛﺗﺎﺑﺔ ﻛل ﻣن ﻫذﻩ اﻻواﻣر او اﻟدوال اﻟﻣﺧﺗﻠﻔﺔ ﯾﺗم ذﻟك ﻋن طرﯾق اﻣر‬ ‫ﻣﻌﯾن ‪ .‬اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذا اﻻﻣر ﻫﻰ ‪:‬‬ ‫?‪ Object‬ﺣﯾث ‪ Object‬ﺗﻣﺛل اﺳم اﻻﻣر او اﻟداﻟﺔ اﻟﻣطﻠوب اﻻﺳﺗﻌﻼم ﻋﻧﻬﺎ وﺑﻣﺟرد ﺗﻧﻔﯾذ اﻻﻣر ﻛﻣﺎ ﺳﺑق‬ ‫ﺗوﺿﯾﺣﺔ ﺗظﻬر اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ وﺟﻣﯾﻊ اﻟﻣﻌﻠوﻣﺎت ﻋن اﻻﻣر او اﻟداﻟﺔ وﯾراﻋﻰ ان ﯾﻛون اﻟﺣرف اﻻول ﻣن‬ ‫اﻻﻣر او اﻟداﻟﺔ ﻛﺑﯾر ‪ Capital‬واذا ﻛﺎن اﻻﻣر ﯾﺣﺗوى ﻋﻠﻰ ﻛﻠﻣﺗﯾن او اﻛﺛر ﻓﺈن ﻛل ﻛﻠﻣﺔ ﻓﻰ اﻻﻣر ﺗﺑدا‬ ‫ﺑﺣرف ﻛﺑﯾر ‪ .‬ﻓﻣﺛﻼ ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻟداﻟﺔ ‪ Cosine‬ﯾﻛﺗب اﻻﻣر ?‪ Cos‬وﯾﺗم ﺗﻧﻔﯾذ اﻻﻣر‬ ‫ﻓﯾظﻬر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪?Cos‬‬

‫…‪Cosz gives the cosine of z. More‬‬ ‫وﻟﻣﻌرﻓﺔ اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻠداﻟﺔ ‪ Log‬ﯾﻛﺗب اﻻﻣر ?‪ Log‬وﯾﺗم ﺗﻧﻔﯾذ اﻻﻣر ﻓﯾظﻬر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪?Log‬‬

‫‪Logz gives the natural logarithm‬‬ ‫‪of z logarithm to base e. Logb, z‬‬ ‫…‪gives the logarithm to base b. More‬‬ ‫‪٢٦‬‬


‫ ﯾﺣﺳب ﻗﯾﻣﺔ‬Log[b,z]‫ واﻻﻣر‬e ‫ ﻟﻼﺳﺎس‬z ‫ ﯾﺣﺳب ﻗﯾﻣﺔ اﻻوﻏﺎرﯾﺗم اﻟطﺑﯾﻌﻰ ﻟﻠﻌدد‬Log[z] ‫اى ان اﻻﻣر‬ .b ‫ واﻻﺳﺎس‬z ‫اﻻوﻏﺎرﯾﺗم ﻟﻠﻌدد‬ : ‫؟ وﺑﻌد ﺗﻧﻔﯾذ اﻻﻣر ﯾﺗم اﻟﺣﺻول ﻋﻠﻰ اﻟﺗﺎﻟﻰ‬Plot ‫وﻟﻣﻌرﻓﺔ اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻻﻣر اﻟرﺳم ﯾﻛﺗب اﻻﻣر‬ ?Plot

Plotf, x, xmin, xmax generates a plot of f as a function of x from xmin to xmax. Plotf1, f2, ... , x, xmin, xmax plots several functions fi. More… . xmax ‫ اﻟﻰ‬x=xmin ‫ ﻣن اﻟﻧطﺎق‬f(x) ‫ ﯾﻘوم ﺑرﺳم اﻟداﻟﺔ‬Plot[f,{x,min,max}] ‫اى ان اﻻﻣر‬ ‫ ﻣﺛل اﻟﺗﻌرف ﻋﻠﻰ اﻟﺧﯾﺎرات اﻟﺗﻰ ﯾﻣﻛن اﺿﺎﻓﺗﻬﺎ اﻟﻰ‬Plot ‫وﻟﻠﺗﻌرف ﻋﻠﻰ ﻣﻌﻠوﻣﺎت اﺿﺎﻓﯾﺔ ﻋن اﻣر اﻟرﺳم‬ : ‫اﻟرﺳم ﻧﺗﺑﻊ اﻻﺗﻰ‬ ??Plot

Plotf, x, xmin, xmax generates a plot of f as a function of x from xmin to xmax. Plotf1, f2, ... , x, xmin, xmax plots several functions fi. More…

‫ ﻧﺗﺑﻊ اﻻﺗﻰ‬Plot ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻛل اﻟدوال واﻟﺗﻰ ﺗﺑدا ﺑﻛﻠﻣﺔ‬

Names["Plot"] {Plot}

: ‫ﺛم ﻧﺗﺑﻊ ﻣﺎ ﯾﻠﻰ‬ Names["Plot*"]

{Plot,Plot3D,Plot3Matrix,PlotDivision,PlotJoined,PlotLabel,PlotPoints,PlotRange,Pl otRegion,PlotStyle} : ‫ ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬Solve ‫اﯾﺿﺎ ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت اﻛﺛر ﻋن اﻻﻣر‬

??Solve ٢٧


Solveeqns, vars attempts to solve an equation or set of equations for the variables vars. Solve eqns, vars, elims attempts to solve the equations for vars, eliminating the variables elims. More… AttributesSolve  Protected OptionsSolve  InverseFunctions  Automatic, MakeRules  False, Method  3, Mode  Generic, Sort  True, VerifySolutions  Automatic, WorkingPrecision   ‫ ﻧﺗﺑﻊ اﻻﺗﻰ‬ParametricPlot ‫اﯾﺿﺎ ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻻﻣر‬

?ParametricPlot

ParametricPlotfx, fy, t, tmin, tmax produces a parametric plot with x and y coordinates fx and fy generated as a function of t. ParametricPlot fx, fy, gx, gy, ... , t, tmin, tmax plots several parametric curves. More… : ‫ ﻓﻧﺣﺻل ﻛل اﻟﺧﯾﺎرات اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻰ ﻫذا اﻻﻣر ﻛﺎﻟﺗﺎﻟﻰ‬Option[ParametricPlot] ‫او ﻛﺗﺎﺑﺔ اﻻﻣر‬

Options[ParametricPlot] Options[ParametricPlot]

٢٨


1 , Axes  Automatic, GoldenRatio AxesLabel  None, AxesOrigin  Automatic, AxesStyle  Automatic, Background  Automatic, ColorOutput  Automatic, Compiled  True, DefaultColor  Automatic, DefaultFont  $DefaultFont, DisplayFunction  $DisplayFunction, Epilog  , FormatType  $FormatType, Frame  False, FrameLabel  None, FrameStyle  Automatic, FrameTicks  Automatic, GridLines  None, ImageSize  Automatic, MaxBend  10., PlotDivision  30., PlotLabel  None, PlotPoints  25, PlotRange  Automatic, PlotRegion  Automatic, PlotStyle  Automatic, Prolog  , RotateLabel  True,

AspectRatio 

TextStyle  $TextStyle, Ticks  Automatic

: ‫ ﻣﺛﻼ ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬P ‫وﻟﻠﺗﻌرف ﻋﻠﻰ ﺟﻣﯾﻊ اﻻواﻣر او اﻟدوال واﻟﺗﻰ ﺗﺑدا ﺑﺣرف‬

?P*

٢٩


S ys te m ` P addedF orm Po lynomi alForm P adLeft Po lynomi alGCD P adRigh t Po lynomi alLCM P ageBre akAbo ve Po lynomi alMod P ageBre akBel ow Po lynomi alQ P ageBre akWit hin Po lynomi alQuot ient P ageFoo terLi nes Po lynomi alRedu ce P ageFoo ters Po lynomi alRema inder P ageHea derLi nes Po lynomi als P ageHea ders Po sition P ageHei ght Po sitive P ageWid th Po stfix P alette Path Po stScri pt P aperWi dth Po wer P aragra phInd ent Po werExp and P aragra phSpa cing Po werMod P aramet erVar iables Po werMod List P aramet ricPl ot Pr eceden ce P aramet ricPl ot3D Pr eceden ceForm P arentC onnec t Pr ecisio n P arentD irect ory Pr ecisio nGoal P arentF orm Pr eDecre ment P arenth esize Pr eferen cesPat h P art Pr efix P artiti on Pr eIncre ment P artiti onsP Pr epend P artiti onsQ Pr ependT o P asteBo xForm Inline Cells Pr eserve StyleS heet P ath Pr evious P attern Pr imaryP laceho lder P attern Test Pr ime P ause Pr imePi P eriodi cInte rpolat ion Pr imeQ P ermuta tions Pr imes Pi Pr incipa lValue P ivotin g Pr int P laceho lder Pr intAct ion P lain Pr intFor m P lay Pr inting Copies P layRan ge Pr inting Option s P lot Pr inting PageRa nge P lot3D Pr inting Starti ngPag eNumbe r P lot3Ma trix Pr inting StyleE nviro nment P lotDiv ision Pr intPre cision P lotJoi ned Pr ivateC ellOpt ions P lotLab el Pr ivateE valuat ionOp tions P lotPoi nts Pr ivateF ontOpt ions P lotRan ge Pr ivateN oteboo kOpti ons P lotReg ion Pr ivateP aths P lotSty le Pr oduct P lus Pr oductL og P ochham mer Pr olog P oint Pr omptFo rm P ointFo rm Pr otect P ointSi ze Pr otecte d P olyGam ma Ps eudoIn verse P olygon Pu t P olygon Inter sectio ns Pu tAppen d ٣٠ P olyLog


‫وﻗد اﺳﺗﺧدﻣﻧﺎ اﻟرﻣز * ﻟﯾﺣل ﻣﻛﺎن اى ﻋدد ﻣن اﻟﺣروف ﺗﻛﺗب ﺑﻌد اﻟﺣرف ‪ ) P‬ﻓﻰ ﺣﺎﻟﺔ ﻧﺳﯾﺎن ﺗﻠك‬ ‫اﻟﺣروف او ﺑﻌﺿﻬﺎ( ﺣﯾث ﯾظﻬر ﺑﯾﺎن ﺑﺟﻣﯾﻊ اﻻواﻣر واﻟدوال اﻟﻣوﺟودة ﻓﻰ اﻟﺑرﻧﺎﻣﺞ واﻟﺗﻰ ﺗﺑدا ﺑﺣرف ‪.P‬‬

‫)‪ (٥-١‬اﻻﺧطﺎء‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﯾﻘﻊ اﻟﻣﺳﺗﺧدم ﻓﻰ ﺑﻌض اﺧطﺎء ﻋﻧد ﻛﺗﺎﺑﺔ اﺣد اﻻواﻣر او ﻛﺗﺎﺑﺔ داﻟﺔ ﻣﺎ او ﻓﻰ ﻋدد‬ ‫اﻻﻗواس او ﻓﻰ ﺷﻛل اﻻﻗواس وﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﯾرﺳل اﻟﺑرﻧﺎﻣﺞ رﺳﺎﻟﺔ ﻻﺣﺗﻣﺎﻻت اﻟﺧطﺎ ﻓﻰ ﻛﺗﺎﺑﺔ اﻻﻣر‬ ‫واﻟﺣﻠول اﻟﻣﻣﻛﻧﺔ ‪ ،‬ﻫﻧﺎ ﺗﺑﺳﯾط ﻟﻧوع ﻣن اﻻﺷﯾﺎء اﻟﺗﻰ ﻋﺎدة ﻣﺎ ﺗﺣدث‪:‬‬ ‫]‪Sine[1.5‬‬ ‫‪General ::spell  : ‬‬ ‫‪Possible spelling error : new symbol name "Sine " is‬‬ ‫…‪similar to existing symbols Line , Sin , Sinh . More‬‬ ‫]‪Sine[1.5‬‬

‫ﯾﺗﺿﺢ ﻣن اﻟرﺳﺎﻟﺔ اﻟﺳﺎﺑﻘﺔ ان اﻟﺧطﺎ ﻓﻰ ﻛﺗﺎﺑﺔ اﻟداﻟﺔ وﻗد اﻋطﻰ اﻟﺑرﻧﺎﻣﺞ اﺳﻣﺎء دوال ﻛﺛﯾرة ﻣن اﻟﻣﺣﺗﻣل ان‬ ‫ﺗﻛون داﻟﺔ اﻟﻣﺳﺗﺧدم واﺣدة ﻣﻧﻬم ﺛم اﻋﺎد ﻛﺗﺎﺑﺔ اﻟﻣدﺧل ﻟﻌدم ﻓﻬﻣﻪ‪ .‬وﺑﺎﻟﺧﺑرة ﯾﻣﻛن اﻻﺳﺗﻔﺎدة ﻣن ﻫذﻩ اﻟرﺳﺎﺋل‬ ‫ﻓﻰ ﺗﺻﺣﯾﺢ اﻻﺧطﺎء‪.‬‬

‫)‪ (٦-١‬ﺗﺷﻐﯾل اﻟﺣزم اﻟﺟﺎﻫزة اﻟﻣوﺟودة ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‬ ‫ﻣن اﻟﻣﻣﯾزات اﻟﻬﺎﻣﺔ ﻓﻰ ﺑرﻧﺎﻣﺞ ‪ Mathematica‬اﻧﻪ ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻟدوال اﻟﻛﺛﯾرة اﻟﻣوﺟودة ﻓﯾﻪ واﻟﺗﻰ‬ ‫ﺗﺷﺗﻣل اﻟﻌدﯾد ﻣن ﻓروع اﻟرﯾﺎﺿﯾﺎت ﻓﺈﻧﻪ ﯾﻣﻛن ﻟﻠﻣﺳﺗﺧدم ﺗﻌرﯾف اﻟدوال اﻟﺧﺎﺻﺔ ﺑﻪ وذﻟك ﻻن اﻟﺑرﻧﺎﻣﺞ‬ ‫ﯾﺳﺗﺧدم ﻛﻠﻐﺔ ﺑرﻣﺟﺔ ‪ ،‬اﯾﺿﺎ ﺗوﺟد ﺣزم )ﺑراﻣﺞ ﺟﺎﻫزة ( ‪ Packages‬ﻟﻣوﺿوﻋﺎت ﻣﺗﺧﺻﺻﺔ ﻓﻰ اﻟﺟﺑر –‬ ‫اﻟﺗﻔﺎﺿل واﻟﺗﻛﺎﻣل – اﻻﺣﺻﺎء‪ -‬اﻟﺟﺑر اﻟﺧطﻰ – اﻟﺑرﻣﺟﺔ اﻟﺧطﯾﺔ ‪ -‬ﺗﺣوﯾﻼت ﻻﺑﻼس‪ -‬ﺗﺣوﯾﻼت ﻓورﯾر‬ ‫ﺗﺣﻠﯾل اﻟﻣﺗﺟﻬﺎت – اﻟﺗﺣﻠﯾل اﻟﻌددى – اﻟﻬﻧدﺳﺔ وﻏﯾرﻫﺎ )ﻣﺛل اﻟﺟﻐراﻓﯾﺎ(‪ .‬وﻛل ﺣزﻣﺔ ﺗﺣﺗوى ﻋﻠﻰ ﺑراﻣﺞ ﺟﺎﻫزة‬ ‫ﻟﻔرع دﻗﯾق ﻓﻰ اﻟﻣﺟﺎﻻت اﻟﺳﺎﺑﻘﺔ ‪ .‬وﯾﺗم اﺳﺗدﻋﺎء اﻟﺣزﻣﺔ ﻋن طرﯾق ﻛﺗﺎﺑﺔ اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫'‪<< directo'packagename‬‬

‫ﺣﯾث ‪ director‬ﯾﻣﺛل ﻣﻛﺎن اﻟﺣزﻣﺔ اﻟﻣﺳﻣﺎﻩ ‪ packagename‬اﻟﻣطﻠوب اﺳﺗدﻋﺎﺋﻬﺎ ‪.‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﺑﻔرض اﻧﻧﺎ ﻧﺣﺗﺎج اﻟﻰ ﻣﻌﻠوﻣﺎت ﻋن ﺑﻌض اﻟﻌﻧﺎﺻر اﻟﻛﯾﻣﺎﺋﯾﺔ ‪ .‬ﯾﻣﻛن ﺗﺣﻣﯾل اﻟﺣزﻣﺔ‬ ‫اﻟﺧﺎﺻﺔ ﺑذﻟك ﺑﻛﺗﺎﺑﺔ اﻻﻣر '‪<<Miscellaneous'ChemicalElements‬‬

‫‪٣١‬‬


‫وﺑﻣﺟرد ﺗﺣﻣﯾل ﻫذﻩ اﻟﺣزﻣﺔ ﻓﺎن ﻛل اﻟدوال اﻟﻣﻌرﻓﺔ ﺗﻛون ﻣﺗوﻓرة ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﺗﺣﺗوى اﻟﺣزﻣﺔ ﻋﻠﻰ‬ ‫اﻟدوال اﻟﺗﻰ ﺗﻌطﯾﻧﺎ اﺧﺗﺻﺎرات ﻟﻠﻌﻧﺎﺻر اﻟﻛﯾﻣﺎﺋﯾﺔ ﻣﺛل اﻟوزن اﻟذرى وﺣ اررة اﻻﺑﺧرة‪...‬اﻟﺦ ‪.‬‬ ‫`‪<<Miscellaneous`ChemicalElements‬‬ ‫‪Wolfram‬‬ ‫‪Tungsten‬‬ ‫]‪Abbreviation[Wolfram‬‬ ‫‪W‬‬ ‫]‪AtomicWeight[W‬‬ ‫‪183.84‬‬ ‫]‪HeatOfVaporization[W‬‬

‫‪824.2 Joule Kilo‬‬ ‫‪Mole‬‬ ‫]‪ElectronConfiguration[W‬‬ ‫}}‪{{2},{2,6},{2,6,10},{2,6,10,14},{2,6,4},{2‬‬

‫ﻓﻣﺛﻼ ﺑﻛﺗﺎﺑﺔ اﻻﻣر '‪ <<Graphics'Graphics‬ﯾﻣﻛن اﺳﺗﺧداﻣﻪ ﻓﻰ اﻟﺣﺻول ﻋﻠﻰ اﻟداﺋرة اﻟﺑﯾﺎﻧﯾﺔ ﻛﻣﺎ ﯾﺗﺿﺢ‬ ‫ﻓﯾﻣﺎ ﯾﻠﻰ ﺑﻌدة اﺷﻛﺎل ودون اﻟدﺧول ﻓﻰ ﺗﻔﺎﺻﯾل اﻟﺑرﻧﺎﻣﺞ وﻟﻛن ﻟﺑﯾﺎن اﻫﻣﯾﺔ ﺗﻠك اﻟﺣزم اﻟﺟﺎﻫزة ‪.‬‬ ‫`‪<<Graphics`Graphics‬‬ ‫;}‪revenue={3000,2500,4600,1200,3300,1100,800,900‬‬ ‫]‪PieChart[revenue‬‬

‫‪2‬‬

‫‪1‬‬ ‫‪3‬‬

‫‪8‬‬ ‫‪7‬‬ ‫‪4‬‬

‫‪6‬‬ ‫‪5‬‬

‫‪Graphics‬‬ ‫;}‪spending={3000,2500,4600,1200,3300,1100,800,900‬‬

‫‪٣٢‬‬


PieChart[spending,PieLabels-

>{"arts","law","economics","engineering","computer","Mpharmacy","medicine","agric ulture"},PieExploded->{{9,0.1}}]

law

arts economics

agriculture medicine engineering

Mpharmacy computer

Graphics grays=Table[GrayLevel[i],{i,0.4,1,0.6/8}];

PieChart[spending,PieLabels-

>{"arts","law","economics","engineering","computer","Mpharmacy","medicine","agric ulture"},PieExploded->{{1,0.1},{2,0.3},{3,0.1}},PieStyle->grays]

law

arts economics

agriculture medicine engineering

Mpharmacy computer

ŮŁŮŁ


‫‪Graphics‬‬

‫ﻟرﺳم اﻋﻣدة ﻟﻣﺟﻣوﻋﺔ اﻟﺑﯾﺎﻧﺎت اﻟﺗﻰ ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫ﻧﺳﺗدﻋﻰ اﻟﺣزﻣﺔ ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫}‪{218.3,265,373.3‬‬

‫`‪<<Graphics`Graphics‬‬ ‫وﺑﻌد ﺗﺣﻣﯾل اﻟﺣزﻣﺔ ﻧﻛﺗب اﻻواﻣر اﻻزﻣﺔ ﻟﻠﺗﻧﻔﯾذ ﻛﻣﺎ ﯾﻠﻰ ﻓﻧﺣﺻل ﻋﻠﻰ اﻟرﺳم ‪.‬‬

‫`‪<<Graphics`Graphics‬‬

‫}‪aa1={218.3,265,373.3‬‬ ‫}‪{218.3,265,373.3‬‬ ‫]‪BarChart[aa1‬‬

‫‪350‬‬ ‫‪300‬‬ ‫‪250‬‬ ‫‪200‬‬ ‫‪150‬‬ ‫‪100‬‬ ‫‪50‬‬ ‫‪3‬‬

‫‪1‬‬

‫‪2‬‬

‫‪Graphics‬‬ ‫ﻋﻧد ﻛﺗﺎﺑﺔ اﻟﺑرﻧﺎﻣﺞ ﺑدون ﻛﺗﺎﺑﺔ اﻣر اﺳﺗدﻋﺎء اﻟﺣزﻣﺔ ﻧﺣﺻل ﻋﻠﻰ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫}‪aa1={218.3,265,373.3‬‬ ‫}‪{218.3,265,373.3‬‬ ‫]‪BarChart[aa1‬‬

‫]}‪BarChart[{218.3,265,373.3‬‬ ‫اى ان اﻟﺑرﻧﺎﻣﺞ ﯾﻌﯾد ﻛﺗﺎﺑﺔ اﻟﻣدﺧل ﺑدون ﺗﻧﻔﯾذ‪.‬‬ ‫وﺑﺻورة ﻋﺎﻣﺔ ﻓﻰ ﺣﺎﻟﺔ وﺟود ﺧطﺎ ﻓﻰ ﻛﺗﺎﺑﺔ اﻻﻣر ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﻌﯾد ﻛﺗﺎﺑﺔ اﻻﻣر ﺑدون ﺗﻧﻔﯾذ‪.‬‬

‫‪٣٤‬‬


‫)‪ (٧-١‬اﺳﺗﺧدام اﻻﻣر ‪ Help‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ‬ ‫ﯾﻣﻛن ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻣر ‪ Help‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ اﻟﺗﻌرف ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻣر ﻣﺎ ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ‬ ‫اﻟرﺋﯾﺳﯾﺔ اﻟﺗﺎﻟﯾﺔ‪:‬‬

‫واﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Help Browser‬ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪٣٥‬‬


‫وﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اى ﻣوﺿوع ﻋن اﻟﺑرﻧﺎﻣﺞ ﻣﺛل اﻟرﺳم ﻣﺛﻼ وﻋﻧد ﻛﺗﺎﺑﺔ ‪ Plot‬ﻓﻰ اﻟﺧﺎﻧﺔ‬ ‫اﻟﻣوﺿﺣﺔ ﺑﺎﻟﺳﻬم ﺛم اﻟﺿﻐط ﻋﻠﻰ اﻻﻣر‬

‫ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫ﺣﯾث ﻧﺣﺻل ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻟرﺳم وﺑﺗﺣرﯾك اﻟﻣؤﺷر اﻟذى ﻓﻰ اﻟﺟﺎﻧب اﻻﯾﻣن واﻟﻣﺷﺎر ﻋﻠﯾﻪ ﺑﺎﻟﺳﻬم ﻓﻰ‬ ‫اﻟﻧﺎﻓذة اﻟﺳﺎﺑﻘﺔ ﻧﺣﺻل ﻋﻠﻰ اﻣﺛﻠﺔ ﻛﻣﺎ ﻓﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪٣٦‬‬


‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟﻌﻼﻣﺔ اﻟﻣﺷﺎر اﻟﯾﻬﺎ ﺑﺎﻟﺳﻬم ﺑﺟوار ‪ Further Examples‬ﻓﻧﺣﺻل ﻋﻠﻰ ﻋدة اﻣﺛﻠﺔ ﻛﻣﺎ‬ ‫ﻓﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ وﯾﻣﻛن اﺧذ ﻧﺳﺦ ﻣﻧﻬﺎ اﻟﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫‪٣٧‬‬


‫اﯾﺿﺎ )ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل( ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻟﺣزم اﻟﺟﺎﻫزة اﻟﺧﺎﺻﺔ ﺑﺎﻻﺣﺻﺎء ﻧﺣﺻل‬ ‫ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ وﺑﻌد اﻟﺿﻐط ﻋﻠﻰ اﻟﻌﻧوان اﻟﻣﺷﺎر اﻟﯾﻪ ﺑﺎﻟﺳﻬم ﻓﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ﺛم اﻟﺿﻐط ﻋﻠﻰ‬ ‫‪ Standard Pachages‬ﻓﻰ اﻟﺧﺎﻧﺔ اﻻوﻟﻰ ﻣن اﻟﻘﺎﺋﻣﺔ وﻋﻠﻰ ‪ Statistics‬ﻓﻰ اﻟﺧﺎﻧﺔ اﻟﺛﺎﻧﯾﺔ ﻣن اﻟﻘﺎﺋﻣﺔ ‪:‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟﻌﻧوان اﻟﻣﺷﺎر ﻟﻪ ﺑﺎﻟﺳﻬم ﻓﻰ اﻟﺧﺎﻧﺔ اﻟﺛﺎﻟﺛﺔ ﻧﺣﺻل ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن ﻓﺗرات اﻟﺛﻘﺔ ﻣﻊ اﻣﺛﻠﺔ‬ ‫)ﻫذا ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﺣﯾث ﯾﻣﻛن ﺗﺣدﯾد اﺧﺗﯾﺎرات اﺧرى(‪:‬‬

‫‪٣٨‬‬


‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟﻌﻧوان ‪ Mathematica Book‬اﻟﻣﺷﺎر ﻟﻪ ﺑﺎﻟﺳﻬم اﻻﺳود وﺑﻌد ﺗﺣدﯾد اﻟﺧﯾﺎرات اﻟظﺎﻫرة‬ ‫ﺑﺎﻟﻠون اﻻزرق ﻓﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ﻧﺣﺻل ﻋﻠﻰ اﻣﺛﻠﺔ ﻋن اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻛﻣﺎ ﻓﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫وﯾﻣﻛن ﻟﻠﻣﺳﺗﺧدم اﻟﺗدرب اﻛﺛر ﻋﻠﻰ ﻛﯾﻔﯾﺔ اﻻﺳﺗﻔﺎدة ﻣن اﻟﻣﻌﻠوﻣﺎت ﻓﻰ ﻧﺎﻓذة ‪.Help Browser‬‬

‫‪٣٩‬‬


‫اﻟﻔﺻل اﻟﺛﺎﻧﻰ‬ ‫اﻟﻌﻣﻠﯾﺎت اﻟرﯾﺎﺿﯾﺔ ﻋﻠﻰ ﻛل ﻣن‬ ‫اﻻﻋداد واﻟﺗﻌﺑﯾرات و اﻟدوال‬

‫‪٤٠‬‬


‫ﯾﻘدم ﻫذا اﻟﻔﺻل اﻟﻌﻣﻠﯾﺎت اﻻﺳﺎﺳﯾﺔ ﻋﻠﻰ ﻛل ﻣن اﻻﻋداد واﻟﺗﻌﺑﯾرات واﻟدوال ‪.‬‬

‫)‪ (١-٢‬اﻟﺣﺳﺎﺑﺎت اﻟﻌددﯾﺔ ‪Numerical Calculations‬‬ ‫اﻟﻌﻣﻠﯾــﺎت اﻟﺣﺳــﺎﺑﯾﺔ اﻟﺑﺳــﯾطﺔ )اﻟﺟﻣــﻊ واﻟطــرح واﻟﺿــرب واﻟﻘﺳــﻣﺔ( ﺗﻌــرض ﺑــﻧﻔس اﻟطرﯾــق اﻟطﺑﯾﻌــﻰ ﻣــﻊ ﺑرﻧــﺎﻣﺞ‬ ‫اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ‪.‬‬ ‫ﻓﻌﻠـﻰ ﺳـﺑﯾل اﻟﻣﺛـﺎل " ‪ " a plus b‬ﺗـدﺧل ‪a+b‬‬

‫و " ‪ "a minus b‬ﺗـدﺧل ‪ a-b‬و " ‪ " a times b‬ﺗـدﺧل‬

‫‪ a*b‬او ﻋﻠـﻰ اﻟﺻـورة ‪) a b‬ﺣﯾـث ﺗوﺟـد ﻣﺳـﺎﻓﺔ ﺑـﯾن ‪ ( a,b‬و " ‪ " a divided b‬ﺗـدﺧل ‪ . a/b‬ﻓـﻰ اﻟﻌﻣﻠﯾـﺎت‬ ‫اﻟﺣﺳﺎﺑﯾﺔ ﯾﺗﻌﺎﻣل اﻟﺑرﻧﺎﻣﺞ ﻣﻊ ارﺑﻌﺔ اﻧواع ﻣن اﻻﻋداد وﻫﻰ ‪:‬‬ ‫‪-‬‬

‫اﻻﻋداد اﻟﺻﺣﯾﺣﺔ ‪Integers‬‬

‫‪-‬‬

‫اﻻﻋداد اﻟﻧﺳﺑﯾﺔ ‪Rational‬‬

‫‪-‬‬

‫اﻻﻋداد اﻟﺣﻘﯾﻘﯾﺔ ‪Real‬‬

‫‪-‬‬

‫اﻻﻋداد اﻟﻣرﻛﺑﺔ ‪Complex‬‬

‫ﻓﻰ اﻟﺟزء اﻟﺗﺎﻟﻰ ﺳوف ﻧﺗﻧﺎول ﻛﯾف ﺗﺗم اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ اﻻﺳﺎﺳﯾﺔ )اﻟﺟﻣﻊ واﻟطرح و اﻟﺿرب واﻟﻘﺳﻣﺔ(‬ ‫ﺣﯾث ﯾﺳﺗﺧدم اﻟﺑرﻧﺎﻣﺞ ﻛﺎداﻩ ﻻﺟراء اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﺗﻣﺎﻣﺎ ﻣﺛل اﻻﻟﺔ اﻟﺣﺎﺳﺑﺔ ‪ Calculator‬ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫ﻣﺛﺎل‬ ‫اﺣﺳب‬

‫)ا(‪342+23‬‬

‫)ب( ‪456-45‬‬

‫)ج( ‪) -23*76‬د( ‪.568/8‬‬

‫اﻟﺣل‪:‬‬ ‫اﻟﻌﻣﻠﯾﺎت اﻟﺳﺎﺑﻘﺔ ﻛﺗﺑت ﺑﺎﻻﺳﻠوب اﻟﺗﺎﻟﻰ ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم ﺗم ﺗﻧﻔﯾذﻫﺎ ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻣر ‪. Kernal‬‬ ‫)ا(‬ ‫‪342+23‬‬ ‫‪365‬‬

‫)ب(‬ ‫‪456-45‬‬ ‫‪411‬‬

‫)ج(‬ ‫‪-23*76‬‬ ‫‪٤١‬‬


‫‪-1748‬‬ ‫ﯾﻣﻛن وﺿﻊ ﻣﺳﺎﻓﺔ ﻻﺟراء ﻋﻣﻠﯾﺔ اﻟﺿرب ﺑدﻻ ﻣن اﻟرﻣز*‬ ‫‪-23 76‬‬

‫‪-1748‬‬

‫) د ( اﻟرﻣز ‪ /‬ﯾﻌﻧﻰ اﻟﻘﺳﻣﺔ )ﺻﯾﻐﺔ اﻻدﺧﺎل( وﯾﻼﺣظ ان اﻟﻧﺎﺗﺞ ﻓﻰ ﺻورة ﻋدد ﻧﺳﺑﻰ وذﻟك ﻻن اﻟﺑﯾﺎﻧﺎت‬

‫اﻟﻣﺳﺗﺧدﻣﺔ اﻋداد ﺻﺣﯾﺣﺔ وﯾﻣﻛن وﺿﻊ اﻟﻣدﺧل ﻓﻰ اﻟﺻورة اﻟﻘﯾﺎﺳﯾﺔ واﻟﺗﻰ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻪ ﺑﺎﻟﺿﻐط ﻋﻠﻰ‬ ‫اﻟرﻣز‬

‫ﺛم ﻧﺿﻊ ‪ 568‬ﻓوق و‪ 8‬ﺗﺣت وﻫذة اﻻﯾﻘوﻧﺔ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﺑﺎﻟﺿﻐط ﻋﻠﻰ ‪ Palettes‬ﻣن اﻟﻘﺎﺋﻣﺔ‬

‫اﻟرﺋﯾﺳﯾﺔ ﻟﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ BasicInput‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ ﻓﻧﺣﺻل ﻋﻠﻰ ﻗﺎﺋﻣﺔ ﺗظﻬر ﻓﻰ ﻧﺎﻓذة‬ ‫اﻟﺑرﻧﺎﻣﺞ ﻣن ﺿﻣﻧﻬﺎ ﻫذﻩ اﻻﯾﻘوﻧﺔ ﻛﻣﺎ ﺳﺑق ان ذﻛرﻧﺎ ‪.‬‬ ‫‪568/8‬‬ ‫‪71‬‬

‫‪568‬‬ ‫‪8‬‬

‫‪71‬‬

‫ﻫﻧﺎ اﻟﻧﺎﺗﺞ رﻗم ﺻﺣﯾﺢ ‪ .‬ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﯾﻛون اﻟﻧﺎﺗﺞ ﻋﻠﻰ ﻫﯾﺋﺔ ﻛﺳر ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪36‬‬ ‫‪796‬‬

‫وﻟﺗﺟﻧب ذﻟك ﯾﻛﺗب اﻟﺑﺳط ﻣﺛﻼ ﻓﻰ ﺻورة ﻋﺷرﯾﺔ ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪9‬‬ ‫‪199‬‬

‫‪36.‬‬ ‫‪796‬‬ ‫وﺑﺎﻟﺗﺎﻟﻰ ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ ﻓﻰ ﺻورة ﻋﺷرﯾﺔ ‪:‬‬

‫‪0.0452261‬‬

‫ﻣﺛﺎل‬ ‫اﺣﺳب‬

‫‪3.6‬‬ ‫‪8.96‬‬ ‫‪٤٢‬‬


‫اﻟﺣل‪:‬‬ ‫اﻟﻌﻣﻠﯾﺎت اﻟﺳﺎﺑﻘﺔ ﻛﺗﺑت ﺑﺎﻻﺳﻠوب اﻟﺗﺎﻟﻰ ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم ﺗم ﺗﻧﻔﯾذﻫﺎ ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻣر ‪: Kernal‬‬ ‫ﻧﺟد ان اﻟﻧﺎﺗﺞ ﻓﻰ اﻟﺻورة اﻟﻌﺷرﯾﺔ ﻻن اﻻﻋداد اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻰ ﺻورة ﻋﺷرﯾﺔ‪.‬‬

‫‪3.6‬‬ ‫‪7.96‬‬ ‫‪0.452261‬‬

‫واﻟﻌﻣﻠﯾﺔ اﻟﺣﺳﺎﺑﯾﺔ‬

‫‪ab‬‬

‫" ‪ " a raised to bth power‬ﺗﻛﺗب ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ‪. a^b‬‬

‫ﻣﺛﺎل‬ ‫اﺣﺳب‬

‫‪50‬‬

‫‪. 4‬‬

‫اﻟﺣل‪:‬‬ ‫‪50‬‬

‫ﺳوف ﻧﺣﺻل ﻋﻠﻰ ﻗﯾﻣﺔ ﻣﺿﺑوطﺔ ﻟﻠﻌد د ‪. 4‬‬ ‫ﻣﻊ ھذا اﻟﺑرﻧﺎﻣﺞ ﻓﻐﺎﻟﺑﺎ ﻣﺎ ﻧﺣﺻل ﻋﻠﻰ ﻧﺗﺎﺋﺞ ﻣﺿﺑوطﺔ‪ ،‬ﺑﯾﻧﻣﺎ ﻋﻧد اﺟراء اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻋﻠﻰ اﻻﻟﺔ اﻟﺣﺎﺳﺑﺔ‬ ‫ﻓﺎن اﻟﻧﺗﺎﺋﺞ ﺗﻛون اﻟﻰ دﻗﺔ ﻣﻌﯾﻧﺔ ﻓﻣﺛﻼ ﻋﺷرة ارﻗﺎم ﻋﺷرﯾﺔ‪.‬‬

‫‪450‬‬ ‫‪1267650600228229401496703205376‬‬

‫وﻗد ﺗم اﺳﺗﺧدام اﻟرﻣز‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ‪:‬‬

‫‪450‬‬ ‫ﻫذا وﯾﻣﻛن اﺳﺗﺧدام ﺻﯾﻐﺔ اﻻدﺧﺎل واﻟﺣﺻول ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪4^50‬‬ ‫‪1267650600228229401496703205376‬‬

‫ﻣﺛﺎل‬

‫‪٤٣‬‬


‫اﺣﺳب‬

‫‪ 5‬ﺳواء ﺑﺻﯾﻐﺔ اﻻدﺧﺎل او ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ‪.‬‬

‫‪121‬‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧدﺧل اﻻﻣر ﻓﻰ ﺻﯾﻐﺔ اﻻدﺧﺎل وﻓﻰ اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﺎﻟﺗﺎﻟﻰ واﻟﻧﺗﯾﺟﺔ واﺣدة ‪:‬‬ ‫‪5^121‬‬ ‫‪376158192263132002549995691911118616901972978167068006882‬‬ ‫‪8005460090935230255126953125‬‬

‫‪5121‬‬ ‫‪376158192263132002549995691911118616901972978167068006882800‬‬ ‫‪5460090935230255126953125‬‬ ‫‪1‬‬

‫‪1‬‬

‫اﯾﺿﺎ ﻓﺎن ‪a  a 2‬‬

‫ﺗﺣﺳب ﺑﺎدﺧﺎل اﻣﺎ )‪ a ^ (1/ 2‬او ]‪ .Sqr[a‬اﯾﺿﺎ ‪a  a 3‬‬

‫‪3‬‬

‫ﺗﺣﺳب ﺑﺎدﺧﺎل‬

‫‪n‬‬

‫)‪ a ^ (1/ 3‬و ‪ m a n  ( m a ) n‬‬

‫‪m‬‬

‫‪ a‬ﺗﺣﺳب ﺑﺎدﺧﺎل )‪ ) a^(n/m‬ﺗذﻛر ان ادﺧﺎل ‪ a^n/m‬ﺗﺣﺳب‬

‫‪.a /m‬‬ ‫‪n‬‬

‫وﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻋدد ﺗﻘرﯾﺑﻰ ﻟﻠﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ اﻟﺳﺎﺑﻘﺔ وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ N‬ﻛﻣﺎ‬ ‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﻧﺗﺎﺋﺞ ﻣﻘرﺑﺔ اﻟﻰ اى درﺟﺔ ﻣطﻠوﺑﺔ ﻛﺎﻻﺗﻰ ‪:‬‬

‫اﻟﻌﻣل اﻟذى ﯾﻘوم ﺑﻪ اﻻﻣر‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﻋددﯾﺔ ﺗﻘرﯾﺑﯾﺔ‬

‫]‪ N[expession‬او‪expession//N‬‬

‫ﻟﻠﺗﻌﺑﯾر ‪expession‬‬ ‫]‪N[expession,n‬‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﻋددﯾﺔ ﻟﻠﺗﻌﺑﯾر‪expession‬‬ ‫ﻣﻘرب اﻟﻰ ‪ n‬ﻣن اﻻرﻗﺎم اﻟﻌﺷرﯾﺔ‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻋدد ﻧﺳﺑﻲ ‪ Rational‬ﺗﻘرﯾﺑﻰ ﻟﻠﻌدد ‪x‬‬

‫]‪Rationalize[x‬‬

‫ﻣﺛﺎل‬ ‫)أ( اﺣﺳب ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪) 450‬ب( اﺣﺳب اﻟﻌدد ‪450‬‬

‫اﻟﺣل‪:‬‬ ‫‪٤٤‬‬

‫ﻣﻘرب اﻟﻰ ‪ 11‬رﻗم ﻋﺷرى‬


‫)ا( ﻧﺣﺻل ﻋﻠﻰ ﻗﯾﻣﺔ ﻋددﯾﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪ 4‬ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬ ‫‪50‬‬

‫‪N450‬‬ ‫‪1.26765  1030‬‬ ‫‪50‬‬

‫اﺳﺗﺧدام ‪ N‬ﻋﻠﻰ اﻟﺗﻌﺑﯾر ‪ 4‬ادى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ ﻓﻰ ﺻﯾﻐﺔ ‪Scientific notation‬‬ ‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﺑطرﯾﻘﺔ اﺧرى ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪450  N‬‬ ‫‪1.26765  1030‬‬ ‫)ب( ﻛﻣﺎ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ‪450‬‬

‫ﻣﻘرﺑﺎ اﻟﻰ ‪ 11‬ﻣن اﻻرﻗﺎم اﻟﻌﺷرﯾﺔ ﻛﺎﻟﺘﺎﻟﻰ‪:‬‬

‫‪N250, 11‬‬ ‫‪1.1258999068  1015‬‬

‫ﻣﺛﺎل‬ ‫‪1‬‬

‫اﺣﺳب ﻗﯾﻣﺔ ﻣﺿﺑوطﺔ وﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪5 9‬‬

‫اﻟﺣل‪:‬‬ ‫‪1‬‬

‫ﻧﺣﺻل ﻋﻠﻰ ﻗﯾﻣﺔ ﻋددﯾﺔ ﻣﺿﺑوطﺔ وﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪ 5 9‬ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬ ‫)‪5^(1/9‬‬

‫‪519‬‬ ‫‪N519‬‬ ‫‪1.19581‬‬ ‫‪.‬‬ ‫‪1‬‬

‫ﻧﻼﺣﻆ ان اﻟﺒﺮﻧﺎﻣﺞ اﻋﺎد‬

‫)‪^(1/ 9‬‬

‫‪9‬‬ ‫‪ 5‬ﻛﻤﺎ ھﻰ ﻋﻠﻰ اﻟﺼﯿﻐﺔ اﻟﻤﻀﺒﻮطﺔ وﻟﻜﻦ ﻋﻠﻰ اﻟﺸﻜﻞ ‪. 5‬‬

‫‪1‬‬

‫اﻟﻘﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪ 5 9‬ﺑﺎﺳﺗﺧدام ‪ N‬ﺗﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪1‬‬

‫‪N5 9 ‬‬ ‫‪1.19581‬‬ ‫‪9 ‬‬ ‫‪‬‬

‫‪N 5 ‬‬ ‫‪1.19581‬‬

‫‪٤٥‬‬


‫ﻣﺛﺎل‬

‫اﺣﺳب ‪533‬‬ ‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Sqr‬ﻟﺣﺳﺎب ‪. 533‬اﻟﻧﺎﺗﺞ ﻧﻔﺳﻪ اﻟﻘﯾﻣﺔ اﻟﻣﺿﺑوطﺔ ﻟﻠﻣدﺧل وﻟﻛن ﻋﻠﻰ ﺷﻛل‬ ‫ﺻﯾﻐﺔ ﻗﯾﺎﺳﯾﺔ ‪.‬‬ ‫]‪Sqrt[533‬‬ ‫‪‬‬

‫‪533‬‬

‫ﻋﻧد ادﺧﺎل‪ //N‬ﺑﻌد اﻻﻣر ﻧﺣﺻل ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟـ ‪533‬‬ ‫‪Sqrt[533]//N‬‬ ‫‪23.0868‬‬

‫ﻣﺛﺎل‬ ‫‪1‬‬

‫اﺣﺳب ‪4  (4) 5‬‬

‫‪5‬‬

‫اﻟﺣل‪:‬‬ ‫‪1‬‬

‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Sqr‬ﻟﺣﺳﺎب ‪. 4  (4) 5‬اﻟﻧﺎﺗﺞ ﻧﻔﺳﻪ اﻟﻘﯾﻣﺔ اﻟﻣﺿﺑوطﺔ ﻟﻠﻣدﺧل وﻟﻛن ﻋﻠﻰ‬ ‫‪5‬‬

‫ﺷﻛل ﺻﯾﻐﺔ ﻗﯾﺎﺳﯾﺔ ‪.‬‬

‫‪415‬‬ ‫‪115 225‬‬ ‫‪1‬‬

‫ﻋﻧد ادﺧﺎل ‪ //N‬ﺑﻌد اﻻﻣر ﻧﺣﺻل ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟـ ‪4  (4) 5‬‬

‫‪5‬‬

‫‪415  N‬‬ ‫‪ 1.0675 +0.775587 ‬‬ ‫ﻧﻼﺣظ ﻋﻧد ادﺧﺎل‪ ‬‬

‫‪ //N‬ﺑﻌد اﻻﻣر ﻓﺎن اﻟﺗﻌﺑﯾر اﻟﻧﺎﺗﺞ ﯾﺣﺗوى ﻋﻠﻰ ‪ i‬وھذا اﻟرﻣز ﯾﻣﺛل اﻟﻌدد اﻟﺗﺧﯾﻠﻰ ‪. i  1‬‬

‫‪٤٦‬‬


‫ﯾﺗم ﻣﻌرﻓﺔ اﻟﻣﻌﻠوﻣﺎت اﻻﺳﺎﺳﯾﺎت ﻋن ‪ N‬ﺑﺎدﺧﺎل ‪ ? N‬اﻟﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ وﺗﻧﻔﯾذﻫﺎ ﻓﻧﺣﺻل ﻋﻠﻰ اﻟﺗﺎﻟﻰ‪:‬‬ ‫‪?N‬‬

‫‪Nexpr gives the numerical value‬‬ ‫‪of expr. Nexpr, n attempts to give‬‬ ‫…‪a result with ndigit precision. More‬‬ ‫اى ﻣﻌﻠوﻣﺎت ﻋن اﻻﻣر ‪.N‬‬ ‫ﻛﻣﺎ ﯾﺗم اﻟﺣﺻول ﻋﻠﻰ اﻟﻣﻌﻠوﻣﺎت اﻻﺳﺎﺳﯾﺎت ﻋن ‪ N‬ﺑﺎﻟﺿﻐط ﻋﻠﻰ ‪ Help‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻧﺎﻓذة‬ ‫اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ Help Browser‬وﻓﻰ اﻟﺧﺎﻧﺔ اﻟﻣوﺿﺣﺔ ﺑﺎﻟﺳﻬم ﻧﻛﺗب‬ ‫اﻟﺗﺎﻟﯾﺔ وﻧﺿﻐط ﻋﻠﻰ اﻻﻣر‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت واﻣﺛﻠﺔ ‪:‬‬

‫ﻣﺛﺎل‬ ‫‪1‬‬

‫اﺣﺳب ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪. 6 8‬‬

‫اﻟﺣل‪:‬‬

‫‪٤٧‬‬

‫‪ N‬ﻛﻣﺎ ﻓﻰ اﻟﻧﺎﻓذة‬


‫‪1‬‬

‫اﻟﺑرﻧﺎﻣﺞ ﺳوف ﯾﺣول )‪ 6 ^ (1/8‬اﻟﻰ ﺻورﺗﻬﺎ اﻟﻣﺑﺳطﺔ ‪ . 6 8 Simplified Form‬وﯾﻼﺣظ ﻫﻧﺎ ان‬ ‫‪1‬‬

‫وﺿﻊ اﻻﻗواس ﻣﻬم ‪ .‬وﻗد ﺗم ﺗﻘرﯾب ‪ 6 8‬وذﻟك ﺑﺎﺳﺗﺧدام ﺻﯾﻐﺗﯾن ﻛﻣﺎ ﻫو ﻣوﺿﺢ ﻓﻰ اﻻﻣر اﻟﺛﺎﻧﻰ‬ ‫واﻟﺛﺎﻟث‪.‬‬ ‫)‪6^(1/8‬‬

‫‪618‬‬ ‫‪1 ‬‬

‫‪8 ‬‬

‫‪N6‬‬

‫‪1.25103‬‬ ‫‪8 ‬‬ ‫‪‬‬

‫‪N 6 ‬‬ ‫‪1.25103‬‬ ‫وﻓﻰ اﻟﻨﮭﺎﯾﺔ ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ﺗﻌﻠﯿﻖ ‪)comment‬او ﺑﻌﺾ اﻟﻜﻠﻤﺎت اﻟﺘﻰ ﻻ ﺗﺪﺧﻞ ﻓﻰ اﻟﺤﺴﺎب (ﻋﻠﻰ ان ﺗﻮﺿﻊ ﻛﺎﻟﺘﺎﻟﻰ‬ ‫)*‪.(*comment‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل )*‪.(*Example‬‬

‫)‪ (٢-٢‬اﻟﺛواﺑت اﻟرﯾﺎﺿﯾﺔ ‪Mathematical Constants‬‬ ‫ﯾﻘــوم اﻟﺑرﻧــﺎﻣﺞ ﺑﺗﻌرﯾــف ﻛﺛﯾــر ﻣــن اﻟﺛواﺑــت ‪ .‬ﻓﻌﻠــﻰ ﺳــﺑﯾل اﻟﻣﺛــﺎل اﻟﺛﺎﺑــت ‪   3.14159‬واﻟــذى ﯾﻌــرف ﻓــﻰ‬ ‫اﻟﺑرﻧـ ــﺎﻣﺞ ﺑواﺳـ ــطﺔ ‪ Pi‬او ‪ . ‬اﯾﺿـ ــﺎ ‪ e  2.71828‬ﺗﻣﺛـ ــل ﺑـ ــﺎﻟﺣرف ‪ E‬و ‪ i  1‬ﺗﻣﺛـ ــل ﺑـ ــﺎﻟﺣرف ‪. I‬‬ ‫وﻫﻧ ــﺎك ﺛواﺑـــت اﺧـــرى ﻣﺛـــل ‪ ‬واﻟﺗـــﻰ ﺗﻣﺛـــل ﻣـــﺎﻻ ﻧﻬﺎﯾـــﺔ ‪ Infinity‬و‬

‫‪constant‬‬

‫‪‬‬ ‫‪   0.577216‬ﯾﻣﺛـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــل ﺑـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ‪ EulerGamma‬و‬ ‫‪180‬‬ ‫‪1 5‬‬ ‫‪ 1061803‬‬ ‫‪2‬‬

‫‪ Euler's‬اى‬

‫=‪ Degree‬و=‪.GoldenRatio‬‬

‫‪ .‬وﻫﻧــﺎك ﺛواﺑــت اﺧــرى ﯾﻣﻛــن ﻟﻠﻣﻬــﺗم ﺑﻬــﺎ اﺳــﺗﺧدام ‪ Help‬ﻟﻠﺣﺻــول ﻋﻠــﻰ ﻣﻌﻠوﻣــﺎت‬

‫ﻋﻧﻬ ــﺎ ‪ .‬اﻻﻣ ــر اﻟﻣﺳـــﺗﺧدم ﻟﻠﺣﺻ ــول ﻋﻠ ــﻰ ﻗﯾﻣـــﻪ ﺗﻘرﯾﺑﯾ ــﺔ ﻟﻠﺛﺎﺑ ــت ‪ a‬ﻫـــو ]‪ N[a‬او اﻟﻣﻛ ــﺎﻓﺊ ﻟ ــﻪ ‪ .a//N‬اﻻﻣـــر‬ ‫اﻟﻣﺳﺗﺧدم ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻌدد ‪ a‬وذﻟك ﻟـ ‪ n‬ﻣن اﻻرﻗـﺎم اﻟﻌﺷـرﯾﺔ ﻫـو ]‪. N[a,n‬ﻋﻠـﻰ ﺳـﺑﯾل اﻟﻣﺛـﺎل‬ ‫ﻋﻧد ادﺧﺎل ‪:‬‬ ‫]‪N[E,30‬‬ ‫‪2.71828182845904523536028747135‬‬ ‫ﻧﺣﺻل ﻋﻠﻰ ‪ e‬ﻣﻘرﺑﺔ اﻟﻰ ‪ 30‬رﻗم ﻋﺷرى‪.‬‬ ‫ﯾﺳﺗﺧدم اﻻﻣر ]‪ Round[a‬ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻗﺮب رﻗﻢ ﺻﺤﯿﺢ ﻟـ ‪.a‬‬ ‫اﻻﻣﺮ اﻟﺘﺎﻟﻰ ﯾﺆدى ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻗﺮب رﻗﻢ ﺻﺤﯿﺢ ﻟـ ‪: e‬‬ ‫]‪Round[E‬‬ ‫‪3‬‬ ‫اﻻﻣﺮﯾﻦ اﻟﺘﺎﻟﯿﯿﻦ ﯾﺆدﯾﺎن اﻟﻰ ﻧﻔﺲ اﻟﻘﯿﻤﺔ اﻟﺘﻘﺮﯾﺒﯿﺔ ﻟـ ‪e‬‬

‫‪٤٨‬‬


‫‪E//N‬‬ ‫‪2.71828‬‬ ‫]‪N[E‬‬ ‫‪2.71828‬‬ ‫ادﺧل ‪:‬‬ ‫]‪N[,30‬‬ ‫‪3.14159265358979323846264338328‬‬ ‫ﯾﺤﺴﺐ ‪ ‬اﻟﻰ ‪ 30‬رﻗم ﻋﺷرى ‪.‬‬

‫ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﺑﺎدﺧﺎل ]‪N[Pi,30‬‬ ‫]‪N[Pi,30‬‬ ‫‪3.14159265358979323846264338328‬‬ ‫ﺑﺎدﺧﺎل ‪:‬‬

‫‪‬‬ ‫‪16‬‬ ‫‪4 ‬‬

‫ﺗﺣﺳب ‪16  i 16  4i‬‬ ‫وﻟﻠﻌﻠم ‪1‬‬

‫ﻓﻰ اﻻدﺧﺎل ﺗﻛﺗب ﺑﺻورة اﻻدﺧﺎل ‪ I‬او ﺑﺎﻟﺻورة اﻟﻘﯾﺎﺳﯾﺔ ‪.i‬‬

‫)‪ (٣-٢‬اﻟﻣﺗﻐﯾرات ‪Variables‬‬ ‫ﻋﻧد ﻛﺗﺎﺑﺔ ﺑرﻧﺎﻣﺞ ﺑﻠﻐﺔ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﯾﻛون ﻣن اﻟﺿرورى اﻋطﺎء اﺳﻣﺎء ﻟﻠﻘﯾم اﻟﻌددﯾﺔ او اﻟﻛﻣﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ‬ ‫وﺗﺳﻣﻰ اﻟﻣﺗﻐﯾرات وﻫﻰ ﺗﻣﺛل ﻋﻧوان اﻟﻣﺧزن اﻟﻣوﺿوع ﻓﯾﻪ اﻟﻘﯾﻣﺔ او اﻟﻛﻣﯾﺔ اﻟﺣﺳﺎﺑﯾﺔ واﻟﺑرﻧﺎﻣﺞ ﯾﺣﺗﻔظ ﺑﻬذا‬ ‫اﻻﺳم ﻟﻠﻘﯾﻣﺔ اﻟﻌدد ﯾﺔ او اﻟﻛﻣﯾﺔ اﻟﺣﺳﺎﺑﯾﺔ ﺣﺗﻰ ﯾﻘوم اﻟﻣﺳﺗﺧدم ﺑﺣذﻓﻪ او ﺗﻐﯾﯾرﻩ ‪.‬‬ ‫ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬ ‫‪rent=23‬‬ ‫‪23‬‬ ‫‪food=156‬‬ ‫‪156‬‬ ‫‪heat=56‬‬ ‫‪56‬‬ ‫‪٤٩‬‬


‫‪rent+food+heat‬‬ ‫‪235‬‬

‫وﻋﻧد اﺧﺗﯾﺎر اﺳﻣﺎء اﻟﻣﺗﻐﯾرات ﯾﺟب ﻣراﻋﺎة ﻣﺎ ﯾﺎﺗﻰ ‪:‬‬ ‫)أ( ﻻ ﯾوﺟد ﻗﯾود ﻋﻠﻰ ﻋدد اﻟﺣروف او اﻻرﻗﺎم اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻰ اﺳم اﻟﻣﺗﻐﯾر وﯾﺟب ﻋدم اﺳﺗﺧدام اﻟﻌﻼﻣﺎت‬ ‫اﻟﺧﺎﺻﺔ ﻣﺛل) ‪ ( + , ^ ,* ,/‬ﻓﻰ اﺳم اﻟﻣﺗﻐﯾر ‪.‬‬ ‫)ب( ﯾﻣﻛن اﺳﺗﺧدام اﻟﺣروف اﻟﻛﺑﯾرة واﻟﺻﻐﯾرة ﻓﻰ اﺳﻣﺎء اﻟﻣﺗﻐﯾرات وﻟﻛن ﻻ ﯾﺑدا اﺳم اﻟﻣﺗﻐﯾر ﺑﺣرف ﻛﺑﯾر‬ ‫ﺣﺗﻰ ﻻ ﯾﺣدث ﺗداﺧل ﺑﯾن اﺳﻣﺎء اﻟﻣﺗﻐﯾرات اﻟﺗﻰ ﻧﻘوم ﺑﺗﻌرﯾﻔﻬﺎ واﺳﻣﺎء اﻟﻣﺗﻐﯾرات او اﻟدوال اﻟﻣﻌرﻓﺔ ﻣن‬ ‫ﻗﺑل اﻟﺑرﻧﺎﻣﺞ ‪.‬‬ ‫)ت( اﺳم اﻟﻣﺗﻐﯾر ﻻ ﯾﺑدا ﺑﻌدد‪ ،‬ﻓﻣﺛﻼ ‪ 8a‬ﺗﻣﺛل ﺣﺎﺻل ﺿرب ‪ 8‬ﻓﻰ ‪ a‬ﺑﯾﻧﻣﺎ ‪ a2‬ﺗﻣﺛل اﺳم ﻣﺗﻐﯾر ‪.‬‬ ‫)ث( ﻋدم وﺿﻊ ﻣﺳﺎﻓﺔ ﺑﯾن ﻣﺗﻐﯾرﯾن ﻓﻬذا ﯾﻌﻧﻰ اﺟراء ﻋﻣﻠﯾﺔ اﻟﺿرب ‪.‬‬ ‫)ج( ﯾﺟب اﻻﻫﺗﻣﺎم ﺑوﺿﻊ اﻻﻗواس ﻋﻠﻰ اﻟﺷﻛل )( ﺑﯾن ﺑﻌض اﻟﻣﺗﻐﯾرات ﺣﺗﻰ‬ ‫ﻻ ﯾﺣدث اﺧطﺎء ﻓﻰ اﻟﺣﺳﺎب ﻓﻣﺛﻼ ‪:‬‬ ‫)‪aa^(2y‬‬

‫‪aa2y‬‬ ‫‪(aa^2)y‬‬

‫‪aa2 y‬‬ ‫‪aa^2y‬‬

‫‪aa2 y‬‬ ‫ﻧﻼﺣظ ان اﻻﻣر اﻻول ﯾﺧﺗﻠف ﻋن اﻻﻣر اﻟﺛﺎﻧﻰ ﻧﺗﯾﺟﺔ اﺧﺗﻼف وﺿﻊ اﻻﻗواس ‪ .‬ﻛﻣﺎ ان ‪ 2y‬ﻓﻰ اﻻﻣر‬ ‫اﻻول ﺗﻌﻧﻰ ﺣﺎﺻل ﺿرب ‪ 2‬ﻓﻰ ‪ y‬اى ﯾﻣﻛن اﻻﺳﺗﻐﻧﺎء ﻋن ﻋﻼﻣﺔ اﻟﺿرب * او اﻟﻣﺳﺎﻓﺔ ﺑﯾن ﻋدد وﻣﺗﻐﯾر‬ ‫ﺑﺷرط ان ﯾﻛن اﻟﻌدد اوﻻ ‪ .‬اﯾﺿﺎ اﻻﻣر اﻟﺛﺎﻧﻰ ﻫو ﻧﻔﺳﺔ اﻻﻣر اﻟﺛﺎﻟث ﻻن اﻟﺑرﻧﺎﻣﺞ ﯾﺣﺳب اوﻻ اﻻس ‪.‬‬ ‫وﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻋﻧد اﻟﺣﺳﺎب ﯾﺣﺳب اوﻻ اﻟذى ﺑﯾن اﻻﻗواس ﺛم اﻻس ﺛم اﻟﻘﺳﻣﺔ او اﻟﺿرب ﺣﺳب اﻻوﻟوﯾﺔ ﺛم‬ ‫اﻟﺟﻣﻊ واﻟطرح ﺣﺳب اﻻوﻟوﯾﺔ ‪.‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اذا ﻛﺎن اﻟﻣطﻠوب ﺗﻌرﯾف اﻟﺑرﻧﺎﻣﺞ ان ﺣﺟم ﻋﯾﻧﺔ ‪ 10‬ﻓﻧﻛﺗب ‪ a=10‬وﯾﻔﺿل اﺧﺗﯾﺎر اﺳم‬ ‫ﻟﻪ ﻋﻼﻗﺔ ﺑﺎﻟﻘﯾﻣﺔ اﻟﺗﻰ ﺳوف ﯾﻌطﻰ ﻟﻬﺎ ﻫذا اﻻﺳم ﻓﻣﻣﻛن اﺧﺗﯾﺎر اﻻﺳم ‪ n‬ﻟﺣﺟم اﻟﻌﯾﻧﺔ وﻧﻛﺗب ‪ n=10‬او‬ ‫ﯾﻛﺗب ;‪ n=10‬ﺣﯾث اﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ ; ﺗﻌﻧﻰ ﻋدم رﻏﺑﺔ اﻟﻣﺳﺗﺧدم ﻓﻰ ظﻬور ﻧﺎﺗﺞ اﻟﺗﻧﻔﯾذ‪ .‬وﻋﻠﻰ ذﻟك‬ ‫ﯾﻣﻛن ﻛﺗﺎﺑﺔ اﻛﺛر ﻣن اﻣر ﻓﻰ ﻧﻔس اﻟﺳطر وﺑﯾن ﻛل اﻣر اﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ وﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻓﺎن ﻧﺎﺗﺞ اﻟﺗﻧﻔﯾذ‬ ‫ﯾﻌطﻰ ﻧﺎﺗﺞ اﺧر ﻋﻣﻠﯾﺔ ﺗم ادﺧﺎﻟﻬﺎ ﻓﻰ اﻟﺳطر وﻫذا ﯾﺗﺿﺢ ﻓﻰ اﻻﻣر اﻻول اﻟﺗﺎﻟﻰ اﻣﺎ ﻓﻰ اﻻﻣر اﻟﺛﺎﻧﻰ اﻟﺗﺎﻟﻰ‬ ‫ﻓﻠم ﺗظﻬر اى ﻧﺗﯾﺟﺔ ﻟوﺟود اﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ ﺑﯾن ﻛل اﻣر واﯾﺿﺎ ﻓﻰ ﻧﻬﺎﯾﺔ اﻻﻣر اﻻﺧﯾر ‪:‬‬ ‫‪cc1=2;ww3=3;eew1=cc1^ww3‬‬ ‫‪٥٠‬‬


‫‪8‬‬ ‫;‪zz1=cc1+ww3;dd3=cc1-eew1‬‬

‫)‪ (٤-٢‬اﻟدوال اﻟﻣﻌرﻓﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‬ ‫ﯾوﺟد ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ اﻛﺛر ﻣن ‪ 1000‬داﻟﺔ ﻣﻌرﻓﺔ اﻟﻰ ﺟﺎﻧب اﻟﻌدﯾد ﻣن اﻟدوال اﻟﻣﻌرﻓﺔ ﻓﻰ‬ ‫اﻟﺣزم اﻟﺟﺎﻫزة وﻫذﻩ اﻟدوال ﻟﻬﺎ اﺳﻣﺎء وﻓﻘﺎ ﻟﻠﻘواﻋد اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫ ﯾﺗﻛون اﺳم اﻟداﻟﺔ ﻣن اﻟﻛﻠﻣﺎت اﻻﻧﺟﻠﯾزﯾﺔ اﻟﻛﺎﻣﻠﺔ ﻻﺳم اﻟداﻟﺔ او اﻻﺧﺗﺻﺎر اﻟرﯾﺎﺿﻰ ﻻﺳم اﻟداﻟﺔ ‪.‬‬‫ اﻟﺣرف اﻻول ﻣن ﻛل ﻛﻠﻣﺔ ﻓﻰ اﺳم اﻟداﻟﺔ ﯾﻛﺗب ﻛﺑﯾر وﺑﺎﻗﻰ اﻟﺣروف ﺗﻛﺗب ﺻﻐﯾرة ‪.‬‬‫ اذا اﻧﺗﻬﻰ اﺳم اﻟداﻟﺔ ﺑﺎﻟﺣرف ‪ Q‬ﻓﻬذا ﯾﻌﻧﻰ ان اﻟداﻟﺔ ﺗﻣﺛل ﺳؤال ﻣﻧطﻘﻰ وﺗﻛون اﻻﺟﺎﺑﺔ ﺻواب ‪ True‬او‬‫ﺧطﺎ ‪.False‬‬ ‫ﻣن اﻣﺛﻠﺔ ﻫذﻩ اﻟدوال اﻟداﻟﺔ اﻻﺳﯾﺔ ]‪ Exp[x‬وداﻟﺔ اﻟﻘﯾﻣﺔ اﻟﻣطﻠﻘﺔ]‪ Abs[x‬واﻟدوال اﻟﻣﺛﻠﺛﯾﺔ ‪The‬‬ ‫‪ Trigonometric Functions‬ﻣﺛل ]‪ Sin[x‬و]‪ Cos[x‬و ]‪ Tan[x‬واﻟدوال اﻟﻣﺛﻠﺛﯾﺔ اﻟﻌﻛﺳﯾﺔ ﻣﺛل‬ ‫]‪ ArcSin[x‬و]‪ .ArcCos[x‬ﺗذﻛر ان ﻛل داﻟﺔ ﻣن ﺗﻠك اﻟدوال ﺗﺑدا ﺑﺣرف ﻛﺑﯾر وﻣﺣﺗوى اﻟداﻟﺔ‬ ‫‪ Arguments‬ﯾﻛون ﺑﯾن ﻗوﺳﯾن ﻣرﺑﻌﯾن ‪ .‬ادﺧل اﻟداﻟﺔ اﻻﺳﯾﺔ ]‪ Exp[x‬ﺗﺣﺻل ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﺎﺋﺞ ﻛﻣﺎ ﻟو‬ ‫ادﺧﻠﻧﺎ ‪. E^x‬ادﺧل ]‪ Log[x‬ﺗﺣﺻل ﻋﻠﻰ اﻟﻠوﻏﺎرﯾﺗم ﻟﻼﺳﺎس اﻟطﺑﯾﻌﻰ ﻟـ ‪ .x‬ادﺧل ]‪ Logn [n,x‬ﺗﺣﺻل‬ ‫ﻋﻠﻰ اﻟﻠوﻏﺎرﯾﺗم ﻟﻼﺳﺎس ‪ .n‬ﻟﻠﺣﺻول ﻋﻠﻰ اﻛﺑر ﻋدد ﻣن اﻻﻋداد ‪ x1 , x 2 ,...‬ﻧﺳﺗﺧدم اﻻﻣر‬ ‫] ‪ Max[ x1 , x 2 ,...‬وﻟﻠﺣﺻول ﻋﻠﻰ اﺻﻐر ﻋدد ﻣن اﻻﻋداد ‪ x1 , x 2 ,...‬ﻧﺳﺗﺧدم اﻻﻣر‬ ‫] ‪ .Min[ x1 , x 2 ,...‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻟﺣﺳﺎب اﻟﻌدداﻻﻛﺑر واﻟﻌدد اﻻﺻﻐر ﻣن ﻗﺎﺋﻣﺔ اﻻﻋداد ‪1,4,5,6‬‬ ‫ﻧﺗﺑﻊ اﻻﺗﻰ ‪:‬‬ ‫]‪Max[1,4,5,6‬‬ ‫‪6‬‬

‫]‪Min[1,4,5,6‬‬ ‫‪1‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺣﺳﺎب داﻟﺔ ﻣﺿروب ‪ n‬ھﻰ‬

‫!‪n‬‬

‫ﻟﺣﺳﺎب ﻣﺿروب !‪: 20‬‬ ‫!‪20‬‬ ‫‪٥١‬‬


‫‪2432902008176640000‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺣﺳﺎب ﻣﻌﺎﻣل ذى اﻟﺣدﯾن‬

‫!‪n‬‬ ‫‪n‬‬ ‫‪m ‬‬ ‫!)‪  m!(n  m‬‬

‫وھﻰ ‪Binomial[m,n]:‬‬

‫!‪10‬‬ ‫‪ 10 ‬‬ ‫ﻟﺣﺳﺎب اﻟﻘﯾﻣﺔ‬ ‫‪: 2  ‬‬ ‫!)‪  2!(10  2‬‬ ‫]‪Binomial[10,2‬‬ ‫‪45‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد )ا( ‪)  n 1 ‬ب( ‪ 101 ‬‬ ‫‪2‬‬ ‫‪ 2‬‬ ‫‪ ‬‬ ‫‪ ‬‬

‫اﻟﺣل‪:‬‬ ‫) ا(‬ ‫]‪Binomial[n+1,2‬‬

‫‪1‬‬ ‫‪n 1  n‬‬ ‫‪2‬‬ ‫)ب(‬ ‫]‪Binomial[101,2‬‬ ‫‪5050‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺣﺳﺎب ﺑﺎﻗﻰ ﺧﺎرج ﻗﺳﻣﺔ‬

‫‪m‬‬ ‫‪n‬‬

‫)‪ (m modulo n‬ﻫﻰ ]‪Mod[m,n‬‬

‫ﻟﺣﺳﺎب ﺑﺎﻗﻰ ‪ 21‬ﻋﻠﻰ‪:3‬‬ ‫]‪Mod[21,3‬‬ ‫‪0‬‬ ‫وﻟﺣﺳﺎب ﺑﺎﻗﻰ ‪ 28‬ﻋﻠﻰ‪:5‬‬ ‫]‪Mod[28,5‬‬ ‫‪3‬‬

‫‪m‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺣﺳﺎب اﻟﺟزء اﻟﺻﺣﯾﺢ ﻣن ﺧﺎرج اﻟﻘﺳﻣﺔ‬ ‫‪n‬‬ ‫ﻟﺣﺳﺎب اﻟﺟزء اﻟﺻﺣﯾﺢ ﻣن ﺧﺎرج ﻗﺳﻣﺔ ‪ 19‬ﻋﻠﻰ ‪:4‬‬ ‫‪٥٢‬‬

‫ﻫو ]‪Quotient[m,n‬‬


‫]‪Quotient[19,4‬‬ ‫‪4‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺣﺳﺎب اﻟﻘﺎﺳم اﻟﻣﺷﺗرك اﻻﻋﻠﻰ ﻟﻼﻋداد ‪ n1,n 2 ,...‬ﻫو ]‪GCD[n1 ,n 2 ,...‬‬ ‫ﻟﺣﺳﺎب اﻟﻘﺎﺳم اﻟﻣﺷﺗرك اﻻﻋﻠﻰ ﻟﻼﻋداد ‪:12,16,24,‬‬ ‫]‪GCD[12,16,24‬‬ ‫‪4‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺣﺳﺎب اﻟﻣﺿﺎﻋف اﻟﻣﺷﺗرك اﻻدﻧﻰ ﻟﻼﻋداد ‪ n1,n 2 ,...‬ﻫﻰ‬

‫]‪LCM[n1 ,n 2 ,...‬‬

‫ﻟﺣﺳﺎب اﻟﻣﺿﺎﻋف اﻟﻣﺷﺗرك اﻻدﻧﻰ ﻟﻼﻋداد ‪: 12,16,24‬‬ ‫]‪LCM[12,16,24‬‬ ‫‪48‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻌﻣل ﻗﺎﺋﻣﺔ ﺑﺎﻻﻋداد اﻟﺻﺣﯾﺣﺔ اﻟﺗﻰ ﺗﻘﺳم اﻟﻌدد ‪ n‬ﻫﻰ ]‪Divisors[n‬‬

‫ﻟﻌﻣل ﻗﺎﺋﻣﺔ ﺗﺣﺗوى ﻋﻠﻰ ﻗواﺳم اﻟﻌدد ‪: 32‬‬ ‫]‪Divisors[32‬‬ ‫}‪{1,2,4,8,16,32‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻻﯾﺟﺎد اﻟﻌدد اﻻوﻟﻰ رﻗم ‪ k‬ﻫﻰ ]‪Prime[k‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌدد اﻻوﻟﻰ رﻗم ‪: 4‬‬ ‫]‪Prime[4‬‬ ‫‪7‬‬

‫اﻻﻋداد اﻟﻌﺷواﺋﯾﺔ‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ رﻗم ﻋﺷواﺋﻰ ﻣﺣﺻور ﺑﯾن ﺻﻔر وواﺣد ‪:‬‬

‫][‪Random‬‬ ‫‪0.923609‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻠﺣﺻول ﻋﻠﻰ ﻋدد ﻋﺷواﺋﻰ ﻣن اﻟﻧوع ‪ type‬وﻓﻰ اﻟﻣدى ‪ ) range‬اﻟﻧوع ‪type‬‬ ‫ﻗد ﯾﻛون ﺣﻘﯾﻘﻰ ‪ Real‬او ﺻﺣﯾﺢ ‪ Integer‬او ﻣرﻛب ‪ ( Complex‬واﻟﻣدى ‪range‬‬ ‫‪٥٣‬‬


‫ﯾﻛون ﺑﺎﻟﺻورة }‪ ( {min,max‬ھو ‪:‬‬

‫]}‪Random[type,{min,max‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻋدد ﺣﻘﯾﻘﻰ ﻋﺷواﺋﻰ ﻣﺣﺻور ﺑﯾن ‪: 5, 0‬‬

‫]}‪Random[Real,{0,5‬‬ ‫‪4.67659‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻋدد ﺻﺣﯾﺢ ﻋﺷواﺋﻰ ﻣﺣﺻور ﺑﯾن ‪:15,20‬‬ ‫]}‪Random[Integer,{15,20‬‬ ‫‪18‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻋدد ﺣﻘﯾﻘﻰ ﻋﺷواﺋﻰ ﻣﺣﺻور ﺑﯾن ‪ 15,20‬وﺑدﻗﺔ ﺛﻣﺎﻧﯾﺔ ارﻗﺎم ﻋﺷرﯾﺔ‪:‬‬ ‫]‪Random[Real,{15,20},8‬‬ ‫‪16.013759‬‬

‫وﯾﺟب ان ﻧﻌﻠم ان داﻟﺔ ‪ Random‬ﺗﻌطﻰ ﻗﯾﻣﺔ ﻣﺧﺗﻠﻔﺔ ﻓﻰ ﻛل ﻣرة ﯾﺗم اﺳﺗدﻋﺎﺋﻬﺎ وﻟﺿﻣﺎن ذﻟك ﻧﺳﺗﺧدم‬ ‫اﻻﻣر ]‪ SeedRandom[m‬ﺣﯾث ‪ m‬اى ﻗﯾﻣﺔ ﯾﺧﺗﺎرﻫﺎ اﻟﻣﺳﺗﺧدم ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻟﺗوﻟﯾد ﺛﻼث ارﻗﺎم‬ ‫ﻗﯾﻣﺗﻬم ﺗﻧﺣﺻر ﻣن ﺻﻔر اﻟﻰ واﺣد ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫}][‪{Random[],Random[],Random‬‬ ‫}‪{0.764286,0.650675,0.0243112‬‬ ‫ﻋﻨﺪ اﻋﺎدة اﻻدﺧﺎل ﺗﺨﺘﻠﻒ اﻟﻨﺘﯿﺠﺔ ‪:‬‬ ‫}][‪{Random[],Random[],Random‬‬ ‫}‪{0.373755,0.39334,0.941159‬‬

‫وﻋﻨﺪ اﻟﺮﻏﺒﺔ ﻓﻰ اﻋﺎدة اﻻدﺧﺎل ﻣﻊ ﻋﺪم اﺧﺘﻼف اﻟﻨﺘﯿﺠﺔ ﯾﺴﺘﺨﺪم اﻻﻣﺮ ‪:‬‬ ‫]‪SeedRandom[m‬‬ ‫ﺣﯾث ‪ m‬اى رﻗم ﻋﺷواﺋﻰ ﯾﺧﺗﺎرﻩ اﻟﻣﺳﺗﺧدم ﻣﺛل اﻟﯾوم اﻟﺣﺎﻟﻰ او اﻟﺳﺎﻋﺔ اﻟﺣﺎﻟﯾﺔ ﻛﻣﺎ ﻫو ﻣوﺿﺢ ﻓﻰ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪SeedRandom[128‬‬ ‫}][‪{Random[],Random[],Random‬‬ ‫}‪{0.355565,0.486779,0.00573919‬‬ ‫]‪SeedRandom[128‬‬ ‫}][‪{Random[],Random[],Random‬‬ ‫}‪{0.355565,0.486779,0.00573919‬‬

‫‪٥٤‬‬


‫ﺗﻘﺎس ﺟودة اﻻﻋداد اﻟﻌﺷواﺋﯾﺔ اﻟﻣوﻟدة ﺑﺎن اﻻرﻗﺎم ﺗﺗوزع ﻋﻠﻰ ﻋدد ﻛﺑﯾر ﻣن اﻟﻣﺣﺎوﻻت ‪.‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫ﺑﻔرض اﻧﻧﺎ ﻧرﻏب ﻓﻰ ﺗوﻟﯾد ﻗﺎﺋﻣﺔ ﻣن ‪ 1000‬ﻋدد ﻋﺷواﺋﻰ ﺻﺣﯾﺢ ﯾﻘﻊ ﺑﯾن ﺻﻔر وﺗﺳﻌﺔ ‪.‬‬

‫;]}‪aa1=Table[Random [Integer,{0,9}],{1000‬‬ ‫وﺗم رﺳم اﻟﺗﻛ اررات ﻟﻛل ﻋدد ﻣن اﻻﻋداد ﻣن ﺻﻔر اﻟﻰ ﺗﺳﻌﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫`‪<<Graphics`Graphics‬‬ ‫`‪<<Statistics`DataManipulation‬‬ ‫]]‪BarChart[Frequencies[aa1‬‬

‫‪100‬‬ ‫‪80‬‬ ‫‪60‬‬ ‫‪40‬‬ ‫‪20‬‬

‫‪9‬‬

‫‪8‬‬

‫‪6‬‬

‫‪7‬‬

‫‪5‬‬

‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪Graphics‬‬

‫ﯾﻼﺣظ ان ﻛل ﻋدد ﻣن اﻻﻋداد ﻣن ﺻﻔر اﻟﻰ ﺗﺳﻌﺔ ﯾظﻬر ﺣواﻟﻰ ‪ 1/100‬ﻣن اﻟﻣرات ‪ .‬ﻣﻊ اﻟﻌﻠم اﻧﻧﺎ ﻻ‬ ‫ﻧرﯾد ان ﯾﻛون ﻋدد ﻣرات ظﻬور اﻟﻌدد ﺑﺎﻟﺿﺑط ‪ 1/100‬ﻣن اﻟﻣرات ‪ .‬ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﻟﻠﺗوزﯾﻊ اﻟﻣﻧﺗظم ﻟﻼﻋداد‬ ‫ﻣن ﺻﻔر اﻟﻰ ﺗﺳﻌﺔ ﻓﺎن اﻟﻣﺗﺗﺎﺑﻌﺔ ﻣن اﻻﻋداد ﻣن ﺻﻔر اﻟﻰ ﺗﺳﻌﺔ اﻣﻛﺎﻧﯾﺔ وﻗوﻋﻬﺎ ﻣﺛل اى ﻣﺗﺗﺎﺑﻌﺔ اﺧرى‬ ‫ﻣن ‪ 1000‬ﻣن اﻻﻋداد ‪ .‬ﻓﺎﻟﻣﺗﺗﺎﺑﻌﺔ ﻣن ‪ 1000‬واﻟﺗﻰ ﺗﺣﺗوى ﺑﺎﻟﺿﺑط ﻋﻠﻰ ‪ 100‬ﻣن ﻛل ﻋدد ﻣن اﻻﻋداد‬ ‫ﻣن ﺻﻔر اﻟﻰ ﺗﺳﻌﺔ ﻟﻬﺎ اﻣﻛﺎﻧﯾﺔ وﻗوع ﻣﺛل اﻟﻣﺗﺗﺎﺑﻌﺔ ﻣن ‪ 1000‬رﻗم ﻛﻠﻬم ﯾﻣﺛﻠون اﻟﻌدد ‪ 7‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫‪.‬‬

‫دوال اﻟﺗﻧﺑﺎ ‪Predicates Functions‬‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ اﺗﺧﺎذ ﻗرار ﺑﺷﺎن ﺑﯾﺎﻧﺎﺗﻧﺎ وﻫل ﺗﺣﻘق ﺧﺻﺎﺋص ﻣﻌﯾﻧﺔ ام ﻻ‪ .‬ﺗﺳﺗﺧدم اﻟداﻟﺔ‬ ‫‪ Predicate‬ﻻﺧراج ﻛﻠﻣﺔ ‪)True‬ﺻواب ( او ‪) False‬ﺧطﺎ( ﺑﻧﺎء ﻋﻠﻰ اﺧﺗﺑﺎر ﺗﻘوم ﺑﻪ‪ .‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫‪٥٥‬‬


‫اﻟداﻟﺔ ]‪: PrimeQ[k‬‬ ‫ﺗﺧﺗﺑر اذا ﻛﺎن اﻟﻌدد ﻋدد اوﻟﻰ ﻓﺎن اﻟﻧﺎﺗﺞ ﯾﻛون ﺻواب ‪ True‬وﺧﻼف ذﻟك ﯾﻛون ﺧطﺎ ‪False‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻟداﻟﺔ ]‪ PrimeQ[145‬ﺗﺧﺗﺑر ﻫل‪ 145‬ﻋدد اوﻟﻰ ام ﻻ واﻟﻧﺗﯾﺟﺔ ‪ False‬ﻛﻣﺎ ﻧرى ‪:‬‬ ‫]‪PrimeQ[145‬‬ ‫‪False‬‬

‫اﻟداﻟﺔ‪:‬‬ ‫]‪ PrimeQ[2^3-1‬ﺗﺧﺗﺑر ﻫل ﻧﺎﺗﺞ اﻟﻌﻣﻠﯾﺔ ‪ 2^3-1‬ﻋدد اوﻟﻰ ام ﻻ ‪:‬‬ ‫]‪PrimeQ[2^3-1‬‬ ‫‪True‬‬ ‫اﻟدوال اﻟﺗﺎﻟﯾﺔ ﺗﺧﺗﺑر ﻫل اﻟﻌدد اﻟﻣﻌطﻰ ﻓردى او زوﺟﻰ او ﺻﺣﯾﺢ ‪:‬‬ ‫]‪OddQ[21‬‬ ‫‪True‬‬ ‫]‪EvenQ[21‬‬ ‫‪False‬‬ ‫]‪IntegerQ[5/9‬‬ ‫‪False‬‬

‫اﺧﺗﺑﺎر ﻣﺎ اذا ﻛﺎن اﻟﻌدد ‪ 90‬ﻋدد اوﻟﻰ‬ ‫]‪PrimeQ[90‬‬ ‫‪False‬‬

‫دوال اﻟﻘﯾﻣﺔ اﻟﻣطﻠﻘﺔ واﻻﺳﯾﺔ واﻟﻠوﻏﺎﺗﻣﯾﺔ‬ ‫‪The Absolute Value,Exponential,and Logarithmic Functions‬‬ ‫اﻟﺣﺳﺎﺑﺎت اﻟﺗﻰ ﺗﺧص اﻟدوال ]‪ Abs[x] , Exp[x] , Log[x‬ﺗظﻬر ﻓﻰ اﻻﻣﺛﻠﺔ اﻻﺗﯾﺔ ‪ .‬ﻟﻠﺣﺻول ﻋﻠﻰ‬ ‫ﺗﻘرﯾب ﻋددي ﻟـ]‪ Exp[x‬ﯾﻔﺿل اﺳﺗﺧدام اﻻﻣر ]]‪ N[Exp[x‬او اﻻﻣر ‪ Exp[x]//N‬وﻏﯾر ذﻟك اﻟﻘﯾﻣﺔ‬ ‫اﻟﻣﺿﺑوطﺔ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ واﻟﺗﻰ ﻓﻰ ﺣﺎﻻت ﻛﺛﯾرة ﻟﯾﺳت ﺿرورﯾﺔ ﻣﺛل اﻟﺗﻘرﯾب اﻟﻌددى ‪.‬‬

‫ﻣﺛﺎل‬

‫ﻗرب ‪ 1/ e6‬‬

‫‪6‬‬

‫‪ e‬وﻣﺛﻠﻬﺎ ﺑﯾﺎﻧﯾﺎ‪:‬‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧدﺧل ‪:‬‬ ‫‪٥٦‬‬


‫]‪Exp[-6‬‬

‫‪1‬‬ ‫‪6‬‬

‫واﻟﺗﻰ ﺗؤدى اﻟﻰ اﻟﻘﯾم اﻟﻣﺿﺑوطﺔ ﻟـ ‪ 1/ e6‬‬

‫‪6‬‬

‫‪ e‬ﺑﯾﻧﻣﺎ ادﺧﺎل ‪:‬‬ ‫‪Exp[-6]//N‬‬ ‫‪0.00247875‬‬

‫ﺗؤدى اﻟﻰ اﻟﻘﯾﻣﺔ اﻟﻣﻘرﺑﺔ ‪ .‬ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻧﺣﺻل ﻋﻠﯾﻬﺎ اذا ادﺧﻠﻧﺎ ]]‪: N[Exp[6‬‬ ‫]]‪N[Exp[-6‬‬ ‫‪0.00247875‬‬

‫اﻟدوال اﻟﺣﻘﯾﻘﯾﺔ ﻟﻣﺗﻐﯾر واﺣد ﯾﻣﻛن ﺗﻣﺛﯾﻠﻬﺎ ﺑﯾﺎﻧﯾﺎ ﺑﺎﺳﺗﺧدام ‪) Plot‬دون اﻟدﺧول ﻓﻰ اﻟﺗﻔﺎﺻﯾل اﻻن ( ﺣﯾث‬ ‫اﻻﻣر ﯾﻛﺗب ﺑﺻورة ﻣﺑﺳطﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]}‪ Plot[f[x]],{x,a,b‬واﻟذى ﯾرﺳم اﻟداﻟﺔ ]‪ f[x‬ﻓﻰ اﻟﻔﺗرة ]‪ . [a,b‬ﻟرﺳم ‪ e‬ﻓﻰ اﻟﻔﺗرة ]‪. [2,4‬‬ ‫‪x‬‬

‫]}‪Plot[Exp[x],{x,2,4‬‬ ‫‪50‬‬ ‫‪40‬‬ ‫‪30‬‬ ‫‪20‬‬ ‫‪10‬‬

‫‪4‬‬

‫‪3.5‬‬

‫‪3‬‬

‫‪2.5‬‬

‫‪Graphics‬‬

‫ﺑﺎﻻﺿــﺎﻓﺔ اﻟــﻰ اﻻﻋــداد اﻟﺣﻘﯾﻘﯾــﺔ ‪ ،‬ﻓــﺎن اﻟداﻟــﺔ ]‪ Abs[x‬ﯾﻣﻛــن اﺳــﺗﺧداﻣﻬﺎ ﻟﻠﺣﺻــول ﻋﻠــﻰ اﻟﻘﯾﻣــﺔ اﻟﻣطﻠﻘــﺔ ﻟﻌــدد‬ ‫ﺗﺧﯾﻠﻰ ‪ a+bi‬ﺣﯾث ]‪ . Abs[a+bi]=Sqrt[a^2+b^2‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﺑﺎدﺧﺎل ‪:‬‬ ‫]‪Abs[-10‬‬ ‫‪10‬‬ ‫ﺗﺣﺳب ‪ | 10 | 10‬وﺑﺎدﺧﺎل ‪:‬‬ ‫]‪Abs[120‬‬ ‫‪120‬‬ ‫‪٥٧‬‬


‫ﺗﺣﺳب ‪|120 | 120‬‬

‫‪.‬‬

‫ﻣﺛﺎل‬ ‫| ‪ | x‬ﻓﻰ اﻟﻔﺗرة ]‪[-5,5‬‬

‫ارﺳم‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم ‪ Plot‬ﻟرﺳم اﻟداﻟﺔ ]‪ . Abs[x‬اﻟﺧﯾﺎر}‪ PlotRange->{-1,5‬ﯾﻌﻧﻰ ان اﻟﻣﺣور اﻻﻓﻘﻰ ﻣﺣدد ﻓﻰ‬ ‫اﻟﻔﺗرة }‪ {-1,5‬واﻟﺧﯾﺎر >‪ AspectRatio-‬ﯾﺣدد اﻟﻧﺳﺑﺔ ﺑﯾن طول اﻟﻣﺣور اﻟراﺳﻰ اﻟﻰ اﻟﻣﺣور اﻻﻓﻘﻰ ‪:‬‬ ‫]‪Plot[Abs[x],{x,-5,5},PlotRange{-1,5},AspectRatio.5‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬

‫‪-4‬‬

‫‪-1‬‬

‫‪Graphics‬‬

‫اﻻوﻏﺎرﯾﺗﻣﺎت ﯾﻣﻛن ﺣﺳﺎﺑﻬﺎ ﺑﺎﺳﺗﺧدام اﻟداﻟﺔ ]‪ Log[x‬ﺣﯾث ﻧﺣﺻل ﻋﻠﻰ اﻻوﻏﺎرﯾﺗم اﻟطﺑﯾﻌﻰ ﻟـ‪ x‬واﻟﺗﻰ ﻋﺎدة‬ ‫ﺗﻣﺛل ﺑﺎﻟرﻣز ‪ lnx‬او ‪. log e x‬‬ ‫‪?Log‬‬

‫‪Logz gives the natural logarithm‬‬ ‫‪of z logarithm to base e. Logb, z‬‬ ‫…‪gives the logarithm to base b. More‬‬ ‫ادﺧل ‪:‬‬ ‫]‪Log[E‬‬ ‫‪1‬‬ ‫اﻟﻧﺗﯾﺟﺔ واﺣد ﺻﺣﯾﺢ ‪ .‬ادﺧل‬ ‫‪5‬‬

‫‪LogE ‬‬ ‫‪5‬‬ ‫اﻟﻧﺗﯾﺟﺔ ‪ . 5‬ادﺧل‬ ‫]]‪Exp[Log[‬‬ ‫‪‬‬

‫اﻟﻧﺗﯾﺟﺔ ‪‬‬ ‫‪٥٨‬‬


‫‪lnb‬‬ ‫داﻟﺔ اﻻوﻏﺎرﯾﺗم ﺗﺳﺗﺧدم ﻓﻰ ﺣﺳﺎب ﻟوﻏﺎرﯾﺗﻣﺎت ﺑﺎﺳﺎﺳﺎت ﻏﯾر‪ Log[a,b] . e‬ﺗﺣﺳب‬ ‫‪ln a‬‬

‫‪log a b ‬‬

‫وﻋﻠﻰ ذﻟك ﺑﺎدﺧﺎل ‪:‬‬

‫]‪Log[3,9‬‬ ‫‪2‬‬ ‫ﻧﺣﺻل ﻋﻠﻰ ‪2‬‬

‫وﺑﺎدﺧﺎل ‪:‬‬ ‫]‪Log[2,10‬‬

‫‪Log10‬‬ ‫‪Log2‬‬ ‫ﻧﺣﺻل ﻋﻠﻰ اﻣر اﻻدﺧﺎل ﻧﻔﺳﮫ ‪ .‬ﺗﻘرﯾب ﻟﻌﺷرة ارﻗﺎم ﻋﺷواﺋﯾﺔ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﮫ ﺑﺎﺳﺗﺧدام ‪N‬‬

‫]]‪N[Log[2,10‬‬ ‫‪3.32193‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم‬

‫‪ ln x‬ﻓﻰ اﻟﻔﺗرة ]‪[0.002,8‬‬

‫اﻟﺣل‪:‬‬

‫ﺳوف ﻧﺳﺗﺧدم ‪ Plot‬ﻟرﺳم اﻟداﻟﺔ ]‪ ln[x‬واﻟﺧﯾﺎر }}‪ PlotRange{{0,8},{-2,2‬ﯾﻌﻧﻰ ان‬ ‫اﻟﻣﺣور اﻻﻓﻘﻰ ﯾﺣدد ﻓﻰ اﻟﻔﺗرة }‪ {0,8‬واﻟﻣدى ﯾﺣدد ﻓﻰ اﻟﻔﺗرة }‪ {-2,2‬واﻟﺧﯾﺎر ‪ AspectRatio->1‬ﯾﻌﻧﻰ ان‬ ‫اﻟﻧﺳﺑﺔ ﺑﯾن طول اﻟﻣﺣور اﻟراﺳﻰ اﻟﻰ اﻟﻣﺣور اﻻﻓﻘﻰ ﺗﺳﺎوى واﺣد ‪.‬‬ ‫{‪Plot[Log[x],{x,0.002,8},PlotRange{{0,8},‬‬‫]‪2,2}},AspectRatio1‬‬

‫‪٥٩‬‬


‫‪2‬‬ ‫‪1.5‬‬ ‫‪1‬‬ ‫‪0.5‬‬

‫‪8‬‬

‫‪7‬‬

‫‪5‬‬

‫‪6‬‬

‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬ ‫‪-0.5‬‬ ‫‪-1‬‬ ‫‪-1.5‬‬ ‫‪-2‬‬

‫‪Graphics‬‬

‫اﻟدوال اﻟﻣﺛﻠﺛﯾﺔ ‪Trigonometric Functions‬‬ ‫ﯾﺗﻧﺎول ﻫذا اﻟﻘﺳم اﻣﺛﻠﺔ ﻋﻠﻰ اﻟﻌﻣﻠﯾﺎت اﻟﺗﻰ ﺗﺟرى ﻋﻠﻰ اﻟدوال اﻟﻣﺛﻠﺛﯾﺔ‬ ‫]‪Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x‬‬ ‫ﺣﯾث ‪ x‬ﻣﻘﺎﺳﺔ ﺑﺎﻟﺗﻘدﯾر اﻟداﺋرى‪ .‬ﯾﻘدم اﻟﺑرﻧﺎﻣﺞ اﻟﻘﯾم اﻟﻣﺿﺑوطﺔ ﻟﻠدوال اﻟﻣﺛﻠﺛﯾﺔ ﻟﺑﻌض اﻟزواﯾﺎ ﺑﯾﻧﻣﺎ اﻟﺗﻘرﯾﺑﺎت‬ ‫اﻟﻌددﯾﺔ ﺗﺳﺗﺧدم ﻟﻐﯾر ذﻟك ‪.‬‬

‫ﻣﺛﺎل‬ ‫‪‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪9‬‬ ‫اﺣﺳب ) ‪cos( ),sin( ),tan( ),cos( ),cos( ),sin( ‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪12‬‬ ‫‪5‬‬ ‫‪8‬‬

‫اﻟﺣل‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪4‬‬

‫‪Cos‬‬ ‫‪1‬‬ ‫‪‬‬

‫‪‬‬

‫‪٦٠‬‬

‫‪‬‬

‫‪3‬‬

‫‪2‬‬

‫‪Sin‬‬


‫‪‬‬

‫‪3‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪‬‬

‫‪3‬‬ ‫‪2‬‬

‫‪Tan‬‬ ‫‪-1‬‬

‫‪‬‬

‫‪12‬‬

‫‪Cos‬‬

‫‪‬‬

‫‪3‬‬

‫‪1‬‬

‫‪2 ‬‬ ‫‪2‬‬

‫‪‬‬ ‫اﻟﺑرﻧﺎﻣﺞ ﻟم ﯾﺳﺗطﯾﻊ اﯾﺟﺎد ﻗﯾﻣﺔ ﻣﺿﺑوطﺔ ﻟـ ) (‪cos‬‬ ‫‪12‬‬ ‫وﻟذﻟك ﯾﻣﻛن اﺳﺗﺧدام ‪ N‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ‪:‬‬

‫‪‬‬

‫‪‬‬

‫‪12‬‬

‫‪NCos‬‬

‫‪0.965926‬‬

‫‪‬‬

‫‪‬‬

‫‪5‬‬

‫‪Cos‬‬

‫‪1‬‬ ‫‪‬‬ ‫‪1  5 ‬‬ ‫‪4‬‬

‫‪‬‬ ‫اﯾﺿﺎ اﻟﺑرﻧﺎﻣﺞ ﻟم ﯾﺳﺗطﯾﻊ اﯾﺟﺎد ﻗﯾﻣﺔ ﻣﺿﺑوطﺔ ﻟـ ) (‪cos‬‬ ‫‪5‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ‪:‬‬ ‫وﻟذﻟك ﯾﻣﻛن اﺳﺗﺧدام ‪N‬‬

‫‪‬‬

‫‪‬‬

‫‪5‬‬

‫‪NCos‬‬

‫‪0.809017‬‬

‫‪9‬‬ ‫اﯾﺿﺎ اﻟﺑرﻧﺎﻣﺞ ﻟم ﯾﺳﺗطﯾﻊ اﯾﺟﺎد ﻗﯾﻣﺔ ﻣﺿﺑوطﺔ ﻟـ )‬ ‫‪8‬‬

‫(‪cos‬‬

‫وﻟذﻟك ﯾﻣﻛن اﺳﺗﺧدام ‪ N‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ‪:‬‬

‫‪‬‬

‫‪9‬‬

‫‪8‬‬

‫‪Sin‬‬

‫‪9‬‬ ‫‪‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪NSin‬‬ ‫‪‬‬

‫‪Sin‬‬

‫‪8‬‬

‫‪0.382683‬‬ ‫‪٦١‬‬


‫‪‬‬ ‫‪‬‬ ‫‪ ) sin 2‬واﻟﺗﻰ ﻣﻌﻧﺎﻫﺎ ﺣﺳﺎب‬ ‫وﯾﺟب اﻟﺣرص ﻓﻰ ﻛﺗﺎﺑﺔ اﻟدوال ﻓﻣﺛﻼ اﻟﺗﻌﺑﯾر‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪‬‬ ‫‪2 ‬‬ ‫‪. sin‬‬ ‫اﻟﻧﺎﺗﺞ ( اى ‪ (sin ) 2‬‬ ‫‪6‬‬ ‫‪6‬‬

‫‪ sin‬اوﻻ ﺛم ﺗرﺑﯾﻊ‬

‫وﻋﻧد اﻟﻛﺗﺎﺑﺔ ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﺗﻛﺗب ‪:‬‬

‫‪Sin[Pi/6]^2‬‬

‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬

‫]‪Sin^2[Pi/6‬‬ ‫وﻟﯾس ‪:‬‬ ‫‪‬‬

‫‪2 ‬‬ ‫‪Sin 6‬‬

‫‪‬‬ ‫واﻟﺗﻰ ﺗرﻓﻊ رﻣز ‪ Sin‬اﻟﻰ اﻟﻘوى ] [‪2‬‬ ‫‪6‬‬

‫‪.‬‬

‫‪‬‬ ‫‪‬‬ ‫ﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ اﺳﺗﺧدام اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻣرة اﺧرى ﺗﺎﻛد ﻣن ﺗرﺑﯾﻊ ‪ sin‬ﻟﻠﺣﺻول ﻋﻠﻰ‬ ‫‪6‬‬ ‫‪6‬‬

‫‪2‬‬

‫‪: sin‬‬

‫‪ 2‬‬ ‫‪‬‬

‫‪6‬‬

‫‪Sin‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم ‪sin x,csc x, tan x,cot x‬‬

‫اﻟﺣل‪:‬‬ ‫ﻓﻰ ﻛل ﺣﺎﻟﺔ ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‪ Plot‬ﻟرﺳم اﻟداﻟﺔ اﻟﻣطﻠوﺑﺔ ‪ .‬اوﻻ ﺳوف ﻧرﺳم ‪ sin x‬و‪ cs cx‬ﻓﻰ اﻟﻔﺗرة‬

‫‪٦٢‬‬

‫‪1‬‬ ‫‪4‬‬


‫]‪. [2, 2‬‬ ‫]}‪Plot[Sin[x],{x,-2,2‬‬ ‫‪1‬‬

‫‪0.5‬‬

‫‪6‬‬

‫‪4‬‬

‫‪2‬‬

‫‪6‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪-6‬‬

‫‪-0.5‬‬

‫‪-1‬‬

‫‪Graphics‬‬ ‫]}‪Plot[Csc[x],{x,-2,2‬‬ ‫‪15‬‬ ‫‪10‬‬ ‫‪5‬‬ ‫‪-2‬‬

‫‪-4‬‬

‫‪-6‬‬

‫‪-5‬‬ ‫‪-10‬‬ ‫‪-15‬‬

‫‪Graphics‬‬

‫ﺑﺻورة ﻋﺎﻣﺔ ﺳوف ﻧﺳﺗﺧدم اﻟﺻﯾﻐﺔ اﻻﺗﯾﺔ ﻟﻼﻣر ‪ Plot‬ﻟرﺳم داﻟﺗﯾن )‪ f(x),g(x‬ﻣﻌﺎ ﻓﻰ اﻟﻔﺗرة ]‪ [a,b‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫]}‪Plot[{f[x],g[x]},{x,a,b‬‬ ‫ﺗﻔﺎﺻﯾل رﺳم اﻟدوال ﺳوف ﻧﻌرﺿﻬﺎ ﻓﻲ ﻓﯾﻣﺎ ﺑﻌد ‪.‬‬ ‫ﻫﻧﺎ ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Plot‬ﻣﻊ اﻟﺧﯾﺎرات ‪ PlotRange And AspectRatio‬و اﻟﺧﯾﺎر‬ ‫} ]‪ PlotStyle->{GrayLevel[0],Gray[.5‬واﻟﺗﻰ ﺗﻌﻧﻰ اﻧﻪ ﻋﻧد رﺳم داﻟﺗﯾن اﻻوﻟﻰ ‪ sin x‬ﺗرﺳم ﺑﺎﻟﻠون‬ ‫اﻻﺳود واﻟﺛﺎﻧﯾﺔ ‪ csc x‬ﺗرﺳم ﺑﺎﻟﻠون اﻟرﻣﺎدى اﻟﺧﻔﯾف ‪ .‬اﻟﺧﯾﺎر }‪ PlotRange->{-2Pi,2Pi‬ﺗﻌﻧﻰ ان ﻣدى‬ ‫اﻟﻣﺣور اﻟراﺳﻰ ﻓﻰ اﻟﻔﺗرة ]‪ . [2, 2‬ﻧﺳﺑﺔ اﻟﻣﺣور اﻻﻓﻘﻰ اﻟﻰ اﻟﻣﺣور اﻟراﺳﻰ واﺣدة وذﻟك ﺑﺳﺑب اﻟﺧﯾﺎر‬ ‫‪. AspectRatio   1‬‬ ‫‪٦٣‬‬


Plot[{Sin[x],Csc[x]},{x,-2,2},PlotRange{2,2},PlotStyle{GrayLevel[0],GrayLevel[.5]},AspectRatio 1] 6

4

2

-6

-4

-2

2

4

6

-2

-4

-6

Graphics

: ‫ ﻣﻌﺎ ﻛﺎﻟﺗﺎﻟﻰ‬tan x cot x ‫ﯾﻣﻛن رﺳم‬

Plot[{Tan[x],Cot[x]},{x,-2,2},PlotRange{2,2},PlotStyle{GrayLevel[0],GrayLevel[.5]},AspectRatio 1]

٦٤


‫‪6‬‬

‫‪4‬‬

‫‪2‬‬

‫‪6‬‬

‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬

‫‪-6‬‬

‫‪-4‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪-6‬‬

‫‪Graphics‬‬

‫اﻟدوال اﻟﻣﺛﻠﺛﯾﺔ اﻟﻌﻛﺳﯾﺔ ‪Inverse Trigonometric Functions‬‬ ‫اﻻواﻣــر اﻟﺧﺎﺻــﺔ ﺑﺎﻟــدوال اﻟﻣﺛﻠﺛﯾــﺔ اﻟﻌﻛﺳــﯾﺔ ﺗﺷــﺑﺔ ﻣــﺎ ﺗــم اﺳــﺗﺧداﻣﻪ ﻓــﻰ اﻟــدوال اﻟﻣﺛﻠﺛﯾــﺔ ‪ .‬ﻣ ـرة اﺧــرى اﻟﺣــرﻓﯾن‬ ‫اﻟﻛﺑﯾرﯾن ﻓﻰ ﻛﺗﺎﺑﺔ اﻟدوال اﻟﻣﺛﻠﺛﯾﺔ اﻟﻌﻛﺳﯾﺔ ‪ .‬اﻟدوال اﻟﻣﺛﻠﺛﯾﺔ ﺗﻛﺗب ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪ArcCos[x], ArcSec[x], ArcTan [x], ArcCsc [x], ArcCot[x], ArcSin [x‬‬ ‫اذا ﻛﺎﻧت اﻟﻘﯾم ﻣﻌروﻓﺔ ﺟﯾدا ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﺧرﺟﻬﺎ ‪ ،‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫‪1‬‬ ‫‪ArcCos ‬‬ ‫‪2‬‬ ‫‪‬‬

‫‪3‬‬

‫‪1 ‬‬ ‫اى ان‬ ‫‪cos 1 ( ) ‬‬ ‫‪2 3‬‬ ‫]‪ArcSin[-1‬‬ ‫‪‬‬

‫‪2‬‬

‫‪٦٥‬‬

‫‪‬‬


‫‪‬‬ ‫اى ان‬ ‫‪2‬‬

‫‪sin 1 (1)  ‬‬

‫وﺑﺎدﺧﺎل ‪:‬‬

‫‪1‬‬ ‫‪ArcSin ‬‬ ‫‪2‬‬ ‫‪‬‬

‫‪6‬‬

‫‪1 ‬‬ ‫ﺗﺧرج ‪‬‬ ‫‪2 6‬‬

‫‪tan 1‬‬

‫ﻓﻰ ﻣﻌظم اﻻﺣوال ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﯾﻛون ﻣن اﻟﺿرورى اﺳﺗﺧدام ‪ N‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫ﯾﻣﻛن اﺳﺗﺧدام ‪//N‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ‪:‬‬

‫‪1‬‬ ‫‪ArcSin   N‬‬ ‫‪2‬‬ ‫‪0.523599‬‬

‫‪1‬‬ ‫ﺗﺧرج ﺗﻘرﯾب ﻟـ‬ ‫‪2‬‬

‫‪tan 1‬‬

‫ﻣﺛﺎل اﺧر ‪:‬‬

‫‪ArcTan[99]//N‬‬ ‫‪1.5607‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم )‪cot 1 (x‬‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‪ Plot‬ﻟرﺳم اﻟداﻟﺔ اﻟﻣطﻠوﺑﺔ ‪.‬‬ ‫]}‪Plot[ArcCot[x],{x,-1,1‬‬ ‫‪1.5‬‬ ‫‪1‬‬ ‫‪0.5‬‬

‫‪1‬‬

‫‪-0.5‬‬

‫‪0.5‬‬

‫‪-1‬‬

‫‪-0.5‬‬ ‫‪-1‬‬ ‫‪-1.5‬‬

‫‪Graphics‬‬ ‫‪٦٦‬‬


‫اﻟدوال اﻟزاﺋدﯾﺔ ‪Hyperbolic Functions‬‬ ‫اﻻواﻣر اﻟﺧﺎﺻﺔ ﺑﺎﻟدوال اﻟزاﺋدﯾﺔ ﺗﺷﺑﺔ ﻣﺎ ﺗم اﺳﺗﺧداﻣﻪ ﻓﻰ اﻟدوال اﻟﻣﺛﻠﺛﯾﺔ ‪ .‬اذا ﻛﺎﻧت اﻟﻘﯾم ﻣﻌروﻓﺔ ﺟﯾدا ﻓﺎن‬ ‫اﻟﺑرﻧﺎﻣﺞ ﯾﺧرﺟﮭﺎ‪.‬‬ ‫ﻓﻰ ﻣﻌظم اﻻﺣوال ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﯾﻛون ﻣن اﻟﺿرورى اﺳﺗﺧدام‬ ‫‪ //N‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻛﻣﺎ ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ‪:‬‬ ‫]‪Sinh[4‬‬ ‫]‪Sinh[4‬‬ ‫‪Sinh[4]//N‬‬ ‫‪27.2899‬‬

‫اﻟدوال اﻟزاﺋدﯾﺔ اﻟﻌﻛﺳﯾﺔ ‪Inverse Hyperbolic Functions‬‬

‫اﻻواﻣــر اﻟﺧﺎﺻــﺔ ﺑﺎﻟــدوال اﻟزاﺋدﯾــﺔ اﻟﻌﻛﺳــﯾﺔ ﺗﺷــﺑﺔ ﻣــﺎ ﺗــم اﺳــﺗﺧداﻣﻪ ﻓــﻰ اﻟــدوال اﻟﻣﺛﻠﺛﯾــﺔ اﻟﻌﻛﺳــﯾﺔ ‪ .‬اذا ﻛﺎﻧــت اﻟﻘــﯾم‬ ‫ﻣﻌروﻓﺔ ﺟﯾدا ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﺧرﺟﻬﺎ ‪.‬‬ ‫ﻓﻰ ﻣﻌظم اﻻﺣوال ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﯾﻛون ﻣن اﻟﺿرورى اﺳﺗﺧدام‬ ‫‪ //N‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ ﺗﻘرﯾﺑﯾﺔ ﻛﻣﺎ ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ‪:‬‬

‫]‪ArcCosh[6‬‬ ‫]‪ArcCosh[6‬‬ ‫‪ArcCosh[6]//N‬‬ ‫‪2.47789‬‬ ‫‪ArcSinh[5]//N‬‬ ‫‪2.31244‬‬

‫‪1‬‬ ‫‪ArcTanh   N‬‬ ‫‪2‬‬ ‫‪-0.549306‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم )‪sinh 1 (x‬‬

‫اﻟﺣل‪:‬‬ ‫‪٦٧‬‬


‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‪ Plot‬ﻟرﺳم اﻟداﻟﺔ اﻟﻣطﻠوﺑﺔ ‪.‬‬ ‫]}‪Plot[ArcSinh[x],{x,-3,3},PlotRange{-3,3‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪3‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-3‬‬

‫‪-1‬‬ ‫‪-2‬‬ ‫‪-3‬‬ ‫‪Graphics‬‬

‫)‪ (٥-٢‬اﻟﺗﻌﺑﯾرات ‪Expressions‬‬ ‫ﻛل ﻛﻣﯾﺔ ﺗدﺧل اﻟﺑرﻧﺎﻣﺞ ‪ ،‬ﺑﺻـرف اﻟﻧظـر ﻋـن اﻟﻛﯾﻔﯾـﺔ اﻟﺗـﻰ ﺗظﻬـر ﺑﻬـﺎ ﺗﺳـﻣﻰ ﺗﻌﺑﯾـر ‪ . expression‬اى ﺗﻌﺑﯾـر‬ ‫ﯾﺎﺧذ اﻟﺷﻛل اﻟﺗﺎﻟﻰ‪:‬‬

‫] ‪head[arg1 ,arg 2 ,...,arg n‬‬ ‫ﺣﯾث ‪ head‬ﯾﺳﻣﻰ راس اﻟﺗﻌﺑﯾر و ‪ arg1 ,arg 2 ,...,arg n‬ﺗﺳﻣﻰ اﻟﻣﻌﺎﻣﻼت وﻣـن اﻟﻣﻣﻛـن ان ﯾﻣﺛﻠـون ﺗﻌﺑﯾـرات‬ ‫اﺧرى ‪.‬‬ ‫وﻣن اﻣﺛﻠﺔ اﻟﺗﻌﺑﯾرات ‪ x+y+z‬وﯾﻣﻛن ان ﺗﺎﺧذ ﺷﻛل اﻟﺗﻌﺑﯾر وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪: FullForm‬‬ ‫]‪FullForm[x+y+z‬‬ ‫]‪Plus[x,y,z‬‬ ‫اﯾﺿﺎ ‪ x*y‬ﯾﻣﻛن ان ﺗﺎﺧذ ﺷﻛل اﻟﺗﻌﺑﯾر وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪: FullForm‬‬ ‫]‪FullForm[x*y‬‬ ‫]‪Times[x,y‬‬ ‫وھﻧﺎك اﻣﺛﻠﺔ اﺧرى ‪:‬‬ ‫]‪FullForm[x*y+2z‬‬ ‫]]‪Plus[Times[x,y],Times[2,z‬‬ ‫]‪FullForm[4+4x^2‬‬ ‫‪٦٨‬‬


‫]]]‪Plus[4,Times[4,Power[x,2‬‬

‫]‪FullForm[x+2y+z^2‬‬ ‫]]‪Plus[x,Times[2,y],Power[z,2‬‬ ‫‪x‬‬

‫ﻟﻼﺳﺗﻌﻼم ﻋن اﺳم اﻟﺗﻌﺑﯾر ﯾﺳﺗﺧدم اﻻﻣر ‪: Head‬‬ ‫]‪Head[x^2+y+z‬‬ ‫‪Plus‬‬

‫ﻟﯾوﺿﺢ ﻟﻧﺎ ان اﺳم اﻟﺗﻌﺑﯾر ‪ x^2+y+z‬ﻫو ‪.Plus‬‬

‫)‪ (٦-٢‬ﺗﻌرﯾف وﺗﻘدﯾر اﻟدوال ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم‬ ‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻟﺪوال اﻟﻤﻮﺟﻮدة ﻓ ﻰ اﻟﺒﺮﻧ ﺎﻣﺞ ﻓﺎﻧ ﮫ ﯾﻤﻜ ﻦ ﻟﻠﻤﺴ ﺘﺨﺪم اﺿ ﺎﻓﺔ دوال ﺟﺪﯾ ﺪة ﯾﺤﺘ ﺎج اﻟﯿﮭ ﺎ وﺑﺎﺳ ﻤﺎء‬ ‫ﯾﻘﺘﺮﺣﮭﺎ ‪.‬واﻟﺪوال ﺗﻤﺜﻞ ﺗﻌﺒﯿﺮات ﻓﻰ اﻟﺒﺮﻧﺎﻣﺞ وﺳﻮف ﻧﺴﺘﺨﺪم اﻟﺤﺮوف اﻟﺼﻐﯿﺮة ﻓﻰ ﻛﺘﺎﺑ ﺔ ھ ﺬه اﻟ ﺪوال ﺣﺘ ﻰ ﻻ‬ ‫ﯾﺤﺪث ﺗﺪاﺧﻞ ﺑﯿﻦ اﺳﻤﺎء اﻟ ﺪوال اﻟﻤﻮﺟ ﻮدة ﻓ ﻰ اﻟﺒﺮﻧ ﺎﻣﺞ واﺳ ﻤﺎء اﻟ ﺪوال اﻟﺠﺪﯾ ﺪة اﻟﺘ ﻰ ﯾﻘ ﻮم اﻟﻤﺴ ﺘﺨﺪم ﺑﺘﻌﺮﯾﻔﮭ ﺎ‬ ‫‪2‬‬ ‫ﺗﺒﻌ ﺎ ﻟﻘﻮاﻋ ﺪ ﻣﻌﯿﻨ ﺔ ‪ .‬ﻓﻤ ﺜﻼ ﻓ ﻰ اﻟﺒﺮﻧ ﺎﻣﺞ اﻟﺪاﻟ ﺔ ‪ f (x)  x‬ﯾﻜﺘ ﺐ ﻋﻠ ﻰ اﻟﺼ ﻮرة =‪ f[x_]:‬واﻟﺘ ﻰ ﺗﻤﺜ ﻞ‬ ‫ﺗﻌﺒﯿﺮ ﻓ ﻰ اﻟﺒﺮﻧ ﺎﻣﺞ وذﻟ ﻚ ﻟﺘﻌﺮﯾ ﻒ داﻟ ﺔ )‪ f(x‬ﻟﮭ ﺎ اﻻﺳ ﻢ ‪ f‬وذات ﻣﺘﻐﯿ ﺮ واﺣ ﺪ ‪ . x‬اﻟﻌﻼﻣ ﺔ _ واﻟﻤﻮﺟ ﻮدة ﻓ ﻰ‬ ‫اﻟﻄﺮف اﻻﯾﺴ ﺮ ﺑﺠﺎﻧ ﺐ اﻟﻤﺘﻐﯿ ﺮ ‪ x‬ﺗﺴ ﻤﻰ اﻟﻔ ﺮاغ اﻟﺨ ﺎﻟﻰ ‪ blank space‬و _‪ x‬اﻟ ﻨﻤﻂ ‪ . Pattern‬اﻟﺼ ﯿﻐﺔ‬ ‫ﺣﯿ ﺚ ‪ functionname‬اﺳ ﻢ اﻟﺪاﻟ ﺔ و‬ ‫اﻟﻌﺎﻣ ﺔ ﻟﻜﺘﺎﺑ ﺔ اﻟﺪاﻟ ﺔ ھ ﻰ =‪functionname[argument_]:‬‬ ‫‪ argument‬ﺗﺮﻣ ﺰ اﻟ ﻰ اﻟﻤﺘﻐﯿ ﺮ‪ .‬وﻋﻨ ﺪ ﻛﺘﺎﺑ ﺔ اﻟﺪاﻟ ﺔ ﻧﺒ ﺪا اوﻻ ﺑ ﺎﻻﻣﺮ ‪ Clear‬وﺻ ﯿﻐﺘﮫ ]‪Clear[expression‬‬ ‫وذﻟ ﻚ ﻟﺤ ﺬف ﻛ ﻞ اﻟﺘﻌﺮﯾﻔ ﺎت اﻟﺴ ﺎﺑﻘﺔ ﻟﻠﺘﻌﺒﯿ ﺮ ‪) expression‬اﻟﺪاﻟ ﺔ ھﻨ ﺎ( ﺣﺘ ﻰ ﻻ ﯾﺤ ﺪث ﺗ ﺪاﺧﻞ ﻓ ﻰ اﻟ ﺪوال‬ ‫اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻰ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ او ﻣﻊ ﺑﺮﻧﺎﻣﺞ اﺧﺮ وﯾﻔﻀﻞ داﺋﻤﺎ ﻣﻦ ﺗﺠﺮﺑﺘﻰ اﻟﺸﺨﺼﯿﺔ اﻟﺨﺮوج ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ‬ ‫واﻟ ﺪﺧﻮل ﻣ ﺮة اﺧ ﺮى ﻋﻨ ﺪ ﺗﻨﻔﯿ ﺬ ﺑﺮﻧ ﺎﻣﺞ ﺟﺪﯾ ﺪ‪.‬وﺑﻌ ﺪ ﻛﺘﺎﺑ ﺔ اﻟﺪاﻟ ﺔ ﺑﺎﻟﻄﺮﯾﻘ ﺔ اﻟﻘﯿﺎﺳ ﯿﺔ )وﯾﻤﻜ ﻦ ﻛﺘﺎﺑﺘﮭ ﺎ ﺑﺼ ﯿﻐﺔ‬ ‫اﻻدﺧﺎل( ﻧﻘﻮ م ﺑﺎﻟﺘﻨﻔﯿﺬ ذﻟﻚ ﻛﻤﺎ ﯾﺘﻀﺢ ﻣﻦ اﻻﻣﺜﻠﺔ اﻟﺘﺎﻟﯿﺔ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﻋرف )‪f (x)  x 2 ,g(x)  x , h(x)  3  sin x,f (4),g(9), h(  / 2‬‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Clear‬وذﻟك ﻟﺣذف ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠدوال ‪ f,g,h‬ﻣن اﻟذاﻛرة ﺛم ﻧدﺧل ﺗﻌرﯾف ﻛل داﻟﺔ ‪.‬‬

‫ﯾﻣﻛن ادﺧﺎل ‪ f[x _]: x ^ 2‬وذﻟك اﺗﻌرﯾف اﻟداﻟﺔ ‪f (x)  x 2‬‬

‫اواﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫]‪Clear[f,g,h‬‬

‫‪fx_ : x2‬‬ ‫ﻧﻼﺣظ ان اﻟﺑرﻧﺎﻣﺞ ﻟم ﯾﻘدر اﻟداﻟﺔ وﻟذﻟك ﻻ ﯾوﺟد ﻣﺧرج وﻟﻛن ﺗﻌرف ﻋﻠﯾﮭﺎ ‪.‬‬

‫‪٦٩‬‬


‫ﺳوف ﻧرى ‪ f(4) =16‬وذﻟك ﺑﺣﺳﺎب ]‪ f[4‬ﺑطرﯾﻘﺗﯾن ‪:‬‬

‫]‪f[4‬‬ ‫‪16‬‬ ‫‪f[x]/.x4‬‬ ‫‪16‬‬

‫ﻟﺤﺴﺎب اﻟﺪاﻟﺔ ‪ f‬ﻋﻧد ‪ a+b‬ﻣﺛﻼ ﻧدﺧل ‪:‬‬

‫‪fx_ : x2‬‬ ‫]‪f[a+b‬‬ ‫‪a  b2‬‬

‫ﯾﻣﻛن اﺳﺗﺑدال اﻟﺣرف ‪x‬‬

‫ﺑﺎى ﺣرف اﺧر ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪t‬‬ ‫‪2‬‬

‫‪ft_ : t‬‬

‫]‪f[a+b‬‬ ‫‪a  b2‬‬ ‫]‪f[4‬‬ ‫‪16‬‬ ‫‪f[t]/.t4‬‬ ‫‪16‬‬

‫ﻧدﺧل ‪ g(x)  x‬وﻧﺤﺴﺐ ‪g(9)  3‬‬ ‫‪‬‬

‫‪x‬‬

‫‪gx_ :‬‬ ‫]‪g[9‬‬ ‫‪3‬‬

‫او ‪:‬‬ ‫‪g[x]/.x9‬‬ ‫‪3‬‬ ‫ﺑﺎدﺧﺎل ‪:‬‬ ‫]‪h[x_]:=3+Sin[x‬‬

‫‪‬‬

‫ﺣﯿﺚ ) ‪ h( 2‬ﺗﻢ ﺣﺴﺎﺑﮭﺎ ﺑﻄﺮﯾﻘﺘﯿﻦ ‪:‬‬ ‫]‪h[x_]:=3+Sin[x‬‬

‫‪‬‬

‫‪‬‬

‫‪2‬‬

‫‪٧٠‬‬

‫‪‬‬

‫‪2‬‬

‫‪h‬‬ ‫‪4‬‬

‫‪hx . x ‬‬ ‫‪4‬‬


‫ﯾﻣﻛن ﻣﺷﺎﻫدة ﺗﻌرﯾف ‪ h‬وذﻟك ﺑﺎدﺧﺎل ‪ ?h‬ﻛﻣﺎ ﯾﺎﺗﻰ ‪:‬‬ ‫‪?h‬‬ ‫‪Global`h‬‬ ‫‪hx_ : 3  Sinx‬‬ ‫ﯾﻣﻛن ﺗﻌرﯾف دوال ﻓﻰ اﻛﺛر ﻣن ﻣﺗﻐﯾر ﻓﻣﺛﻼ =‪ h[x_,y_]:‬ﯾﻣﺛل ﺗﻌﺑﯾر ﻓﻰ اﻟﺑرﻧﺎﻣﺞ وذﻟك ﻟﺗﻌرﯾف اﻟداﻟﺔ‬ ‫)‪ h(x,y‬ﻟﻬﺎ اﻻﺳم ‪ h‬وذات ﻣﺗﻐﯾرﯾن ‪. x,y‬‬

‫ﻣﺛﺎل‬ ‫ﻋ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــرف ) ‪ f (x, y)  1  sin(x  y‬واﺣﺳ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــب‬ ‫‪2‬‬

‫‪‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫) ‪ ,f (0,a), f (a  b , b  a‬‬ ‫‪2‬‬

‫‪2‬‬

‫‪‬‬

‫‪. f (1, 2),f  2  ,3‬‬

‫‪‬‬

‫اﻟﺣل‪:‬‬ ‫‪fx_, y_ : 1  Sinx2  y2‬‬ ‫]‪f[1,2‬‬ ‫]‪1-Sin[5‬‬

‫‪‬‬ ‫‪ 3 ‬‬ ‫‪f2  ,‬‬ ‫‪‬‬

‫‪2‬‬

‫‪1‬‬ ‫‪‬‬

‫‪1‬‬

‫‪2‬‬

‫]‪f[0,a‬‬ ‫‪1  Sina2‬‬ ‫‪fa2  b2, b2  a2‬‬ ‫‪2‬‬

‫‪2‬‬

‫‪1  Sina2  b2   a2  b2 ‬‬

‫‪:Composition Functions‬‬

‫ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ﺣﺳﺎب اﻟداﻟﺔ ))‪(fg)(x)  f (g(x‬‬ ‫ﺣﯿﺚ )‪ f (x),g(x‬داﻟﺘﯿﻦ ‪.‬‬ ‫ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﺑﻔرض اﻟداﻟﺗﯾن اﻟﺗﺎﻟﯾﺗﯾن ‪:‬‬

‫‪f (x)  x 2  x , g(x)  x 3  1‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟداﻟﺔ ‪:‬‬

‫‪٧١‬‬


(fg)(x)  f (g(x)) : ‫ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬ Clear[f,g]

fx_ : x2  x; gx_ : x3  1; f[g[x]] 2 1  x3  1  x3 : ‫وﯾﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﯿﮭﺎ ﺑﺎﺳﺘﺨﺪام اﻻﻣﺮ اﻟﺘﺎﻟﻰ‬ Composition[f,g][x] 2 1  x3  1  x3 : ‫اﯾﺿﺎ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟداﻟﺔ‬ : ‫( ﻛﺎﻟﺘﺎﻟﻰ‬fg)(x  1)  f (g(x  1))

Composition[f,g][x-1] 2 1  1  1  x3  1  x3 : ‫ﺑﻔﺮض ﺗﻌﺮﯾﻒ داﻟﺔ ﺟﺪﯾﺪة ﻛﺎﻟﺘﺎﻟﻰ‬

k(x)  sin x  cos x : ‫واﻟﺗﻰ ﺗﻌرف ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻛﺎﻟﺗﺎﻟﻰ‬

k[x_]:=Sin[x]+Cos[x]; : ‫اﯾﻀﺎ ﺑﻔﺮض ﺗﻌﺮﯾﻒ اﻟﺪاﻟﺔ‬

(fk)(x)  f (k(x)) : ‫واﻟﺗﻰ ﺗﻌرف ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻛﺎﻟﺗﺎﻟﻰ‬ aa2=Composition[f,k][x] Cosx  Sinx  Cosx  Sinx2

Compositionf, k 3   3 2

3

 ‫وﻗﺪ ﺗﻢ ﺗﻘﺪﯾﺮ ﻗﯿﻤﺘﮭﺎ ﻋﻨﺪ‬ 3   Simplify

٧٢


‫وﯾﻣﻛن ﺗﺑﺳﯾط )ﻓك( اﻟداﻟﺔ ‪ aa2‬ﺑﺎﺳﺗﺧدام اﻻﻣر ‪Expand‬‬

‫]‪Expand[aa2‬‬ ‫‪Cosx  Cosx2  Sinx  2 Cosx Sinx  Sinx2‬‬ ‫ﺑﻔﺮض اﻟﺪاﻟﺔ ‪:‬‬

‫‪ff (x)  x 2  10‬‬ ‫واﻟﺗﻰ ﺗﻌرف ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪ffx_ : x2  10‬‬ ‫ﺳوف ﻧﺣﺳب ﻗﯾﻣﺗﮭﺎ ﻋﻧد ‪ x=2‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪ff[2‬‬ ‫‪14‬‬ ‫ﺳوف ﻧﻌرف اﻟداﻟﺔ ‪:‬‬

‫))‪ff (ff (ff (x‬‬ ‫ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪t[x_]=Nest[ff,x,3‬‬ ‫‪2 2‬‬

‫‪10  10  10  x2 ‬‬

‫ﺛم ﻧﺣﺳب ﻗﯾﻣﺗﮭﺎ ﻋﻧد‪x=2‬‬ ‫]‪t[2‬‬ ‫‪42446‬‬

‫ﯾﻣﻛن اﻟﻣﻘﺎرﻧﺔ ﺑﯾن ﻋدة دوال ﺑﺎﻟرﺳم اﻟﺗﺎﻟﻰ ‪:‬‬

‫}‪Plot[{f[x],g[x],ff[x]},{x,0,10},PlotStyle{Dashing[{0.01‬‬ ‫]}]‪],GrayLevel[.4],GrayLevel[0‬‬

‫‪٧٣‬‬


‫‪200‬‬

‫‪150‬‬

‫‪100‬‬

‫‪50‬‬

‫‪10‬‬

‫‪6‬‬

‫‪8‬‬

‫‪4‬‬

‫‪2‬‬ ‫‪Graphics‬‬

‫وﻓﻰ اﻟﻧﮭﺎﯾﺔ ﯾﺟب ﺗوﺧﻰ اﻟﺣذر ﻋﻧد ﻛﺗﺎﺑﺔ اﺳم اﻟداﻟﺔ ﻓﻼ ﻧﺳﺗﺧدم اﺳﻣﺎء ﻣﺧﺻﺻﺔ ﻟدوال ﺗﺧص اﻟﺑرﻧﺎﻣﺞ ‪.‬ﻓﻌﻠﻰ‬ ‫ﺳﺑﯾل اﻟﻣﺛﺎل ﻋﻧدﻣﺎ ﻧﻛﺗب ‪:‬‬

‫‪Cosx_ : x2‬‬ ‫…‪SetDelayed ::write  :  Tag Cos in Cos x_  is Protected . More‬‬

‫‪$Failed‬‬

‫ﯾﻼﺣظ ظﮭور رﺳﺎﻟﺔ ﺗﺣذﯾر واﻟﺗﻰ ﺗﻌﻧﻰ ان اﺳم اﻟداﻟﺔ ‪Cos‬‬

‫)‪ (٧-٢‬اﻟﻌﻣﻠﯾـﺎت اﻟﻌﻼﻗﯾـﺔ واﻟﻌﻣﻠﯾـﺎت اﻟﻣﻧطﻘﯾـﺔ‬

‫ﺧطﺎ ﻻﻧﮭﺎ اﺳم داﻟﺔ ﺗﺧص اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫‪Relational and Logical‬‬

‫‪Operations‬‬ ‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻫﻧﺎك اﻟﻌﻣﻠﯾﺎت اﻟﻌﻼﻗﯾﺔ ‪ Relation Operators‬واﻟﺗﻰ ﺗﻘﺎرن ﺑﯾن‬ ‫ﺗﻌﺑﯾرﯾن او ﻣﺗﻐﯾرﯾن وﯾﻛون اﻟﻧﺎﺗﺞ ﻛﻣﯾﺔ ﻣﻧطﻘﯾﺔ ﺻواب ‪ True‬او ﺧطﺎ ‪.False‬‬

‫اﻟﻌﻣﻠﯾﺎت اﻟﻌﻼﻗﯾﺔ ‪:‬‬ ‫اﻟﻌﻣﻠﯾﺎت اﻟﻌﻼﻗﯾﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻫﻰ اﻟﻣﺳﺎواﻩ ‪ (==)Equal‬وﻋدم اﻟﺗﺳﺎوى ‪ (!=) Unequal‬واﻛﺑر )>( و‬ ‫اﺻﻐر )<( واﻛﺑر او ﯾﺳﺎوى ‪ (>=) GreaterEqual‬و اﺻﻐر او ﯾﺳﺎوى ‪ (<=) LessEqual‬واﻟﺗﻰ ﯾﻣﻛن‬ ‫اﺳﺗﺧداﻣﻬم ﻟﻣﻘﺎرﻧﺔ اﻋداد ‪.‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‪:‬‬

‫‪9>10‬‬ ‫‪False‬‬ ‫‪48-4‬‬ ‫‪True‬‬ ‫اﻟﺼﯿﻐﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪٧٤‬‬


‫)‪3(7-4‬‬ ‫‪True‬‬ ‫ﺗﺧﺗﻠف ﻋن اﻟﺻﯾﻐﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫‪(3==7)-4‬‬ ‫‪-4+False‬‬

‫اﻟﺟدول اﻟﺗﺎﻟﻰ ﯾﻌطﻰ اﻟﻌﻣﻠﯾﺎت اﻟﻌﻼﻗﯾﺔ وﺻﯾﻎ اﻻدﺧﺎل اﻟﻣﺧﺗﻠﻔﺔ ﻟﮭم ‪.‬‬

‫اﻟﻣﻌﻧﻰ‬

‫اﻟﺻﯾﻐﺔ اﻟداﻟﯾﺔ‬

‫اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ‬

‫اﻟﻣﺳﺎواة‬

‫]‪Equal[x,y‬‬

‫‪x==y‬‬

‫ﻋدم اﻟﻣﺳﺎواة‬

‫]‪UnEqual[x,y‬‬

‫‪x!=y‬‬

‫اﻛﺑر ﻣن‬

‫]‪Greater[x,y‬‬

‫‪x>y‬‬

‫اﻗل ﻣن‬

‫]‪Less[x,y‬‬

‫‪x<y‬‬

‫اﻛﺑر ﻣن او ﯾﺳﺎوى‬

‫]‪GreaterEqual[x,y‬‬

‫‪x>=y‬‬

‫اﺻﻐر ﻣن او ﯾﺳﺎوى‬

‫]‪LessEqual[x,y‬‬

‫‪x<=y‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]‪Equal[3,7-3,6/2‬‬ ‫‪False‬‬

‫اﻟﻌﻣﻠﯾﺎت اﻟﻣﻧطﻘﯾﺔ‪:‬‬

‫‪٧٥‬‬


‫اﻟﻌﻣﻠﯾـﺎت اﻟﻣﻧطﻘﯾــﺔ ) ﻓـﻰ ﺑﻌــض اﻻﺣﯾــﺎن ﺗﺳـﻣﻰ )‪ (Boolean Operation‬ﺗﻘـدر ﺻــﺣﺔ ﺗﻌﺑﯾـر ﺑﺎﻻﻋﺗﻣــﺎد ﻋﻠــﻰ‬ ‫رﻣز ﯾﺳﻣﻰ " ‪" Boolean Arithematic‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻟﻌﻣﻠﯾﺔ اﻟﻣﻧطﻘﯾـﺔ "و" )" ‪ ( "And Operation‬ﺗﻣﺛـل‬

‫ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﺑﺎﻟرﻣز && ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻻﺗﺣﺎد ﺑﯾن ﺟﻣﻠﺗﯾن ﺻﺣﯾﺣﺗﯾن داﺋﻣﺎ ﺻﺣﯾﺢ ‪:‬‬ ‫‪4<5&&8>1‬‬ ‫‪True‬‬ ‫ﻓﯾﻣﺎ ﯾﻠﻰ ﺟدول ﻟﻛل اﻟﻘﯾم اﻟﻣﻣﻛﻧﺔ ﻟﻌﻣﻠﯾﺔ " و" ) " ‪:("And operation‬‬

‫‪TableForm[{{True&&True,True&&False},{False&&True,False&&F‬‬ ‫]} }‪alse}},TableHeadings{{T,F},{T,F‬‬

‫‪F‬‬ ‫‪False‬‬ ‫‪False‬‬

‫‪T‬‬ ‫‪True‬‬ ‫‪False‬‬

‫‪T‬‬ ‫‪F‬‬

‫اﻟﻌﻣﻠﯾﺔ اﻟﻣﻧطﻘﯾـﺔ " او " )"‪ ("Or‬ﺗﻣﺛـل ﻓـﻰ اﻟﺑرﻧـﺎﻣﺞ ﺑـﺎﻟرﻣز ||وﺗﻛـون ﺻـﺣﯾﺣﺔ اذا ﻛـﺎن اﺣـدى اﻟﺟﻣﻠﺗـﯾن ﺻـﺣﯾﺢ ‪ .‬ﻓﻌﻠـﻰ‬ ‫ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫‪43||36/2‬‬ ‫‪True‬‬ ‫‪0==0||36/2‬‬ ‫‪True‬‬

‫وﻋﻠﻰ ذﻟك اذا ﻛﺎن ‪ A and B‬ﻛﻼﻫﻣﺎ ﺻﺣﯾﺢ ﻓﺎن ‪ A||B‬اﯾﺿﺎ ﺻﺣﯾﺢ ‪:‬‬ ‫‪True||True‬‬ ‫‪True‬‬ ‫اﻟﺟدول اﻟﺗﺎﻟﻰ ﯾﻌطﻰ اﻟﻌﻣﻠﯾﺎت اﻟﻣﻧطﻘﯾﺔ وﺻﯾﻎ اﻻدﺧﺎل اﻟﻣﺧﺗﻠﻔﺔ ﻟﮭم ‪.‬‬

‫اﻟﻣﻌﻧﻰ‬

‫اﻟﺻﯾﻐﺔ اﻟداﻟﯾﺔ‬

‫اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ‬

‫ﻻ‬

‫]‪Not[x‬‬

‫‪!x‬‬

‫ﻻ ﯾﺳﺎوى‬

‫]‪UnEqual[x,y‬‬

‫‪x!=y‬‬

‫و‬

‫]‪And[x,y‬‬

‫‪x&&y‬‬

‫‪٧٦‬‬


‫او‬

‫]‪Or[x,y‬‬

‫‪X||y‬‬

‫ﻣﺛﺎل‬ ‫ﺑﺎﺣﻼل ‪ 10,11,12‬ﻓﻰ اﻟﻣﺗﻐﯾرات ‪ aa1,aa2,aa3‬ﻋﻠﻰ اﻟﺗرﺗﯾب ﺛم‬ ‫اﺧﺗﺑﺎر ﻣﺎ اذا ﻛﺎن ‪ aa1>aa2-aa3‬ﺗﺗم ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬ ‫اوﻻ ‪ :‬ﺑﺻﯾﻐﺔ اﻻدﺧﺎل واﻟﻧﺗﯾﺟﺔ ﺻواب )‪(True‬‬ ‫‪aa1=10;aa2=11;aa3=12;aa1>aa2-aa3‬‬ ‫‪True‬‬ ‫ﺛﺎﻧﯾﺎ ﺑﺻﯾﻐﺔ داﻟﺔ ‪:‬‬ ‫])‪Greater[aa1,(aa2-aa3‬‬ ‫‪True‬‬

‫وﻗد ﺣﺻﻠﻧﺎ ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ‪.‬‬ ‫ﻛﻣﺛﺎل اﺧر ﺑﺎﺣﻼل ‪ 10,15,17‬ﻓﻰ اﻟﻣﺗﻐﯾرات ‪ aa1,aa2,aa3‬ﻋﻠﻰ اﻟﺗرﺗﯾب ﺛم‬ ‫اﺧﺗﺑﺎر ﻣﺎ اذا ﻛﺎن ‪ aa1‬اﻛﺑر ﻣن او ﯾﺳﺎوى ‪ aa2‬ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬

‫اوﻻ ﺑﺻﯾﻐﺔ اﻻدﺧﺎل واﻟﻧﺗﯾﺟﺔ ﺧطﺎ )‪(False‬‬ ‫;‪aa1=10;aa2=15;aa3=17‬‬ ‫‪aa1aa2‬‬ ‫‪False‬‬ ‫ﺛﺎﻧﯾﺎ ﺑﺻﯾﻐﺔ داﻟﺔ ‪:‬‬ ‫]‪GreaterEqual[aa1,aa2‬‬ ‫‪False‬‬

‫ﻻﺧﺗﺑﺎر ﻣﺎ اذا ﻛﺎن ‪ aa2‬اﻛﺑر ﻣن ‪ aa1+aa3‬او ‪ aa1<aa3‬ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫اوﻻ ﺑﺻﯾﻐﺔ اﻻدﺧﺎل واﻟﻧﺗﯾﺟﺔ ﺻواب )‪(True‬‬

‫‪٧٧‬‬


aa2>aa1+aa3||aa1<aa3 True :‫ﺛﺎﻧﯾﺎ ﺑﺻﯾﻐﺔ داﻟﺔ‬ Or[Greater[aa2,aa1+aa3],Less[aa1,aa3]] True

٧٨


‫اﻟﻔﺻل اﻟﺛﺎﻟث‬ ‫رﺳم اﻟدوال واﻟﺗﻌﺑﯾرات واﻟﻣﻌﺎدﻻت‬

‫‪٧٩‬‬


‫)‪ ( ١-٣‬رﺳـم داﻟـﺔ ﻟﻣﺗﻐﯾـر واﺣـد )ﻓـﻰ اﻟﻣﺳـﺗوى ( ‪Graphing Function of a‬‬ ‫‪Single Variable‬‬ ‫ﺑﻔرض داﻟﺔ ذات ﻣﺗﻐﯾر واﺣد ﯾرﻣز ﻟﻬﺎ )‪ y=f(x‬ﺣﯾث ‪ x‬ﯾﺳﻣﻰ اﻟﻣﺗﻐﯾر اﻟﻣﺳﺗﻘل و‪ y‬ﯾﺳﻣﻰ اﻟﻣﺗﻐﯾر اﻟﺗﺎﺑﻊ‬ ‫وﻧطﺎق اﻟداﻟﺔ ﯾﻘﻊ ﻋﻠﻰ ﻣﺣور ‪ x‬واﻟﻣدى ﯾﻘﻊ ﻋﻠﻰ ﻣﺣور‪ y‬وﺗرﺳم اﻟداﻟﺔ ﻓﻰ اﻟﻣﺳﺗوى وﯾﻣﺛﻠﻬﺎ ﻣﺟﻣوع اﻟﻧﻘﺎط‬ ‫)‪ (x,y‬ﻓﻰ اﻟﻣﺳﺗوى اﻟﺗﻰ ﺗﺣﻘق )‪.y=f(x‬‬ ‫اﻻﻣر اﻟذى ﯾﺳﺗﺧدم ﻓﻰ رﺳم اﻟداﻟﺔ ھو ‪:‬‬

‫]}‪Plot[f[x],{x,a,b‬‬ ‫واﻟذى ﯾرﺳم اﻟداﻟﺔ)‪ f(x‬ﻓﻰ اﻟﻔﺗرة]‪. [a,b‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن ھذا اﻻﻣر ﯾﻣﻛن ﻛﺗﺎﺑﺔ ‪? Plot‬وﺗﻧﻔﯾذھﺎ ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻓﻧﺣﺻل ﻋﻠﻰ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪?Plot‬‬

‫‪Plotf, x, xmin, xmax generates‬‬ ‫‪a plot of f as a function of x from xmin‬‬ ‫‪to xmax. Plotf1, f2, ... , x, xmin,‬‬ ‫…‪xmax plots several functions fi. More‬‬

‫ﻣﺛﺎل‬ ‫ﻟﯾﻛن ‪ . f (x)  5x  2x  8x  1‬ارﺳم اﻟداﻟﺔ )‪ f(x‬ﻓﻰ اﻟﻔﺗرة ]‪: [-4,3‬‬ ‫‪2‬‬

‫‪3‬‬

‫اﻟﺣل‪:‬‬ ‫ﺑﻌد ازاﻟﺔ ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ ‪ f‬اذا وﺟـدت ﺛـم ﻧﻌـرف اﻟداﻟـﺔ ‪ f‬ﺛـم ﻧﺳـﺗﺧدم اﻻﻣـر ‪ Plot‬ﻟرﺳـم اﻟداﻟـﺔ ﻓـﻰ‬ ‫اﻟﻔﺗرة ]‪.[-4,3‬‬ ‫]‪Clear[f‬‬

‫‪fx_ : 5x3  2x2  8x  1‬‬ ‫]}‪Plot[f[x],{x,-4,3‬‬

‫‪٨٠‬‬


‫‪15‬‬ ‫‪10‬‬ ‫‪5‬‬ ‫‪3‬‬

‫‪2‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-1‬‬

‫‪-3‬‬

‫‪-4‬‬

‫‪-5‬‬ ‫‪-10‬‬ ‫‪-15‬‬

‫‪Graphics‬‬ ‫‪‬‬ ‫ﯾﻼﺣظ ﻓﻰ اﻟﻣﺛﺎل اﻟﺳﺎﺑق اﻧﻪ ﺗم رﺳم اﻟداﻟﺔ ﺑدون اﺿﺎﻓﺔ اى ﺧﯾﺎرات اﻟﻰ اﻣر اﻟرﺳم وذﻟك ﻟوﺟود اﻟﻌدﯾد ﻣن‬ ‫اﻟﺧﯾﺎرات اﻟﻣﻔﺗرﺿﺔ )اﻟﻔﻌﺎﻟﺔ( ‪ Default‬ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ واﻟﺗﻰ ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺗﻧﻔﯾذھﺎ‬ ‫اﺗوﻣﺎﺗﯾك ‪ Automatic‬ﻋﻧد ﺑداﯾﺔ اﻟﺗﺷﻐﯾل ﻣﺛل ﺗﺣدﯾد ﻣﻘﯾﺎس رﺳم ﻣﻧﺎﺳب واﺧﺗﯾﺎر اﻟﻣدى ﻟﻠداﻟﺔ ﻣوﺿﻊ اﻻھﺗﻣﺎم‬ ‫وﺗرﻗﯾم اﻟﻣﺣﺎور‪.‬‬ ‫اﻻﻣر ‪ Plot‬ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ رﺳم دوال ﻟﮭﺎ ﻧﻘﺎط ﺷﺎذة ﻓﻰ ﻧطﺎق اﻟﺗﻌرﯾف ﺣﯾث ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ‬ ‫ﺑﺎﺧﺗﯾﺎر ﻣﻘﯾﺎس رﺳم ﻣﻧﺎﺳب ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﻟﺗﻛن ‪ . f (x)  tan x‬ارﺳم اﻟداﻟﺔ )‪ f(x‬ﻓﻰ اﻟﻔﺗرة ]‪: [-3,3‬‬

‫اﻟﺣل‪:‬‬ ‫ﺑﻌد ازاﻟﺔ ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ ‪ f‬اذا وﺟدت ﻓﺎﻧﻧﺎ ﻧﻌرف اﻟداﻟﺔ ‪ f‬ﺛم ﻧﺳﺗﺧدم اﻻﻣر ‪ Plot‬ﻟرﺳم اﻟداﻟﺔ‬ ‫ﻓﻰ اﻟﻔﺗرة ]‪.[-3,3‬‬ ‫]‪f[x_]:=Tan[x‬‬ ‫]}‪Plot[f[x],{x,-3,3‬‬ ‫‪40‬‬ ‫‪20‬‬

‫‪3‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬ ‫‪-20‬‬ ‫‪-40‬‬

‫‪٨١‬‬

‫‪-2‬‬

‫‪-3‬‬


‫‪Graphics‬‬

‫ﻣﺛﺎل‬

‫‪1‬‬ ‫ﻟﺗﻛن‬ ‫‪x‬‬

‫‪ . f (x)  sin‬ارﺳم اﻟداﻟﺔ )‪ f(x‬ﻓﻰ اﻟﻔﺗرة ]‪: [-1,1‬‬

‫اﻟﺣل‪:‬‬ ‫اﻟداﻟﺔ‬

‫‪1‬‬ ‫‪x‬‬

‫‪ f (x)  sin‬ﻟﮭﺎ ﻧﻘطﺔ ﺷﺎذة ﻋﻧد ‪ x=0‬وﺳوف ﻧﺷﺎﻫد ﺗوﺿﯾﺢ اﻟرﺳم اﻛﺛر ﺑﺟوار ﻫذﻩ اﻟﻧﻘطﺔ‪:‬‬

‫‪1‬‬ ‫‪fx_ : Sin ‬‬ ‫‪x‬‬ ‫]}‪Plot[f[x],{x,-1,1‬‬ ‫‪1‬‬

‫‪0.5‬‬

‫‪1‬‬

‫‪-0.5‬‬

‫‪0.5‬‬

‫‪-1‬‬

‫‪-0.5‬‬

‫‪-1‬‬

‫‪Graphics‬‬

‫ﯾﻣﻛن اﺳﺗﺧدام اﻟﺧﯾﺎر ‪ PlotStyle‬ﻣﻊ اﻻﻣر ‪ Plot‬وذﻟك ﻻﺿﺎﻓﺔ ﺧﯾﺎرات اﺧرى ﻟﻠرﺳم ‪.‬‬ ‫اﻟﺻورة اﻟﻌﺎﻣﺔ ﻟﻠﺧﯾﺎر ‪ PlotStyle‬ھﻰ ‪:‬‬

‫‪PlotStyle  Style‬‬

‫ﺣﯾث ﯾﺗم ﺗﺣدﯾد اﻻﺳﻠوب‬

‫‪Style‬‬

‫ﻟرﺳم اﻟداﻟﺔ اﻟﻣوﺟودة ﻓﻰ اﻻﻣر ‪. Plot‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ رﺳم اﻟداﻟﺔ ﻓﻰ اﻟوان ﻣﺧﺗﻠﻔﺔ ﻓﺎن اﻣر اﻟرﺳم ﺳوف ﯾﺻﺑﺢ ‪:‬‬

‫]]‪Plot[f (x),{x,a,b}, PlotStyle  GrayLevel[w‬‬ ‫ﺣﯾث ‪ w‬رﻗم ﯾﻘﻊ ﺑﯾن ﺻﻔر وواﺣد ‪ .‬اﻟﺧﯾﺎر ]‪ PlotStyle  GrayLevel[0‬ﯾﻣﺛل رﺳم اﺳود واﻟﺧﯾﺎر‬

‫]‪PlotStyle  GrayLevel[1‬‬

‫ﯾﻣﺛل رﺳم اﺑﯾض ‪.‬ﻋﻧد اﺳﺗﺧدام طﺎﺑﻌﺔ ﻣﻠوﻧﺔ ﻓﺎن اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﺳﺗﺧدم ‪:‬‬

‫]]‪Plot[f (x),{x,a,b},PlotStyle  RGBColor[r,g,b‬‬ ‫ﺣﯾث ‪ r,g,b‬ارﻗﺎم ﺑﯾن اﻟﺻﻔر واﻟواﺣد اﻟﺻﺣﯾﺢ ‪ .‬اﻟﺧﯾﺎر ]‪ PlotStyle  RGBColor[1,0,0‬ﯾﻣﺛل‬ ‫اﻟﻠون اﻻﺣﻣر واﻟﺧﯾﺎر‪:‬‬

‫‪PlotStyle  RGBColor[0,1,0] ‬‬ ‫‪٨٢‬‬


‫‪‬‬

‫ﯾﻣﺛل اﻟﻠون اﻻﺧﺿر واﻟﺧﯾﺎر‪:‬‬

‫]‪PlotStyle  RGBColor[0,0,1‬‬ ‫ﯾﻣﺛل اﻟﻠون اﻻزرق‪.‬‬

‫اﯾﺿﺎ ﯾﺳﺗﺧدم اﻟﺧﯾﺎر ]}‪PlotStyle  Dashing[{n‬‬ ‫ﻟرﺳم ﻣﻧﺣﻧﻰ ﻣﺗﻘطﻊ ﺑﺎﺟزاء ﻣﺗﻌﺎﻗﺑﺔ طوﻟﻬﺎ ‪ n‬ﺣﯾث ‪n‬‬ ‫ﺗﻤﺜﻞ ﻛﺴﺮ ﻣﻦ اﻟﻌﺮض اﻟﻜﻠﻰ ﻟﻠﺮﺳﻢ‪.‬‬ ‫اﻣﺎ اﻟﺧﯾﺎر ]}‪PlotStyle  Dashing[{n1 ,n 2 ,...‬‬

‫ﻓﯾﺳﺗﺧدم ﻟرﺳم ﻣﻧﺣﻧﻰ ﻣﺗﻘطﻊ ﺑﺎﺟزاء ﻣﺗﻌﺎﻗﺑﺔ طوﻟﻬﺎ ‪ n1 ,n 2 ,...‬وﺑﺻورة دورﯾﺔ ﺣﯾث ﻛﻼ ﻣن ‪ni‬‬ ‫ﯾﻤﺜﻞ ﻛﺴﺮ ﻣﻦ اﻟﻌﺮض اﻟﻜﻠﻰ ﻟﻠﺮﺳﻢ‪.‬‬ ‫رﺳم اﻟدوال ﻣﺛل اﻟﺗﻌﺑﯾرات ﯾﻣﻛن اﻋطﺎﺋﻪ اﺳﻣﺎء ‪ .‬وﻫذا ﻟﻪ اﻫﻣﯾﺔ ﺧﺎﺻﺔ ﻋﻧد ﺗﻛرار اﺳﺗدﻋﺎء رﺳوم دوال ﺧﺎﺻﺔ او‬ ‫ﻋﻧدﻣﺎ ﯾﺗم ﻋرض ﻋدة رﺳوﻣﺎت ﻟدوال ﻋﻠﻰ ﻧﻔس اﻟﻣﺣﺎور‪ .‬وﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺣﻔظ اﻟﻣﻌﻠوﻣﺎت اﻟﺧﺎﺻﺔ ﺑﻛل رﺳم ﯾﺗم‬

‫ﺗﻧﻔﯾذﻩ ﺑﺣﯾث ﯾﻣﻛن اﻋﺎدة اﻟرﺳم ﻓﻰ اى وﻗت ﺑﻌد ذﻟك ﻣﻊ اﻣﻛﺎﻧﯾﺔ اﺿﺎﻓﺔ ﺑﻌض اﻟﺧﯾﺎرات اﻟﻰ اﻟرﺳم ‪ ،‬ﻛﻣﺎ ﯾﻣﻛن‬ ‫ﻋرض اﻛﺛر ﻣن رﺳم ﻣﻌﺎ وﯾﺗم ذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪Show‬‬

‫ﻓﻼﻋﺎدة ﻋرض رﺳﻣﺔ واﺣدة ﻟﻬﺎ اﻻﺳم ‪ dd1‬واﻟﻧﺎﺗﺟﺔ ﻣن اﻻﻣر‪ Plot‬ﻓﺎن ﺻﯾﻐﺔ اﻻﻣر ‪ Show‬ﺗﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪‬‬ ‫‪Show[dd1] ‬‬ ‫‪‬‬ ‫‪ ‬وﻻﻋﺎدة ﻋرض رﺳم اﻟﻣﻧﺣﻧﯾﺎت ‪ d1,d2,...‬اﻟﻧﺎﺗﺟﺔ ﻣن اﻣر ‪ Plot‬ﻣﻌﺎ ﻋﻠﻰ ﻧﻔس اﻟرﺳم ﻓﺎن ﺻﯾﻐﺔ‬ ‫اﻻﻣر ‪ Show‬ﺗﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫]‪Show[dd1,dd2,...‬‬ ‫ﻛﻣﺎ ﻗد ﺗﺣﺗوى ﺻﯾﻐﺔ اﻻﻣر ‪ Show‬ﻋﻠﻰ ﺧﯾﺎرات ﻛﻣﺎ ﺳوف ﻧوﺿﺣﻪ ﻓﯾﻣﺎ ﺑﻌد‪.‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟدوال اﻟﺗﺎﻟﯾﺔ ﻋﻠﻰ ﻧﻔس اﻟﻣﺣﺎور ﻓﻰ اﻟﻔﺗرة ]‪[-4,2‬‬

‫‪h(x)  10x 2  3x  8,g(x)  34x  13‬‬ ‫اﻟﺣل‪:‬‬ ‫اوﻻ ﺳ ـ ـ ـ ـ ـ ـ ــوف ﻧﻌ ـ ـ ـ ـ ـ ـ ــرف ‪ h,g‬ﺛ ـ ـ ـ ـ ـ ـ ــم ﻧرﺳ ـ ـ ـ ـ ـ ـ ــم ‪ h‬ﻓ ـ ـ ـ ـ ـ ـ ــﻰ اﻟﻔﺗـ ـ ـ ـ ـ ـ ـ ـرة ]‪ [-4,2‬وﺳ ـ ـ ـ ـ ـ ـ ــوف ﻧﺳ ـ ـ ـ ـ ـ ـ ــﺗﺧدم اﻟﺧﯾ ـ ـ ـ ـ ـ ـ ــﺎر‬ ‫]}‪ PlotStyleDashing[{0.01‬ﺑﺣﯾــث ﯾﻛــون ﻣﻧﺣﻧــﻰ ‪ h‬ﻣﺗﻘطــﻊ واﻟﻧﺗﯾﺟــﺔ ﺳــوف ﺗوﺿــﻊ ﻓــﻰ‬ ‫اﻻﺳم ‪: rr1‬‬

‫‪٨٣‬‬


Clear[h,g]

hx_ : 10x2  3x  8 g[x_]:=34x+13 rr1=Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}]] 80

60

40

20

-4

-3

-2

-1

1

2

Graphics tt2 ‫ ﻋﻠﻰ اﻟﺮﺳﻤﺔ اﻻوﻟﻰ و اﻻﺳم‬tt1 ‫[ وﺳوف ﻧطﻠق اﻻﺳم‬-4,2] ‫ ﻣﻌﺎ ﻓﻰ اﻟﻔﺘﺮة‬g,h ‫ ﯾﻠﻰ ذﻟﻚ رﺳﻢ‬  : ‫و ﻓﻰ ﻛل ﺣﺎﻟﺔ ﺳوف ﻧﺳﺗﺧدم اﻟﺧﯾﺎر اﻟﺗﺎﻟﻰ‬. ‫ﻋﻠﻰ اﻟرﺳﻣﺔ اﻟﺛﺎﻧﯾﺔ‬ DisplayFunctionIdentity ‫ وﯾﺟ ب ان ﻧﺗ ذﻛر اﻧ ﮫ ﺑ دون‬Show ‫ وﺳ وف ﻧﺣﺻ ل ﻋﻠ ﻰ اﻟرﺳ ﻣﺗﯾن ﻣﻌ ﺎ ﺑﺎﺳ ﺗﺧدام اﻻﻣ ر‬.‫وذﻟك ﻟﻣﻧﻊ ظﮭور اﻟرﺳﻣﺔ‬ ‫اﻟﺧﯾﺎر‬ .‫ ﻓﻠن ﺗظﻬر اى رﺳوﻣﺎت‬Show ‫ ﻓﻰ اﻣر‬DisplayFunction$DisplayFunction

tt1=Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],DisplayFunctionIdentity]; tt2=Plot[g[x],{x,4,2},PlotStyleGrayLevel[0.4],DisplayFunctionIdentity]; Show[tt1,tt2,DisplayFunction$DisplayFunction] 150 100 50 -4

-3

-2

-1

1 -50 -100 -150

Graphics Graphics ٨٤

2


‫ وﺗﻧﻔﯾ ذه‬Options[Plot] ‫اﻟﻘﺎﺋﻣ ﺔ اﻟﻛﺎﻣﻠ ﺔ ﻣ ن اﻟﺧﯾ ﺎرات اﻟﻣﻔﺗرﺿ ﺔ واﻟﻣﺗ وﻓرة ﻟﻠرﺳ م ﯾﻣﻛ ن اﻟﺣﺻ ول ﻋﻠﯾﮭ ﺎ ﺑﻛﺗﺎﺑ ﺔ‬ : ‫ﻛﺎﻟﺗﺎﻟﻰ‬

Options[Plot] 1 , Axes  Automatic, GoldenRatio AxesLabel  None, AxesOrigin  Automatic, AxesStyle  Automatic, Background  Automatic, ColorOutput  Automatic, Compiled  True, DefaultColor  Automatic, DefaultFont  $DefaultFont, DisplayFunction  $DisplayFunction, Epilog  , FormatType  $FormatType, Frame  False, FrameLabel  None, FrameStyle  Automatic, FrameTicks  Automatic, GridLines  None, ImageSize  Automatic, MaxBend  10., PlotDivision  30., PlotLabel  None, PlotPoints  25, PlotRange  Automatic, PlotRegion  Automatic, PlotStyle  Automatic, Prolog  , RotateLabel  True,

 AspectRatio 

TextStyle  $TextStyle, Ticks  Automatic

‫ وﻟﻠﺗﻌرف ﻋﻠﻰ ﺗﻠك اﻟﺧﯾﺎرات ﺳ وف ﻧﺿ ﻊ اﻟﺻ ﯾﻐﺔ اﻟﻌﺎﻣ ﺔ ﻟﻛ ل ﻣ ن‬options ‫ ﻟﮭﻣﺎ ﺧﯾﺎرات ﻣﺗﻌددة‬Plot,Show ‫اﻻﻣرﯾن‬ : ‫اﻻﻣرﯾن ﻛﺎﻟﺗﺎﻟﻰ‬ ‫واﻟﺻ ﯾﻐﺔ اﻟﻌﺎﻣ ﺔ‬

Plot[f[x],{x,a,b},options]

‫ ﻓ ﻰ ﺣﺎﻟ ﺔ وﺟ ود ﺧﯾ ﺎرات‬Plot ‫اﻟﺻ ﯾﻐﺔ اﻟﻌﺎﻣ ﺔ ﻟﻼﻣ ر‬ : ‫ ﻓﻰ ﺣﺎﻟﺔ وﺟود ﺧﯾﺎرات ھﻰ‬Show ‫ﻟﻼﻣر‬ . Show[graphs,options] : ‫وﻓﯾﻣﺎ ﯾﻠﻰ ﺑﻌض ھذه اﻟﺧﯾﺎرات‬

AspectRatio   number

(١)

‫ اﻻﺧﺗﯾ ﺎر‬. number ‫ (ﻋ ن طرﯾ ق‬y‫ ( اﻟﻰ اﻟﻣﺣو اﻟراﺳﻰ)ﻣﺣور‬x‫ھذا اﻟﺧﯾﺎر ﯾﺣدد اﻟﻧﺳﺑﺔ ﺑﯾن طول اﻟﻣﺣور اﻻﻓﻘﻰ)ﻣﺣور‬ : ‫اﻟﻣﻔﺗرض ھﻧﺎ ھو‬

. ‫ﻣﻊ اﻟﻌﻠم ان ھذا اﻟﺧﯾﺎر اﻟﻣﻔﺗرض ﻻ ﯾظﮭر‬

.Pi ‫اى اﻧﮫ ﺛﺎﺑت ﻣﺛل‬

AspectRatio 

1 GoldenRatio

1 GoldenRatio  (1  5)  1.61803 2 ٨٥

‫ﺣﯾث‬


‫ﻟرﺳم اﻟدوال اﻟﺗﺎﻟﯾﺔ ‪ h(x)  10x  3x  8 , g(x)  34x  13‬ﻋﻠﻰ اﻟﻔﺗرة‬ ‫‪2‬‬

‫]‪ [-4,2‬واﺳﺗﺧدام اﻟﺧﯾﺎر ‪AspectRatio   1‬‬ ‫ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬

‫]‪Clear[h,g‬‬

‫‪hx_ : 10x2  3x  8‬‬ ‫‪g[x_]:=34x+13‬‬ ‫‪Plot[{h[x],g[x]},{x,‬‬‫‪4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},‬‬ ‫]‪AspectRatio1‬‬ ‫‪y‬‬ ‫‪150‬‬

‫‪100‬‬

‫‪50‬‬ ‫‪x‬‬ ‫‪2‬‬

‫‪0‬‬

‫‪1‬‬

‫‪-1‬‬

‫‪-3‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪-50‬‬

‫‪-100‬‬

‫‪Graphics‬‬

‫وﻓﻰ اﻟﺧﯾﺎر }]‪PlotStyle{Dashing[{0.01}],GrayLevel[0.5‬‬

‫ﯾﺗم ﺗﺣدﯾد ]}‪ Dashing[{0.01‬ﻟﻠداﻟﺔ اﻻوﻟﻰ ‪ h‬و]‪ GrayLevel[0.5‬ﻟﻠداﻟﺔ اﻟﺛﺎﻧﯾﺔ ‪.g‬‬ ‫واﻟﺻورة اﻟﻌﺎﻣﺔ ﻟﻠﺧﯾﺎر ‪ PlotStyle‬ﻫﻰ }‪ PlotStyle  {style1,style2,...‬ﺣﯾث ﯾﺗم ﺗﺣدﯾد اﻻﺳـﺎﻟﯾب‬ ‫‪ style1,style2,...‬ﻟﻼﺳﺗﺧدام ﺑﺻورة دورﯾﺔ ﻣـﻊ ﻣﻧﺣﻧﯾـﺎت اﻟـدوال اﻟﻣوﺟـودة ﻓـﻰ اﻻﻣـر ‪ Plot‬ﻓﻣﻧﺣﻧـﻰ اﻟداﻟـﺔ‬ ‫اﻻوﻟﻰ ﯾرﺳم ﺑﺎﺳﻠوب ‪ style1‬وﻣﻧﺣﻧﻰ اﻟداﻟﺔ اﻟﺛﺎﻧﯾﺔ ﯾرﺳم ﺑﺎﺳﻠوب ‪...style2‬اﻟﺦ ‪.‬‬ ‫)‪(٢‬‬

‫اﻟﺧﯾ ﺎر }"‪AxesLabel  {"x  axis label","y  axis label‬‬

‫ووظﯾﻔﺗ ﮫ ﻛﺗﺎﺑ ﺔ‬

‫‪y  axis label‬‬

‫ﻋﻠﻰ ﻣﺣور ‪ y‬اى‬

‫اﻟﻌﻧوان‬

‫‪x  axis label‬‬

‫ﻋﻠﻰ ﻣﺣور ‪ x‬و ﻛﺗﺎﺑﺔ اﻟﻌﻧوان‬

‫ﻛﺗﺎﺑﺔ ﻋﻧﺎوﯾن ﻋﻠﻰ اﻟﻣﺣﺎور‪ .‬اﻟﺧﯾﺎر اﻟﻣﻔﺗرض ھو ‪:‬‬

‫‪AxesLabel  None‬‬ ‫ﻟرﺳم اﻟداﻟﺔ‬

‫اى ﻋدم ﻛﺗﺎﺑﺔ ﻋﻧﺎوﯾن ﻋﻠﻰ اﻟﻣﺣﺎور‪.‬‬

‫‪g(x)  10x 2  3x  8‬‬

‫ووﺿﻊ اﻟﻌﻧ وان ‪ x‬ﻋﻠ ﻰ اﻟﻣﺣ ور اﻻﻓﻘ ﻰ واﻟﻌﻧ وان ‪ y‬ﻋﻠ ﻰ اﻟﻣﺣ ور اﻟراﺳ ﻰ‬

‫ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪٨٦‬‬


hx_ : 10x2  3x  8 Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"}] y 80 60 40 20 x -4 -3 Graphics

-2

-1

1

2

‫ اﻟﺧﯾﺎر اﻟﻣﻔﺗرض ھو ﻋدم ﻋﻣل اطﺎر‬. ‫ووظﯾﻔﺗﮫ ﻋﻣل اطﺎر ﺣول اﻟرﺳم‬

Frame  True

‫اﻟﺧﯾﺎر‬

(٣)

. Frame  False : ‫ﻣﻊ ﻋﻣل اطﺎر ﺣول اﻟرﺳم وﻛﺗﺎﺑﺔ ﻋﻧوان ﻟﮭذا اﻻطﺎر ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

g(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

hx_ : 10x2  3x  8 Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],}],AxesLabel{"x","y"}, FrameTrue,FrameLabel->"Gragh"] y 80

Gragh

60 40 20 x 0 -4 -3  Graphics

-2

-1

0

1

2

 ‫اﻟﺧﯾﺎر‬

٨٧

(٤)


AxesOrigin   {x  coordinate, y  coordinate} : ‫ووظﯾﻔﺗﮫ ﺗﺣدﯾد اﻟﻧﻘطﺔ‬ . ‫ اى ﺗﺣدﯾد ﻧﻘطﺔ اﻻﺻل‬، ‫ﻛﻧﻘطﺔ اﺻل‬ : ‫ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

x  coordinate, y  coordinate

[0,10] ‫ وﺟﻌل ﻧﻘطﺔ اﻻﺻل‬g(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

hx_ : 10x2  3x  8 Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOr igin{0,10}] y 80 60 40 20 x -4

-3

-2

-1

1

0

2

Graphics

‫ووظﯾﻔﺗﮫ ﻋدم ﺗرﻗﯾم اﻟﻣﺣﺎور‬

Ticks  None ‫اﻟﺧﯾﺎر‬

(٥)

‫ﻟﺗرﻗﯾم اﻟﻣﺣور اﻻﻓﻘﻰ ﻓﻘط‬

Ticks  {Automatic, None} ‫واﻟﺧﯾﺎر‬

: ‫ اﻣﺎ اﻻﺧﺗﯾﺎر اﻟﻣﻔﺗرض ﻓﮭو‬. ‫ﻟﺗرﻗﯾم اﻟﻣﺣور اﻟراﺳﻰ ﻓﻘط‬

Ticks  {None,Automatic} ‫واﻟﺧﯾﺎر‬

. ‫اى ﻋ دم ﺗ رﻗﯾم‬

Ticks  None

Ticks  Automatic

‫ﻣ ﻊ اﺳ ﺗﺧدام اﻟﺧﯾ ﺎر‬

g(x)  10x 2  3x  8

‫ﻟرﺳ م اﻟداﻟ ﺔ اﻟﺳ ﺎﺑﻘﺔ‬ : ‫اﻟﻣﺣﺎور ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

Plot[h[x],{x,4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},AxesLabel {"x","y"},AxesOrigin{0,10},TicksNone]

٨٨


y

x

 Graphics 

Ticks  {None,Automatic} ‫ ﻣﻊ اﺳﺗﺧدام اﻟﺧﯾﺎر‬g(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

: ‫اى ﺗرﻗﯾم اﻟﻣﺣور اﻟراﺳﻰ ﻓﻘط ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

Plot[h[x],{x,4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},AxesLabel {"x","y"},AxesOrigin{0,10},Ticks{None,Automatic}] y 80 60 40 20 x 0

Graphics 

Ticks  {Automatic, None} ‫ ﻣﻊ اﺳﺗﺧدام اﻟﺧﯾﺎر‬g(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

: ‫اى ﺗرﻗﯾم اﻟﻣﺣور اﻻﻓﻘﻰ ﻓﻘط ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

Plot[h[x],{x,4,2},PlotStyle{Dashing[{0.01}],GrayLevel[0.5]},AxesLabel {"x","y"},AxesOrigin{0,10},Ticks{Automatic,None}]

٨٩


‫‪y‬‬

‫‪x‬‬ ‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-3‬‬

‫‪-4‬‬

‫‪Graphics‬‬

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

‫‪g(x)  10x 2  3x  8‬‬

‫وﺣذف اﻟﻣﺣﺎور ﻣن ﻋﻠﻰ اﻟرﺳم ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪hx_ : 10x2  3x  8‬‬ ‫]‪Plot[h[x],{x,-4,2},PlotStyleDashing[{0.01}], AxesNone‬‬

‫‪Graphics‬‬

‫)‪(٦‬‬

‫اﻟﺧﯾﺎر‬

‫"‪PlotLabel  "name‬‬ ‫ووظﯾﻔﺗﮫ ﻛﺗﺎﺑﺔ اﻟﻌﻧوان‬

‫‪name‬‬

‫ﻋﻠﻰ اﻟرﺳم اى ﻛﺗﺎﺑﺔ ﻋﻧوان ﻋﻠﻰ اﻟرﺳم‪ .‬اﻻﺧﺗﯾﺎر اﻟﻣﻔﺗرض ھو‬

‫‪PlotLabel  None‬‬ ‫اى ﻋدم ﻛﺗﺎﺑﺔ ﻋﻧوان ‪.‬‬

‫‪٩٠‬‬


: ‫وﻛﺗﺎﺑﺔ اﻟﻌﻧوان ﻋﻠﻰ اﻟرﺳم ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

g(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

Clear[h,g]

hx_ : 10x2  3x  8 g[x_]:=34x+13 Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOr igin{0,10},PlotLabel->"adress"] y

adress 80 60 40 20

x -4

-3

-2

-1

1

0

2

Graphics

‫اﻟﺧﯾﺎر‬

(٧)

PlotRange  {y  min imum, y  max imum} : ‫ووظﯾﻔﺗﮫ ﺗﺣدﯾد اﻟﻣدى ﻟﻠﻣﺣور اﻟراﺳﻰ ﻓﻰ اﻟرﺳم اﻟﻧﮭﺎﺋﻰ ﻓﻰ اﻟﻔﺗرة‬

[y  minimum, y  max imum] ‫اﻟﺧﯾﺎر‬

(٨)

PlotRange  {x  minimum, x  maximum},{y  minimum, y  maximum} : ‫ووظﯾﻔﺗﮫ ﺗﺣدﯾد ﻣدى اﻻﺣداﺛﯾﺎت‬

{x  min imum, x  max imum},{y  minimum, y  maximum} . ‫اﻟﺗﻰ ﯾﺗم اﻟﺗﻌﺎﻣل ﻣﻌﮭﺎ ﻓﻰ اﻟرﺳم‬ :‫اﻟﺧﯾﺎر اﻟﻣﻔﺗرض ھو‬ .

PlotRange  Automatic

: ‫وﺗﺣدﯾد ﻣدى اﻟﻣﺣور اﻟراﺳﻰ ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

hx_ : 10x2  3x  8 ٩١

g(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬


Plot[h[x],{x,-4,2},PlotRange{20,100},PlotStyleDashing[{0.01}],AxesLabel{"x","y"}, AxesOrigin{0,10}] y 100 80 60 40 20 x -4

-3

-2

-1

1

0

2

-20

Graphics : ‫وﻗﺪ ﺗﻢ اﺳﺘﺨﺪام اﻟﺨﯿﺎر‬ PlotRange{-20,100} ‫ و ﻟﺗﺣدﯾد ﻣدى اﻻﺣداﺛﯾﺎت اﻟﺗﻰ ﺳوف ﯾﺗم اﻟﺗﻌﺎﻣل ﻣﻌﻬﺎ ﻓﻰ اﻟرﺳم ﯾﺳﺗﺧدم‬. ‫ﻟﺗﺣدﯾد اﻟﻣدى ﻟﻠﻣﺣور اﻟراﺳﻰ‬ : ‫اﻟﺧﯾﺎر‬ PlotRange{{-10,6},{-20,100}} Plot[h[x],{x,-4,2},PlotRange{{-10,6},{20,100}},PlotStyleDashing[{0.01}],AxesLabel{"x","y"} ,AxesOrigin{0,10}] y 100 80 60 40 20 x -10

-8

-6

-4

-2

2

0

4

6

-20

Graphics : ‫ ﯾﻘوم اﻟﺑرﻧﺎﻣﺞ ﺑﺗﺣدﯾد ﻣدى اﻻﺣداﺛﯾﺎت ﻛﻣﺎ ﯾﻠﻰ‬PlotRangeAll ‫وﻋﻧد اﺳﺗﺧدام اﻟﺧﯾﺎر‬

٩٢


Plot[h[x],{x,4,2},PlotRangeAll,PlotStyleDashing[{0.01}],AxesLabel {"x","y"},AxesOrigin{0,10}] y 150 125 100 75 50 25 x -4

-3

-2

0

-1

1

2

Graphics

: ‫وﻋﻧد ﻋدم اﺳﺗﺧدام اى ﺧﯾﺎر ﻓﺎن اﻟﺧﯾﺎر اﻟﻣﻔﺗرض ھو‬

PlotRange  Automatic ‫وﺗﻛون اﻟﻧﺗﺎﺋﺞ ﻛﻣﺎ ﯾﻠﻰ‬ Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOr igin{0,10}] y 80 60 40 20 x -4

-3

-2

-1

1

0

2

Graphics ‫ اﻟﺧﯾ ﺎر‬.‫ووظﯾﻔﺗﮫ ﻋﻣل رﺳم ﺷﺑﻛﻰ ﯾﺣﺗوى ﺑداﺧﻠ ﮫ ﻋﻠ ﻰ رﺳ م اﻟداﻟ ﺔ‬

: ‫ﻣﻊ ﻋﻣل ﺧطوط ﺷﺑﻛﯾﺔ ﻋﻠﻰ اﻟرﺳم ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

Clear[h] ٩٣

GridLines   Automatic ‫( اﻟﺧﯾﺎر‬٩) . GradLines   None ‫اﻟﻣﻔﺗرض ھو‬ h(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬


hx_ : 10x2  3x  8 Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOr igin{0,10},GridLinesAutomatic] y 80 60 40 20 x -4

-3

-2

-1

1

0

2

Graphics

Background  GrayLevel[k] ‫( اﻟﺧﯾ ﺎر‬١٠) . Background   Automatic ‫ اﻟﺧﯾﺎر اﻟﻣﻔﺗرض ھو‬.‫ﯾﺗراوح ﺑﯾن ﺻﻔر وواﺣد‬

k ‫ووظﯾﻔﺗ ﮫ ﺟﻌ ل اﻟﺧﻠﻔﯾ ﺔ ﺑ ﺎﻟﻠون اﻟرﻣ ﺎدى ﺑﻣﺳ ﺗوى ﺗﻠ وﯾن‬

: ‫ﻣﻊ ﺟﻌل اﻟﺧﻠﻔﯾﺔ ﺑﺎﻟﻠون اﻟرﻣﺎدى ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬

h(x)  10x 2  3x  8

‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

hx_ : 10x2  3x  8 Plot[h[x],{x,4,2},PlotStyleDashing[{0.01}],AxesLabel{"x","y"},AxesOr igin{0,10},PlotLabel->"adress",BackgroundGrayLevel[.5]] y

adress 80 60 40 20

x -4

-3

-2

-1

1

0

2

Graphics

PlotStyle  Thickness[m] ‫( ﯾﺳﺗﺧدم اﻟﺧﯾﺎر‬١٠) m‫ ﺣﯾث‬m ‫ﻟرﺳم اﻟﻣﻧﺣﻧﻰ ﺑﺣﯾث ﯾﻛون ﺳﻣك اﻟﺧط اﻟﻣﺳﺗﺧدم ﯾﺳﺎوى‬ ٩٤


‫ﺗﻣﺛل ﻛﺳر ﻣن اﻟﻌرض اﻟﻛﻠﻰ ﻟﻠرﺳم ‪.‬‬ ‫ﻟرﺳم اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ‬

‫‪h(x)  10x 2  3x  8‬‬

‫ﻣﻊ ﺟﻌل اﻟﺧط ﺳﻣﯾك اﺳﺗﺧدم اﻟﺧﯾﺎر‪:‬‬

‫]‪ PlotStyleThickness[.007‬ﻓﻰ اﻟرﺳﻣﺔ اﻟﺗﺎﻟﯾﺔ ‪.‬‬

‫‪hx_ : 10x2  3x  8‬‬ ‫]]‪Plot[h[x],{x,-4,2},PlotStyleThickness[.007‬‬ ‫‪80‬‬

‫‪60‬‬

‫‪40‬‬

‫‪20‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-3‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪Graphics‬‬

‫وﺑﺻورة ﻋﺎﻣﺔ ﻛل ﺧﯾﺎر ﻟﻠرﺳم ﻟﻪ اﺳم‬

‫‪ name‬وﯾﺎﺧذ ﻗﯾﻣﺔ ‪ Value‬وﯾﺗم وﺿﻊ اﻟﺧﯾﺎر ‪Option‬‬

‫داﺧل اﻣر اﻟرﺳم ‪ Plot‬ﻓﻰ اﻟﺻورة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪Name   Value‬‬ ‫وﯾﻣﻛن وﺿﻊ اﻛﺛر ﻣن ﺧﯾﺎر داﺧل اﻣر ‪ Plot‬ﺑﺣﯾث ﯾﻔﺻل ﻛل ﻣﻧﻬﺎ ﻋﻼﻣﺔ اﻟﻔﺎﺻﻠﺔ "‪ ",‬وﻣن اﻟﻘﯾم ‪Value‬‬ ‫اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻰ ﺑﻌض ﻫذﻩ اﻟﺧﯾﺎرات ‪:‬‬

‫‪Automatic‬‬

‫اﻟﺧﯾﺎر اﺗوﻣﺎﺗﯾﻛﻰ وﻓﻘﺎ ﻻﺳﻠوب اﻟﺑرﻧﺎﻣﺞ‬

‫‪All‬‬

‫ﻋﻣل ﻛل ﻣﺎ ﻫو ﻣﺗﺎح ﻣن اﻟﺑرﻧﺎﻣﺞ ﻓﻰ ﻫذا اﻻﺧﺗﯾﺎر‬

‫‪None‬‬

‫ﻋدم اﺳﺗﺧدام ﻣﺎ ﻫو ﻣﺗﺎح ﻣن اﻟﺑرﻧﺎﻣﺞ ﻓﻰ ﻫذا اﻟﺧﯾﺎر‬

‫‪True‬‬

‫ﺗﻧﻔﯾذ اﻟﺧﯾﺎر‬

‫‪False‬‬

‫ﻋدم ﺗﻧﻔﯾذ اﻟﺧﯾﺎر‬

‫اﻟﺗﻣﺛﯾل اﻟﺑﯾﺎﻧﻰ ﻟﻌدة دوال‬ ‫ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪ Plot‬ﻟﺗﻣﺛﯾل اﻟدوال )‪ f (x),g(x),h(x‬ﺑﯾﺎﻧﯾﺎ ﻓﻰ اﻟﻔﺗرة ‪:‬‬ ‫]‪ [a,b‬وﻋﻠﻰ ﻧﻔس اﻟﻣﺣﺎور وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪٩٥‬‬


‫]}‪Plot[f[x],g[x].h[x],{x,a.b‬‬ ‫ھذا اﻻﻣر ﯾﻣﻛن ﺗﻌﻣﯾﻣﮫ ﻟﯾﺷﻣل اﻛﺛر ﻣن ﺛﻼث دوال ‪.‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟدوال اﻟﺗﺎﻟﯾﺔ‬

‫‪ f (x)  cos[x],g(x)  sin(x),h(x)  e x‬ﻋﻠﻰ ﻧﻔس اﻟﻧطﺎق ]‪[, ‬‬ ‫ﻋﻠﻰ ﺷﻛل ﺧطوط ﻣﺗﻘطﻌـﺔ وﻣﻧﺣﻧـﻰ )‪ g(x‬ﻋﻠـﻰ ﺻـورة ﺧطـوط وﻧﻘـط وﻣﻧﺣﻧـﻰ‬

‫ﺑﺣﯾث ﯾﻛون ﻣﻧﺣﻧﻰ )‪f(x‬‬ ‫)‪ h(x‬ﺳﻣﯾك‪.‬‬

‫اﻟﺣل‪:‬‬ ‫]‪f[x_]:=Cos[x‬‬ ‫]‪g[x_]:=Sin[x‬‬

‫‪hx_ : x‬‬ ‫‪Plot[{f[x],g[x],h[x]},{x,‬‬‫‪,},PlotStyle{Dashing[{0.01}],Dashing[{0.01,.03,.03}],‬‬ ‫]}]‪Thickness[.007‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪3‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-3‬‬

‫‪-1‬‬

‫‪Graphics‬‬

‫ﻣﺛﺎل‬

‫ارﺳ م اﻟ دوال اﻟﺗﺎﻟﯾ ﺔ‬

‫]‪[0,4‬‬

‫‪x‬‬ ‫‪2‬‬

‫‪ f (x)  sin x , g(x)  2sin x , h(x)  sin‬ﻋﻠـ ــﻰ ﻧﻔـ ــس اﻟﻔﺗــ ـرة‬

‫ﺑﺣﯾث ﯾﻛون ﻣﻧﺣﻧﻰ )‪ f(x‬ﻋﻠﻰ ﺷﻛل ﺧطوط ﻣﺗﻘطﻌﺔ وﻣﻧﺣﻧﻰ )‪ g(x‬ﻋﻠﻰ ﺻورة ﺧطوط وﻧﻘط‬

‫‪٩٦‬‬


‫وﻣﻧﺣﻧــﻰ‬

‫‪3 3‬‬ ‫‪2 2‬‬

‫)‪ h(x‬ﺳــﻣﯾك وﻣــدى اﻟﻣﺣــور اﻟ ارﺳــﻰ ] ‪ [ ,‬وﻗــد اﺳــﺗﺧدم اﻟﺧﯾــﺎر ‪ Ticks‬ﺑﺣﯾــث ﯾــﺗم ﺗــرﻗﯾم‬

‫اﻟﻣﺣور اﻻﻓﻘﻰ ‪ Automatics‬و ﺗرﻗﯾم اﻟﻣﺣور اﻟراﺳﻰ ﻋﻧد ‪ -1‬وﻋﻧد ‪ 1‬ﻓﻘط ‪.‬‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻟﺧﯾﺎر ‪ PlotStyle‬ﺑﺣﯾث ﯾﻛون ﻣﻧﺣﻧﻰ )‪ Sin(x‬ﻣﺗﻘطﻊ وﻣﻧﺣﻧـﻰ )‪Sin(2x‬ﻋﻠـﻰ ﺻـورة ﺧطـوط‬

‫‪x‬‬ ‫ﻣﺗﻘطﻌـ ــﺔ وﻧﻘـ ــط وﻣﻧﺣﻧـ ــﻰ‬ ‫‪2‬‬

‫‪ sin‬ﺳـ ــﻣﯾك ‪ .‬اﯾﺿـ ــﺎ اﺳـ ــﺗﺧدم اﻟﺧﯾـ ــﺎر‪ Ticks‬ﻟﺟﻌـ ــل ﺗـ ــرﻗﯾم اﻟﻣﺣـ ــور اﻻﻓﻘـ ــﻰ‬

‫‪ Automatics‬اﻣﺎ ﺗرﻗﯾم اﻟﻣﺣور اﻟراﺳﻰ ﻓﯾﻛون ﻣن )‪ .(-1,1‬ﻛﻣﺎ ﺳوف ﯾﺗم ﺗﺣدﯾد اﻟﻣـدى ﻟﻠﻣﺣـور اﻟ ارﺳـﻰ ﻣـن‬ ‫اﻣر ‪.PlotRange‬‬

‫‪x‬‬ ‫‪PlotSinx, Sin2x, Sin , x, 0, 4,‬‬ ‫‪2‬‬ ‫‪PlotStyle  Dashing0.01, Dashing0.01, .03, .03,‬‬ ‫‪3 3‬‬ ‫‪Thickness.007, PlotRange   , , Ticks  Automatic,  1, 1‬‬ ‫‪2 2‬‬ ‫‪1‬‬

‫‪12‬‬

‫‪8‬‬

‫‪10‬‬

‫‪6‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪Graphics‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟداﺋرة‬

‫‪x 2  4x  y2  2y  4‬‬

‫اﻟﺣل‪:‬‬

‫‪٩٧‬‬


‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠ ﻰ ﻣرﻛ ز ‪ center‬و ‪ radius‬ﻟﻠ داﺋرة‬ ‫ﻋﻠﻰ اﻟﻣﻌﺎدﻟﺔ‬

‫‪(x  2)2  (y  1)2  32‬‬

‫ھذه اﻟﻣﻌﺎدﻟﺔ ﻓﻰ ‪ y‬ﻧﺣﺻل ﻋﻠﻰ‬

‫‪x 2  4x  y2  2y  4‬‬

‫ﺑﺎﻛﻣ ﺎل اﻟﻣرﺑ ﻊ واﻟﺣﺻ ول‬

‫وﻋﻠﻰ ذﻟك ﻣرﻛز اﻟداﺋرة ھ و )‪ (2,1‬و ‪ radius‬ﻟﻠ داﺋرة ھ و ‪ 3‬وﺑﺣ ل‬

‫‪y  1  9  (x  2) 2‬‬

‫وﻋﻠﻰ ذﻟك اﻟداﻟﺔ اﻟﺗﻰ ﺗﺻف اﻟﺟزء اﻟﻌﻠوى ﻣن اﻟداﺋرة‬

‫ھﻰ ‪:‬‬

‫‪y1  1  9  (x  2) 2‬‬

‫واﻟداﻟﺔ اﻟﺗﻰ ﺗﺻف اﻟﺟزء اﻟﺳﻔﻠﻰ ﻣن اﻟداﺋرة ھﻰ‪:‬‬

‫‪ . y 2  1  9  (x  2) 2‬ﺳوف ﻧﻌرف ‪y1 , y2‬‬ ‫ﻋﻠﻰ اﻟﺗواﻟﻰ ‪ .‬وﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Plot‬ﻟرﺳم‬

‫اﻻﻣر‬

‫‪ y1 , y 2‬ﻓﻰ اﻟﻔﺗرة ]‪[1,5‬‬

‫ﺗﺣت اﻻﺳ م ‪ p1,p2‬ﻋﻠ ﻰ اﻟﺗ واﻟﻰ ‪.‬‬

‫‪DisplayFunction   Identity‬‬

‫وﺳوف ﻻ ﺗظﮭر اﻟرﺳوﻣﺎت وذﻟك ﺑﺳﺑب اﻟﺧﯾﺎر‬

‫‪Show‬‬

‫ﻛدوال ﺗﺻف اﻟﺟ زء اﻟﻌﻠ وى واﻟﺟ زء اﻟﺳ ﻔﻠﻰ ﻣ ن اﻟ داﺋرة‬

‫ﻟﻌرض اﻟرﺳﻣﺗﯾن ﻣﻌﺎ‪ .‬اﻟﺧﯾﺎر اﻟﻣﻔﺗ رض‬

‫‪1‬‬ ‫‪GoldenRatio‬‬

‫وﺑﻌد ذﻟك ﺳوف ﻧﺳ ﺗﺧدم‬

‫‪ AspectRatio ‬ﺳ وف ﯾ ؤدى‬

‫اﻟﻰ ان اﻟرﺳم ﻟن ﯾﻛون ﻋﻠﻰ ﺷﻛل داﺋرة ﻛﻣﺎ ﯾﻠﻰ‪:‬‬

‫]‪Clear[y1,y2‬‬ ‫‪‬‬ ‫; ‪y1  1  9  x  22‬‬

‫‪‬‬ ‫‪‬‬ ‫; ‪9  x  22‬‬

‫‪y2  1 ‬‬

‫;]‪p1=Plot[y1,{x,-1,5},DisplayFunctionIdentity‬‬ ‫;]‪p2=Plot[y2,{x,-1,5},DisplayFunctionIdentity‬‬ ‫]‪Show[p1,p2,DisplayFunction$DisplayFunction‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪5‬‬

‫‪3‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬ ‫‪-1‬‬ ‫‪-2‬‬

‫‪Graphics‬‬

‫ﻋﻧد وﺿﻊ اﻟﺧﯾﺎر ‪AspectRatio   1‬‬

‫ﺳوف ﻧﺣﺻل ﻋﻠﻰ ﺷﻛل داﺋرة ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬ ‫‪٩٨‬‬


‫‪Show[p1,p2,AspectRatio1,DisplayFunction$DisplayFunction‬‬ ‫]‬ ‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬

‫‪5‬‬

‫‪3‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-1‬‬

‫‪-2‬‬ ‫‪Graphics‬‬

‫ﺗﻣﺛﯾل اﻟدوال اﻟﺗﻰ ﻟﻬﺎ اﻛﺛر ﻣن ﻧطﺎق ‪Piecewise-Defined Functions‬‬ ‫ﯾﻣﻛن ﺗﻌرﯾف ورﺳم اﻟدوال اﻟﺗﻰ ﻟﻬﺎ اﻛﺛر ﻣن ﻧطﺎق ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ‪ .‬ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ اﻟداﻟﺔ‬

‫)‪f (x‬‬

‫ﺳوف ﺗﻌرف ﻓﻰ ﻧطﺎﻗﯾن ‪.‬اﻟﺷرط ;‪ /‬ﯾﻌرف ان اﻟداﻟﺔ ﻟﮭﺎ ﻧطﺎﻗﺎت ﻣﺧﺗﻠﻔﺔ و ‪ ‬ﺗﻣﺛل اﻟرﻣز " ‪ " ‬و ‪ ‬ﺗﻣﺛل اﻟرﻣز‬

‫"‪"‬‬ ‫ﻣﺛﺎل‬ ‫اذا ﻛﺎﻧت ‪:‬‬

‫‪ x 2  2, x  0‬‬ ‫‪f (x)  ‬‬ ‫‪ x  1, x  0‬‬

‫ارﺳم ﻫذﻩ اﻟداﻟﺔ ﻓﻰ اﻟﻔﺗرة ]‪[3,3‬‬

‫‪.‬‬

‫اﻟﺣل‪:‬‬

‫‪٩٩‬‬


‫]‪Clear[f‬‬

‫‪fx_ : x2  2 ; x  0‬‬ ‫‪f[x_]:=x-1/;x<0‬‬ ‫]‪Plot[f[x],{x,-3,3},PlotRange{-2,4},AspectRatio1‬‬ ‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬

‫‪2‬‬

‫‪3‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-3‬‬

‫‪-2‬‬

‫‪-1‬‬

‫‪-2‬‬

‫‪ Graphics‬‬

‫)‪ (٢-٣‬رﺳوم ﻓﻰ اﻟﺑﻌد اﻟﺛﺎﻟث )اﻟﻔراغ( ‪Three-Dimentional Graphics‬‬

‫ﯾﻣﻛن ﻟﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ رﺳم اﻟداﻟﺔ‬

‫‪x, y‬‬

‫‪z  f (x, y),a  x  b,c  y  d‬‬

‫ﺣﯾث ‪ z‬ﻣﺗﻐﯾر ﺗﺎﺑﻊ وﻧطﺎق اﻟداﻟﺔ ﯾﻘﻊ ﻓﻰ اﻟﻣﺳﺗوى‬

‫ﻓﻰ ﻣﺗﻐﯾرﯾن ﻣﺳﺗﻘﻠﯾن‬

‫‪ xy‬وﯾﻣﺛﻠﮫ ﻣﺟﻣوع اﻟﻧﻘﺎط )‪(x, y‬‬

‫اﻟﻣﻌرف ﻋﻧدھﺎ‬

‫اﻟداﻟﺔ ﺑﯾﻧﻣﺎ اﻟﻣدى ﻟﻠداﻟﺔ )‪ z  f (x, y‬ﯾﻘﻊ ﻋﻠﻰ ﻣﺣور ‪ z‬ﻓﻰ اﻟﻔراغ ورﺳم اﻟداﻟﺔ )‪z  f (x, y‬‬ ‫ﻋن ﺳطﺢ ﻓﻰ اﻟﻔراغ ﯾﻣﺛﻠﮫ ﻣﺟﻣوع اﻟﻧﻘﺎط )‪ (x, y,z‬اﻟﺗﻰ ﺗﺣﻘق اﻟﻣﻌﺎدﻟﺔ )‪ . z  f (x, y‬اﻻﻣر اﻟذى ﯾﺳﺗﺧدم‬ ‫ھو ﻋﺑﺎرة‬

‫ﻓﻰ ھذه اﻟﺣﺎﻟﺔ ھو ‪:‬‬

‫]}‪Plot3D[f[x, y],{x,a,b},{y,c,d‬‬ ‫ﯾﻣﻛن اﻻﺳﺗﻌﻼم ﻋن اﻟﻌدﯾ د ﻣ ن اﻟﺧﯾ ﺎرات اﻟﺗ ﻰ ﺗ ﺗﺣﻛم ﻓ ﻰ ﺷ ﻛل اﻟرﺳ م ﻓ ﻰ اﻟﻔ راغ ﻟﻼﻣ ر‬ ‫اﻟﻣﻔﺗرﺿﺔ ﻟﻼﻣر‬

‫‪Plot3D‬‬

‫ﺑﺎﺳﺗﺧدام‬

‫‪??Plot3D‬‬

‫‪Plot3D‬‬

‫وﻛ ذﻟك اﻟﺧﯾ ﺎرات‬

‫ﻛﻣﺎ ﺳﺑق ان وﺿﺣﻧﺎ ‪.‬‬

‫‪??Plot3D‬‬

‫‪١٠٠‬‬


Plot3Df, x, xmin, xmax, y, ymin, ymax generates a threedimensional plot of f as a function of x and y. Plot3Df, s, x, xmin, xmax, y, ymin, ymax generates a threedimensional plot in which the height of the surface is specified by f, and the shading is specified by s. More… AttributesPlot3D  HoldAll, Protected

OptionsPlot3D  AmbientLight  GrayLevel0, AspectRatio  Automatic, Axes  True, AxesEdge  Automatic, AxesLabel  None, AxesStyle  Automatic, Background  Automatic, Boxed  True, BoxRatios  1, 1, 0.4, BoxStyle  Automatic, ClipFill  Automatic, ColorFunction  Automatic, ColorFunctionScaling  True, ColorOutput  Automatic, Compiled  True, DefaultColor  Automatic, DefaultFont  $DefaultFont, DisplayFunction  $DisplayFunction, Epilog  , FaceGrids  None, FormatType  $FormatType, HiddenSurface  True, ImageSize  Automatic, Lighting  True, LightSources  1., 0., 1., RGBColor1, 0, 0, 1., 1., 1., RGBColor0, 1, 0, 0., 1., 1., RGBColor0, 0, 1, Mesh  True, MeshStyle  Automatic, Plot3Matrix  Automatic, PlotLabel  None, PlotPoints  25, PlotRange  Automatic, PlotRegion  Automatic, Prolog  , Shading  True, SphericalRegion  False, TextStyle  $TextStyle, Ticks  Automatic, ViewCenter  Automatic, ViewPoint  1.3,  2.4, 2., ViewVertical  0., 0., 1. Options[Plot3D] {AmbientLightGrayLevel[0],AspectRatioAutomatic,AxesTrue,Axe sEdgeAutomatic,AxesLabelNone,AxesStyleAutomatic,Background Automatic,BoxedTrue,BoxRatios{1,1,0.4},BoxStyleAutomatic,Cl ipFillAutomatic,ColorFunctionAutomatic,ColorFunctionScaling ١٠١


True,ColorOutputAutomatic,CompiledTrue,DefaultColorAutomati c,DefaultFont$DefaultFont,DisplayFunction$DisplayFunction,Ep ilog{},FaceGridsNone,FormatType$FormatType,HiddenSurfaceTr ue,ImageSizeAutomatic,LightingTrue,LightSources{{{1.,0.,1.} ,RGBColor[1,0,0]},{{1.,1.,1.},RGBColor[0,1,0]},{{0.,1.,1.},RGB Color[0,0,1]}},MeshTrue,MeshStyleAutomatic,Plot3MatrixAutom atic,PlotLabelNone,PlotPoints25,PlotRangeAutomatic,PlotRegi onAutomatic,Prolog{},ShadingTrue,SphericalRegionFalse,Text Style$TextStyle,TicksAutomatic,ViewCenterAutomatic,ViewPoin t{1.3,-2.4,2.},ViewVertical{0.,0.,1.}}

: ‫ﻛﻣﺎ ﯾﻠﻰ‬

Plot3D

‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن‬

١٠٢

Help Browser

‫ﻛﻣﺎ ﯾﻣﻛن اﺳﺗﺧدام‬


‫ﻣﺛﺎل‬ ‫ارﺳــ ـ ـ ـ ـ ـ ـ ــم اﻟداﻟـ ـ ـ ـ ـ ـ ـ ـ ــﺔ ‪ f (x, y)  x  3x  y  5y‬ﻋﻠــ ـ ـ ـ ـ ـ ـ ــﻰ اﻟﻣﻧطﻘـ ـ ـ ـ ـ ـ ـ ـ ــﺔ اﻟﻣﺳــ ـ ـ ـ ـ ـ ـ ــﺗطﯾﻠﺔ اﻟﺷـ ـ ـ ـ ـ ـ ـ ـ ــﻛل‬ ‫‪2‬‬

‫‪2‬‬

‫‪. 0  x  5, 3  y  4‬‬

‫اﻟﺣل‪:‬‬ ‫ﺑﻌــ ـ ـ ــد ﺣــ ـ ـ ــذف ﻛــ ـ ـ ــل اﻟﺗﻌرﯾﻔــ ـ ـ ــﺎت اﻟﺳــ ـ ـ ــﺎﺑﻘﺔ ﻟﻠداﻟــ ـ ـ ــﺔ ‪ f‬اذا وﺟــ ـ ـ ــدت ﻧﺳــ ـ ـ ــﺗﺧدم اﻻﻣــ ـ ـ ــر )‪ f(x,y‬ﻟرﺳــ ـ ـ ــم ‪ f‬ﺣﯾـ ـ ـ ـ ــث‬ ‫‪. 0  x  5, 3  y  4‬‬ ‫]‪Clear[f‬‬

‫‪fx_, y_ : x2  3x  y2  5 y‬‬ ‫]}‪Plot3D[f[x,y],{x,0,5},{y,-3,4‬‬

‫‪30‬‬ ‫‪20‬‬ ‫‪10‬‬ ‫‪0‬‬

‫‪4‬‬ ‫‪2‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫‪-2‬‬ ‫‪4‬‬ ‫‪5‬‬

‫ﻣﺛﺎل‬

‫‪١٠٣‬‬

‫‪SurfaceGraphics‬‬


‫‪ x 2 3y 2 ‬‬ ‫‪cos  ‬‬ ‫ارﺳـ ـ ـ ـ ـ ــم اﻟداﻟـ ـ ـ ـ ـ ــﺔ ‪‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪. 6  x  6, 3  y  3‬‬

‫‪x 2 y2‬‬ ‫) ‪‬‬ ‫‪4 2‬‬

‫(‪‬‬

‫‪ f (x, y)  e‬ﻋﻠـ ـ ـ ـ ـ ــﻰ اﻟﻣﻧطﻘـ ـ ـ ـ ـ ــﺔ اﻟﻣﺳـ ـ ـ ـ ـ ــﺗطﯾﻠﺔ اﻟﺷـ ـ ـ ـ ـ ــﻛل‬

‫اﻟﺣل‪:‬‬ ‫]‪Clear[f‬‬ ‫‪2‬‬ ‫‪ 3 y ‬‬ ‫‪4‬‬

‫‪2‬‬ ‫‪y2‬‬ ‫‪Cos x‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪2‬‬

‫‪fx_, y_ : Exp x4 ‬‬

‫]}‪Plot3D[f[x,y],{x,-6,6},{y,-3,3‬‬

‫‪0.1‬‬ ‫‪0.05‬‬ ‫‪0‬‬ ‫‪-0.05‬‬ ‫‪-0.1‬‬

‫‪2‬‬

‫‪0‬‬

‫‪-5‬‬ ‫‪-2.5‬‬ ‫‪0‬‬

‫‪-2‬‬

‫‪2.5‬‬ ‫‪5‬‬

‫‪SurfaceGraphics‬‬ ‫‪‬‬ ‫‪ ‬ﯾﺘﻀﺢ ﻣﻦ اﻟﺮﺳﻢ اﻟﺴﺎﺑﻖ وﺟﻮد ﻣﺎ ﯾﺴﻤﻰ "‪ ."choppy‬اﻟﺒﺮﻧﺎﻣﺞ ﺳﻮف ﯾﻌﻤﻞ ﻣﺎ ﯾﺴﻤﻰ "‪ "clip‬ﻟﻠﺠﺰء اﻟﻌﺎﻟﻰ‬ ‫ﺑﺎﺳﺗﺧدام اﻟﺧﯾﺎر ‪:‬‬

‫‪PlotPoint s  n‬‬ ‫ﻓﻰ اﻻﻣر‪:‬‬

‫]‪Plot3D[f[x, y],{x,a,b},{y,c,d},PlotPoint s   n‬‬ ‫او ﯾﺳﺗﺧدم اﻟﺧﯾﺎر اﻟﺗﺎﻟﻰ ‪:‬‬

‫}‪PlotPoint s  {nx,ny‬‬ ‫وﻋﻠﻰ ذﻟك ﻗﯾﻣﺔ ﻋﺎﻟﯾﺔ ﻣن ‪ n‬او )‪ (nx,ny‬ﺗؤدى اﻟﻰ رﺳم ﻧﺎﻋم ‪.‬‬ ‫ھﻨﺎ ﺳﻮف ﻧﺴﺘﺨﺪم اﻟﺨﯿﺎر‪:‬‬ ‫وﻫذا اﻟﺧﯾﺎر ﻻ ﯾﺳﺗﺧدم ﻣﻊ اﻻﻣر ‪.Show‬‬

‫‪PlotPoint s  30‬‬

‫‪١٠٤‬‬


‫اﻻﻣر ‪:‬‬ ‫}‪ViewPoint{1.679,1.732,2.374‬‬ ‫ﯾﺆدى اﻟﻰ ﺗﺤﺪﯾﺪ اﺣﺪاﺛﯿﺎت ﻧﻘﻄﺔ ﻓﻰ اﻟﻔﺮاغ ﯾﺘﻢ اﻟﻨﻈﺮ ﻣﻦ ﻋﻨﺪھﺎ اﻟﻰ اﻟﺴﻄﺢ وھﺬه اﻻﺣﺪاﺛﯿﺎت ﺗﻜﻮن ﺑﺎﻟﻨﺴﺒﺔ اﻟﻰ‬ ‫ﻣﺮﻛﺰ اﻟﺼﻨﺪوق‪.‬اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭﺬا اﻻﻣﺮ ھﻮ ‪:‬‬ ‫}‪ViewPoint{xv,yv,zv‬‬ ‫ﻟﺗﺣدﯾد اى ﻧﻘطﺔ)‪ (xv,y v,zv‬ﻓﻰ اﻟﻔراغ ‪.‬‬ ‫اﻟﺨﯿﺎرات اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪PlotRange  {z min,z max},PlotRange  {x min, x max},‬‬ ‫‪PlotRange  {ymin, ymax},PlotRange  All‬‬ ‫ﺗﺴﺘﺨﺪم ﻟﺘﺤﺪﯾﺪ ﻣﺪى اﻻﺣﺪاﺛﯿﺎت ﻓﻰ اﻟﺮﺳﻢ واﻟﺨﯿﺎر اﻟﻤﻔﺘﺮض وھﻮ ‪:‬‬

‫‪PlotRange  Automatic‬‬ ‫ﻓﻰ ﻣﺜﺎﻟﻨﺎ اﺳﺘﺨﺪم اﻟﺨﯿﺎر ‪:‬‬ ‫‪PlotRangeAll‬‬ ‫ﻓﻰ اﻻﻣر اﻟﺗﺎﻟﻰ ﻟﻠﺣﺻول ﻋﻠﻰ اﻟرﺳم اﻟﻣطﻠوب ‪.‬‬ ‫‪Plot3D[f[x,y],{x,-6,6},{y,‬‬‫‪3,3},PlotPoints30,PlotRangeAll,ViewPoint{1.679,1.732,2‬‬ ‫]}‪.374‬‬

‫‪1‬‬ ‫‪0.5‬‬ ‫‪0‬‬ ‫‪-5‬‬

‫‪-2‬‬ ‫‪-2.5‬‬ ‫‪0‬‬

‫‪0‬‬ ‫‪2.5‬‬ ‫‪2‬‬ ‫‪5‬‬

‫‪ SurfaceGraphics‬‬ ‫‪‬‬ ‫‪١٠٥‬‬


‫وﻓﯾﻣﺎ ﯾﻠﻰ ﺑﻌض اﻟﺧﯾﺎرات ووظﯾﻔﺔ ﻛل ﺧﯾﺎر ‪.‬‬

‫اﻟﺨﯿﺎر‬

‫وظﯿﻔﺘﮫ‬ ‫ﻛﺘﺎﺑﺔ ﻋﻨﺎوﯾﻦ‬ ‫ﻋﻠﻰ اﻟﻤﺤﺎور‬

‫"‪PlotLabel  "Label‬‬

‫ﻛﺘﺎﺑﺔ ﻋﻨﻮان ﻋﻠﻰ‬ ‫اﻟﺮﺳﻢ‬ ‫ﺗﺮﻗﯿﻢ ﻣﺤﺎور‬ ‫اﻻﺣﺪاﺛﯿﺎت‬

‫"‪AxesLabel  "z  Label‬‬ ‫"‪AxesLabel  "x","y","z‬‬

‫‪Ticks  None‬‬ ‫}‪Ticks  {xt, yt,zt‬‬

‫اﻻﺧﺘﯿﺎر اﻟﻔﻌﺎل‬

‫‪AxesLabel  None‬‬ ‫‪PlotLabel  None‬‬ ‫‪Ticks   Automatic‬‬

‫ﺣﯿﺚ ‪xt, yt,zt‬‬ ‫ﯾﻤﻜﻦ ان ﺗﺎﺧﺬ اﻟﻘﯿﻢ‬

‫‪None or Automatic‬‬ ‫‪Boxed   False‬‬ ‫}‪BoxeRatios  {nx,ny,nz‬‬ ‫ﺟﻌﻞ اﻟﻨﺴﺒﺔ‬

‫‪nx : ny : nz‬‬

‫ﺑﯿﻦ اطﻮال اوﺟﮫ اﻟﺼﻨﺪوق‬

‫‪HiddenSurface  False‬‬ ‫‪Mesh   False‬‬

‫‪ClipFill  None‬‬

‫رﺳﻢ ﺻﻨﺪوق‬ ‫ﺣﻮل اﻟﺴﻄﺢ‬ ‫ﺗﺤﺪﯾﺪ اﻟﻨﺴﺒﺔ ﺑﯿﻦ‬ ‫اطﻮال اوﺟﮫ‬ ‫اﻟﺼﻨﺪوق ﻓﻰ‬ ‫اﺗﺠﺎه اﻟﻤﺤﺎور‬ ‫‪ x, y,z‬ﻋﻠﻰ‬ ‫اﻟﺘﺮﺗﯿﺐ‬ ‫ﻣﻨﻊ ظﮭﻮر‬ ‫اﻻﺟﺰاء اﻟﺨﻠﻔﯿﺔ‬ ‫ﻣﻦ اﻟﺴﻄﺢ‬ ‫رﺳﻢ ﺷﺒﻜﺔ ﻋﻠﻰ‬ ‫اﻟﺴﻄﺢ ﻓﻰ اﺗﺠﺎه‬ ‫اﻟﻤﺤﺎور ‪x,y‬‬ ‫ﺗﻮﺿﯿﺢ اﻻﻣﺎﻛﻦ‬ ‫اﻟﺘﻰ ﻋﻨﺪھﺎ ﻗﻄﻊ‬ ‫ﻋﻠﻰ اﻟﺴﻄﺢ وﻓﻘﺎ‬ ‫ﻟﻠﻤﻮاﺻﻔﺎت‬ ‫اﻟﻔﻌﺎﻟﺔ ﻟﻠﺮﺳﻢ‬

‫‪١٠٦‬‬

‫‪Boxed  True‬‬ ‫}‪BoxeRatios  {6,3,1‬‬

‫‪HiddenSurface  True‬‬ ‫‪Mesh   True‬‬

‫‪ClipFill  Automatic‬‬


‫ﻣﺛﺎل‬ ‫ ﻋﻠـ ـ ــﻰ اﻟﻣﻧطﻘـ ـ ــﺔ اﻟﻣﺳـ ـ ــﺗطﯾﻠﺔ اﻟﺷـ ـ ــﻛل‬f (x, y)  sin(x, y) ‫ﺑﺎﺳـ ـ ــﺗﺧدام اﻟﺧﯾـ ـ ــﺎرات اﻟﺳـ ـ ــﺎﺑﻘﺔ ارﺳـ ـ ــم اﻟداﻟـ ـ ــﺔ‬ . 0  x  4,0  y  4 : ‫اﻟﺨﯿﺎر‬ AxesLabel{"x","y","z"} .‫ ﻋﻠﻰ ﻣﺣﺎور اﻻﺣداﺛﯾﺎت‬x, y,z ‫ﯾؤدى اﻟﻰ ﻛﺗﺎﺑﺔ اﻟﻌﻧﺎوﯾن‬ aa1=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},AxesLabel{"x","y","z"},DisplayFunction Identity]; : ‫اﻟﺨﯿﺎر‬

BoxRatios{1,1,1}

. ‫ﯾؤدى اﻟﻰ ﻋرض اﻟﺳطﺢ داﺧل ﺻﻧدوق ﻣﻛﻌب اﻟﺷﻛل‬ aa2=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},AxesLabel{"x","y","z"},PlotRange{.5,.5},BoxRatios{1,1,1},DisplayFunctionIdentity]; : ‫اﻟﺨﯿﺎر‬ Ticks{None,None,Automatic} . ‫ ﻓﻘط‬z ‫ﯾؤدى اﻟﻰ ﺗرﻗﯾم اﻻﺣداﺛﯾﺎت‬

aa3=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},PlotPoints40,Ticks{None,None,Automatic },DisplayFunctionIdentity]; : ‫اﻟﺨﯿﺎر‬

BoxedFalse

١٠٧


.‫ﯾؤدى اﻟﻰ ﻋرض اﻟﺳطﺢ ﻓﻘط ﺑدون ﺻﻧدوق ﻣن ﺣوﻟﻪ‬

aa4=Plot3D[Sin[x y] ,{x,0,4},{y,0,4},PlotPoints40,BoxedFalse,DisplayFunctio nIdentity]; Show[GraphicsArray[{{aa1,aa2},{aa3,aa4}}]] y 34 2

1 0. z5 - 0. 50 -1 0

1 0 .5 0 0 .2 5 z 0 -0 .2 5 -0 .5 0 1 x2

4 1

3 2 y x2

1 3

4 0

1 0. 5 -0 .50 -1 0

1 0. 5 0 - 0. 5 -1

3

4

4 3 1

2 2

1 3

4 0

GraphicsArray

‫ﻣﺛﺎل‬ ‫ ﻋﻠـ ـ ـ ــﻰ اﻟﻣﻧطﻘـ ـ ـ ــﺔ اﻟﻣﺳـ ـ ـ ــﺗطﯾﻠﺔ اﻟﺷـ ـ ـ ــﻛل‬f (x, y)  e

 x 2 y2    (  )  2 3 

 x 2 4y2  Cos (  ) ‫ارﺳـ ـ ـ ــم اﻟداﻟـ ـ ـ ــﺔ‬ 4   2 . 0  x  5, 3  y  4 : ‫اﻟﺣل‬

Clear[f]

 x2

 fx_, y_ : Exp

 4

y2  x2 4 y2  Cos   2 2 4

Plot3D[f[x,y],{x,-6,6},{y,3,3},PlotPoints30,PlotRangeAll,BoxRatios{6,3,1},ViewPo int{1.679,1.732,2.374},BoxedFalse,AxesAutomatic];

١٠٨


-5 1 0.5 0

-2.5 0 -2 2.5

0 2

5

‫ﻣﺛﺎل‬ . 0  x  2 ,0  y  4 ‫ ﻋﻠﻰ اﻟﻣﻧطﻘﺔ اﻟﻣﺳﺗطﯾﻠﺔ اﻟﺷﻛل‬f (x, y)  e

cos y

sin x ‫ارﺳم اﻟداﻟﺔ‬ :‫اﻟﺣل‬ : ‫اﻟﺨﯿﺎر‬

LightingFalse

.‫ﯾﺆدى اﻟﻰ ظﮭﻮر اﻟﺮﺳﻢ ﺑﻠﻮن اﺑﯿﺾ و اﺳﻮد‬ aa1=Plot3D[Sin[x] Exp[Cos[y]],{x,0,2},{y,0,4},PlotPoints30,BoxRatios{6, 3,1},TicksNone,LightingFalse,DisplayFunctionIdentity]; : ‫اﻟﺨﯿﺎر‬ ShadingFalse .‫ﯾﺆدى اﻟﻰ ﻋدم ﺗﻈﻠﯿﻞ اﻟﺮﺳﻢ‬

١٠٩


aa2=Plot3D[Sin[x] Exp[Cos[y]],{x,0,2},{y,0,4},PlotPoints30,BoxRatios{6, 3,1},TicksNone,ShadingFalse,DisplayFunctionIdentity]; : ‫اﻟﺨﯿﺎر‬

RGBColor[1,0,0] .‫ﯾﺆدى اﻟﻰ ظﮭﻮر اﻟﻠﻮن اﻻﺣﻤﺮ ﻋﻠﻰ اﻟﺮﺳﻢ‬

aa3=Plot3D[{Sin[x] Exp[Cos[y]],RGBColor[1,0,0]},{x,0,2},{y,0,4},PlotPoints 30,TicksNone ,DisplayFunctionIdentity]; : ‫اﻟﺨﯿﺎر‬ RGBColor[1,Abs[Sin[x]Cos[y]],0] .‫ﯾﺆدى اﻟﻰ ظﮭﻮر ظﻼل ﻣﺧﺗﻠﻔﺔ ﻣن اﻟﻠﻮن اﻻﺧﻀﺮ ﻋﻠﻰ اﻟﺮﺳﻢ ﻣﻊ اﻟﻠون اﻻﺣﻣر‬

aa4=Plot3D[{Sin[x] Exp[Cos[y]],RGBColor[1,Abs[Sin[x]Cos[y]],0]},{x,0,2},{y, 0,4},PlotPoints30,TicksNone,DisplayFunctionIdentity ]; Show[GraphicsArray[{{aa1,aa2},{aa3,aa4}}]]

١١٠


‫‪ GraphicsArray‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟداﻟﺔ )‪ f (x, y)  sin(xy‬ﻋﻠﻰ اﻟﻣﻧطﻘﺔ اﻟﻣﺳﺗطﯾﻠﺔ اﻟﺷﻛل ‪. 0  x  4 ,0  y  4‬‬

‫اﻟﺣل‪:‬‬ ‫اﻟﺨﯿﺎر ‪:‬‬ ‫‪MeshFalse‬‬ ‫ﯾﺆدى اﻟﻰ ﻋﺪم ظﮭﻮر ﺷﺒﻜﺔ ﻋﻠﻰ اﻟﺮﺳﻢ‪.‬‬ ‫اﻟﺨﯿﺎر اﻟﻤﻔﺘﺮض‬ ‫‪MeshTrue‬‬ ‫ﯾﺆدى اﻟﻰ ظﮭﻮر ﺷﺒﻜﺔ ﻋﻠﻰ اﻟﺮﺳﻢ‪.‬‬

‫‪aa1=Plot3D[Sin[x‬‬ ‫;]‪y],{x,0,4},{y,0,4},MeshFalse,DisplayFunctionIdentity‬‬ ‫‪‬‬ ‫اﻟﺨﯿﺎر ‪:‬‬ ‫‪ShadingFalse‬‬ ‫ﯾﺆدى اﻟﻰ ﻋﺪم ﺗﻈﻠﯿﻞ اﻟﻤﺮﺑﻌﺎت ﻋﻠﻰ اﻟﺮﺳﻢ‪.‬‬ ‫اﻟﺨﯿﺎر اﻟﻤﻔﺘﺮض‬ ‫‪ShadingTrue‬‬ ‫ﯾﺆدى اﻟﻰ ﺗﻈﻠﯿﻞ اﻟﻤﺮﺑﻌﺎت ﻋﻠﻰ اﻟﺮﺳﻢ‪.‬‬ ‫‪aa2=Plot3D[Sin[x‬‬ ‫‪y],{x,0,4},{y,0,4},ShadingFalse,DisplayFunctionIdentity‬‬ ‫;]‬ ‫اﻟﺨﯿﺎر ‪:‬‬

‫‪ClipFillNone.‬‬ ‫ﯾؤدى اﻟﻰ ﻋرض اﻟﺳطﺢ ﺑﺣﯾث ﺗﺗرك اﻻﺟزاء اﻟﻣﻘطوﻋﺔ واﺿﺣﺔ ﺑدون ﺗظﻠﯾل‬ ‫اﻟﺨﯿﺎر اﻟﻤﻔﺘﺮض ‪:‬‬

‫‪١١١‬‬


ClipFillAutomatic

aa3=Plot3D[Sin[x y],{x,0,4},{y,0,4},PlotRange{-.5,.5}, ,DisplayFunctionIdentity]; : ‫اﻟﺨﯿﺎر‬

ClipFillGrayLevel[1] .‫ﯾﺆدى اﻟﻰ ظﮭﻮراﻻﺟﺰاء اﻟﻤﻘﻄﻮﻋﺔ ﻟﻠﺴﻄﺢ ﺑﺎﻟﻠﻮن اﻟﺮﻣﺎدى‬  aa4=Plot3D[Sin[x y],{x,0,4},{y,0,4},PlotRange{.5,.5},ClipFillGrayLevel[1],DisplayFunctionIdentity];

: ‫اﻟﺨﯿﺎر‬ ClipFill{GrayLevel[0],GrayLevel[1]} . ‫ﯾﺆدى اﻟﻰ ظﮭﻮراﻻﺟﺰاء اﻟﻤﻘﻄﻮﻋﺔ ﻟﻠﺴﻄﺢ ﻣﻦ اﻋﻠﻰ ﺑﺎﻟﻠﻮن اﻻﺑﯿﺾ وﻣﻦ اﺳﻔﻞ ﺑﺎﻟﻠﻮن اﻻﺳﻮد‬ aa5=Plot3D[Sin[x y],{x,0,4},{y,0,4} ,ClipFill{GrayLevel[0],GrayLevel[1]},DisplayFunctionIde ntity]; : ‫اﻟﺨﯿﺎر‬ GrayLevel[1],GrayLevel[0] . ‫ﯾﺆدى اﻟﻰ ظﮭﻮراﻻﺟﺰاء اﻟﻤﻘﻄﻮﻋﺔ ﻟﻠﺴﻄﺢ ﻣﻦ اﻋﻠﻰ ﺑﺎﻟﻠﻮن اﻻﺳﻮد وﻣﻦ اﺳﻔﻞ ﺑﺎﻟﻠﻮن اﻻﺑﯿﺾ‬

aa6=Plot3D[Sin[x y],{x,0,4},{y,0,4} ,ClipFill{GrayLevel[1],GrayLevel[0]},DisplayFunctionIdentity];

: ‫اﻻﻣﺮ اﻟﺘﺎﻟﻰ ﯾﺆدى اﻟﻰ ﺗﻈﻠﯿﻞ اﻟﺴﻄﺢ وﻓﻘﺎ ﻟﻠﻤﻌﺎدﻟﺔ‬ GrayLevel[(x+y)/8 aa7=Plot3D[{Sin[x y],GrayLevel[(x+y)/8]},{x,0,4},{y,0,4},DisplayFunctionId entity]; : ‫اﻻﻣﺮ اﻟﺘﺎﻟﻰ ﯾﺆدى اﻟﻰ ﺗﻈﻠﯿﻞ اﻟﺴﻄﺢ وﻓﻘﺎ ﻟﻠﺪاﻟﺔ‬ GrayLevel [Abs[y]/5]

١١٢


aa8=Plot3D[{Sin[x y],GrayLevel[Abs[y]/5]},{x,0,4},{y,0,4},DisplayFunctionI dentity]; : ‫اﻻﻣﺮ اﻟﺘﺎﻟﻰ ﯾﺆدى اﻟﻰ ﺗﻈﻠﯿﻞ اﻟﺴﻄﺢ وﻓﻘﺎ ﻟﻠﺪاﻟﺔ‬ GrayLevel [Abs[x]/5]

aa9=Plot3D[{Sin[x y],GrayLevel[Abs[x]/5]},{x,0,4},{y,0,4},DisplayFunctionI dentity]; Show[GraphicsArray[{{aa1,aa2,aa3},{aa4,aa5,aa6},{aa4,aa5, aa6}}]]

1 0.50 -0.5 -1 0

4 3 2 1

0.5 0.25 0 -0.25 -0.5 0 1

0.5 0.25 0 -0.25 -0.5 0 1

2

2

2

1 0.50 -0.5 -1 0

1 3

0.51 0 -0.5 -1 0

40

0.51 0 -0.5 -1 0

2

1 3

2 1

2

1 3

2 2

1 3

4 3 2 2

0.51 0 -0.5 -1 0

40

0.51 0 -0.5 -1 0

1 3

40

4 3 2 1

2

40

4 3 1

0.5 0.250 -0.25 -0.5 0 1

40

4 3

40

4 3 2 1 3

2 1

40

4 3 2 1 3

4 3

1 3

40

4 3 2 1

2

1 3

40

GraphicsArray

‫رﺳم ﻣﻧﺣﻧﯾﺎت اﻟﻣﺳﺗوى ﻟدوال ﻓﻰ ﻣﺗﻐﯾرﯾن‬ f(x,y)=C ‫ ﺗﺣﻘق اﻟﻣﻌﺎدﻟﺔ‬xy‫ ﻫﻰ ﻣﻧﺣﻧﯾﺎت ﻓﻰ اﻟﻣﺳﺗوى‬f(x,y) ‫ ﻟﻠداﻟﺔ‬Curves Level ‫ﻣﻧﺣﻧﯾﺎت اﻟﻣﺳﺗوى‬ .‫ ﺛﺎﺑت‬C ‫ﺣﯾث‬ ‫ﻣﻧﺣﻧﯾﺎت اﻟﻣﺳﺗوى ﺗﺳﻣﻰ اﯾﺿﺎ ﺧرﯾطﺔ ﻟﻣﻘﺎطﻊ اﻟﺳطﺢ ﺑطرﯾﻘﺔ ﺧطوط اﻟﻛوﻧﺗور‬

١١٣


: ‫ﯾﻘدم ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻋدة رﺳوم ﻟﻣﻧﺣﻧﯾﺎت ﻣﺳﺗوى ﻟﻠداﻟﺔ‬

f (x, y),a  x  b,c  y  d . ContourPlot[f[x, y],{x,a,b},{y,c,d}] ‫وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر‬ : ‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﻛﺎﻟﺗﺎﻟﻰ‬

ContourPlot ‫اﻟﻣﻌﻠوﻣﺎت ﻋن‬

??ContourPlot

ContourPlotf, x, xmin, xmax, y, ymin, ymax generates a contour plo

AxesOrigin Automatic,AxesStyle  Automatic,Background Automatic, Automatic,Compiled  True,ContourLines  True,Contours  10, ContourShading True, omatic,DefaultFont $DefaultFont,DisplayFunction $DisplayFunction,Epilog  ,  Automatic,FrameTicks  Automatic,ImageSize  Automatic,PlotLabel None,  ,RotateLabel  True,TextStyle $TextStyle, Ticks Automatic Options[ContourPlot] {AspectRatio1,AxesFalse,AxesLabelNone,AxesOriginAutomatic, AxesStyleAutomatic,BackgroundAutomatic,ColorFunctionAutomat ic,ColorFunctionScalingTrue,ColorOutputAutomatic,CompiledTr ue,ContourLinesTrue,Contours10,ContourShadingTrue,ContourSm oothingTrue,ContourStyleAutomatic,DefaultColorAutomatic,Def aultFont$DefaultFont,DisplayFunction$DisplayFunction,Epilog {},FormatType$FormatType,FrameTrue,FrameLabelNone,FrameStyl eAutomatic,FrameTicksAutomatic,ImageSizeAutomatic,PlotLabel None,PlotPoints25,PlotRangeAutomatic,PlotRegionAutomatic,P rolog{},RotateLabelTrue,TextStyle$TextStyle,TicksAutomatic }

: ‫ ﺗظﻠل اﻻ ﻋﻧد اﺳﺗﺧدام اﻟﺧﯾﺎر‬ContourPlot ‫ﻛل‬

ContourShading  False

‫ﻣﺛﺎل‬ : ‫ارﺳم ﻋدة ﻣﻧﺣﻧﯾﺎت ﻣﺳﺗوى ﻟﻠداﻟﺔ‬ ١١٤


‫‪f (x, y)  xsiny  ysin x‬‬ ‫وذﻟك ﻓﻰ اﻟﻣﻧطﻘﺔ ‪0  x  5,0  y  5‬‬ ‫اﻟﺣل‪:‬‬ ‫ﺳـ ـ ـ ـ ــوف ﻧﺳـ ـ ـ ـ ــﺗﺧدم اﻻﻣـ ـ ـ ـ ــر ‪ ContourPlot‬وذﻟـ ـ ـ ـ ــك ﻟﺗوﻟﯾـ ـ ـ ـ ــد ﻣﻧﺣﻧﯾـ ـ ـ ـ ــﺎت ﻣﺳـ ـ ـ ـ ــﺗوى ﻟﻠداﻟـ ـ ـ ـ ــﺔ ‪. f‬اﻟﺧﯾـ ـ ـ ـ ــﺎر‬ ‫‪ PlotPoint s  60‬ﺳوف ﯾﺳﺗﺧدم ﻟﻠﺣﺻول ﻋﻠﻰ ‪ 60‬ﻧﻘطﺔ ﻋﯾﻧﺔ ﻟﻠرﺳم ﻓﻰ اﻻﺗﺟﺎﻫﯾن ‪.x,y‬‬ ‫]‪f[x_,y_]:=x Sin[y]+y Sin[x‬‬ ‫]‪ContourPlot[f[x,y],{x,0,5},{y,0,5},PlotPoints60‬‬ ‫‪15‬‬

‫‪12.5‬‬

‫‪10‬‬

‫‪7.5‬‬

‫‪5‬‬

‫‪2.5‬‬

‫‪0‬‬ ‫‪15‬‬

‫‪12.5‬‬

‫‪10‬‬

‫‪5‬‬

‫‪7.5‬‬

‫‪0‬‬

‫‪2.5‬‬

‫‪ContourGraphics‬‬

‫اﻻن ﺳــوف ﻧﺿــﯾف اﻟﺧﯾــﺎر ‪ Contours  20‬ﻟﻠﻣﺛــﺎل اﻟﺳــﺎﺑق واﻟــذى ﯾــؤدى اﻟــﻰ اﻟﺣﺻــول ﻋﻠــﻰ ‪20‬‬ ‫‪) contour‬ﻛوﻧﺗور( ‪ .‬اﻟﺧﯾﺎر ‪ ContoursShading  False‬ﺳوف ﯾؤدى اﻟﻰ ﻋدم ﺗظﻠﯾل اﻟرﺳم‪.‬اﻟﺧﯾﺎر‬ ‫‪ Axes  Automatic‬ﺳوف ﯾؤدى اﻟﻰ وﺟـود اﻟﻣﺣـﺎور ‪.‬اﻟﺧﯾـﺎر ‪ Frame  False‬ﺳـوف ﯾـؤدى اﻟـﻰ‬ ‫ﻋدم وﺟود اطﺎر ﻟﻠرﺳـم ‪ .‬اﻟﺧﯾـﺎر }‪ AxesOriginal  {0,0‬ﯾﺟﻌـل ﺗﻘـﺎطﻊ اﻟﻣﺣـﺎور ﻋﻧـد )‪. (0,0‬اﻟﺧﯾـﺎر‬ ‫‪ PlotPoint s  120‬ﯾؤدى اﻟﻰ ان ﻋدد ﻧﻘﺎط اﻟﻌﯾﻧﺔ ‪ 120‬ﻓﻰ اﻻﺗﺟﺎﻫﯾن ‪.x,y‬‬ ‫]‪Clear[f‬‬ ‫]‪f[x_,y_]:=x Sin[y]+y Sin[x‬‬ ‫‪ContourPlot[f[x,y],{x,0,5},{y,0,5},PlotPoints120,Conto‬‬ ‫‪١١٥‬‬


urShadingFalse,Axes>Automatic,AxesOrigin{0,0},FrameFalse,Contours20] 15

12.5

10

7.5

5

2.5

2.5

5

7.5

10

12.5

15

 ContourGraphics

‫ﻣﺛﺎل‬ : ‫ارﺳم ﻋدة ﻣﻧﺣﻧﯾﺎت ﻣﺳﺗوى ﻟﻠداﻟﺔ‬

f (x, y)  x 2  4x  y 2  2y  5 2  x  6, 3  y  5 ‫وذﻟك ﻓﻰ اﻟﻣﻧطﻘﺔ‬ :‫اﻟﺣل‬ ‫اﻟﺧﯾﺎر‬. f ‫ وذﻟك ﻟﺗوﻟﯾد ﻋدة ﻣﻧﺣﻧﯾﺎت ﻣﺳﺗوى ﻟﻠداﻟﺔ‬ContourPlot ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‬  ‫ وذﻟك ﻻﯾﺟﺎد اﻟرﺳم‬x,y ‫ ﻧﻘطﺔ ﻋﯾﻧﺔ ﻓﻰ اﻻﺗﺟﺎﻫﯾن‬60 ‫ﺳوف ﯾﺳﺗﺧدم ﻟﻠﺣﺻول ﻋﻠﻰ‬

Clear[f]

fx_, y_ : x2  4x  y2  2 y  5 ContourPlot[f[x,y],{x,-2,6},{y,3,5},PlotPoints60,ContourShadingFalse]

١١٦

PlotPoint s  60


‫‪4‬‬

‫‪2‬‬

‫‪0‬‬

‫‪-2‬‬

‫‪4‬‬

‫‪6‬‬

‫‪2‬‬

‫‪-2‬‬ ‫‪0‬‬ ‫‪ ContourGraphics‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم ة اﻟداﺋرة ‪:‬‬

‫‪x 2  4x  y2  2y  5  9‬‬ ‫وذﻟك ﻓﻰ اﻟﻣﻧطﻘﺔ ‪2  x  6, 3  y  5‬‬ ‫اﻟﺣل‪:‬‬

‫ﻟرﺳم اﻟداﺋرة ‪ x 2  4x  y2  2y  5  9‬واﻟﺗﻰ ﻫﻰ ﻧﻔس اﻟداﺋرة ‪(x  2)2  (y  2)2  32‬‬ ‫اى ان رﺳم ‪ x  4x  y  2y  5  9‬ﯾﻣﺛل ﻣﻧﺣﻧﻰ اﻟﻣﺳﺗوى ﻟﻠداﻟﺔ )‪ f (x, y‬واﻟﻣﻘﺎﺑل اﻟﻰ ‪ 9‬اى‬ ‫‪2‬‬

‫‪2‬‬

‫‪. f (x, y)  9‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ ContourPlot‬وذﻟك ﻟرﺳم اﻟﻣﻧﺣﻧﻰ اﻟﺧﺎص وذﻟك ﺑﺎﺳﺗﺧدام اﻟﺧﯾﺎر‬

‫}‪Contour   {9‬‬

‫واﻟذى ﯾﺣدد ان اﻟﻛوﻧﺗور ﯾﻘﺎﺑل ‪ 9‬‬

‫]‪Clear[f‬‬ ‫‪١١٧‬‬


fx_, y_ : x2  4x  y2  2 y  5 ContourPlot[f[x,y],{x,-2,6},{y,3,5},PlotPoints120,ContourShadingFalse,Axes>Automatic,AxesOrigin{0,0},FrameFalse,Contours{9}]

4

2

-2

2

4

6

-2

 ContourGraphics  ‫ﺳوف ﻧﺳﺗﺧدم اﻟﺧﯾﺎر‬

Contours9  .( ‫ ﻛﻧﺗورات‬9) ‫ﻣﻧﺣﻧﯾﺎت ﻣﺳﺗوى‬9 ‫ﺣﯾث ﯾؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ‬  ‫واﻟذى ﯾﺧﺗﻠف ﻋن اﻟﺧﯾﺎر‬

‫ اﻟﺴﺎﺑﻖ‬Contours{9 }  .( ‫واﺣد )ﻛﻧﺗور واﺣد‬‫ﻣﻧﺣﻧﻰ ﻣﺳﺗوى‬ ‫واﻟذى ادى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ‬

ContourPlot[f[x,y],{x,-2,6},{y,3,5},PlotPoints120,ContourShadingFalse,Axes>Automatic,AxesOrigin{0,0},FrameFalse,Contours9]

١١٨


4

2

-2

2

4

6

-2

 ContourGraphics : ‫ﺑﺎﺳﺗﺧدام اﻟﺧﯾﺎر اﻟﺗﺎﻟﻰ‬   4,9,16,25 ‫ﻧﺣﺻل ﻋﻠﻰ ﻛﻧﺗورات ﺗﺧص‬ Contour   {4,9,16,25} 

Clear[f]

fx_, y_ : x2  4x  y2  2 y  5 ContourPlot[f[x,y],{x,-2,6},{y,3,5},PlotPoints120,ContourShadingFalse,Axes>Automatic,AxesOrigin{0,0},FrameFalse,Contours{4,9,16, 24}] 

‫ﻣﺛﺎل‬ ‫ ﺛم ارﺳم ﻋدة ﻣﻧﺣﻧﯾﺎت ﻣﺳﺗوى ﻟﻬذﻩ اﻟداﻟﺔ‬f ‫ارﺳم اﻟداﻟﺔ‬

x 2  y2 f (x, y)  2 x  y2 2  x  2, 2  y  2 ‫وذﻟك ﻓﻰ اﻟﻣﻧطﻘﺔ‬ ١١٩


‫اﻟﺣل‪:‬‬

‫‪‬‬

‫ﻓﻰ اﻟرﺳم اﻟﺗﺎﻟﻰ ﻓﺎن ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻻ ﯾﺳﺗطﯾﻊ ﺣﺳﺎب )‪ f (0,0‬وﻣﻊ ذﻟك ﻟم ﺗظﻬر رﺳﺎﻟﺔ ﺧطﺎ ﺑﺎﻟرﻏم ﻣن‬

‫‪‬‬

‫ﻣﻦ ان اﻟﺪاﻟﺔ ﻏﯿﺮ ﻣﻌﺮﻓﺔ ﻋﻨﺪ‪x=0,y=0‬‬ ‫]‪Clear[f‬‬

‫‪x2  y2‬‬ ‫‪x2  y2‬‬

‫‪fx_, y_ :‬‬

‫‪aa1=Plot3D[f[x,y],{x,-2,2},{y,‬‬‫‪2,2},PlotPoints30,ShadingFalse,DisplayFunctionIdentity‬‬ ‫]‬ ‫‪SurfaceGraphics‬‬ ‫‪aa2=ContourPlot[f[x,y],{x,-2,2},{y,‬‬‫‪2,2},FrameFalse,Axes‬‬‫‪>Automatic,AxesOrigin{0,0},PlotRange{1,‬‬‫‪1},PlotPoints60,ContourShadingFalse,DisplayFunctionIde‬‬ ‫]‪ntity‬‬ ‫‪ContourGraphics‬‬ ‫]]}‪Show[GraphicsArray[{aa1,aa2‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-1‬‬ ‫‪-2‬‬

‫‪1‬‬ ‫‪0‬‬ ‫‪-1‬‬ ‫‪-2‬‬ ‫‪2‬‬

‫‪1‬‬

‫‪0‬‬

‫‪-1‬‬

‫‪1‬‬ ‫‪0.5‬‬ ‫‪-0.50‬‬ ‫‪-1‬‬ ‫‪-2‬‬

‫‪ GraphicsArray‬‬

‫)‪ ( ١-٣‬رﺳم اﻟدوال اﻟﺑﺎراﻣﺗرﯾﺔ ‪Parametric Plots‬‬ ‫ﻟﻠﺗﺑﺳﯾط ﺳوف ﻧوﺿﺢ رﺳم اﻟدوال اﻟﺑﺎراﻣﺗرﯾﺔ ‪.‬اذا ﻛﺎن داﻟﺔ )‪ f(x‬وﺣﯾدة اﻟﻘﯾﻣﺔ ﻓﺎن اﻟﻣﻌﺎدﻻت اﻟﺗﻰ ﻋﻠﻰ اﻟﺻورة)‪y=f(x‬‬ ‫ﺗﺻف ﻣﻧﺣﻧﯾﺎت ﻓﻰ اﻟﻣﺳﺗوى ﯾﻘطﻌﮭﺎ اى ﺧط راﺳﻰ ﻣرة واﺣدة ﻓﻘط ﻓ ﻰ ﻧط ﺎق اﻟﺗﻌرﯾ ف ‪ ،‬واﻻﺣ داﺛﻰ ‪ y‬ﻟﻛ ل ﻧﻘط ﺔ ﯾﻛ ون‬ ‫داﻟﺔ ﻓﻰ اﻻﺣداﺛﻰ‪ x‬وﻟﻛن ﺗوﺟد ﻣﻧﺣﻧﯾﺎت اﻛﺛر ﺗﻌﻘﯾدا ﺗﺿﺎﻋف ﻧﻔﺳﮭﺎ وﻣﺛل ھذه اﻟﻣﻧﺣﻧﯾﺎت ﯾﻣﻛن دراﺳ ﺗﮭﺎ ﺑﺳ ﮭوﻟﺔ ﺑﺎﺳ ﺗﺧدام‬ ‫اﻟﺻورة اﻟﺑﺎراﻣﺗرﯾﺔ وﯾﺗم ذﻟك ﺑﺟﻌل اﻟﻣﺗﻐﯾرات ‪ x,y‬دوال ﻓﻰ ﻣﺗﻐﯾر اﺧر ‪ t‬ﻣﺛل)‪ y=h(t) ,x=g(t‬وﻛل ﻗﯾﻣ ﺔ ﻟﻠﻣﺗﻐﯾ ر‪ t‬ﺗﻌ ﯾن‬ ‫ﻗﯾﻣﺔ ﻟﻠﻣﺗﻐﯾرات‪ x,y‬ﯾﻣﻛن اﻋﺗﺑﺎرھﺎ اﺣداﺛﯾﺎت ﻧﻘطﺔ ﻓﻰ اﻟﻣﺳﺗوى ‪. xy‬ﻓﺋﺔ ﺟﻣﯾﻊ اﻟﻧﻘط ))‪ (g(t),h(t‬ﺗﻛون ﻣﻧﺣﻧﻰ واﻟﻣﻌﺎدﻟﺗﺎن‬ ‫)‪ y=h(t) ,x=g(t‬ﺗﺳﻣﯾﺎت اﻟﻣﻌﺎدﻻت اﻟﺑﺎراﻣﺗرﯾﺗﺎن ﻟﻠﻣﻧﺣﻧﻰ واﻟﻣﺗﻐﯾر ‪ t‬ﯾﺳﻣﻰ ﺑﺎراﻣﺗر ‪.‬اﻻﻣر اﻟذى ﯾﺳﺗﺧدم ﻓﻰ اﻟرﺳ م ھﻧ ﺎ‬ ‫ھو ‪:‬‬

‫‪ParametricPlot[{x[t], y[t]},{t,a, b} :‬‬ ‫‪ ContourGraphics‬‬

‫‪١٢٠‬‬


‫ﻣﺛﺎل‬ ‫ارﺳم اﻟﻣﻧﺣﻧﻰ اﻟذى ﻣﻌﺎدﻻﺗﺔ اﻟﺑﺎراﻣﺗرﯾﺗﺎن‬

‫‪x  t 2  1, y  t, 3  t  3‬‬ ‫اﻟﺣل‪:‬‬ ‫‪ParametricPlott2  1, t, t,  3, 3‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪8‬‬

‫‪4‬‬

‫‪6‬‬

‫‪2‬‬ ‫‪-1‬‬ ‫‪-2‬‬ ‫‪-3‬‬ ‫‪ Graphics‬‬

‫‪‬‬

‫اﻻن ﺳ وف ﻧوﺿ ﺢ اﻟرﺳ م اذا ﻛﺎﻧ ت ﻟ دﯾﻧﺎ اﻟداﻟ ﺔ )‪z  f (x, y‬‬

‫اى داﻟ ﺔ ﻓ ﻰ ﻣﺗﻐﯾ رﯾن ‪ .‬ﯾﻣﻛ ن دراﺳ ﺗﮭﺎ ﺑﺳ ﮭوﻟﺔ‬

‫ﺑﺎﺳ ﺗﺧدام اﻟﺻ ورة اﻟﺑﺎراﻣﺗرﯾ ﺔ وﯾ ﺗم ذﻟ ك ﺑﺟﻌ ل اﻟﻣﺗﻐﯾ رات ‪ x, y,z‬دوال ﻓ ﻰ ﻣﺗﻐﯾ ر اﺧ ر ‪ t‬ﺣﯾ ث‬

‫)‪ x  g(t), y  h(t),z  w(t‬وﻛل ﻗﯾﻣﺔ ﻟﻠﻣﺗﻐﯾ ر ‪ t‬ﺗﻌ ﯾن ﻗﯾﻣ ﺔ ﻟﻠﻣﺗﻐﯾ رات ‪x, y,z‬‬ ‫اﻟرﺳم ھﻧﺎ ھو ‪:‬‬

‫‪ParametricPlot3D[{x[t], y[t], z(t)},{t,a, b} :‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم ‪:‬‬

‫‪‬‬ ‫‪ x  cos 2t‬‬ ‫‪‬‬ ‫‪ y  sin 2t ,0  t  8‬‬ ‫‪‬‬ ‫‪t‬‬ ‫‪z ‬‬ ‫‪‬‬ ‫‪5‬‬ ‫‪١٢١‬‬

‫واﻻﻣ ر اﻟ ذى ﯾﺳ ﺗﺧدم ﻓ ﻰ‬


:‫و‬

  x  t cos 2t   y  tsin 2t ,0  t  8  t z   5 .‫ﻣﻌﺎ‬ 

:‫اﻟﺣل‬

t , t, 0, 8 5 , PlotPoints  120, Ticks  None, DisplayFunction  Identity

aa1  ParametricPlot3DCos2t, Sin2t, Graphics3D

t , t, 0, 8 5 , PlotPoints  120, Ticks  None, DisplayFunction  Identity

aa2  ParametricPlot3Dt Cos2t, t Sin2t, Graphics3D Show[GraphicsArray[{aa1,aa2}]]

 GraphicsArray

١٢٢


‫اﻟﻔﺻل اﻟراﺑﻊ‬

‫ﻣواﺿﯾﻊ ﻓﻰ اﻟﺟﺑر‬

‫‪١٢٣‬‬


‫)‪ ( ١-٤‬اﻟﻌﻣﻠﯾﺎت اﻟﺟﺑرﯾﺔ ﻋﻠﻰ اﻟﺗﻌﺑﯾرات‬ ‫ﻓﻰ ﻫذا اﻟﺑﻧـد ﯾﺗﻧـﺎول ﺑرﻧـﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛـﺎ اﻟﻌﻣﻠﯾـﺎت اﻟﺟﺑرﯾـﺔ اﻟﻘﯾﺎﺳـﯾﺔ اﻟﺗـﻰ ﺗﺟـرى ﻋﻠـﻰ اﻟﺗﻌﺑﯾـرات اﻟرﯾﺎﺿـﯾﺔ ‪ .‬ﻋﻠـﻰ‬ ‫ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬ ‫اﻻﻣـر‬

‫]‪ Factor[expression‬ﯾﻘـوم ﺑﺗﺣﻠﯾـل اﻟﺗﻌﺑﯾـر ‪ .‬اﻟﺗﻌﺑﯾـر‪ expression‬ﻗـد ﯾﻛـون ﻛﺛﯾـرة اﻟﺣـدود وﯾﻘـوم‬

‫اﻻﻣر ﺑﺗﺣﻠﯾﻠﺔ اﻟﻰ ﻗوى ﺻﺣﯾﺣﺔ‪.‬‬ ‫اﻻﻣــر ]‪ Expand[expression‬ﯾﻘــوم ﺑﺎﯾﺟــﺎد ﻣﻔﻛــوك ﺣﺎﺻ ـل اﻟﺿــرب واﻟﻘــوى اﻟﺻــﺣﯾﺣﺔ اﻟﻣوﺟﺑــﺔ ﻓــﻰ اﻟﺑﺳــط‬ ‫ﻟﻠﺗﻌﺑﯾر‪. expression‬‬ ‫اﻻﻣر ]‪ Together[ expression‬ﯾﻘوم ﺑﺗوﺣﯾد اﻟﻣﻘﺎﻣﺎت ﻟﻠﻛﺳور اﻟﻣوﺟودة ﻓﻰ اﻟﺗﻌﺑﯾر ‪. expression‬‬

‫اﻻﻣـر ]‪ Simplify[expression‬ﯾﻘــوم ﺑﺎﯾﺟـﺎد ﺻــورة ﻣﺑﺳـطﺔ ﻟﻠﺗﻌﺑﯾــر ‪ expression‬ﺑﺎﺻـﻐر ﻋــدد ﻣﻣﻛـن ﻣــن‬ ‫اﻻﺟزاء‪.‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻣﻌﻠوﻣﺎت اﻻﺳﺎﺳـﯾﺔ ﻋـن ﺗﻠـك اﻻواﻣـر ‪ ،‬ﻋﻠـﻰ ﺳـﺑﯾل اﻟﻣﺛـﺎل ﻟﻼﻣـر ‪ Expand‬ﻧﻛﺗـب ‪? Expand‬‬ ‫وﯾﺗم ﺗﻧﻔﯾذة ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬

‫‪?Expand‬‬

‫‪Expandexpr expands out products and‬‬ ‫‪positive integer powers in expr. Expand‬‬ ‫‪expr, patt leaves unexpanded any parts of‬‬ ‫…‪expr that are free of the pattern patt. More‬‬ ‫او اﻟﺿﻐط ﻋﻠﻰ ‪ Help‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻠﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ Help Browser‬ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺎﻓذة‬ ‫اﻟﺗﺎﻟﯾﺔ وﺑﻛﺗﺎﺑﺔ ‪ Expand‬ﻓﻰ اﻟﺧﺎﻧﺔ ااﻟﻣﺷﺎر اﻟﯾﻬﺎ ﺑﺎﻟﺳﻬم واﻟﺿﻐط ﻋﻠﻰ ‪ Go‬ﻧﺣﺻل ﻋﻠﻰ ﺷرح ﻟﻼﻣر واﻣﺛﻠﺔ ‪.‬‬

‫‪١٢٤‬‬


‫ﻣﺛﺎل‬ ‫) ا ( ﺣﻠل ﻛﺛﯾرة اﻟﺣدود ‪ 12x 2  27xy  84y 2‬اﻟﻰ ﻋواﻣﻠﻬﺎ ) ب ( ﻓك اﻻﻗواس ﻟﻠﺗﻌﺑﯾر ‪:‬‬

‫‪x2 1‬‬ ‫‪4 x2‬‬ ‫اﻟﺗﻌﺑﯾر‬ ‫ﺗﺑﺳﯾط‬ ‫اﻟﻣطﻠوب‬ ‫(‬ ‫د‬ ‫)‬ ‫)‪ ) (x  y) 3 (2x  y‬ج ( وﺣد اﻟﻣﻘﺎم‬ ‫‪‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪x  3x  1‬‬ ‫‪x‬‬ ‫‪6‬‬

‫‪:‬‬

‫اﻟﺣل‪:‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫) ا ( ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Factor‬ﻟﺗﺣﻠﯾل ﻛﺛﯾرة اﻟﺣدود ‪ 12x  27xy  84y‬اﻟﻰ ﻋﻮاﻣﻠﮭﺎ ‪.‬‬

‫ﻋﻧد ادﺧﺎل اﻻﻣر ‪ Factor‬ﻻ ﺑد ﻣن اﻟﺗﺎﻛد ﻣن وﺟود اﻟﻣﺳﺎﻓﺔ او * ﺑﯾن ‪ x‬و ‪ y‬ﻟﺗﻣﺛﯾل ﺣﺎﺻل اﻟﺿرب‬ ‫ﺣﯾث ‪ xy‬ﺗﻣﺛل ﺗﻌﺑﯾر ﺑﯾﻧﻣﺎ ‪ x y‬او ‪ x*y‬ﺗﻣﺛل ﺣﺎﺻل ﺿرب ‪ x‬ﻓﻰ ‪: y‬‬

‫‪Factor12x2  27x y  84 y2‬‬ ‫)‪3 (4 x-7 y) (x+4 y‬‬ ‫‪3‬‬ ‫) ب ( ﻟﻔك اﻻﻗواس ﻟﻠﺗﻌﺑﯾر )‪ (x  y) (2x  y‬ﻧﺳﺗﺧدم اﻻﻣر‪ Expand‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪Expandx  y32x  y‬‬ ‫‪2 x4  5 x3 y  3 x2 y2  x y3  y4‬‬ ‫ﺣﯿﺚ اﻻﻣﺮ ‪ Expand‬ھﻨﺎ ﯾﻌﺘﺒﺮ ﻋﻜﺲ اﻻﻣﺮ ‪. Factor‬‬ ‫‪١٢٥‬‬


‫‪4 x2‬‬ ‫) ج ( ﺳوف ﻧﺳﺗﺧدم ‪ Together‬ﻟﺗوﺣﯾد اﻟﻣﻘﺎﻣﺎت ﻓﻰ‬ ‫‪‬‬ ‫‪x2 6‬‬

‫‪:‬‬

‫‪4‬‬ ‫‪x2‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪x2‬‬ ‫‪6‬‬

‫‪Together‬‬ ‫‪24  x4‬‬ ‫‪6 x2‬‬

‫‪x2  1‬‬ ‫) د ( ﺳوف ﯾﺳﺗﺧدم اﻻﻣر ‪ Simplify‬ﻟﺗﺑﺳﯾط ﺷﻛل اﻟﺗﻌﺑﯾر‬ ‫‪x 2  2x  1‬‬

‫‪x2  1‬‬ ‫‪Simplify 2‬‬ ‫‪‬‬ ‫‪x  2x  1‬‬ ‫‪1x‬‬ ‫‪1  x‬‬

‫ﻣﺛﺎل‬ ‫‪n‬‬ ‫اوﺟد ﻣﻔﻛوك ‪(a  b) n     a k b n  k , n  2,3, 4‬‬ ‫‪k‬‬ ‫‪k  ‬‬

‫اﻟﺣل‪:‬‬ ‫]‪Expand[(a+b)^2‬‬ ‫‪a2  2 a b  b2‬‬ ‫]‪Expand[(a+b)^3‬‬ ‫‪a3  3 a2 b  3 a b2  b3‬‬ ‫]‪Expand[(a+b)^4‬‬ ‫‪a4  4 a3 b  6 a2 b2  4 a b3  b4‬‬

‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت اﻛﺛر ﻋن اﻻواﻣر اﻟﺳﺎﺑق اﻟﻛﻼم ﻋﻧﻬﺎ وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ ‪ File‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫اﻟرﺋﯾﺳﯾﺔ ﻟﻠﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ Palettes‬ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ AlgebraicManipulation‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ‬ ‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﻪ واﻟﺗﻰ ﯾﻣﻛن اﺧﺗﯾﺎر ﻣﻧﻬﺎ اﻻﻣر ﺟﺎﻫز ﻛﻣﺎ ﯾﺗﺿﺢ ﻣن اﻟﺷﻛل اﻟﺗﺎﻟﻰ ﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ اﺧﺗﯾﺎر‬ ‫اﻻﻣر ‪ Factor‬واﻟﻣوﺿﺢ ﺑﺎﻟﺳﻬم‪:‬‬

‫‪١٢٦‬‬


‫ﻣﺛﺎل‬ ‫اﻟﻣطﻠوب ﺗﺑﺳﯾط اﻟﺗﻌﺑﯾر ‪x 2  2x  1‬‬

‫اﻟﺣل‪:‬‬ ‫اوﻻ ﻧﻛﺗب اﻟﺗﻌﺑﯾر‪:‬‬

‫ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم ﻧﻘوم ﺑﺗﺣدﯾد اﻟﺗﻌﺑﯾر‬

‫ﻧﺣرك اﻟﻣؤﺷر اﻟﻰ ‪ File‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ Palettes‬ﺛم اﻟﺿﻐط ﻋﻠﻰ‬ ‫‪ AlgebraicManipulation‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ وﻧﺿﻐط ﻋﻠﻰ ‪Simplify‬‬ ‫وﻋﻧدﺋذن ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﺑﺳط اﻟﺗﻌﺑﯾر ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫ﻫذا وﯾﻣﻛن اﻟﺣل ﻛﺎﻟﺗﺎﻟﻰ وذﻟك ﺑﻛﺗﺎﺑﺔ اﻻﻣر ‪:Simplify‬‬

‫‪Simplifyx2  2x  1‬‬ ‫‪1  x2‬‬ ‫‪١٢٧‬‬


‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻻواﻣر اﻟﺳﺎﺑﻘﺔ ﻫﻧﺎك اواﻣر اﺧرى ﻣﻌرﻓﺔ ﻓﻰ اﻟﺟدول اﻟﺗﺎﻟﻰ ‪:‬‬ ‫اﻟﻌﻣل اﻟذى ﯾﻘوم ﺑﻪ اﻻﻣر‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر‬

‫اﯾﺟﺎد ﻣﻔﻛوك ﺣﺎﺻل اﻟﺿرب واﻟﻘوى اﻟﺻﺣﯾﺣﺔ‬

‫]‪ExpandAll[expression‬‬

‫اﻟﻣوﺟﺑﺔ اﻟﻣوﺟودة ﻓﻰ ﻛل اﺟزء اﻟﺗﻌﺑﯾر ‪expression‬‬ ‫]‪Apart[expression‬‬

‫ﻛﺗﺎﺑﺔ اﻟﺗﻌﺑﯾر اﻟﻛﺳرى ‪ expression‬ﻋﻠﻰ ﺻورة‬ ‫ﻣﺟﻣوع ﻟﻛﺳورة اﻟﺟزﺋﯾﺔ‬

‫]‪Coefficient[expression,form‬‬

‫اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﺎﻣل ‪ form‬ﻓﻰ ﻛﺛﯾرة اﻟﺣدود‬ ‫‪expression‬‬

‫]‪Exponent[expression,form‬‬

‫اﻟﺣﺻول ﻋﻠﻰ اﻛﺑر ﻗوى ﻟﻠﻣﻘدار ‪ form‬ﻓﻰ‬ ‫اﻟﺗﻌﺑﯾر ‪expression‬‬

‫]‪Numerator [expression‬‬

‫اﻟﺣﺻول ﻋﻠﻰ اﻟﺑﺳط ﻓﻰ اﻟﺗﻌﺑﯾر ‪expression‬‬

‫]‪Denominator [expression‬‬

‫اﻟﺣﺻول ﻋﻠﻰ اﻟﻣﻘﺎم ﻓﻰ اﻟﺗﻌﺑﯾر ‪expression‬‬

‫]‪PolynomialQuotient [p,q,x‬‬

‫اﯾﺟﺎد ﺧﺎرج ﻗﺳﻣﺔ ‪ p‬ﻋﻠﻰ ‪ q‬ﻣﻊ اھﻣﺎل اﻟﺟزء‬ ‫اﻟﺑﺎﻗﻰ ﺣﯾث ‪ p,q‬ﻛﺛﯾرات ﺣدود ﻓﻰ اﻟﻣﺗﻐﯾر ‪x‬‬

‫]‪PolynomialRemainder [p,q,x‬‬

‫اﯾﺟﺎد اﻟﺟزء اﻟﺑﺎﻗﻰ ﻣن ﺧﺎرج ﻗﺳﻣﺔ ‪ p‬ﻋﻠﻰ ‪q‬‬ ‫ﺣﯾث ‪ p,q‬ﻛﺛﯾرات ﺣدود ﻓﻰ اﻟﻣﺗﻐﯾر ‪x‬‬

‫]‪Cancel [expression‬‬

‫ﯾﺣﻠل اﻟﺑﺳط واﻟﻣﻘﺎم ﻟﻠﺗﻌﺑﯾر وﯾﺣول اﻟﺗﻌﺑﯾر‬ ‫‪ expression‬اﻟﻰ ‪lowest term‬‬

‫]‪Collect[ expression,x‬‬

‫ﺟﻣﻊ اﻟﺣدود اﻟﺗﻰ ﺗﺣﺗوى ﻋﻠﻰ ﻧﻔس ﻗوى ‪ x‬ﻓﻰ‬ ‫اﻟﺗﻌﺑﯾر‬

‫ﻟﻠﺗﻌﺑﯾر اﻟﺗﺎﻟﻰ ﺳوف ﻧطﺑق ﻋﻠﯾﻪ ﺑﻌض اﻻواﻣر اﻟﺳﺎﺑﻘﺔ اﻟذﻛر ‪:‬‬

‫)‪(x  1) 2 (x  3‬‬ ‫‪(x  4)(x  2) 2‬‬ ‫اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﻘوم ﺑﺎﯾﺟﺎد ﻣﻔﻛوك ﺣﺎﺻل اﻟﺿرب واﻟﻘوى اﻟﺻﺣﯾﺣﺔ اﻟﻣوﺟﺑﺔ اﻟﻣوﺟودة ﻓﻰ ﻛل اﻟﺑﺳط ﻟﻠﺗﻌﺑﯾر‬ ‫اﻟﺳﺎﺑق‪:‬‬

‫‪١٢٨‬‬


‫‪x  12x  3‬‬

‫‪Expand‬‬

‫‪‬‬ ‫‪x  4x  22‬‬ ‫‪3‬‬ ‫‪7x‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 2  x2 4  x‬‬ ‫‪ 2  x2 4  x‬‬

‫‪5 x2‬‬ ‫‪x3‬‬ ‫‪‬‬ ‫‪ 2  x2 4  x‬‬ ‫‪ 2  x2 4  x‬‬ ‫اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﻘوم ﺑﺎﯾﺟﺎد ﻣﻔﻛوك ﺣﺎﺻل اﻟﺿرب واﻟﻘوى اﻟﺻﺣﯾﺣﺔ اﻟﻣوﺟﺑﺔ اﻟﻣوﺟودة ﻓﻰ ﻛل اﺟزء اﻟﺗﻌﺑﯾر‬ ‫اﻟﺳﺎﺑق ‪:‬‬

‫‪x  12x  3‬‬

‫‪ExpandAll‬‬

‫‪‬‬ ‫‪x  4x  22‬‬ ‫‪3‬‬ ‫‪7x‬‬ ‫‪5 x2‬‬ ‫‪x3‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪16  12 x  x3‬‬ ‫‪16  12 x  x3 16  12 x  x3 16  12 x  x3‬‬ ‫اﻻﻣﺮ اﻟﺘﺎﻟﻰ ﯾﻘﻮم ﺑﺘﺠﻤﯿﻊ اﻟﺘﻌﺒﯿﺮ اﻟﻜﺴﺮى اﻟﺴﺎﺑﻖ ﻋﻠﻰ ﺻورة ﻣﺟﻣوع ﻟﻛﺳورة اﻟﺟزﺋﯾﺔ ‪:‬‬

‫‪‬‬

‫‪x  12x  3‬‬ ‫‪x  4x  22‬‬

‫‪Apart‬‬

‫‪15‬‬ ‫‪21‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2 2  x2 4  2  x 4 4  x‬‬

‫‪1‬‬

‫اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﻘوم ﺑﺗﺟﻣﯾﻊ اﻟﺣدود اﻟﺗﻰ ﺗﺣﺗوى ﻋﻠﻰ ﻧﻔس ﻗوى ‪ x‬ﻓﻰ اﻟﺗﻌﺑﯾر اﻟﺳﺎﺑق ‪:‬‬

‫‪x  12y  3‬‬

‫‪, y‬‬ ‫‪x  4x  22‬‬ ‫‪3 1  x2‬‬ ‫‪1  x2 y‬‬ ‫‪ 2  x2 4  x‬‬

‫‪‬‬

‫‪Collect‬‬

‫‪ 2  x2 4  x‬‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﺎﻣل ‪ y‬ﻓﻰ اﻟﺗﻌﺑﯾر اﻟﺳﺎﺑق ﻧﺳﺗﺧدم اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪, y‬‬

‫‪x  12y  3‬‬ ‫‪x 4x  22‬‬

‫‪Coefficient‬‬ ‫‪1  x2‬‬

‫‪ 2  x2 4  x‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻛﺑر ﻗوى ﻟﻠﻣﺗﻐﯾر ‪ y‬ﻓﻰ اﻟﺗﻌﺑﯾر اﻟﺳﺎﺑق ﻧﺳﺗﺧدم اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪, y‬‬

‫‪x  12y  3‬‬ ‫‪x 4x  22‬‬

‫‪Exponent‬‬ ‫‪1‬‬

‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﺒﺴﻂ ﻓﻰ اﻟﺘﻌﺒﯿﺮ اﻟﺴﺎﺑﻖ ﻧﺴﺘﺨﺪم اﻻﻣﺮ اﻟﺘﺎﻟﻰ ‪:‬‬

‫‪١٢٩‬‬


‫‪‬‬

‫‪x  12y  3‬‬

‫‪Numerator‬‬

‫‪x  4x  22‬‬ ‫‪2‬‬ ‫‪1  x 3  y‬‬

‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﻤﻘﺎم ﻓﻰ اﻟﺘﻌﺒﯿﺮ اﻟﺴﺎﺑﻖ ﻧﺴﺘﺨﺪم اﻻﻣﺮ اﻟﺘﺎﻟﻰ‪:‬‬

‫‪‬‬

‫‪x  12 y  3‬‬

‫‪Denominator‬‬

‫‪x  4x  22‬‬ ‫‪2‬‬ ‫‪2  x 4  x‬‬

‫ﺑﻔرض اﻧﮫ ﺗم ﺗﻌرﯾف ﻛﺛﯾرة اﻟﺣدود ‪ p,q‬ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪p  x  12; q  x  4‬‬ ‫‪4+x‬‬ ‫ﻻﯾﺟﺎد ﺧﺎرج ﻗﺳﻣﺔ ﻛﺛﯾرة اﻟﺣدود ‪ p‬ﻋﻠﻰ ‪q‬‬

‫ﻣﻊ اﻫﻣﺎل اﻟﺟزء اﻟﺑﺎﻗﻰ ﻧﺳﺗﺧدم اﻻﻣر اﻟﺗﺎﻟﻰ‪:‬‬ ‫]‪PolynomialQuotient[p,q,x‬‬ ‫‪-2+x‬‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺟزء اﻟﺑﺎﻗﻰ ﻣن ﺧﺎرج ﻗﺳﻣﺔ ﻛﺛﯾرة اﻟﺣدود ‪ p‬ﻋﻠﻰ ﻛﺛﯾرة اﻟﺣدود ‪ q‬ﻧﺳﺗﺧدم اﻻﻣر اﻟﺗﺎﻟﻰ‪:‬‬ ‫]‪PolynomialRemainder[p,q,x‬‬ ‫‪9‬‬

‫ﺑﺎﻻﺿﺎف اﻟﻰ اﻻواﻣر اﻟﺗﺎﻟﯾﺔ ھﻧﺎك اﻣر ‪ Can cel‬واﻟذى ﯾﺣﻠل اﻟﺑﺳط واﻟﻣﻘﺎم ﻟﻠﺗﻌﺑﯾر وﯾﺣول اﻟﺗﻌﺑﯾر اﻟﻰ ‪lowest‬‬ ‫‪ term‬وﺳوف ﻧوﺿﺣﻪ ﺑﺎﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪x2  1‬‬ ‫‪Cancel 2‬‬ ‫‪‬‬ ‫‪x  2x  1‬‬ ‫‪1 x‬‬ ‫‪1  x‬‬

‫ﺗﻘدﯾر اﻟﺗﻌﺑﯾرات‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ وﺿﻊ ﻗﯾد ﻋﻠﻰ ﺗﻌﺑﯾر ﻣﻌﯾن وذﻟك ﺑﺎﺳﺗﺧدام ﻗﺎﻋدة ﻣﺎ ﻋﻠﯾﮫ ‪ ،‬اى ﺗﻘدﯾره ‪ .‬اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻛﺗﺎﺑﺔ‬ ‫اﻟﺗﻌﺑﯾرھﻰ ‪:‬‬ ‫]‪Expression/.Rule[ihs,rhs‬‬ ‫داﻟﺔ اﻟﻘﺎﻋدة ﺗﻛﺗب ﻓﻰ ﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪ihs->rhs‬‬

‫ﻟﺗﻘدﯾر‬

‫‪x2 1‬‬ ‫‪x 2  2x  1‬‬

‫ﻋﻧد ‪,x=-2,x=4‬‬

‫‪١٣٠‬‬


‫‪x2  1‬‬ ‫‪aa1  2‬‬ ‫‪x  2x  1‬‬ ‫‪ 1  x2‬‬

‫‪1  2 x  x2‬‬ ‫‪aa1/.x4‬‬

‫‪5‬‬ ‫‪3‬‬ ‫‪aa1/.x-2‬‬

‫‪1‬‬ ‫‪3‬‬ ‫ﺣﯾث ﺗم اوﻻ ﺗﺳﻣﯾﺔ اﻟﺗﻌﺑﯾر ﺑﺎﻻﺳم ‪ aa1‬ﺛم اﺳﺗﺧدم ‪ /.‬ﻟﺗﻘدﯾر اﻟﺗﻌﺑﯾر ﻋﻧد ‪x=4,x=-2‬‬

‫)‪ ( ٢-٤‬ﻋﻣﻠﯾﺎت اﻟﺟﻣﻊ ﻋﻠﻰ اﻟﺣدود اﻟﻣﻧﺗظﻣﺔ‬ ‫ﻓﻰ ﻛﺛﯾر ﻣن اﻟﻣﺳﺎﺋل اﻟرﯾﺎﺿﯾﺔ ﻧﺣﺗﺎج اﻟﻰ ﺣﺳﺎب ﻣﺟﻣوع ﺣدود اﻟﻣﺗﺳﻠﺳﻠﺔ ‪ .‬ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ذﻟك ﻣن ﺧﻼل‬ ‫اﻻﻣر ‪ Sum‬وﻓﯾﻣﺎ ﯾﻠﻰ اﻟﺻﯾﻎ اﻟﻣﺧﺗﻠﻔﺔ ﻟﮭذا اﻻﻣر ﺳواء ﺻﯾﻎ اﻻدﺧﺎل او اﻟﺻﯾﻎ اﻟﻘﯾﺎﺳﯾﺔ‪.‬‬

‫ﺻﯾﻐﺔ اﻻدﺧﺎل ‪InputForm‬‬

‫اﻟﻌﻣل اﻟذى ﯾﻘوم ﺑﻪ‬

‫اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ‬ ‫‪StandardForm‬‬

‫ﺣﺳﺎب اﻟﻣﺟﻣوع‬

‫‪i max‬‬

‫‪f‬‬

‫]}‪Sum[f,{i,max‬‬

‫‪i 1‬‬

‫ﺣﺳﺎب اﻟﻣﺟﻣوع‬

‫‪i max‬‬

‫‪f‬‬

‫ﺣﺳﺎب اﻟﻣﺟﻣوع ‪ f‬‬

‫‪f‬‬ ‫‪i 1‬‬

‫]}‪Sum[f,{i,min,max‬‬

‫‪i min‬‬

‫ﻣن‬

‫‪i max‬‬

‫‪i max‬‬

‫‪f‬‬

‫‪‬‬

‫‪i i min‬‬

‫]}‪Sum[f,{i,min,max,step‬‬

‫‪i‬‬

‫‪imin‬‬ ‫اﻟﻰ ‪ imax‬ﺑﺧطوة‬ ‫ﻣﻘدارﻫﺎ‪step‬‬

‫‪١٣١‬‬

‫ﻻ ﯾوﺟد‬


‫ﺣﺳﺎب اﻟﻣﺟﻣوع‬

‫‪Sum[f,{i,min,max },{j,min,max‬‬

‫‪i max jmax‬‬

‫‪ f‬‬

‫]‪},‬‬

‫‪i max jmax‬‬

‫‪ f‬‬

‫‪ii min jmin‬‬

‫‪ii min jmin‬‬

‫وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ File‬اﻟﻣوﺟود ﻓﻰ‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﯾﺳﺗﺧدم اﻟرﻣز‬

‫ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ وﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻼﻣر‪ File‬اﻟﺗﺎﻟﯾﺔ ﻧﺧﺗﺎر اﻻﻣر ‪: Palette‬‬

‫‪١٣٢‬‬


‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺗﺎﻟﯾﺔ وﻧﺿﻐط ﻋﻠﻰ اﻻﻣر ‪:BasicInput‬‬

‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ﻓﻰ اﻟﻧﺎﻓذة اﻟرﺋﯾﺳﯾﺔ ﻟﻠﺑرﻧﺎﻣﺞ وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟرﻣز‬

‫ﯾﻧﻘل اﻟﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻓﻰ اﻟﻣﻛﺎن اﻟﻣﺣدد ﺳﺎﺑﻘﺎ ﺑﻣؤﺷر اﻟﻔﺎرة )اﻟﻣﺎوس(‪.‬‬

‫‪١٣٣‬‬

‫و اﻟﻣوﺿﺢ ﺑﺎﻟﺳﻬم‬


‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻟرﻣز‬

‫وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ ‪ Help‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻧﺎﻓذة‬

‫اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ Help Browser‬ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ وﺑﻛﺗﺎﺑﺔ ‪ Sum‬ﻓﻰ اﻟﺧﺎﻧﺔ اﻟﻣﺷﺎر اﻟﯾﻬﺎ‬ ‫ﺑﺎﻟﺳﻬم واﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Go‬ﻧﺣﺻل ﻋﻠﻰ ﺷرح ﻟﻼﻣر واﻣﺛﻠﺔ ‪.‬‬

‫‪١٣٤‬‬


‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻣر اﻟﺟﻣﻊ ﺑﻛﺗﺎﺑﺔ ‪ ? Sum‬ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم ﺗﻧﻔﯾذ اﻻﻣر ﻓﻧﺣﺻل ﻋﻠﻰ ‪:‬‬

‫‪?Sum‬‬

‫… ‪M o re‬‬

‫‪i n ,‬‬ ‫‪i m a x  ‬‬ ‫‪s t a r t s‬‬ ‫‪w i t h‬‬ ‫‪i‬‬ ‫‪‬‬ ‫‪s u m‬‬ ‫‪o v e r‬‬ ‫‪m u l t i p l e‬‬ ‫‪i n d i c e s .‬‬

‫ﻣﺛﺎل‬ ‫اﻟﻣطﻠوب ﺣﺳﺎب‬

‫‪10‬‬

‫‪i‬‬ ‫‪i 1‬‬

‫اﻟﺣل‪:‬‬ ‫]}‪Sum[i,{i,1,10‬‬ ‫‪55‬‬ ‫‪١٣٥‬‬


‫ﻣﺛﺎل‬ ‫‪1‬‬ ‫اﻟﻣطﻠوب ﺣﺳﺎب ﻛل ﻣﻣـﺎ ﯾـﺎﺗﻰ ‪ ) :‬ا (‬ ‫‪i2‬‬ ‫‪i‬‬

‫‪7‬‬

‫‪3‬‬

‫‪ ) ‬ب ( )‪(x  i‬‬

‫‪‬‬

‫ﻣـن ‪ i=1‬اﻟـﻰ ‪ i=7‬ﺑﺧطـوة ‪step=2‬‬

‫‪i 1‬‬

‫‪5‬‬

‫) ج (!‪)  x ^ i / i‬د( ‪ x i y j‬‬ ‫‪i 1 j1‬‬

‫‪i 1‬‬

‫اﻟﺣل‪:‬‬ ‫‪1‬‬

‫) ا ( ﺳوف ﯾﺗم ﺣﺳﺎب‬

‫‪3‬‬

‫‪3‬‬

‫‪i‬‬

‫ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﺛم ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬

‫‪i 1‬‬

‫]}‪Sum[1/i^2,{i,3‬‬

‫‪49‬‬ ‫‪36‬‬ ‫‪3‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪i1 i‬‬ ‫‪‬‬

‫) ب ( ﺳوف ﯾﺗم ﺣﺳﺎب‬

‫)‪ (x  i‬‬

‫ﻣن ‪ i=1‬اﻟﻰ ‪ i=7‬ﺑﺧطوة ‪ step=2‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪49‬‬ ‫‪36‬‬

‫]}‪Sum[x+i,{i,1,7,2‬‬ ‫)‪(1+x) (3+x) (5+x) (7+x‬‬ ‫) ج ( ﺳوف ﯾﺗم ﺣﺳﺎب‬

‫‪7‬‬

‫!‪ x ^ i / i‬‬ ‫‪i 1‬‬

‫ﻛﺎﻟﺘﺎﻟﻰ ﺑﺼﯿﻐﺔ اﻻدﺧﺎل ‪:‬‬ ‫]}‪Sum[x^i/i!,{i,7‬‬

‫‪x2 x3 x4‬‬ ‫‪x5‬‬ ‫‪x6‬‬ ‫‪x7‬‬ ‫‪x‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪24 120 720 5040‬‬ ‫او ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ‪:‬‬ ‫‪7‬‬

‫‪xi‬‬ ‫‪‬‬ ‫‪i‬‬ ‫‪i1‬‬

‫‪١٣٦‬‬


x2 x3 x4 x5 x6 x7 x      2 6 24 120 720 5040

: ‫ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﺎﻟﺗﺎﻟﻰ‬

5

i i

 x y

j

‫)د( ﯾﺗم ﺣﺳﺎب‬

i 1 j1

Sum[(x^i)*(y^j),{i,1,5},{j,1,i}]

x y  x2 y  x3 y  x4 y  x5 y  x2 y2  x3 y2  x4 y2  x5 y2  x3 y3  x4 y3  x5 y3  x4 y4  x5 y4  x5 y5 x55 y35 : ‫او ﺑﺎﻟﺼﯿﻐﺔ اﻟﻘﯿﺎﺳﯿﺔ ﻛﺎﻟﺘﺎﻟﻰ‬ 5

i

  xi yj i1 j1 2

x y  x y  x3 y  x4 y  x5 y  x2 y2  x3 y2  x4 y2  x5 y2  x3 y3  x4 y3  x5 y3  x4 y4  x5 y4  x5 y5

‫ﻣﺛﺎل‬ i 

2

  2 1 4i ( ‫ج‬ ) ( ‫ب‬ ) (‫ )ا‬: ‫اﻟﻣطﻠوب ﺣﺳﺎب ﻛل ﻣﻣﺎ ﯾﺎﺗﻰ‬ x    i 2 2 4i  8i  4 i1 i 1 i 1

:‫اﻟﺣل‬ 

:‫ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﺛم ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﺎﻟﺗﺎﻟﻰ‬

 4i i 1

Sum[1/(4i^2+8i+4),{i,1,Infinity}]

1 6  2 24 

1 2 i1 4i  8i  4 

1 6  2 24

١٣٧

2

1 ‫) ا ( ﺳوف ﯾﺗم ﺣﺳﺎب‬  8i  4


‫) ب ( ﺳوف ﯾﺗم ﺣﺳﺎب‬

‫‪‬‬ ‫‪4i‬‬

‫‪x‬‬

‫ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﺛم ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬

‫‪i 1‬‬

‫]}‪Sum[x^(4i),{i,1,Infinity‬‬

‫‪x4‬‬ ‫‪ 1  x4‬‬

‫‪‬‬ ‫‪‬‬

‫‪ x4i‬‬ ‫‪i1‬‬

‫‪x4‬‬ ‫‪‬‬ ‫‪ 1  x4‬‬ ‫‪i‬‬ ‫‪‬‬

‫‪22‬‬ ‫) ج ( ﺳوف ﯾﺗم ﺣﺳﺎب‬ ‫‪‬‬ ‫‪i‬‬ ‫‪i1 2‬‬

‫ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﺛم ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬

‫]}‪Sum[(2^(i/2))/(2^i),{i,1,Infinity‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2  2‬‬ ‫‪i‬‬

‫‪‬‬

‫‪22‬‬ ‫‪ i‬‬ ‫‪2‬‬ ‫‪‬‬

‫‪i1‬‬

‫‪2‬‬

‫‪‬‬

‫‪2‬‬

‫‪‬‬ ‫‪2‬‬

‫)‪ ( ٣-٤‬ﻋﻣﻠﯾﺎت اﻟﺿرب ﻋﻠﻰ اﻟﺣدود اﻟﻣﻧﺗظﻣﺔ‬ ‫ﻓﻰ ﻛﺛﯾر ﻣن اﻟﻣﺳﺎﺋل اﻟرﯾﺎﺿﯾﺔ ﻧﺣﺗﺎج اﻟﻰ ﻋﻣﻠﯾﺎت اﻟﺿرب ﻋﻠﻰ اﻟﺣدود اﻟﻣﻧﺗظﻣﺔ ‪.‬ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ‬ ‫ﺣﺳﺎب ذﻟك ﺑﺎﺳﺗﺧدام ﺑﻌض اﻻواﻣر ﺣﯾث ﯾﺳﺗﺧدم اﻻﻣر ‪) Product‬ﺻﯾﻐﺔ اﻻدﺧﺎل ‪ (InputForm‬او ﺑﺎﺳﺗﺧدام‬

‫اﻟرﻣز‬

‫وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ File‬اﻟﻣوﺟود ﻓﻰ ﺻف اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻠﺑرﻧﺎﻣﺞ ﺛم ﻧﺧﺗﺎر ﻣن‬

‫اﻟﻘﺎﺋﻣﺔ اﻻﻣر ‪ Palette‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻼﻣر‪ File‬اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪١٣٨‬‬


‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﻔرﻋﯾﺔ اﻟﺗﺎﻟﯾﺔ وﻧﺿﻐط ﻋﻠﻰ اﻻﻣر ‪:BasicInput‬‬

‫ﻓﺣﺻل ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟرﺋﯾﺳﯾﺔ ﻟﻠﺑرﻧﺎﻣﺞ وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟرﻣز‬

‫ﯾﻧﻘل اﻟﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻓﻰ اﻟﻣﻛﺎن اﻟﻣﺣدد ﺳﺎﺑﻘﺎ‪.‬‬

‫‪١٣٩‬‬

‫و اﻟﻣوﺿﺢ ﺑﺎﻟﺳﻬم‬


‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻟرﻣز‬

‫وذﻟك ﺑﺎﻟﺿﻐط ﻋﻠﻰ ‪ Help‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ‬

‫ﺛم اﻟﺿﻐط ﻋﻠﻰ ‪ Help Browser‬ﻓﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ وﺑﻛﺗﺎﺑﺔ ‪ Product‬ﻓﻰ اﻟﺧﺎﻧﺔ ااﻟﻣﺷﺎر اﻟﯾﻬﺎ‬ ‫ﺑﺎﻟﺳﻬم واﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Go‬ﻧﺣﺻل ﻋﻠﻰ ﺷرح ﻟﻼﻣر واﻣﺛﻠﺔ ‪.‬‬

‫‪١٤٠‬‬


‫? ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم ﺗﻧﻔﯾذ اﻻﻣر ﻓﻧﺣﺻل‬product ‫ ﺑﻛﺗﺎﺑﺔ‬Product ‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻣر اﻟﺿرب‬ : ‫ﻋﻠﻰ‬

?Product

Productf, i, imax evaluates the product of the expressions f as evaluated for each i from 1 to imax. Productf, i, imin, imax starts with i  imin. Productf, i, imin, imax, di uses steps di. Productf, i, imin, imax, j, jmin, jmax, ...  evaluates a product over multiple indices. More… ١٤١


‫اﻟﺻﯾﻎ اﻟﻣﺧﺗﻠﻔﺔ ﻻﻣر اﻟﺿرب ﺳواء ﺻﯾﻎ اﻻدﺧﺎل او اﻟﺻﯾﻊ اﻟﻘﯾﺎﺳﯾﺔ ﻣوﺿﺣﮫ ﻓﻰ اﻟﺟدول اﻟﺗﺎﻟﻰ ﺣﯾث‬

‫‪‬‬

‫ﻣن ﻧﻔس اﻟﻘﺎﺋﻣﺔ اﻟﺗﻰ اﺳﺗﺧدﻣﻧﺎھﺎ ﻓﻰ اﻟﺣﺻول ﻋﻠﻰ‬

‫‪‬‬

‫ﺗﺳﺗﺧرج‬

‫‪.‬‬

‫اﻟﻌﻣل اﻟذى ﯾﻘوم ﺑﻪ‬

‫ﺻﯾﻐﺔ اﻻدﺧﺎل ‪InputForm‬‬

‫ﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬

‫]}‪Product[f,{I,max‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ‬ ‫‪StandardForm‬‬ ‫‪i max‬‬

‫‪f‬‬

‫‪i max‬‬

‫‪i 1‬‬

‫‪f‬‬ ‫‪i 1‬‬

‫ﺣﺳﺎب ﺣﺎﺻﺎل اﻟﺿرب‬

‫]}‪Product[f,{I,min,max‬‬

‫‪i max‬‬

‫‪f‬‬

‫‪i max‬‬

‫‪i i min‬‬

‫‪f‬‬

‫‪i i min‬‬

‫ﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬

‫‪f‬‬

‫]}‪Product[f,{I,min,max,step‬‬

‫ﻻ ﯾوﺟد‬

‫ﻣن ‪imin‬‬

‫‪i‬‬

‫اﻟﻰ ‪ imax‬ﺑﺧطوة‬ ‫ﻣﻘدارﻫﺎ‪step‬‬ ‫ﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬

‫‪Sum[f,{I,min,max },{j,min,max‬‬ ‫]‪},‬‬

‫‪i max jmax‬‬

‫‪ f‬‬

‫‪i max jmax‬‬

‫‪ f‬‬ ‫‪ii min jmin‬‬

‫‪ii min jmin‬‬

‫ﻣﺛﺎل‬ ‫اﻟﻣطﻠوب ﺣﺳﺎب ﻣﺎ ﯾﺎﺗﻰ ‪ ) :‬ا (‬

‫‪3‬‬

‫‪1‬‬ ‫‪2‬‬

‫‪i‬‬

‫) ب ( )‪(x  i‬‬

‫‪i 1‬‬

‫‪7‬‬

‫‪i‬‬

‫‪5‬‬

‫‪i 1‬‬

‫‪j1‬‬

‫‪i 1‬‬

‫) ج ( !‪ )  x ^ i / i‬د ( ‪ x i y j‬‬

‫‪١٤٢‬‬

‫‪‬‬

‫ﻣن ‪ i=1‬اﻟﻰ ‪ i=7‬ﺑﺧطوة ‪step=2‬‬


:‫اﻟﺣل‬ 3

1

i

‫) ا ( ﻟﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬

3

i 1

Product[1/i^2,{i,3}]

1 36 3

1 2 i1 i 

1 36 : step=2 ‫ ﺑﺧطوة‬i=7 ‫ اﻟﻰ‬i=1 ‫ﻣن‬

 (x  i) ‫) ب ( ﻟﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬

Product[x+i,{i,1,7,2}] (1+x) (3+x) (5+x) (7+x) 7

 x ^ i / i!

‫) ج ( ﻟﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬

i 1

Product[x^i/i!,{i,7}]

x28 125411328000 7

 i1

xi i

x28 125411328000 5

i i

 x y i 1

j1

Product[(x^i)*(y^j),{i,1,5},{j,1,i}]

١٤٣

j

‫) د ( ﻟﺣﺳﺎب ﺣﺎﺻل اﻟﺿرب‬


‫‪x55 y35‬‬ ‫‪5 i‬‬

‫‪  x^i y^j‬‬ ‫‪i1 j1‬‬ ‫‪55 35‬‬

‫‪x y‬‬

‫)‪ ( ٤-٤‬اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ واﻟﺗﻘرﯾﺑﯾﺔ ﻟﻠﻣﻌﺎدﻻت‬ ‫اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ ﻟﻠﻣﻌﺎدﻻت ‪Exact Solution of Equations‬‬ ‫ﺑﺎﺳﺗﺧدام ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﺣﻠول ﻣﺿﺑوطﺔ ﻟﻌدﯾد ﻣن اﻟﻣﻌﺎدﻻت واﻻﻧظﻣﺔ ﻣن‬ ‫اﻟﻣﻌﺎدﻻت ﺑﻣﺎ ﻓﯾﻬﺎ اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ ﻟﻣﻌﺎدﻻت ﻛﺛﯾرة اﻟﺣدود ﻣن اﻟدرﺟﺔ اﻟﺧﺎﻣﺳﺔ او اﻗل ‪ .‬ﺗﻛﺗب اﻟﻣﻌﺎدﻻت ﻓﻰ‬ ‫اﻟﺑرﻧﺎﻣﺞ ﻋﻠﻰ اﻟﺻورة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪ left-hand side==right-hand side‬ﺣﯾث اﻟرﻣز "==" ﯾوﺿﻊ ﺑﯾن اﻟطرف اﻻﯾﺳر ‪ left-hand side‬و‬ ‫اﻟطرف اﻻﯾﻣن ‪. right-hand side‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻟﻣﻌﺎدﻟﺔ ‪ 4+3=7‬ﺗﻛﺗب ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪4+3==7‬‬ ‫وﻫو ﯾﻌﻧﻰ اﺧﺗﺑﺎر ﻣﺎ اذا ﻛﺎن اﻟطرف اﻻﯾﻣن ﯾﺳﺎوى اﻟطرف اﻻﯾﺳر ‪ .‬اى ان اﻟﻣﻌﺎدﻻت ﻓﻰ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﺗﻌﺎﻣل‬ ‫ﻋﻠﻰ اﻧﮭﺎ ﻋﻼﻗﺎت ﻣﻧطﻘﯾﺔ ﻓﻣﺛﻼ ﻋﻧد ادﺧﺎل اﻟﻣﻌﺎدﻟﺔ ‪:‬‬ ‫‪4+3==7‬‬ ‫ﻓﺎن اﻟﻧﺎﺗﺞ ﯾﻛون ﺻواب ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪4+37‬‬ ‫‪True‬‬ ‫وﻋﻧد ادﺧﺎل اﻟﻣﻌﺎدﻟﺔ ‪:‬‬ ‫‪2‬‬

‫‪x  4x  3  2‬‬ ‫ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﺧرﺟﮭﺎ ﻛﻣﺎ ھﻰ ﻻﻧﮫ ﻟم ﯾﺳﺗطﯾﻊ اﺧﺗﺑﺎر ﻣﺎ اذا ﻛﺎﻧت اﻟﻣﻌﺎدﻟﺔ ‪:‬‬

‫‪x 2  4x  3  2‬‬

‫ﺻواب او ﺧطﺎ وذﻟك ﻟﻌدم وﺟود ﻗﯾﻣﺔ ﻣﺳﺑﻘﺔ ﻟﻠﻣﺗﻐﯾر ‪x‬‬

‫‪x2  4x  3  6‬‬ ‫‪3  4 x  x2  6‬‬ ‫اﻻﻣر ‪:‬‬

‫]‪Solve[lhs  rhs,x‬‬ ‫ﯾﺣل اﻟﻣﻌﺎدﻟﺔ ‪lhs  rhs‬‬ ‫ﻓﻰ ‪ . x‬اﯾﺿﺎ اﻻﻣر ]‪ Solve[lhs  rhs‬ﯾﺣل اﻟﻣﻌﺎدﻟﺔ ‪ lhs  rhs‬ﻓﻰ ‪ x‬‬ ‫اذا ﻛﺎن ‪ x‬اﻟﻣﺟﻬول اﻟوﺣﯾد ﻓﻰ اﻟﻣﻌﺎدﻟﻪ ‪ ، lhs  rhs‬وﻋﻠﻰ ذﻟك ﻟﺣل اﻟﻣﻌﺎدﻟﺔ ‪4x+3=6‬‬

‫ﻛﻼ اﻻﻣرﯾن ]‪Solve[4x  3  6],Solve[4x  3  6,x‬‬ ‫‪١٤٤‬‬

‫ﯾﻌطﯾﺎن ﻧﻔس اﻟﻧﺗﯾﺟﺔ ‪ .‬‬


‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Help Browser‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن اﻻﻣر ‪Solve‬واﯾﺿﺎ اﻟﺣﺻول ﻋﻠﻰ ﻋدة اﻣﺛﻠﺔ ‪‬‬ ‫ﻛﻣﺎ ﻫو ﻣوﺿﺢ ﻓﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ ‪ :‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫ﻫذا وﺗﻌﺗﺑر ﻣﻌﺎدﻻت ﻛﺛﯾرات اﻟﺣدود ‪ Polynomial equatios‬ﻣـن اﻫـم اﻟﻣﻌـﺎدﻻت اﻟﺗـﻰ ﯾـﺗم ﺣﻠﻬـﺎ ﺑﺎﺳـﺗﺧدام‬ ‫اﻻﻣر ‪. Solve‬‬ ‫‪‬‬ ‫‪‬‬

‫ﻣﺛﺎل‬ ‫ﺣل اﻟﻣﻌﺎدﻻت اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪x2 1‬‬ ‫‪4x  8  10,‬‬ ‫‪ 0, x 3  x 2  x  1  0‬‬ ‫‪x 1‬‬

‫اﻟﺣل‪:‬‬

‫‪١٤٥‬‬


‫ﻓﻰ ﻛل ﺣﺎﻟﺔ ﺳوف ﻧﺳﺗﺧدم ‪ Solve‬وذﻟك ﻟﺣل اﻟﻣﻌﺎدﻻت اﻟﺳﺎﺑﻘﺔ ‪ .‬وﯾﺟب اﻟﺗﺎﻛد ﻣن وﺟود اﻟرﻣز‬

‫"=="‬

‫ﺑﯾن اﻟﺟﺎﻧب اﻻﯾﺳر واﻻﯾﻣن ﻟﻛل ﻣﻌﺎدﻟﺔ واﻟﺣل ﻫو ‪ :‬‬

‫]‪Solve[4x+810‬‬

‫‪1‬‬ ‫‪‬‬ ‫‪2‬‬

‫‪x ‬‬ ‫‪‬‬

‫واﻟذى ﯾﻌﻧﻰ ان اﻟﺣل ﻫو ‪ x = 0.5‬‬

‫ﻛﻣﺎ ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر‪ Roots‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪x2  1‬‬ ‫‪ 0, x‬‬ ‫‪x 1‬‬

‫‪Roots‬‬ ‫‪ x-1‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر‪: Roots‬‬

‫]‪Roots[lhs  rhs,x‬‬

‫‪‬‬ ‫‪‬‬

‫‪x2  1‬‬ ‫‪Solve‬‬ ‫‪ 0‬‬ ‫‪x 1‬‬

‫}}‪ {{x-1‬‬

‫واﻟذى ﯾﻌﻧﻰ ان اﻟﺣل ﻫو ‪ x=-1‬‬

‫‪Solvex3  x2  x  1  0‬‬ ‫}}‪ {{x-1},{x-},{x‬‬

‫واﻟذى ﯾﻌﻧﻰ ان ﻫﻧﺎك ﺛﻼث ﺣﻠول وﻫم ‪x  1, x  i ,i  1‬‬

‫‪‬‬

‫اﻻﻣــر ‪Solve‬ﻗــﺎدر ﻋﻠــﻰ اﯾﺟــﺎد ﺣﻠــول ﺻ ـرﯾﺣﺔ ﻟﻠﻌدﯾــد ﻣــن ﻣﻌــﺎدﻻت ﻛﺛﯾ ـرات اﻟﺣــدود ذات اﻟدرﺟــﺔ اﻟﻌﺎﻟﯾــﺔ ﺧﺎﺻــﺔ‬ ‫اﻟﻣﻌـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﺎدﻻت اﻟﺗ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﻰ ﯾﻣﻛ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــن ﺗﺣﻠﯾﻠﻬ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﺎ‪ ‬ﻓﻌﻠـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﻰ ﺳ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﺑﯾل اﻟﻣﺛ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﺎل اﻟﻣﻌﺎدﻟ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ـ ــﺔ‬ ‫‪ 120  274x  225x  85x  15x  x  0‬ﯾﻣﻛـ ـ ــن اﻟﺣﺻـ ـ ــول ﻋﻠـ ـ ــﻰ ﺣـ ـ ــل ﺻ ـ ـ ـرﯾﺢ ﻟﻬـ ـ ــﺎ‬ ‫‪5‬‬

‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪١٤٦‬‬


‫‪Solve120  274x  225 x2  85 x3  15 x4  x5  0‬‬ ‫}}‪{{x1},{x2},{x3},{x4},{x5‬‬

‫واذا ﻛـﺎن اﻟﺑرﻧـﺎﻣﺞ ﻗـﺎدر ﻋﻠـﻰ اﯾﺟـﺎد ﺣﻠـول ﻟﻣﻌﺎدﻟـﺔ ﻣـن اﻟدرﺟـﺔ ‪ n‬ﻓﺎﻧـﻪ ﯾﻌطـﻰ ‪ n‬ﻣـن اﻟﺟـذور ﺣﺗـﻰ ﻓـﻰ ﺣﺎﻟـﺔ وﺟــود‬ ‫ﺟذور ﻣﻛررة ﻛم ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪: (x  2)(x  1)  0‬‬ ‫‪2‬‬

‫‪Solvex  2x  12  0‬‬ ‫}}‪{{x-2},{x-1},{x-1‬‬

‫ﻋﻧدﻣﺎ ﺗﺣﺗوى اﻟﻣﻌﺎدﻟﺔ ﻋﻠﻰ اﻛﺛر ﻣن ﻣﺗﻐﯾر ﻻﺑد ﻣن ﺗﺣدﯾد اﻟﻣﺗﻐﯾر )اﻟﻣﺗﻐﯾرات ( ﻣوﺿﻊ اﻻﻫﺗﻣﺎم‪.‬‬

‫‪‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻟﺣل ﻟـ ‪sin 2 (x)  2sin(x)  3  0‬‬ ‫وﻋﻧد اﺳﺗﺧدام اﻻﻣر ]‪ Solve[Sin[x] ^ 2  2sin(x)  3  0‬ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﺳوف ﯾﺣل اﻟﻣﻌﺎدﻟﺔ ﻓﻰ ‪‬‬

‫]‪  Sin[x‬وﻟﻛـــن ﻋﻧـ ــد اﺳـ ــﺗﺧدام اﻻﻣـــر ]‪ Solve[Sin[x] ^ 2  2sin(x)  3  0, x‬ﻓـ ــﺎن اﻟﺑرﻧـ ــﺎﻣﺞ‬ ‫ﺳوف ﯾﺣل اﻟﻣﻌﺎدﻟﺔ ﻓﻰ‪. x‬‬ ‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﺟذور ﻣﻌﯾﻧﺔ ﻣن ﺣل اﻟﻣﻌﺎدﻟﺔ وذﻟك ﺑﺎﺳـﺗﺧدام اﻻﻗـواس اﻟﻣزدوﺟـﺔ ] ] [ [ ‪.‬ﻓﻌﻠـﻰ ﺳـﺑﯾل اﻟﻣﺛـﺎل‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺟذر اﻻول ﻣن اﻟﻣﻌﺎدﻟﺔ ‪120  274x  225x 2  85x3  15x 4  x5  0‬‬ ‫ﻧﻛﺗب اﻻﻣر ‪ Solve‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪Solve120  274 x  225 x2  85 x3  15 x4  x5  01‬‬ ‫}‪{x1‬‬

‫وﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ﺣل ﻣﺟﻣوﻋﺔ ﻣن اﻟﻣﻌﺎدﻻت ﻓﻰ ان واﺣد وذﻟـك ﺑﺎﺳـﺗﺧدام اﻻﻣـر ‪ Solve‬وذﻟـك ﻛﻣـﺎ‬ ‫ﯾﻠﻰ ‪:‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر‬

‫اﻟﻌﻣل اﻟذى ﯾﻘوم ﺑﻪ اﻻﻣر‬

‫ﺣل ﻣﺟﻣوﻋـﺔ ﻣـن اﻟﻣﻌـﺎدﻻت ‪ eqns‬ﺑﺎﻟﻧﺳـﺑﺔ اﻟـﻰ ﺟﻣﯾـﻊ ]‪Solve[eqns‬‬ ‫اﻟﻣﺗﻐﯾرات اﻟﻣوﺟودة ﻓﯾﻬـﺎ ﺣﯾـث ﺗﻛﺗـب‪ eqns‬ﻓـﻰ ﺻـورة‬ ‫ﻗﺎﺋﻣﺔ } …‪{ lh1==rh1,lh2==rh2,‬‬ ‫ﺣ ـ ــل ﻣﺟﻣوﻋــ ــﺔ اﻟﻣﻌ ـ ــﺎدﻻت‬

‫‪ eqns‬ﺑﺎﻟﻧﺳــ ــﺑﺔ اﻟــ ــﻰ ]‪Solve[eqns,vars‬‬

‫اﻟﻣﺗﻐﯾـرات ‪ vars‬ﺣﯾـث ‪ vars‬ﺗﻛﺗـب ﻓـﻰ ﺻـورة ﻗﺎﺋﻣـﺔ‬ ‫}…‪{x1,x2,‬‬ ‫ﺣــل ﻣﺟﻣوﻋــﺔ اﻟﻣﻌــﺎدﻻت ﺑﺎﻟﻧﺳــﺑﺔ اﻟــﻰ اﻟﻣﺗﻐﯾ ـ ارت ‪Solve[eqns,{vars},{elims}] vars‬‬ ‫‪١٤٧‬‬


‫ﻓﻘط وﺣذف اﻟﻣﺗﻐﯾرات ‪ elims‬ﻣن اﻟﻧﺗﺎﺋﺞ‬

‫ﻣﺛﺎل‬ ‫ﺣل اﻟﻧظم اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪2x  y  5‬‬ ‫)ا(‬ ‫‪‬‬ ‫‪x‬‬ ‫‪‬‬ ‫‪y‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪‬‬ ‫) ب(‬

‫‪ 4x  2y  5z  7‬‬ ‫‪‬‬ ‫‪ 2x  3y  z  4‬‬ ‫‪x  y  z  1‬‬ ‫‪‬‬ ‫)ج(‬

‫‪5x  2y  5z  7‬‬ ‫‪‬‬ ‫‪2x  y  4z  0‬‬ ‫‪4x  2y  4z  1‬‬ ‫‪‬‬ ‫) د(‬

‫‪2x  2y  2z  2‬‬ ‫‪‬‬ ‫‪3x  2y  2z  2‬‬ ‫‪ x  3y  3z  3‬‬ ‫‪‬‬

‫اﻟﺣل‪:‬‬ ‫}‪aa1={2x-y5,x+y4‬‬ ‫]}‪aa2=Solve[aa1,{x,y‬‬ ‫}}‪{{x3,y1‬‬ ‫)ا( ﺣﯾث ‪ aa1‬اﺳم ﻧظﺎم اﻟﻣﻌﺎدﻻت وﻗد ﺗم اﺳﺗﺧدام ‪ Solve‬ﻟﺣل ﻧظﺎم اﻟﻣﻌﺎدﻻت واﻟﻣﺳﻣﻰ ‪aa2‬‬ ‫وﺳوف ﻧﺗﺎﻛدد ﻣن ﺻﺣﺔ اﻟﻧﺗﯾﺟﺔ ‪:‬‬ ‫}}‪ {{x3,y1‬ﯾﻌﻧﻰ ان ‪. x=3,y=1‬‬ ‫ﺑوﺿﻊ اﻟﻘﯾم اﻟﺗﻰ ﺣﺻﻠﻧﺎ ﻋﻠﯾﮭﺎ ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪aa1/.aa2‬‬

‫}}‪{{True,True‬‬ ‫‪١٤٨‬‬


‫اﻟﺣل ﻟـ )ب( ﻓﯾﻣﺎ ﯾﻠﻰ ‪:‬‬ ‫]}‪aa1= Solve[{4x-2y+5z7,2x+3y+z4,x+y-z1},{x,y,z‬‬

‫‪11‬‬ ‫‪1‬‬ ‫‪5‬‬ ‫‪, y  , z  ‬‬ ‫‪9‬‬ ‫‪3‬‬ ‫‪9‬‬

‫‪x ‬‬

‫اﻟﻤﻌﺎدﻟﺔ ﻓﻰ اﻻﻣﺮ ‪ aa1‬ﻓﻰ ﺛﻼث ﻣﺟﺎھﯾل ‪. x,y,z‬‬ ‫)ج(‬ ‫]}‪Solve[{5x-2y+5z7,2x-y+4z0,-4x+2y-4z1},{x,y,z‬‬

‫‪31‬‬ ‫‪33‬‬ ‫‪1‬‬ ‫‪, y‬‬ ‫‪, z  ‬‬ ‫‪4‬‬ ‫‪2‬‬ ‫‪4‬‬

‫‪x ‬‬

‫) د ( اﻟﻧﺗﯾﺟﺔ ﺗوﺿﺢ ان اﻟﻧظﺎم ﻟم ﯾﻌطﻰ ﺣﻠول ﻟﻛل اﻟﻣﺗﻐﯾرات ﺣﯾث اﻟﺣﻠول ﻫﻰ‪:‬‬ ‫}}‪ {{x0,y-1+z‬‬

‫]}‪Solve[{-2x+2y-2z-2,3x-2y+2z2,x+3y-3z-3},{x,y,z‬‬ ‫‪Solve ::svars  :  Equations may not‬‬ ‫…‪give solutions for all "solve " variables . More‬‬ ‫}}‪{{x0,y-1+z‬‬

‫ﻣﺛﺎل‬

‫اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪ y  2x  9‬‬ ‫‪‬‬ ‫‪ x  3z  1‬‬ ‫ﻓﻰ ﺛﻼث ﻣﺟﺎھﯾل ‪ x,y,z‬ﻓﺎذا ﺗم ﺣﺳﺎب اﻟﺣل ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ ‪:‬‬ ‫‪x,y‬‬

‫ﻧﺣﺻل ﻋﻠﻰ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫}‪aa1={y-2x==9, x+3 z1‬‬ ‫]}‪Solve[aa1,{x,y‬‬ ‫}}‪{{x1-3 z,y11-6 z‬‬

‫‪ aa1‬ﻓﻰ ﺛﻼث ﻣﺟﺎھﯾل ‪ x,y,z‬ﻓﺎذا ﺗم ﺣﺳﺎب اﻟﺣل ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ‬ ‫اﻟﻤﻌﺎدﻻت ﻓﻰ اﻻﻣﺮ‬ ‫‪ x‬ﻣﻊ ﺣذف‬

‫‪y‬‬

‫‪١٤٩‬‬


‫ﻧﺣﺻل ﻋﻠﻰ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫}‪aa1={y-2x==9, x+3 z1‬‬ ‫}‪{-2 x+y9,x+3 z1‬‬

‫]}‪Solve[aa1,{x},{y‬‬ ‫}}‪ {{x1-3 z‬‬

‫اﯾﺿﺎ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﯾﻣﻛن ﺣذف ﻋدد ﻣن اﻟﻣﺗﻐﯾرات ﻣن ﻣﺟﻣوﻋﺔ اﻟﻣﻌﺎدﻻت واﻋﺎدة ﻛﺗﺎﺑﺗﮭﺎ وﯾﺗم ذﻟك ﺑﺎﻻﻣر‬ ‫‪ Eliminate‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫;}‪aa1={y-2x==9, x+3 z1‬‬ ‫]‪Eliminate[aa1,x‬‬ ‫‪11-6 zy‬‬ ‫وﻓﻰ ﺣﺎﻟﺔ ﻋدم اﺳﺗطﺎﻋﺔ اﻟﺑرﻧﺎﻣﺞ اﻟﺣﺻول ﻋﻠﻰ ﺣﻠول ﺟﺑرﯾﺔ ﺻرﯾﺣﺔ ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﺗرك اﻟﻣﻌﺎدﻟﺔ )او ﻧظم اﻟﻣﻌﺎدﻻت (‬ ‫ﻓﻰ ﺻورﺗﮭﺎ اﻟرﻣزﯾﺔ‪.‬‬

‫اﻻن ﺳــوف ﻧﺷــرح ﻛﯾﻔﯾــﺔ اﻟوﺻــول اﻟــﻰ ﺣﻠــول‪ ‬ﻟﻠــﻧظم اﻟﻐﯾــر ﺧطﯾــﺔ ﻣــن اﻟﻣﻌــﺎدﻻت و ذﻟــك ﺑﺎﻻﺳــﺗﻌﺎﻧﺔ ﺑﺎﻟرﺳــم ﻛﻣــﺎ‬ ‫ﯾﺗﺿﺢ ﻣن اﻻﻣﺛﻠﺔ اﻟﺗﺎﻟﯾﺔ ‪ .‬‬

‫ﻣﺛﺎل‬

‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪ x 2  y 2  6‬‬ ‫‪ 2‬‬ ‫‪2‬‬ ‫‪ x  6y  8‬‬

‫اﻟﺣل ‪:‬‬ ‫اﻟرﺳم ﻟﻠﻣﻌﺎدﻟﺗﯾن اﻟﺳﺎﺑﻘﺗﯾن ﻋﺑﺎرة ﻋن ﻗطوع ‪ .ellipses‬ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‪:‬‬ ‫‪ContourPlot‬‬ ‫ﻟرﺳم ﻛل ﻣﻌﺎدﻟﺔ وﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪ aa1,aa2‬ﻋﻠﻰ اﻟﺗواﻟﻰ ﺛم اﺳﺗﺧدام اﻻﻣر‬ ‫‪Show‬‬ ‫وذﻟك ﻻظﻬﺎر اﻟرﺳﻣﺗﯾن ﻣﻌﺎ ‪ .‬اﻟﺣﻠول ﻟﻠﻧظﺎم اﻟﺳﺎﺑق ﺗﻣﺛل ﺑﻧﻘط اﻟﺗﻘﺎطﻊ ﻟﻠرﺳﻣﺗﯾن‪.‬‬

‫‪١٥٠‬‬


aa1  ContourPlotx2  y2  6, x, 3, 3,  y, 3, 3, Contours  0, ContourShading  False, PlotPoints  60, DisplayFunction  Identity; aa2  ContourPlotx2  6 y2  8, x,  3, 3, y, 3, 3, Contours  0, ContourShading  False, PlotPoints  60, DisplayFunction  Identity; Show[aa1,aa2,Frame ->False,Axes>Automatic,AxesOrigin{0,0},DisplayFunction$DisplayFunct ion ] 2

1

-2

-1

1

2

-1

-2

Graphics : ‫ ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺣﻠول ﻟﻠﻧظﺎم‬Solve ‫وﻓﻰ اﻟﻧﻬﺎﯾﺔ ﺳوف ﻧﺳﺗﺧدم‬

Solvex2  y2  6, x2  6 y2  8 7 5

2 5

7 5

2 5

x  2  , y   , x  2  , y   ,

7 5

2 5

7 5

2 5

x  2  , y    , x  2  , y   

‫ﻣﺛﺎل‬ : ‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ‬ ١٥١


‫‪x 2 y2‬‬ ‫‪‬‬ ‫‪ 6 , y  mx ; a,b  0‬‬ ‫‪a 2 b2‬‬

‫‪‬‬

‫‪‬‬

‫اﻟﺣل ‪:‬‬

‫اﯾﺿﺎ ﺳوف ﻧﺳﺗﺧدم ‪ Solve‬ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺣﻠول ﻟﻠﻧظﺎم ‪ .‬وﻻن اﻟﻣﺟﺎﻫﯾل ﻓﻰ اﻟﻣﻌﺎدﻟﺔ ﻫم ‪a,b,m,x,y‬‬

‫ﻓﻼ ﺑد ان ﻧﺣدد ﻓﻰ اﻻﻣر اﻧﻧﺎ ﻧرﯾد اﻟﺣل ﻓﻰ ‪.x,y‬‬

‫‪‬‬

‫‪,‬‬

‫‪6 ab‬‬

‫‪x2 y2‬‬ ‫‪‬‬ ‫‪ 6, y  m x, x, y‬‬ ‫‪a2 b2‬‬

‫‪Solve‬‬

‫‪‬‬

‫‪, x ‬‬

‫‪6 abm‬‬

‫‪‬‬ ‫‪b2  a2 m2‬‬ ‫‪‬‬

‫‪‬‬ ‫‪b2  a2 m2‬‬ ‫‪‬‬ ‫‪6 ab‬‬ ‫‪,x‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪b a m‬‬

‫‪y  ‬‬

‫‪6 abm‬‬

‫‪‬‬ ‫‪b2  a2 m2‬‬

‫‪y ‬‬ ‫‪‬‬

‫ﻋﻠــﻰ اﻟــرﻏم ﻣــن ان اﻟﺑرﻧــﺎﻣﺞ ﯾوﺟــد اﻟﺣــل اﻟﻣﺿــﺑوط ﻻى ﻣﻌﺎدﻟــﺔ ﻛﺛﯾ ـرة اﻟﺣــدود ﻣــن اﻟدرﺟــﺔ اﻟﺧﺎﻣﺳــﺔ او اﻗــل ﻓــﺎن‬ ‫اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ ﻟﺑﻌض اﻟﻣﻌﺎدﻻت ﻻ ﺗﻛون ذات ﻣﻌﻧﻰ ‪ .‬ﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﻣدﻧﺎ ﺑﺗﻘرﯾﺑﺎت ﻟﻠﺣﻠـول اﻟﻣﺿـﺑوطﺔ‬ ‫وذﻟك ﺑﺎﺳﺗﺧدام اﻣﺎ اﻻﻣر‪:‬‬

‫]‪N[exp ression‬‬ ‫او اﻻﻣر‪ :‬‬

‫‪exp ression // N‬‬

‫‪‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد ﺣل ﺗﻘرﯾﺑﻰ ﻟﻠﻣﻌﺎدﻟﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪x 3  4x 2  1  x‬‬

‫‪‬‬

‫اﻟﺣل ‪:‬‬

‫اوﻻ ‪ :‬ﺳوف ﻧوﺟد اﻟﺣل اﻟﻣﺿﺑوط ﺛم ﻧوﺟد اﻟﺣل اﻟﺗﻘرﯾﺑﻰ ﺑطرﯾﻘﺗﯾن ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬ ‫‪2‬‬

‫‪3‬‬

‫‪Solvex  4x  1  x‬‬ ‫‪١٥٢‬‬


‫‪13‬‬

‫‪‬‬

‫‪4 1 ‬‬ ‫‪119 3 597 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪x ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ ‬‬ ‫‪3 3  2‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪1 1‬‬ ‫‪‬‬ ‫‪ 119  3 597  ,‬‬ ‫‪3 2‬‬ ‫‪ 13‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪ 119‬‬ ‫‪4 1‬‬ ‫‪3 597‬‬ ‫‪ ‬‬ ‫‪x ‬‬ ‫‪‬‬ ‫‪1   3  ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪3 6‬‬ ‫‪2‬‬ ‫‪ 2‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪ 13‬‬ ‫‪1   3   119  3 597  ,‬‬ ‫‪6‬‬ ‫‪2‬‬ ‫‪ 13‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪4 1‬‬ ‫‪3 597‬‬ ‫‪ ‬‬ ‫‪ 119‬‬ ‫‪x ‬‬ ‫‪‬‬ ‫‪1   3  ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪3 6‬‬ ‫‪2‬‬ ‫‪ 2‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪ 13‬‬ ‫‪1   3   119  3 597  ‬‬ ‫‪6‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪NSolvex  4x  1  x‬‬ ‫ ‪{{x3.8063},{x0.0968496 +0.503331 },{x0.0968496‬‬‫}}‪0.503331 ‬‬ ‫‪Solvex3  4x2  1  x  N‬‬ ‫‪},{x0.0968496‬‬ ‫‬‫}}‪0.503331 ‬‬

‫‪{{x3.8063},{x0.0968496‬‬

‫‪+0.503331‬‬

‫اوﻻ اوﺟدﻧﺎ اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ ﻟﻠﻣﻌﺎدﻟﺔ ‪ x  4x  1  x‬ﺛم ﺑﻌد ذﻟك ﺗم ﺣﺳﺎب ﺣﻠول ﺗﻘرﯾﺑﯾﺔ ‪.‬‬ ‫‪2‬‬

‫‪3‬‬

‫ﺑرﻧـﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛـﺎ ﻗـﺎدر ﻋﻠــﻰ ﺣـل ﻣﻌﺎدﻟـﺔ ﺗﺣﺗـوى ﻋﻠــﻰ اﻛﺛـر ﻣـن ﻣﺗﻐﯾـر وﻟﻛــن ﻟﻣﺗﻐﯾـر واﺣـد ﺑدﻻﻟـﺔ اﻟﻣﺗﻐﯾـرات‬ ‫اﻻﺧرى ‪:‬‬

‫ﻣﺛﺎل‬ ‫‪r 2‬‬ ‫‪ w ‬ﺑدﻻﻟﺔ ‪: h‬‬ ‫ﺣل اﻟﻣﻌﺎدﻟﺔ‬ ‫‪h‬‬

‫اﻟﺣل ‪:‬‬ ‫ﻫذﻩ اﻟﻣﻌﺎدﻟﺔ ﺗﺷﺗﻣل ﻋﻠﻰ اﻛﺛر ﻣن ﻣﺗﻐﯾر وﻟذﻟك ﻻ ﺑد ﻣن ﺗﺣدﯾد اﻟﻣﺗﻐﯾر اﻟﺗﻰ ﺳوف ﺗﺣل اﻟﻣﻌﺎدﻟﺔ ﺑدﻻﻟﺗﻪ‪:‬‬

‫‪, h‬‬

‫‪١٥٣‬‬

‫‪ r2‬‬

‫‪h‬‬

‫‪Solvew ‬‬


‫‪‬‬

‫ﺗﺎﻛد ﻣن وﺿﻊ ﻣﺳﺎﻓﺔ ﺑﯾن ‪, r‬‬

‫‪w‬‬

‫‪h ‬‬

‫‪ . ‬وﯾﺟب ان ﻧﺗذﻛر اﻧﮫ ﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ ﺣل اﻟﻣﻌﺎدﻟﺔ ﻓﻰ ‪ r‬ﺑدﻻ ﻣن ‪ h‬ﻓﺎﻧﻧﺎ‬

‫‪r2‬‬ ‫ﻧﺳﺗﺧدم اﻻﻣر ]‪Solve[w   ,r‬‬ ‫‪h‬‬

‫وﻋﻠﻰ ذﻟك ‪:‬‬

‫‪, r‬‬ ‫‪ ‬‬ ‫‪‬‬

‫‪w‬‬

‫ﻣﺛﺎل‬

‫ﺣل اﻟﻣﻌﺎدﻟﺔ ‪a 2  b2  c2‬‬

‫‪ r2‬‬

‫‪h‬‬

‫‪‬‬ ‫‪‬‬

‫‪ r2‬‬

‫‪h‬‬

‫‪Solvew ‬‬

‫‪ ‬‬ ‫‪, r ‬‬

‫‪w‬‬

‫‪h‬‬

‫‪‬‬ ‫‪‬‬

‫‪r  ‬‬

‫ﺑدﻻﻟﺔ ‪: a‬‬

‫اﻟﺣل ‪:‬‬ ‫ﻫذﻩ اﻟﻣﻌﺎدﻟﺔ ﺗﺷﺗﻣل ﻋﻠﻰ اﻛﺛر ﻣن ﻣﺗﻐﯾر وﻟذﻟك ﻻ ﺑد ﻣن ﺗﺣدﯾد اﻟﻣﺗﻐﯾر اﻟﺗﻰ ﺳوف ﺗﺣل اﻟﻣﻌﺎدﻟﺔ ﺑدﻻﻟﺗﻪ‪:‬‬

‫‪Solvea2  b2  c2, a‬‬

‫ﺣﻠول ﻋددﯾﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻣﻌﺎدﻻت‬

‫‪‬‬ ‫‪‬‬ ‫‪a    b2  c2 , a  b2  c2 ‬‬ ‫‪ ‬‬ ‫‪ ‬‬ ‫‪h w‬‬ ‫‪h w‬‬ ‫‪r  ‬‬ ‫‪, r ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫ﯾﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﻰ ﺣﻠﻮل ﻋﺪدﯾﺔ ﺗﻘﺮﯾﺒﯿﺔ ﻣﺒﺎﺷﺮة ﻟﻤﻌﺎدﻟﺔ او ﻧﻈﺎم ﻣﻦ اﻟﻤﻌﺎدﻻت ﺑﺪون اﻟﺤﺎﺟﺔ اﻟﻰ اﯾﺠﺎد اﻟﺤﻞ‬ ‫اﻟﻣﺿﺑوط اوﻻ وذﻟك ﺑﺎﺳﺗﺧدام ﻋدة اواﻣر ﻟﺗﻘرﯾب ﺟذور اﻟﻣﻌﺎدﻻت ﻣﺛل‪:‬‬

‫‪FindRoot, NRoots, NSolve‬‬ ‫ﯾﺴﺘﺨﺪم اﻻﻣﺮ ‪:‬‬

‫‪NRoots‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﺣل ﻋددى ﺗﻘرﯾﺑﻰ ﻟﺟذور اى ﻣﻌﺎدﻟﺔ ﻛﺛﯾرة اﻟﺣدود ‪ .‬اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر ﻫﻰ ‪:‬‬

‫]‪NRoots[poly1  poly2, x‬‬ ‫‪١٥٤‬‬


‫ﺣﯾث ﻛﻼ ﻣن‪ poly1,poly2‬ﻛﺛﯾرات اﻟﺣدود ﻓﻰ ‪ . x‬ﯾﻣﻛن ﻛﺗﺎﺑﺔ اﻻﻣر اﻟﺳﺎﺑق ﻋﻠﻰ اﻟﺻﯾﻐﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫]‪NRoots[poly1  poly2, x, n‬‬ ‫وذﻟك ﻟﻠﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻰ ﻻى ﻣﻌﺎدﻟﺔ ﻛﺛﯾرة اﻟﺣدود وﺑدﻗﺔ ‪. n‬‬ ‫اﻻﻣر ‪ NSolve‬ﯾﻌطﻰ ﻧﻔس ﻧﺗﯾﺟﺔ اﻻﻣر‪.NRoots‬‬ ‫اﯾﺟﺎد ﺣﻠول ﻋددﯾﺔ ﻟﻣﻌﺎدﻻت ﻋﺎﻣﺔ )ﺗﺣﺗوى ﻋﻠﻰ دوال ﻣﺛﻠﺛﯾﺔ او دوال اﺳﯾﺔ او ﻟوﻏﺎرﯾﺗﻣﯾﺔ ‪...‬اﻟﺦ( ﯾﻛون اﻛﺛر‬ ‫ﺻﻌوﺑﺔ ‪.‬‬

‫ﻻﯾﺟﺎد اﻧﺳب ﺟذر ﺗﻘرﯾﺑﻰ ﻟﻠﻣﻌﺎدﻟﺔ ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪FindRoot‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر‪ FindRoot‬ﻫﻰ ‪:‬‬ ‫]}‪FindRoot[lhs==rhs,{ x,firstguess‬‬ ‫ﺣﯾث ﯾﻘوم ﺑﺎﻟﺑﺣث ﻋن ﺣل ﻋددى ﻟﻠﻣﻌﺎدﻟﺔ ‪ lhs==rhs‬ﻣﺑﺗدﺋﺎ ﻣن اﻟﻧﻘطﺔ ‪.x= firstguess‬‬ ‫واﺣد ﻣن اﻟطرق ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻘﯾﻣﺔ اﻟﻣﺑدﺋﯾﺔ‪ firstguess‬ﻫو رﺳم ﻛﻼ ﻣن‪ lhs==rhs‬ﺑﺎﺳﺗﺧدام‬ ‫اﻻﻣر‪ Plot‬واﯾﺟﺎد ﻧﻘطﺔ )ﻧﻘط( اﻟﺗﻘﺎطﻊ وﺣﺳﺎب ﻗﯾم ‪ x‬ﻋﻧد اﻟﺗﻘﺎطﻊ ‪.‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد ﺣﻠول ﺗﻘرﯾﺑﯾﺔ ﻟﻣﻌﺎدﻟﺔ ﻛﺛﯾرة اﻟﺣدود ‪:‬‬

‫‪x 5  x 4  4x 3  2x 2  3x  7  0‬‬ ‫ﻻن اﻟﻣﻌﺎدﻟﺔ ﻛﺛﯾرة اﻟﺣدود ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر‪ NRoots‬ﻟﻠﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻰ ﻟﻠﻣﻌﺎدﻟﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪NRootsx5  x4  4x3  2x2  3x  7  0, x‬‬ ‫‪x-2.74463||x-0.880858||x0.41452 -1.19996‬‬ ‫‪||x0.41452 +1.19996 ||x1.79645‬‬ ‫اﻟرﻣز ‪ //‬اﻟذى ﯾظﻬر ﻓﻰ اﻟﻣﺧرج ﯾﻌﻧﻰ" او" ‪.‬‬ ‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻧﻔس اﻟﺣل ﻣﻊ اﻻﻣر‪.NSolve‬‬

‫‪NSolvex5  x4  4x3  2x2  3x  7  0, x‬‬ ‫‪{{x-2.74463},{x-0.880858},{x0.41452 -1.19996‬‬ ‫}}‪},{x0.41452 +1.19996 },{x1.79645‬‬ ‫اﯾﺿﺎﻻﻣر ‪ FindRoots‬ﯾﻣﻛن اﺳﺗﺧداﻣﻪ ﻟﺗﻘرﯾب ﻛل ﺟذر ﻓﻰ اﻟﻣﻌﺎدﻟﺔ ‪ .‬وﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻻﺑد ﻣن اﻣداد‬ ‫ا‬ ‫اﻻﻣر ﺑﻧﻘطﺔ اﻟﺑداﯾﺔ ‪ . initial approximation‬اﻟﺣﻠول ﻟـ‬

‫‪x 5  x 4  4x 3  2x 2  3x  7  0‬‬ ‫واﻟﻣﻘﺎﺑﻠﺔ ﻟﻘﯾم ‪ x‬ﺣﯾث اﻟرﺳم ‪:‬‬

‫‪x 5  x 4  4x 3  2x 2  3x  7  0‬‬

‫ﯾﻘطﻊ اﻟﻣﺣور اﻻﻓﻘﻰ ‪ .‬ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‪ Plot‬ﻟرﺳم‪:‬‬

‫‪x 5  x 4  4x 3  2x 2  3x  7  0‬‬ ‫‪Plotx5  x4  4x3  2x2  3x  7, x,  3, 2‬‬ ‫‪١٥٥‬‬


‫‪20‬‬ ‫‪10‬‬

‫‪2‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-1‬‬

‫‪-3‬‬

‫‪-10‬‬ ‫‪-20‬‬ ‫‪-30‬‬

‫‪Graphics‬‬ ‫ﯾﺗﺿﺢ ﻟﻧﺎ ان اﻟرﺳم ﯾﻘطﻊ اﻟﻣﺣور اﻻﻓﻘﻰ ﻗرﯾﺑﺎ ﻋﻧد ‪. x  2.5,x  1,x  1.5‬‬ ‫ﺳوف ﻧﺳﺗﺧدم ﻫذﻩ اﻟﻘﯾم ﻛﻧﻘط ﺑداﯾﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻛل ﺣل ‪ .‬وﻋﻠﻰ ذﻟك ادﺧﺎل ‪:‬‬

‫‪FindRootx5  x4  4x3  2x2  3x  7  0, x,  2.5‬‬ ‫}‪{x-2.74463‬‬ ‫ﺗؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻲ ﻗرﯾب ﻣن ‪.x=-2.5‬‬ ‫ﺑﺎدﺧﺎل ‪:‬‬

‫‪2‬‬

‫‪3‬‬

‫‪5‬‬

‫‪4‬‬

‫‪FindRootx  x  4x  2x  3x  7  0, x, 1‬‬ ‫}‪{x-0.880858‬‬ ‫ﺗؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻲ ﻗرﯾب ﻣن ‪.x=-1‬‬ ‫ﺑﺎدﺧﺎل ‪:‬‬

‫‪FindRootx5  x4  4x3  2x2  3x  7  0, x, 2‬‬ ‫}‪{x1.79645‬‬ ‫ﺗؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻲ ﻗرﯾب ﻣن‪.x=2‬‬ ‫اﻟﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﻟﺣﻠول ﻧظﺎم ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ FindRoot‬ﯾﺗﺿﺢ ﻣن اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪:‬‬

‫ﻣﺛﺎل‬

‫‪ x 2  4xy  y 2  4,‬‬ ‫‪.‬‬ ‫اوﺟد ﺗﻘرﯾب ﻟﺣﻠول اﻟﻧظﺎم‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪5x  4xy  2y  8‬‬ ‫اﻟﺣل ‪:‬‬ ‫‪١٥٦‬‬


aa1  ContourPlotx2  4x y y2  4, x, 4, 4, y, 4, 4, PlotPoints  60, ContourShading  False, Contours  0, ContourStyle  Dashing0.01, DisplayFunction  Identity; aa2  ContourPlot5x2  4x y  2 y2  8, x, 4, 4, y, 4, 4, PlotPoints  60, ContourShading  False, Contours  0, ContourStyle  Dashing0.01, DisplayFunction  Identity; Show[aa1,aa2,Axes->Automatic,AxesOrigin{0,0}, FrameFalse,DisplayFunction$DisplayFunction] 4

2

-4

-2

2

4

-2

-4

 Graphics

‫ ﺑﺎﻟﺗﻌوﯾض ﻓﻰ ﻛل ﻣن اﻟﻣﻌﺎدﻟﺗﯾن ﺑﺎﻟﻘﯾم‬. ‫( ﻟﻠﻣﻌﺎدﻟﺗﯾن‬0,2),(0,-2)‫ﻣن اﻟرﺳم ﯾﺗﺿﺢ ان اﻟﺣﻠول اﻟﻣﻣﻛﻧﺔ ﻫﻰ‬ ‫ اﻟﺣﻠﯾن‬. ‫ ﺳوف ﻧﺗﺣﻘق ﻣن ان ﺗﻠك اﻟﻧﻘﺎط ﺗﻣﺛل اﻟﺣﻠول اﻟﻣﺿﺑوطﺔ ﻟﻠﻣﻌﺎدﻟﺗﯾن‬x=0 and y=-2 and x=0,y=2 .FindRoot‫اﻟﺑﺎﻗﯾﯾن ﯾﻣﻛن اﯾﺟﺎد ﺗﻘرﯾﺑﺎت ﻟﻬم ﻣن اﻻﻣر‬

FindRootx2  4x y  y2  4, 5x2  4x y  2 y2  8, x, 1, y, .25 {x1.39262,y0.348155} ١٥٧


‫‪FindRootx2  4x y  y2  4, 5x2  4x y  2 y2  8, x, 1,  y, .25‬‬ ‫}‪{x-1.39262,y-0.348155‬‬ ‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻻﻣر‪ FindRoot‬و اﻻﻣر ‪ NRoots‬ﻓﺎن اﻻﻣر ‪ Nsolve‬ﯾﻣﻛن ان ﯾﺳﺗﺧدم ﻓﻰ اﻟﺣﺻول‬ ‫ﻋﻠﻰ ﺗﻘرﯾﺑﺎت ﻟﺟذور ﺑﻌض اﻟﻣﻌﺎدﻻت ‪.‬‬

‫ﻣﺛﺎل‬ ‫اذا ﻛﺎﻧت ‪:‬‬

‫‪f (x)  x 3  8x 2  11x  10,‬‬ ‫‪x2‬‬ ‫‪1‬‬ ‫‪g(x) ‬‬ ‫‪x‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫اوﺟد اﻟﺣﻠول اﻟﺗﻘرﯾﺑﯾﺔ ﻟـ ) ‪. f(x)=g(x‬‬

‫اﻟﺣل ‪:‬‬

‫ﺑﻌد ازاﻟﺔ ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺗﯾن ‪ f,g‬اذا وﺟدا ﻧﺳﺗﺧدم اﻻﻣر‪ NRoot‬ﻟﺗﻘرﯾب اﻟﺣﻠول ﻟﻠﻣﻌﺎدﻟﺔ ‪.‬‬ ‫]‪Clear[f,g‬‬

‫‪fx_ : x3  8x2  11x  10‬‬ ‫‪x2‬‬ ‫‪1‬‬ ‫‪gx_ :‬‬ ‫‪ x‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫]‪NRoots[f[x]g[x],x‬‬ ‫‪x0.605027 -1.00717 ||x0.605027 +1.00717 ||x7.12328‬‬ ‫وﻛﻣﺎ ﻫو ﻣﺗوﻗﻊ ﺣﺻﻠﻧﺎ ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻣﻊ اﻻﻣر‪.NSolve‬‬ ‫]‪NSolve[f[x]g[x],x‬‬ ‫‪{{x0.605027 -1.00717 },{x0.605027 +1.00717‬‬ ‫}}‪},{x7.12328‬‬

‫ﺗطﺑﯾﻘﺎت ‪:‬اﻟﺣﺻول ﻋﻠﻰ ﻧﻘط اﻟﺗﻘﺎطﻊ ﻓﻰ رﺳم اﻟدوال‬ ‫ﻓﻰ اﻟﻌدﯾد ﻣن اﻻﻣﺛﻠﺔ اﻟﺳﺎﺑﻘﺔ ﻛﻧﺎ ﻧﺑﺣث ﻋن ﻧﻘط اﻟﺗﻘﺎطﻊ ﻋﻧد رﺳم اﻟدوال ‪ .‬ﻫﻧﺎ ﺳوف ﻧﻧﺎﻗش ﻋدة اﻣﺛﻠﺔ ﻟﺗﺣدﯾد‬ ‫ﻧﻘط اﻟﺗﻘﺎطﻊ ﻋﻧد رﺳم اﻟﻣﻧﺣﻧﯾﺎت ‪.‬‬

‫‪١٥٨‬‬


‫ﻣﺛﺎل‬ ‫اوﺟد اﻟﻧﻘطﺔ )اﻟﻧﻘﺎط ( واﻟﺗﻰ ﻋﻧدﻫﺎ اﻟرﺳﻣﯾن اﻟﺗﺎﻟﯾﯾن ﯾﺗﻘﺎطﻌﺎن ‪:‬‬

‫‪f (x)  3x 2  12x  5,‬‬ ‫‪g(x)  2x 2  4x  3‬‬

‫اﻟﺣل ‪:‬‬ ‫اوﻻ ﺳوف ﻧرﺳم ﻛل ﻣن اﻟداﻟﺔ)‪f(x),g(x‬‬ ‫]‪Clear[f,g‬‬

‫;‪fx_ : 3x2  12x  5‬‬ ‫;‪gx_ : 2x2  4x 3‬‬ ‫‪Plot[{f[x],g[x]},{x,‬‬‫]}]‪1,5},PlotStyle{GrayLevel[0],GrayLevel[0‬‬ ‫‪20‬‬

‫‪10‬‬

‫‪5‬‬

‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬ ‫‪-10‬‬

‫‪-20‬‬

‫‪Graphics‬‬

‫ﻣن اﻟرﺳم ﯾﻼﺣظ وﺟود ﺗﻘﺎطﻊ ﻟﻠداﻟﺗﯾن ﻣرﺗﯾن ‪ .‬ﺳوف ﻧﺣل اﻟﻣﻌﺎدﻟﺔ )‪ f(x)=g(x‬وﺳوف ﻧﺣﺻل ﻋﻠﻰ اﻟﺣل‬ ‫اﻟﻣﺿﺑوط ﻻﻧﻬﺎ ﻣﻌﺎدﻟﺔ ﻛﺛﯾرة اﻟﺣدود ﻣن درﺟﺔ اﻗل ﻣن ﺧﻣﺳﺔ ‪.‬‬ ‫]]‪aa1=Solve[f[x]g[x‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪x ‬‬ ‫‪8  3 6 , x ‬‬ ‫‪8  3 6 ‬‬

‫‪5‬‬

‫‪5‬‬

‫‪aa1//N‬‬ ‫}}‪{{x0.130306},{x3.06969‬‬ ‫‪yy=f[x]/.aa1//Simplify‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪1  36 6 ,‬‬ ‫‪1  36 6 ‬‬

‫‪25‬‬

‫‪١٥٩‬‬

‫‪25‬‬


‫‪yy//N‬‬ ‫}‪{-3.48727,3.56727‬‬ ‫وﻋﻠﻰ ذﻟك ﯾﻣﻛن اﺳﺗﻧﺗﺎج ان رﺳم ‪ f,g‬ﯾﺗﻘﺎطﻌﺎن ﻣﻌﺎ ﻋﻧد ‪:‬‬ ‫)‪(3.06969,3.56727), (0.130306, -3.48727‬‬ ‫ﻋﻧد ﻋدم اﻟﺣﺻول ﻋﻠﻰ اﻟﺣل اﻟﻣﺿﺑوط ﻓﺎن اﻻﻣر ‪ ) FindRoot‬او اﻻﻣر ‪NRoots‬‬ ‫اذا ﻛﺎﻧت اﻟﻣﻌﺎدﻟﺔ ﻋﻠﻰ ﺷﻛل ﻛﺛﯾرة اﻟﺣدود( ﯾﺳﺗﺧدﻣﺎن وذﻟك ﻟﺗﻘدﯾر ﻧﻘﺎط اﻟﺗﻘﺎطﻊ‪.‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد اﻟﻧﻘطﺔ )اﻟﻧﻘﺎط ( واﻟﺗﻰ ﻋﻧدﻫﺎ اﻟرﺳﻣﯾن اﻟﺗﺎﻟﯾﯾن ﯾﺗﻘﺎطﻌﺎن ‪:‬‬

‫‪x‬‬ ‫) (‪cos‬‬ ‫‪‬‬

‫‪x‬‬ ‫‪ ( )2‬‬ ‫‪4‬‬

‫‪f (x) ,e‬‬

‫‪3‬‬ ‫‪5‬‬ ‫‪ sin 2‬‬ ‫‪4‬‬

‫‪g(x) ‬‬

‫اﻟﺣل ‪:‬‬

‫اوﻻ ‪ :‬ﺳوف ﻧرﺳم ﻛل ﻣن اﻟداﻟﺔ)‪ f(x),g(x‬وﻗد وﺟد ان اﻟداﻟﺗﯾن ﻗد ﺗﻘﺎطﻌﺎ‬

‫ﻣرﺗﯾن ﻛﻣﺎﯾﻠﻰ‪:‬‬ ‫]‪Clear[f,g‬‬

‫‪x 2‬‬ ‫‪x‬‬ ‫;‪fx_ : Exp   Cos ‬‬ ‫‪4‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫;‪gx_ :  Sinx 2 ‬‬ ‫‪4‬‬ ‫‪Plot[{f[x],g[x]},{x,0,5},PlotStyle{RGBColor[1,0,0],RGBCo‬‬ ‫]}]‪lor[0,0,1‬‬ ‫‪Graphics‬‬

‫‪١٦٠‬‬


‫‪2‬‬

‫‪1.5‬‬

‫‪1‬‬

‫‪0.5‬‬

‫‪5‬‬

‫ﯾﺗﺿﺢ ﻟﻧﺎ ﻣن‬

‫‪4‬‬

‫‪2‬‬

‫‪3‬‬

‫‪1‬‬

‫اﻟرﺳم ان اﻟﻣﻧﺣﻧﯾن ﺗﻘﺎطﻌﺎ ﻗرﯾﺑﺎ ﻣن ‪. x  2.5,x  3‬‬

‫ﺳوف ﻧﺳﺗﺧدم ﻫذﻩ اﻟﻘﯾم ﻛﻧﻘط ﺑداﯾﺔ ﺗﻘرﯾﺑﯾﺔ ﻟﻛل ﺣل ‪ ،‬وﻋﻠﻰ ذﻟك ادﺧﺎل ‪:‬‬ ‫]}‪aa1=FindRoot[f[x]g[x],{x,2.5‬‬ ‫}‪{x2.54105‬‬ ‫ﺗؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻲ ﻗرﯾب ‪ x=2.5‬وﻫو}‪ {x2.54105‬وذﻟك ﻋﻧد ‪y=0.461103‬‬ ‫واﻟﺗﻰ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪aa2=f[x]/.aa1//Simplify‬‬ ‫‪0.461103‬‬ ‫اﯾﺿﺎ ﺑﺎدﺧﺎل ‪:‬‬ ‫]}‪aa3=FindRoot[f[x]g[x],{x,3‬‬ ‫}‪{x2.9746‬‬ ‫ﺗؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﺣل ﺗﻘرﯾﺑﻲ ﻗرﯾب ‪ x=3‬وذﻟك ﻋﻧد‪:‬‬ ‫‪y= 0.336065‬‬

‫واﻟﺗﻰ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪aa4=f[x]/.aa3//Simplify‬‬ ‫‪0.336065‬‬

‫)‪(٥-٤‬اﻟﻘواﺋم ‪Lists‬‬ ‫ﺗﺳﺗﺧدم اﻟﻘواﺋم ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﺑﺷﻛل ﻛﺑﯾر ﻋﻧدﻣﺎ ﯾﻛون ﻫﻧﺎك ﺣﺎﺟﺔ اﻟﻰ ﺗﻧظﯾم ﻋدد ﻣن اﻟﻘﯾم ﺑﻐرض اﻟﺗﻌﺎﻣل ﻣﻌﻬﺎ‬ ‫ﻛوﺣدة واﺣدة ‪ .‬ﯾﻘدم ﻫذا اﻟﺑﻧد ﻣﺑﺎدئ اﻟﻌﻣﻠﯾﺎت اﻟﺗﻰ ﺗﺗم ﻋﻠﻰ اﻟﻘواﺋم واﻟﺟداول واﻟﺗﻰ ﺗﻔﯾد ﻓﻰ ﻣﺟﺎﻻت ﻛﺛﯾرة ﻣﺛل اﻟﺟﺑر‬ ‫اﻟﺧطﻰ واﻻﺣﺻﺎء ‪.‬‬

‫‪١٦١‬‬


‫)‪ (١-٥-٤‬ﺗﻌرﯾف اﻟﻘواﺋم‬ ‫ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﺗﺗﻛون اﻟﻘﺎﺋﻣﺔ ‪ list‬ﻣن ‪ n‬ﻣن اﻟﻌﻧﺎﺻر ﺗﺎﺧذ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫}]‪{elemene[[1]], elemene[[2]],…, elemene[[n-1]], elemene[[n‬‬ ‫ﺣﯾث ]]‪ elemene[[i‬اﻟﻌﻧﺻر رﻗم ‪ . i‬اﻟﻌﻧﺎﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﺗﻔﺻل ﻓﯾﻣﺎ ﺑﯾﻧﻬﺎ ﻓﺻﻠﺔ ‪" , " comma‬‬

‫‪ .‬ﻋﺎدة اﻟﻘﺎﺋﻣﺔ‬

‫ﺗﻐﻠق ﺑﻘوﺳﯾن }…{ ‪ .‬ﻛل ﻗﺎﺋﻣﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﯾﺟب ان ﯾﻛون ﻟﻬﺎ اﺳم ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل }‪ aa1={4,5,6,7,8‬و‬ ‫}‪ bb1={4,5,6,7,8‬ﺗﻣﺛﻼن ﻗﺎﺋﻣﺗﺎن ‪.‬‬ ‫ﻣﺣﺗوﯾﺎت اﻟﻘﺎﺋﻣﺔ )ﻋﻧﺎﺻر اﻟﻘﺎﺋﻣﺔ ( ﺗﻣﺛل اى ﻧوع ﻣن اﻟﻘﯾم ﻣﺛل اﻟرﻣوز او اﻟدوال او ﺟﻣل واﻟذى ﯾﺗﺿﺢ ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ‬ ‫واﻟﻣﺳﻣﺎﻩ ‪: a11‬‬

‫]‪a11=[3,dog,"read ",Pi,{5,3},{} ,Sin‬‬ ‫}‪{3,dog,read ,,{5,3},{},Sin‬‬ ‫وﻛل ﻋﻧﺻر ﻣﻌروف ﻣوﻗﻌﻪ ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ ،‬ﻓﻣﺛﻼ ﻣﻌروف ان ‪ Sin‬ﻫو اﻟﻌﻧﺻر اﻻﺧﯾر ﻓﻰ اﻟﻘﺎﺋﻣﺔ و}{ اﻟﻌﻧﺻر اﻟﺳﺎدس ﻓﻰ‬ ‫اﻟﻘﺎﺋﻣﺔ و ﯾﻣﺛل ﻗﺎﺋﻣﺔ ﻻ ﺗﺣﺗوى ﻋﻠﻰ اى ﻋﻧﺎﺻر وﺗﺳﻣﻰ اﻟﻘﺎﺋﻣﺔ اﻟﻔﺎرﻏﺔ ‪.empty list‬‬ ‫وﻣﻣﺎ ﯾﺟد اﻻﺷﺎرة اﻟﯾﻪ ان اﻻواﻣر ﻫﻧﺎ ﺑﻌض اﻟﻣراﺟﻊ ﺗﻌﺗﺑرﻫﺎ دوال ‪.‬‬ ‫ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻓﻰ اﻟﻐﺎﻟب ﯾﺳﺗﺧدم اﻻﻣر ‪ List‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﺎﺋﻣﺔ واﻟﺗﻰ ﯾﺎﺧذ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]‪List [elemene[[1]], elemene[[2]],…, elemene[[n-1]], elemene[[n‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]‪List[3,5,6,8,9‬‬ ‫}‪{3,5,6,8,9‬‬

‫وﯾﻣﻛن ﺗﻛوﯾن اﻟﻘواﺋم وذﻟك ﺑﻛﺗﺎﺑﺗﻬﺎ ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫}‪{1,4,6,9,10‬‬ ‫}‪{1,4,6,9,10‬‬ ‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﻘواﺋم ﻣن ﺑراﻣﺞ اﺧري او ﯾﻣﻛن ﺗﻛوﯾﻧﻬﺎ ﺑﺎﺳﺗﺧدام اواﻣر اﻟﺟداول ‪ Tables‬او ‪. Array‬‬ ‫ﺑﻔرض داﻟﺔ ‪ f‬وﻋدد ‪: n‬‬ ‫اﻻﻣر ‪:‬‬

‫‪١٦٢‬‬


‫]}‪ Table[f[i],{i,n‬ﯾﻛون ﻗﺎﺋﻣﺔ ﻣﻛوﻧﺎﺗﻬﺎ } ]‪. {f[1], f[2],…, f[n‬‬ ‫اﻻﻣر ‪:‬‬ ‫]}‪ Table[f[i],{i,0,n‬ﯾﻛون ﻗﺎﺋﻣﺔ ﻣﻛوﻧﺎﺗﻬﺎ } ]‪. {f[0], f[1],…, f[n‬‬ ‫اﻻﻣر ‪:‬‬ ‫]}‪ Table[f[i],{i,n,m‬ﯾﻛون ﻗﺎﺋﻣﺔ ﻣﻛوﻧﺎﺗﻬﺎ }]‪. {f[n], f[n+1],…, f[m-1], f[m‬‬ ‫اﻻﻣر ‪:‬‬ ‫]}‪ ) Table[f[i],{i,imin,imax,step‬ﺣﯾث ‪ i‬ﻣن ‪ i=imin‬اﻟﻰ ‪ i=imax‬ﺑﺧطوة ﻣﻘدارﻫﺎ ‪ istep‬ﺗﻛون ﻗﺎﺋﻣﺔ ﻣﻛوﻧﺎﺗﻬﺎ‬ ‫ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬ ‫}]‪. {f[imin],f[imin+step],f[imin+2*step],…,f[imax‬‬ ‫ﻫذا وﯾﻣﻛن ان ﺗﺳﺗﺑدل ‪ f‬ﺑﺎى ﺗﻌﺑﯾر ‪.expression‬‬

‫ﻣﺛﺎل‬ ‫ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]}‪Table[3k,{k,1,10,2‬‬ ‫}‪{3,9,15,21,27‬‬ ‫وﻫﻧﺎك ﻣﺛﺎل اﺧر ‪:‬‬

‫]}‪Table[k,{k,1.5,6,.75‬‬ ‫}‪{1.5,2.25,3.,3.75,4.5,5.25,6.‬‬ ‫وﻫﻧﺎك ﻣﺛﺎل اﺧر ‪:‬‬

‫]}‪Table[book,{5‬‬ ‫}‪{book,book,book,book,book‬‬ ‫وﻫﻧﺎك ﻣﺛﺎل اﺧر ‪:‬‬

‫]}‪Table[Random[],{3‬‬ ‫}‪{0.217321,0.389985,0.560344‬‬

‫ﻣﺛﺎل‬ ‫اﻟﻣطﻠوب ﺗﻛوﯾن ﻗﺎﺋﻣﺔ ﺗﺣﺗوى ﻋﻠﻰ اول ﻋﺷرة اﻋداد ﻣﺛﻠﺛﯾﺔ ‪.‬‬

‫‪١٦٣‬‬


‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Table‬ﻟﺗﻛوﯾن اول ﻋﺷرة اﻋداد ﻣﺛﻠﺛﯾﺔ ‪.Triangle numbrs‬‬

‫]}‪f=Sum[i,{i,1,n‬‬

‫‪1‬‬ ‫‪n 1  n‬‬ ‫‪2‬‬ ‫]}‪Table[f,{n,1,10‬‬ ‫}‪{1,3,6,10,15,21,28,36,45,55‬‬ ‫وﯾﻣﻛن اﺳﺗﺧدام اﻟداﻟﺔ ‪) Array‬وﻗد ﺗﺳﻣﻰ اﻣر ﻓﻰ ﺑﻌض اﻟﻣراﺟﻊ ( ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬ ‫]‪Array[f,n‬‬ ‫واﻟﺗﻰ ﺗﻛون اﻟﻘﺎﺋﻣﺔ } ]‪.{f[1], f[2],…, f[n‬‬

‫ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬ ‫]‪Array[f,5‬‬ ‫}]‪{f[1],f[2],f[3],f[4],f[5‬‬

‫وﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻛﺎﻟﺘﺎﻟﻰ ‪:‬‬ ‫]}‪Array[f,{3,5‬‬ ‫[‪{{f[1,1],f[1,2],f[1,3],f[1,4],f[1,5]},{f[2,1],f[2,2],f[2,3],f‬‬ ‫}}]‪2,4],f[2,5]},{f[3,1],f[3,2],f[3,3],f[3,4],f[3,5‬‬

‫ﺳوف ﻧﻌرف اﻟداﻟﺔ ‪:‬‬

‫‪n 1‬‬ ‫‪‬‬ ‫‪2 2‬‬

‫‪f [n _] ‬‬

‫ﺛﻢ ﻧﺴﺘﺨﺪم اﻻﻣﺮ ‪ Array‬ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ‪.‬‬

‫‪n 1‬‬ ‫; ‪‬‬ ‫‪2 2‬‬

‫‪fn_ ‬‬

‫]‪aa2=Array[f,7‬‬

‫‪3‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪, 2, , 3, , 4‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪1,‬‬

‫وﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ ﺗﻛوﯾن اﻟﻘواﺋم ﺑﺎﺳﺗﺧدام اﻻﻣرﯾن ‪ Table , Range‬ﻓﯾﻣﻛن ﺗﻛوﯾن ﻗواﺋم اﻻﻋداد ﺑﺎﺳﺗﺧدام اﻻﻣر ‪Range‬‬ ‫]‪ Range[n‬ﺣﯾث ﺗوﻟد اﻟﻘﺎﺋﻣﺔ }‪ {1,2,…,n‬و‬ ‫]‪ Range[ n1,n2‬ﺗوﻟد اﻟﻘﺎﺋﻣﺔ } ‪ {n1,n1+1,…,n2-1 , n2‬و‬ ‫‪١٦٤‬‬


‫]‪ Range[n1,n2 , step‬ﺗوﻟد اﻟﻘﺎﺋﻣﺔ ﻣن اﻋداد ﻣرﺗﺑﺔ ﻣن ‪ n1‬اﻟﻰ ‪ n2‬ﺑﺧطوة ‪step‬‬

‫ﻣﺛﺎل‬ ‫اﺳﺗﺧدم اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻟﺗوﻟﯾد اﻟﻘﺎﺋﻣﺔ }‪.{1,2,3,4,5,6,7,8,9,10‬‬

‫اﻟﺣل ‪:‬‬ ‫ﻋﻣوﻣﺎ اﻟﻘﺎﺋﻣﺔ اﻟﻣﻌطﺎﻩ ﯾﻣﻛن ﺗﻛوﯾﻧﻬﺎ ﺑﻌدة طرق ‪ .‬ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﻛل ﻣن اﻟﺧﻣﺳﺔ اواﻣر اﻟﺗﺎﻟﯾﺔ ﺗوﻟد اﻟﻘﺎﺋﻣﺔ‬ ‫}‪.{1,2,3,4,5,6,7,8,9,10‬‬

‫}‪{1,2,3,4,5,6,7,8,9,10‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10‬‬ ‫]}‪Table[i,{i,10‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10‬‬ ‫]}‪Table[i,{i,1,10‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10‬‬

‫‪i‬‬ ‫‪Table , i, 2, 20, 2‬‬ ‫‪2‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10‬‬ ‫]‪Range[10‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10‬‬

‫ﻣﺛﺎل‬ ‫اﺳﺗﺧدم اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻟﺗوﻟﯾد اﻟﻘﺎﺋﻣﺔ }‪. {4, 1, 2,5‬‬

‫اﻟﺣل ‪:‬‬

‫]‪Range[-4,7,3‬‬ ‫}‪{-4,-1,2,5‬‬ ‫اذا ﻟم ﺗﺣدد اﻟﻘﻔزة ‪ step‬ﻓﺎن اﻟزﯾﺎدة ﺗﻛون واﺣد ﻓﻰ ﻛل ﻣرة ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]‪Range[4,8‬‬ ‫}‪{4,5,6,7,8‬‬

‫ﻣﺛﺎل‬ ‫اﺳﺗﺧدم اﻟداﻟﺔ ‪ Range‬ﻟﺗوﻟﯾد اول ﻋﺷرون ﻋدد ﺻﺣﯾﺢ ﻣوﺟب‬

‫‪١٦٥‬‬


‫]‪aa1=Range[20‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20‬‬

‫ﻣﺛﺎل‬ ‫اﺳﺗﺧدم اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻟﺗوﻟﯾد اﻟﻘﺎﺋﻣﺔ }‪ {1,3/2,2,5/2,3,7/2,4‬ﺑﺎﻻﺳم ‪.aa2‬‬

‫اﻟﺣل ‪:‬‬ ‫ﻓﻰ ﻫذا اﻟﻣﺛﺎل ﺳوف ﻧوﻟد ﻗﺎﺋﻣﺔ واﻻﺳم ﻟﻠﻘﺎﺋﻣﺔ اﻟﻧﺎﺗﺟﺔ ﻫو ‪ aa2‬وﺳوف ﻧﻛون ‪ aa2‬ﺑطرق ﻣﺧﺗﻠﻔﺔ ‪.‬‬

‫‪3‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪, 2, , 3, , 4‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪aa2  1,‬‬

‫‪3‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪, 2, , 3, , 4‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪1‬‬ ‫‪‬‬ ‫‪2‬‬

‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻻواﻣر اﻟﺳﺎﺑﻘﺔ ﻓﻬﻧﺎك اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫]}‪Table[g[i,j]{i,imin,imax],{j,jmin,jmax‬‬

‫‪١٦٦‬‬

‫‪1,‬‬

‫‪aa2  Tablei, i, 1, 4,‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪, 2, , 3, , 4‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪1,‬‬


‫واﻟذى ﯾؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﻗﺎﺋﻣﺔ ﺗﺣﺗوى ﻋﻠﻰ ﻗﯾم ‪ f‬ﻓﻰ اﻛﺛر ﻣن ﺑﻌد اى ﻧﺣﺻل ﻋﻠﻰ ﻗﺎﺋﻣﺔ ﻗواﺋم ‪list of lists‬‬ ‫)اﻟﻘواﺋم اﻟﻣﺗداﺧﻠﺔ ‪ .(nested lists‬وﯾﻣﻛن ﻛﺗﺎﺑﺔ اﻟﻘﺎﺋﻣﺔ اﻟﻣﺗداﺧﻠﺔ ﻓﻰ اﻟﺷﻛل اﻟﺗﻘﻠﯾدى ﻟﻠﻣﺻﻔوﻓﺔ ﺑﺎﺳﺗﺧدام اﻻﻣر‪:‬‬ ‫‪. MatrixForm‬‬ ‫ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]}‪Table[i+j,{i,1,3},{j,1,4‬‬ ‫}}‪{{2,3,4,5},{3,4,5,6},{4,5,6,7‬‬ ‫واﻟﺗﻰ ﺗﺧﺗﻠف ﻋن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Table[i+j,{j,1,4},{i,1,3‬‬ ‫}}‪{{2,3,4},{3,4,5},{4,5,6},{5,6,7‬‬

‫وﻋﻨﺪ اﺿﺎﻓﺔ اﻻﻣﺮ ‪ TableForm‬ﯾﻈﮭﺮ اﻟﻨﺎﺗﺞ ﻓﻰ ﺷﻜﻞ ﻣﺼﻔﻮﻓﺔ ‪.‬‬ ‫‪Table[i+j,{j,1,4},{i,1,3}]//TableForm‬‬

‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬

‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬

‫ﻣﺛﺎل‬ ‫ﻟﺗوﻟﯾد ﻗﺎﺋﻣﺔ ‪ aa3‬ﺗﺣﺗوى ﻋﻠﻰ ﻗﯾم اﻟداﻟﺔ ‪ h(i,j)=i+j‬ﺣﯾث ‪ i=1,2,3,4 ; j=1,2,2,4,‬ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪h[i_,j_]:=i+j‬‬ ‫]}‪aa3=Table[h[i,j],{i,1,4},{j,1,5‬‬ ‫}}‪{{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9‬‬ ‫]‪TableForm[aa3‬‬

‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬

‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬

‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬

‫ﻣﺛﺎل‬ ‫اﺳﺗﺧدم اﻻﻣر ‪ Table‬ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺻﻔوف اﻟﺗﺳﻌﺔ اﻻوﻟﻰ ﻣن ﻣﺛﻠث ﺑﺎﺳﻛﺎل‪ Pascal's Triangle‬ﺛم وﺿﻊ اﻟﻧﺗﯾﺟﺔ‬ ‫اﻟﻧﻬﺎﺋﯾﺔ ﻓﻰ ﺻورة اﻟﺟدول اﻟﺗﻘﻠﯾدﯾﺔ ‪.‬‬

‫;]}‪aa1=Table[Binomial[n,k],{n,0,8},{k,0,n‬‬ ‫]‪aa2=TableForm[aa1‬‬ ‫‪١٦٧‬‬


‫‪1‬‬ ‫‪8‬‬

‫‪1‬‬

‫‪1‬‬ ‫‪7‬‬ ‫‪28‬‬

‫‪1‬‬ ‫‪6‬‬ ‫‪21‬‬ ‫‪56‬‬

‫‪1‬‬ ‫‪5‬‬ ‫‪15‬‬ ‫‪35‬‬ ‫‪70‬‬

‫‪1‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪10‬‬ ‫‪15‬‬ ‫‪21‬‬ ‫‪28‬‬

‫‪1‬‬ ‫‪4‬‬ ‫‪10‬‬ ‫‪20‬‬ ‫‪35‬‬ ‫‪56‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬

‫ﻣﺛﺎل‬ ‫اﻟﻣطﻠوب اﺳﺗﺧدام ‪ Table‬ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻣود اﻟﺛﺎﻟث ﻣن ﻣﺛﻠث ﺑﺎﺳﻛﺎل ‪ Pascal's Triangle‬ﺣﯾث‬

‫‪n‬‬ ‫‪2‬‬ ‫‪ ‬‬

‫ووﺿﻊ‬

‫اﻟﻧﺎﺗﺞ ﻓﻰ ﻗﺎﺋﻣﺔ ‪:‬‬

‫اﻟﺣل ‪:‬‬ ‫]}‪aa2=Table[Binomial[n,2],{n,1,10‬‬ ‫}‪{0,1,3,6,10,15,21,28,36,45‬‬

‫)‪ (٢-٥-٤‬اﺑﻌﺎد اﻟﻘواﺋم ‪Dimension of Lists‬‬ ‫ﯾﻣﻛن ﺗﻘدﯾر ﺣﺟم ‪ size‬اﻟﻘﺎﺋﻣﺔ وذﻟك ﺑﺎﺳﺗﺧدام داﻟﺔ اﻟطول ‪ Length‬ودوال اﻻﺑﻌﺎد ‪. Dimensions‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫ﻓﻰ ﺣﺎﻟﺔ اﻟﻘﺎﺋﻣﺔ اﻟﺑﺳﯾطﺔ اﻟﻐﯾر ﻣﺗداﺧﻠﺔ ‪) un-nested‬اﻟﺧطﯾﺔ ‪ (linear‬ﻓﺎن داﻟﺔ اﻟطول‪ Length function‬ﺗﻌطﻰ ﻟﻧﺎ‬ ‫ﻋدد اﻟﻌﻧﺎﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]}‪Length[{a,b,c,d,e,f‬‬ ‫‪6‬‬ ‫اﻟﺻورة اﻟﻌﺎﻣﺔ ﻟﻠداﻟﺔ ‪ Length‬ﻫﻰ ]‪ Length[list‬ﺣﯾث ‪ list‬ﺗﻣﺛل اﻟﻘﺎﺋﻣﺔ ‪.‬‬ ‫ﻓﻰ ﺣﺎﻟﺔ اﻟﻘﺎﺋﻣﺔ اﻟﺗﻰ ﺑداﺧﻠﻬﺎ ﻗواﺋم ‪ nested list‬ﻓﺎن ﻛل ﻗﺎﺋﻣﺔ داﺧﻠﯾﺔ ﺗﻣﺛل ﻋﻧﺻر ‪ .‬وﻋﻠﻰ ذﻟك ﻓﺎن اﻟطول ﻟﻠﻘﺎﺋﻣﺔ‬ ‫اﻟﻣﺗداﺧﻠﺔ ﯾﻣﺛل ﻋدد اﻟﻘواﺋم اﻟداﺧﻠﯾﺔ ‪ inner lists‬وﻟﯾس اﺣﺟﺎﻣﻬﺎ‪ ،‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]}}}‪Length[{{{1,2},{3,4},{5,6}},{{a,b},{c,d},{e,f‬‬ ‫‪2‬‬ ‫‪١٦٨‬‬


‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت اﻛﺛر ﻋن اﻟﻘواﺋم اﻟداﺧﻠﯾﺔ ﺗﺳﺗﺧدم داﻟﺔ اﻻﺑﻌﺎد ‪ .Dimensions function‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]}}}‪Dimensions[{{{1,2},{3,4},{5,6}},{{a,b},{c,d},{e,f‬‬ ‫}‪{2,3,2‬‬ ‫واﻟﺗﻰ ﺗوﺿﺢ وﺟود ﻗﺎﺋﻣﺗﯾن داﺧل اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ وﻛل ﻗﺎﺋﻣﺔ داﺧﻠﯾﺔ ﺗﺣﺗوى ﻋﻠﻰ ﺛﻼث ﻗواﺋم وﻛل ﻗﺎﺋﻣﺔ ﻣن اﻟﺛﻼث ﻗواﺋم‬ ‫ﺗﺣﺗوى ﻋﻠﻰ ﻋﻧﺻرﯾن ‪.‬‬

‫)‪ (٣-٥-٤‬اﻟﻌﻣـل ﻋﻠـﻰ ﻋﻧﺎﺻـر اﻟﻘـواﺋم ‪Working with the Elements of a‬‬ ‫‪Lists‬‬ ‫)أ( اﻟﻣوﻗﻊ ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪Positions in a list‬‬ ‫اﻟﻣوﻗﻊ ﻟﻌﻧﺎﺻر ﺧﺎﺻﺔ ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﯾﻣﻛن ﺗﻘدﯾرﻩ ﺑﺎﺳﺗﺧدام اﻣر اﻟﻣوﻗﻊ ‪.‬‬

‫]‪Position[{5,7,5,2,1,4},5‬‬ ‫}}‪{{1},{3‬‬ ‫اى ان اﻟﻣﺧرج ﯾوﺿﺢ ان اﻟﻌدد ‪ 5‬ﯾظﻬر ﻓﻰ اﻟﻣﻛﺎن اﻻول واﻟﻣﻛﺎن اﻟﺛﺎﻟث ﻣن اﻟﻘﺎﺋﻣﺔ ‪.‬‬ ‫ﻟﻣﻌرﻓﺔ ﻣوﻗﻊ اﻟﻌدد ‪ 19‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ rr1‬ﯾﺳﺗﺧدم اﻻﻣر ‪Position‬‬

‫}‪rr1={1,4,6,9,19‬‬ ‫]‪Position[rr1,19‬‬ ‫}}‪{{5‬‬ ‫او ﯾﻜﺘﺐ ﻛﺎﻟﺘﺎﻟﻰ‪:‬‬

‫]‪Position[{1,4,6,9,19},19‬‬ ‫}}‪{{5‬‬ ‫ظﻬور اﻻﻗواس ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ }} {{ ﻓﻰ اﻟﻣﺧرج ﻣﻔﯾد وذﻟك ﻟﻣﻧﻊ اﻟﻠﺑس ﻓﻰ اﻻواﻣر اﻟﺳﺎﺑﻘﺔ ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]‪Position[{{a,b,c},{d,e,f}},f‬‬ ‫}}‪{{2,3‬‬ ‫واﻟﺗﻰ ﺗﻌﻧﻰ ان ‪ f‬ﺗظﻬر ﻣرة واﺣدة ﻓﻰ اﻟﻣﻛﺎن اﻟﺛﺎﻟث داﺧل اﻟﻘﺎﺋﻣﺔ اﻟداﺧﻠﯾﺔ اﻟﺛﺎﻧﯾﺔ ‪.‬‬ ‫)ب( اﺳﺗﺧﻼص ﻋﻧﺎﺻر واﻋﺎدة ﺗرﺗﯾب اﻟﻘﺎﺋﻣﺔ ‪Extracting Elements and Rearranging Lists‬‬

‫ﯾﻣﻛن اﺳﺗﺧﻼص اﻟﻌﻧﺎﺻر ﺑﺳﻬوﻟﺔ ﻣن ﻣوﻗﻊ ﺧﺎص ﻣن اﻟﻘﺎﺋﻣﺔ ﺑﺎﺳﺗﺧدام اﻟداﻟﺔ ‪. Part‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذﻩ اﻟداﻟﺔ ﻫﻰ ]‪ Part[list,i‬اى اﺳﺗﺧﻼص اﻟﻌﻧﺻر رﻗم ‪ i‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪. list‬‬ ‫ﻫذﻩ اﻟداﻟﺔ ﻟﻬﺎ ﺻﯾﻐﺔ ادﺧﺎل ﻗﯾﺎﺳﯾﺔ ]]‪ ، list[[i‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﺳﺗﺧﻠص اﻟﻌﻧﺻر رﻗم ﺛﻼﺛﺔ ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫‪١٦٩‬‬


‫]‪Part[{2,3,7,8,1,4},3‬‬ ‫‪7‬‬ ‫او ﺑﺎﺳﺗﺧدام اﻟﺻﯾﻐﺔ اﻻدﺧﺎل اﻟﻘﯾﺎﺳﯾﺔ‬

‫]]‪ list[[i‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻧﻔس ﻧﺗﺎﺋﺞ‪:‬‬

‫]]‪{2,3,7,8,1,4}[[3‬‬ ‫‪7‬‬

‫ﻟﻠﺘﺴﮭﯿﻞ ﯾﻤﻜﻦ اﻋﻄﺎء اﻟﻘﺎﺋﻤﺔ اﺳﻢ ﻛﺎﻟﺘﺎﻟﻰ ‪:‬‬ ‫}‪a={2,3,7,8,8,1,4,1‬‬ ‫}‪{2,3,7,8,8,1,4,1‬‬ ‫]‪Part[a,3‬‬ ‫‪7‬‬ ‫]]‪a[[3‬‬ ‫‪7‬‬ ‫اذا ﻛﺎن اﻫﺗﻣﺎﻣﻧﺎ ﺑﺎﻟﻌﻧﺎﺻر ﻓﻰ اﻛﺛر ﻣن ﻣوﻗﻊ ﻓﺎﻧﻪ ﯾﻣﻛن اﺳﺗﺧﻼﺻﻬم ﺑﺎﺳﺗﺧدام اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ]]‪ list[[i,j‬و‬

‫‪i j‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]]}‪{2,3,7,8,1,4}[[{2,1‬‬ ‫}‪{3,2‬‬

‫]]}‪a[[{2,1‬‬ ‫}‪{3,2‬‬ ‫وﻛﻣﺛﺎل اﺧر ﻟﻘﺎﺋﻣﺔ ﻣﺗداﺧﻠﺔ ‪:‬‬ ‫]]‪{{1,4},{2,6},{5,4}}[[2,1‬‬ ‫‪2‬‬ ‫}}‪c11={{1,4},{2,6},{5,4‬‬ ‫}}‪{{1,4},{2,6},{5,4‬‬ ‫]]‪c11[[2,1‬‬ ‫‪2‬‬

‫وﻛﻣﺛﺎل اﺧر ﻟﻠﺗوﺿﯾﺢ‪:‬‬ ‫}‪aa1={1,4,5,6‬‬ ‫}‪{1,4,5,6‬‬ ‫]]‪aa1[[1‬‬ ‫‪1‬‬ ‫ﯾﺳﺗﺧﻠص اﻟﻌﻧﺻر رﻗم واﺣد ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫او ﺗﺳﺗﺧدام اﻟداﻟﻪ ] ‪ Part[list,i‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻧﻔس ﻧﺗﺎﺋﺞ اﻻﻣر اﻟﺳﺎﺑق ‪:‬‬

‫]‪Part[aa1,1‬‬ ‫‪1‬‬ ‫اﯾﺿﺎ اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]}‪aa1[[{1,3‬‬ ‫}‪{1,5‬‬

‫‪١٧٠‬‬


‫ﯾﺳﺗﺧﻠص اﻟﻌﻧﺻر رﻗم واﺣد و اﻟﻌﻧﺻر رﻗم ﺛﻼﺛﺔ ﻣن اﻟﻘﺎﺋﻣﺔ ‪.‬‬ ‫اﻻﻣر ‪ Part‬ﯾﻌﺗﺑر ﺗﻌﺑﯾر ‪:‬‬ ‫]‪Part[{a,b,c,d,e},2‬‬ ‫‪b‬‬ ‫ﻛﻣﺎ ﯾﻼﺣظ ان اﻟﻣﻌﺎﻣل اﻻول ﻟﻠﺗﻌﺑﯾر اﻟﺳﺎﺑق ﯾﻣﺛل ﻧﻔﺳﻪ ﺗﻌﺑﯾر اﺧر‪:‬‬ ‫وﻛﺎﻣﺛﻠﺔ اﺧرى ﻟﻼﻣر ‪ Part‬ﻛﺗﻌﺑﯾر ‪:‬‬ ‫]‪Part[x+2y+z^2,3‬‬

‫‪z2‬‬ ‫]‪Part[x+2y+z^2,-3‬‬ ‫‪x‬‬ ‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻧﻪ ﯾﻣﻛن اﺳﺗﺧﻼص ﻋﻧﺎﺻر ﻣن اﻣﺎﻛن ﺧﺎﺻﺔ ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﻓﺎﻧﺔ ﯾﻣﻛن اﺧذ ﻋﻧﺎﺻر اﻣﺎ ﻣن اﻟﻣﻘدﻣﺔ او‬ ‫اﻟﻣؤﺧرة ﻟﻠﻘﺎﺋﻣﺔ ‪:‬‬

‫]‪Take[{2,3,7,8,1,4},2‬‬ ‫}‪{2,3‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذﻩ اﻟداﻟﺔ ﻫﻰ ]‪ Take[list,i‬اى اﺳﺗﺧﻼص اﻟﻌﻧﺎﺻر اﻻوﻟﻰ اﻟﺗﻰ ﻋددﻫﺎ ‪ i‬ﻣن اﻟﻘﺎﺋﻣﺔ ‪.list‬‬ ‫]‪Take[{2,3,7,8,1,4},-2‬‬ ‫}‪{1,4‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذﻩ اﻟداﻟﺔ ﻫﻰ ]‪ Take[list,-i‬اى اﺳﺗﺧﻼص اﻟﻌﻧﺎﺻر اﻻﺧﯾرة اﻟﺗﻰ ﻋددﻫﺎ ‪ i‬ﻣن اﻟﻘﺎﺋﻣﺔ ‪.list‬‬ ‫اذا ﻛﺎن اﻫﺗﻣﺎﻣﻧﺎ ﻓﻰ اﺳﺗﺧﻼص ﻋدد ﻣن اﻟﻌﻧﺎﺻر اﻟﻣﺗﺗﺎﻟﯾﺔ وﻟﯾس ﻣن اﻟﺿرورى اﻟﻌﻧﺎﺻر اﻻﻣﺎﻣﯾﺔ او اﻟﺧﻠﻔﯾﺔ ‪:‬‬

‫]}‪Take[{2,3,7,8,1,4},{2,4‬‬ ‫}‪{3,7,8‬‬ ‫اى اﺧﺗﯾﺎر اﻟﻌﻧﺎﺻر اﻟﺗﻰ ﺗرﺗﯾﺑﻬﺎ ﻣن اﻟﺛﺎﻧﻰ اﻟﻰ اﻟراﺑﻊ واﻟﺗﻰ ﺗﺧﺗﻠف ﻋن اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫]}‪Take[{2,3,7,8,1,4},{-5,-3‬‬ ‫}‪{3,7,8‬‬ ‫اى اﺧﺗﯾﺎر اﻟﻌﻧﺎﺻر اﻟﺗﻰ ﺗرﺗﯾﺑﻬﺎ ﻣن اﻟﺧﺎﻣس ﻣن اﻟﺧﻠف اﻟﻰ اﻟﺛﺎﻟث ﻣن اﻟﺧﻠف واﻟﺗﻰ ﺗﺧﺗﻠف ﻋن اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫]}‪Take[{2,3,7,8,1,4},{-5,4‬‬ ‫}‪{3,7,8‬‬ ‫اى اﺧﺗﯾﺎر اﻟﻌﻧﺎﺻر اﻟﺗﻰ ﺗرﺗﯾﺑﻬﺎ اﻟﺧﺎﻣس ﻣن اﻟﺧﻠف اﻟﻰ اﻟراﺑﻊ ﻣن اﻻﻣﺎم ‪ .‬ﻋﻧد اﺳﺗﺧدام اﻟداﻟﺔ ‪ Take‬ﻧﺳﺗﺧﻠص ﻋﻧﺎﺻر‬ ‫ﻣن اﻟﻘﺎﺋﻣﺔ وﺗﺣﺗﻔظ اﻟﻘﺎﺋﻣﺔ ﺑﻌﻧﺎﺻرﻫﺎ ‪.‬‬ ‫ﻣن اﻟﻣﻣﻛن ازاﻟﺔ ﺑﻌض اﻟﻌﻧﺎﺻر ﻣن اﻟﻘﺎﺋﻣﺔ ﺳواء ﻣن اﻻﻣﺎم او ﻣن اﻟﺧﻠف او ﻋﻧﺎﺻر ﻣﺗﺗﺎﺑﻌﺔ ﺑﺎﺳﺗﺧدام اﻟداﻟﺔ ‪Drop‬‬ ‫واﻟﻣﺧرج ﻋﺑﺎرة ﻋن ﻗﺎﺋﻣﺔ ﺑﻌد اﻻزاﻟﺔ ‪:‬‬ ‫‪١٧١‬‬


‫]‪Drop[{2,3,7,8,1,4},2‬‬ ‫}‪{7,8,1,4‬‬

‫]‪Drop[{2,3,7,8,1,4},-2‬‬ ‫}‪{2,3,7,8‬‬

‫]}‪Drop[{2,3,7,8,1,4},{3,5‬‬ ‫}‪{2,3,4‬‬

‫ﻣﺛﺎل‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Range‬ﻟﺗوﻟﯾد اول ﻋﺷرون رﻗم ﺻﺣﯾﺢ ﻣوﺟب‬ ‫]‪aa1=Range[20‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20‬‬

‫ﺛم ﻧﻌرف اﻻواﻣر اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]‪Drop[aa1,4‬‬ ‫}‪{5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20‬‬ ‫ﺣﯾث ﯾﺗم ﺣذف ارﺑﻌﺔ ﻋﻧﺎﺻر ﻣن ﺑداﯾﺔ اﻟﻘﺎﺋﻣﺔ ‪aa1‬‬ ‫]‪Drop[aa1,-4‬‬ ‫}‪{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16‬‬ ‫ﺣﯾث ﯾﺗم ﺣذف ارﺑﻌﺔ ﻋﻧﺎﺻر ﻣن ﻧﮭﺎﯾﺔ اﻟﻘﺎﺋﻣﺔ ‪aa1‬‬ ‫]}‪Drop[aa1,{3‬‬ ‫}‪{1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20‬‬ ‫ﺣﯾث ﯾﺗم ﺣذف اﻟﻌﻧﺻر اﻟﺛﺎﻟث ﻣن اﻟﻘﺎﺋﻣﺔ‬ ‫]}‪Drop[aa1,{4,8‬‬ ‫}‪{1,2,3,9,10,11,12,13,14,15,16,17,18,19,20‬‬ ‫ﺣﯾث ﯾﺗم ﺣذف اﻟﻌﻧﺎﺻر ﻣن اﻟراﺑﻊ اﻟﻰ اﻟﺛﺎﻣن ﻣن اﻟﻘﺎﺋﻣﺔ ‪.‬‬ ‫وﻓﯾﻣﺎ ﯾﻠﻰ اﻟﺻﯾﻎ اﻟﻣﺧﺗﻠﻔﺔ ﻟﻼﻣر ‪Drop‬‬ ‫اﻟﻌﻣل اﻟﺗﻰ ﯾﻘوم ﺑﻪ اﻻﻣر‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر‬

‫ﺣذف ‪ n‬ﻣن اﻟﻌﻧﺎﺻر ﻣن ﺑداﯾﺔ اﻟﻘﺎﺋﻣﺔ ‪list‬‬

‫]‪Drop[list,n‬‬

‫ﺣذف ‪ n‬ﻣن اﻟﻌﻧﺎﺻر ﻣن ﻧﻬﺎﯾﺔ اﻟﻘﺎﺋﻣﺔ ‪list‬‬

‫]‪Drop[list,-n‬‬

‫‪١٧٢‬‬


‫ﺣذف اﻟﻌﻧﺻر رﻗم ‪ n‬ﻣن اﻟﻘﺎﺋم ‪list‬‬

‫]}‪Drop[list,{n‬‬

‫ﺣذف ﻋﻧﺎﺻر ﻣن اﻟﻘﺎﺋﻣﺔ ‪ list‬اﺑﺗداء ﻣن اﻟﻌﻧﺻر رﻗم ‪n‬‬

‫]}‪Drop[list,{m,n‬‬

‫اﻟﻰ اﻟﻌﻧﺻر رﻗم ‪m‬‬ ‫ﯾﻣﻛن ازاﻟﺔ ﻋﻧﺎﺻر ﻋﻧد ﻣواﻗﻊ ﺧﺎﺻﺔ ‪ .‬ﯾﺳﺗﺧدم اﻻﻣر ‪ Delete‬ﻻزاﻟﺔ اﻟﻌﻧﺻر اﻟﺛﺎﻧﻰ ﻣن اﻟﻘﺎﺋﻣﺔ ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫]‪Delete[{2,3,7,8,1,4},2‬‬ ‫}‪{2,7,8,1,4‬‬ ‫وﻓﻰ اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﺳﺗﺧدم ﻻزاﻟﺔ اﻟﻌﻧﺻر اﻟﺛﺎﻧﻰ واﻟﺧﺎﻣس ﻣن اﻟﻘﺎﺋﻣﺔ‬

‫]}}‪Delete[{2,3,7,8,1,4},{{2},{5‬‬ ‫}‪{2,7,8,4‬‬

‫اﯾﺿﺎ اﻻﻣر ‪ Insert‬ﯾﺳﺗﺧدم ﻻدﺧﺎل ﻋﻧﺻر ﻓﻰ ﻣوﻗﻊ ﻣﻌﯾن ‪ ،‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻻدﺧﺎل اﻟﻌﻧﺻر ‪ 9‬ﻓﻰ‬ ‫اﻟﻣوﻗﻊ اﻟﺛﺎﻧﻰ ﻣن اﻟﻘﺎﺋﻣﺔ‬ ‫]‪Insert[aa1,9,2‬‬

‫}‪{1,9,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20‬‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭﺬا اﻻﻣﺮ ھﻮ ]‪Insert[list,element,n‬‬ ‫اى اﺿﺎﻓﺔ اﻟﻌﻧﺻر ‪ element‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ list‬ﻓﻰ اﻟﻣوﻗﻊ رﻗم ‪.n‬‬ ‫اﻟﻌﻧﺎﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﯾﻣﻛن اﺳﺗﺑداﻟﮭﺎ ﺑﻌﻧﺎﺻر اﺧرى ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻓﻰ اﻻﻣر اﻟﺗﺎﻟﻰ ﺗﺳﺗﺑدل ‪ 3‬ﺑـ ‪ 5‬ﻓﻰ‬

‫اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪ReplacePart[{2,3,7,8,1,4},5,2‬‬ ‫}‪{2,5,7,8,1,4‬‬ ‫اﻻﻣر ]‪ First[list‬ﺗﺳﺗﺧدم ﻓﻰ اﯾﺟﺎد اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪list‬‬

‫]}‪First[{2,3,7,8,1,4‬‬ ‫‪2‬‬ ‫اﻻﻣﺮ ]‪ Last[list‬ﺗﺳﺗﺧدم ﻓﻰ اﯾﺟﺎد اﻟﻌﻧﺻر اﻻﺧﯾر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪list‬‬

‫]}‪Last[{2,3,7,8,1,4‬‬ ‫‪4‬‬ ‫اﻻﻣﺮ ]‪ Rest[list‬ﺗﺳﺗﺧدم ﻓﻰ اﻟﺣﺻول ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ ‪ list‬ﺑﻌد ﺣذف اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬

‫]}‪Rest[{2,3,7,8,1,4‬‬ ‫}‪{3,7,8,1,4‬‬ ‫اﯾﻀﺎ ھﻨﺎك اﻣﺮ ﯾﺴﺘﺨﻠﺺ ﺑﻌﺾ اﻟﻌﻨﺎﺻﺮ اﻟﺘﻰ ﺗﺤﻘﻖ ﺷﺮوط ﻣﻌﯿﻨﺔ )اى اﻟﺘﻰ ﺗﺤﻘﻖ اﻟﺼﻮاب ﻋﻨﺪﻣﺎ ﺗﻄﺒﻖ داﻟﺔ اﻟﺘﻨﺒﺎ‬ ‫‪ Predicate function‬ﻋﻠﯿﮭﻢ (‬

‫]‪Select[{2,3,7,8,1,4},EvenQ‬‬ ‫‪١٧٣‬‬


‫}‪{2,8,4‬‬ ‫اﻟﺘﺮﺗﯿﺐ ﻟﻌﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ ﯾﻤﻜﻦ ﻋﻜﺴﺔ ﺑﺎﻻﻣﺮ ‪Reverse‬‬

‫]}‪Reverse[{2,3,7,8,1,4‬‬ ‫}‪{4,1,8,7,3,2‬‬ ‫اﻟﻌﻨﺎﺻﺮ ﯾﻤﻜﻦ اﻋﺎدة ﺗﺮﺗﯿﺒﮭﺎ ﻓﻰ ﺗﺮﺗﯿﺐ ﯾﺴﻤﻰ ‪ Canonical order‬اى ان اﻻرﻗﺎم اوﻻ ﺛﻢ اﻟﺤﺮوف ‪ ،‬ﻛﻤﺎ ان‬ ‫اﻻرﻗﺎم ﺗﺮﺗﺐ ﺗﺼﺎﻋﺪﯾﺎ اﻣﺎ اﻟﺤﺮوف ﻓﺘﺮﺗﺐ اﺑﺠﺪﯾﺎ وﯾﺗم ذﻟك ﺑﺎﻻﻣر ‪Sort‬‬

‫]}‪Sort[{2,7,e,1,a,5‬‬ ‫}‪{1,2,5,7,a,e‬‬ ‫وﻋﻨﺪ ﺗﻄﺒﯿﻖ ھﺬا اﻻﻣﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ اﻟﻤﺘﺪاﺧﻠﺔ ﻓﺎن اﻟﺪاﻟﺔ ﺗﺴﺘﺨﺪم اﻟﻌﻨﺼﺮ ﻻول ﻓﻰ ﻛﻞ ﻗﺎﺋﻤﺔ ﻣﺘﺪاﺧﻠﺔ ﻓﻰ اﻟﺘﺮﺗﯿﺐ‬

‫]}}‪Sort[{{2,c},{7,9},{e,f,g},{1,4.5},{x,y,z‬‬ ‫}}‪{{1,4.5},{2,c},{7,9},{e,f,g},{x,y,z‬‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذﻩ اﻟداﻟﺔ ]‪ Sort[list‬ﺣﯾث ﯾﺗم ﺗرﺗﯾب ﻋﻧﺎﺻر اﻟﻘﺎﺋﻣﺔ ﺑﺣﯾث ﯾﺗم ﺗرﺗﯾب اﻻﻋداد ﺗﺻﺎﻋدﯾﺎ ﺛم‬

‫ﺗرﺗﯾب اﻟﺣروف اﺑﺟدﯾﺎ ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪. list‬‬

‫ﻛﻞ اﻟﻌﻨﺎﺻﺮ ﯾﻤﻜﻦ ﺗﺪوﯾﺮھﺎ ﺣﺴﺐ ﻣﻮﻗﻊ رﻗﻢ ﻣﻌﯿﻦ اﻣﺎ ﻣﻦ اﻟﯿﺴﺎر او ﻣﻦ اﻟﯿﻤﯿﻦ ﻛﺎﻟﺘﺎﻟﻰ ‪:‬‬

‫]‪RotateLeft[{2,e,1,a,5},2‬‬ ‫}‪{1,a,5,2,e‬‬ ‫]‪RotateRight[{2,e,1,a,5},2‬‬ ‫}‪{a,5,2,e,1‬‬

‫ﯾﻣﻛن ان ﻧﻔرد اﻟﻘﺎﺋﻣﺔ اﻟﻣﺗداﺧﻠﺔ اﻟﻰ اﻣﺗدادات ﻣﺧﺗﻠﻔﺔ ‪ .‬اى ﯾﻣﻛن ازاﻟﺔ ﻛل اﻻﻗواس واﻟﺣﺻول ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺧطﯾﺔ ﻣن‬ ‫اﻟﻌﻧﺎﺻر وﯾﺗم ذﻟك ﺑﺎﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫]}}}‪Flatten[{{{3,1},{1,2}},{{5,3},{7,4‬‬ ‫}‪{3,1,1,2,5,3,7,4‬‬ ‫او ﯾﻣﻛن ﺗﺣدﯾد درﺟﺔ اﻻزاﻟﺔ ‪ ،‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﯾﻣﻛن ازاﻟﺔ ﺑﻌض اﻟﻘواﺋم اﻟﻣﺗداﺧﻠﺔ ‪ .‬ﻣﺛﻼ اذا ﻛﺎن ﻟدﯾﻧﺎ ﻗﺎﺋﻣﺗﯾن‬ ‫ﻣﺗداﺧﻠﺗﯾن وﻛل واﺣدة ﺗﺣﺗوى ﻋﻠﻰ زوﺟﯾن ﻣرﺗﺑﯾن ﯾﻣﻛن ﺗﺣوﯾﻠﻬﺎ اﻟﻰ ﻗﺎﺋﻣﺔ واﺣدة ﺗﺣﺗوى ﻋﻠﻰ ارﺑﻌﺔ ازواج ﻣرﺗﺑﺔ‬ ‫]‪Flatten[{{{3,1},{1,2}},{{5,3},{7,4}}},1‬‬ ‫}}‪{{3,1},{1,2},{5,3},{7,4‬‬

‫اﻟداﻟﺔ ‪ Partition‬ﺗﻌﯾد ﺗرﺗﯾب ﻋﻧﺎﺻر اﻟﻘﺎﺋﻣﺔ وذﻟك ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﺎﺋﻣﺔ ﻣﺗداﺧﻠﺔ ‪.‬‬

‫]‪Partition[{2,3,7,8,1,4},2‬‬ ‫}}‪{{2,3},{7,8},{1,4‬‬ ‫‪١٧٤‬‬


‫ﯾﻣﻛن اﺧﺗﯾﺎر ﺑﻌض اﻟﻌﻧﺎﺻر ﻣن اﻟﻘﺎﺋﻣﺔ ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﺧذ اﻟﻌﻧﺎﺻر اﻟﺗﻰ ﻓﻰ ﻣوﻗﻊ ﻓردى ‪.‬‬

‫]‪Partition[{2,3,7,8,1,4},1,2‬‬ ‫}}‪{{2},{7},{1‬‬ ‫اﯾﺿﺎ ﯾﻣﻛن وﺿﻊ اﻟﻌﻧﺎﺻر ﻓﻰ ازواج ﺑﺣﯾث ان اﻟﻌﻧﺻر اﻟﺛﺎﯨﻰ ﻫو اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟزوج اﻟذى ﯾﻠﯾﻪ ‪.‬‬

‫]‪Partition[{2,3,7,8,1,4},2,1‬‬ ‫}}‪{{2,3},{3,7},{7,8},{8,1},{1,4‬‬

‫اﻻﻣر‪:‬‬ ‫‪ Transpose‬ﯾﻌﻣل ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}}‪Transpose[{{5,2,7,3},{4,6,8,4‬‬ ‫}}‪{{5,4},{2,6},{7,8},{3,4‬‬ ‫]}}‪Transpose[{{5,2,7,3},{4,6,8,4},{6,5,3,1‬‬ ‫}}‪{{5,4,6},{2,6,5},{7,8,3},{3,4,1‬‬ ‫ﻋﻨﺎﺻﺮ ﯾﻤﻜﻦ ان ﺗﻀﺎف ﻓﻰ اﻟﻤﻘﺪﻣﺔ او ﻓﻰ اﻟﺨﻠﻒ او ﻓﻰ ﻣﻜﺎن ﺧﺎص ﻓﻰ اﻟﻘﺎﺋﻤﺔ ‪.‬‬

‫]‪Append[{2,3,7,8,1,4},5‬‬ ‫}‪{2,3,7,8,1,4,5‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭذا اﻻﻣر]‪Append[list,element‬‬ ‫اى اﺿﺎﻓﺔ اﻟﻌﻧﺻر‪ element‬ﻓﻰ ﻧﻬﺎﯾﺔ اﻟﻘﺎﺋﻣﺔ ‪. list‬‬ ‫ﻫذا اﻻﻣر ﯾﻣﺛل ﺗﻌﺑﯾر‬ ‫]‪Append[w+xy,z‬‬ ‫‪w+xy+z‬‬ ‫اﯾﺿﺎ اﻟﻣﻌﺎﻣل اﻻول ﻓﻰ اﻟﺗﻌﺑﯾر ﯾﻣﺛل ﺗﻌﺑﯾر‬ ‫]‪FullForm[w+xy‬‬ ‫]‪Plus[w,xy‬‬ ‫اﯾﺿﺎ ﻧﺎﺗﺞ اﻻﻣر ﯾﻣﺛل ﺗﻌﺑﯾر ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫]‪FullForm[w+xy+z‬‬ ‫]‪Plus[w,xy,z‬‬

‫اﯾﺿﺎ ﯾﻣﻛن اﺿﺎﻓﺔ ﻋﻧﺎﺻر ﻓﻰ ﺑداﯾﺔ اﻟﻘﺎﺋﻣﺔ ﺑﺎﺳﺗﺧدام اﻻﻣر ‪Prepend‬‬

‫]‪Prepend[{2,3,7,8,1,4},5‬‬ ‫}‪{5,2,3,7,8,1,4‬‬ ‫‪١٧٥‬‬


‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭذا اﻻﻣر ھﻰ ]‪Prepend[list,element‬‬ ‫اى اﺿﺎﻓﺔ اﻟﻌﻧﺻر ‪ element‬ﻓﻰ ﺑداﯾﺔ اﻟﻘﺎﺋﻣﺔ ‪. list‬‬

‫اﻟﻌﻨﺎﺻﺮ ﻓﻰ اﻟﻘﺎﺋﻤﺔ ﯾﻤﻜﻦ اﺣﻼﻟﮭﺎ ﺑﻌﻨﺎﺻﺮ اﺧﺮى ‪ ،‬ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﯾﻤﻜﻦ اﺳﺘﺒﺪال اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ ﺑﺎﻟﻌﻨﺼﺮ‬

‫‪5‬‬

‫]‪ReplacePart[{2,3,7,8,1,4},5,2‬‬ ‫}‪{2,5,7,8,1,4‬‬

‫ﻣﺛﺎل‬ ‫ﯾﻣﻛن ﺗوﺿﯾﺢ اﻟدوال اﻟﺳﺎﺑﻘﺔ ﻣن ﺧﻼل اﻟﻘﺎﺋﻣﺔ }‪{1,4,6,9,19‬‬

‫}‪rr1={1,4,6,9,19‬‬ ‫}‪{1,4,6,9,19‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻋدد اﻟﻌﻧﺎﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪:‬‬

‫]‪Length[rr1‬‬ ‫‪5‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻧﺻر اﻻول اﻟﻘﺎﺋﻣﺔ‬ ‫]‪First[rr1‬‬ ‫‪1‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻧﺻر اﻻﺧﯾر ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫]‪Last[rr1‬‬ ‫‪19‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻧﺻر اﻟذى ﺗرﺗﯾﺑﮫ اﻟراﺑﻊ ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫]]‪rr1[[4‬‬ ‫‪9‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻧﺻر اﻟذى ﺗرﺗﯾﺑﮫ اﻟﺧﺎﻣس ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Part‬ﺑدﻻ ﻣن ]]‪rr1[[5‬‬ ‫]‪Part[rr1,5‬‬ ‫‪19‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻧﺻراﻻول واﻟراﺑﻊ ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬

‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﻧﺎﺗﺞ اﻟﺳﺎﺑق ﺑﺎﺳﺗﺧدام اﻻﻣر ‪Part‬‬

‫]]}‪rr1[[{1,4‬‬ ‫}‪{1,9‬‬ ‫ﺑدﻻ ﻣن اﻻﻣر ]]}‪rr1[[{1,4‬‬ ‫]}‪Part[rr1,{1,4‬‬ ‫}‪{1,9‬‬

‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﺜﻼث اﻋﺪاد اﻻوﻟﻰ ﻓﻰ اﻟﻘﺎﺋﻤﺔ‬ ‫]‪Take[rr1,3‬‬ ‫‪١٧٦‬‬


‫}‪{1,4,6‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌدد اﻟراﺑﻊ واﻟﺧﺎﻣس ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫]}‪Take[rr1,{4,5‬‬ ‫}‪{9,19‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟرﻗﻣﯾن اﻻﺧﯾرﯾن ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫]‪Take[rr1,-2‬‬ ‫}‪{9,19‬‬

‫)‪ (٤-٥-٤‬اﻟﻌﻣل ﻣﻊ ﻋدة ﻗواﺋم ‪Working with Several Lists‬‬ ‫ﻫﻧﺎك اﻟﻌدﯾد ﻣن اﻟدوال )اﻻواﻣر( اﻟﺗﻰ ﺗﺗم ﻋﻠﻰ اﻟﻘواﺋم واﻟﻣوﺿﺣﺔ ﻓﻰ اﻟﺟدول اﻟﺗﺎﻟﻰ ‪:‬‬ ‫اﻟﻌﻣل اﻟذى ﯾﻘوم ﺑﻪ‬

‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻠداﻟﺔ‬

‫اﺿﺎﻓﺔ اﻟﻘواﺋم ﻋﻠﻰ ﺑﻌﺿﻬﺎ ﺑﺣﯾث ﺗﺣﺗوى اﻟﻘﺎﺋﻣﺔ اﻟﻧﺎﺗﺟﺔ‬

‫]…‪Joint[]list1,list2,‬‬

‫ﻋﻠﻰ ﻋدد ﻣن اﻟﻌﻧﺎﺻر ﯾﺳﺎوى ﻣﺟﻣوع اﻋداد اﻟﻌﻧﺎﺻر ﻓﻰ‬ ‫ﻛل ﻗﺎﺋﻣﺔ‬

‫اﺗﺣﺎد اﻟﻔﺋﺎت ‪list1 list2 list3...‬‬

‫ﺣﯾث‬

‫]‪Union[list1,list2,...‬‬

‫ﯾﺗم ﺣذف اﻟﻌﻧﺎﺻر اﻟﻣﻛررة ﻓﻰ اﻟﻘواﺋم‬

‫ﺗﻘﺎطﻊ اﻟﻔﺋﺎت ‪list1 list2 list3 ...‬‬

‫]‪Inter sec tion[list1,list2,...‬‬

‫ﺗﺟزﺋﺔ اﻟﻘﺎﺋﻣﺔ ‪ list‬اﻟﻰ ﻗواﺋم ﻓرﻋﯾﺔ ﻣﺗﺑﺎﻋدة ﻛل ﻣﻧﻬﺎ ﯾﺣﺗوى‬

‫]‪Partition [list,n‬‬

‫ﻋﻠﻰ‪ n‬ﻣن اﻟﻌﻧﺎﺻر‬ ‫اﯾﺟﺎد ﻣﻛﻣﻠﺔ اﻟﻔﺋﺔ ‪ eall‬ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻔﺋﺎت …‪ ، e1,e2,‬اى‬

‫]…‪Complement[eall,e1,e2,‬‬

‫اﯾﺟﺎد اﻟﻌﻧﺎﺻر ﻓﻰ اﻟﻔﺋﺔ ‪ eall‬واﻟﻐﯾر ﻣوﺟودة ﻓﻰ اﻟﻔﺋﺎت‬ ‫…‪e1,e2,‬‬

‫ﺑﻔرض اﻟﻘواﺋم ‪qq1,qq2,qq3‬‬ ‫}‪qq1={a,b,c,d‬‬ ‫}‪{a,b,c,d‬‬ ‫}‪qq2={c,d, e,h‬‬ ‫}‪qq3={a,c,j,k‬‬ ‫}‪{a,c,j,k‬‬ ‫‪١٧٧‬‬


‫اﺿﺎﻓﺔ اﻟﻘواﺋم ‪ qq1,qq2,qq3‬ﻣﻌﺎ‬ ‫ﺑﺣﯾث ﺗﺣﺗوى اﻟﻘﺎﺋﻣﺔ اﻟﻧﺎﺗﺟﺔ ﻋﻠﻰ ﻋدد ﻣن اﻟﻌﻧﺎﺻر ﯾﺳﺎوى ﻣﺟﻣوع اﻟﻌﻧﺎﺻر ﻓﻰ ﻛل ﻓﺋﺔ‬ ‫]‪Join[qq1,qq2,qq3‬‬ ‫}‪{a,b,c,d,c,d,e,h,a,c,j,k‬‬

‫اﺗﺣﺎد اﻟﻔﺋﺎت ‪qq1 qq2 qq3‬‬ ‫ﺣﯿﺚ ﯾﺘﻢ ﺣﺬف اﻟﻌﻨﺎﺻﺮ اﻟﻤﻜﺮرة ﻓﻰ اﻟﻘﻮاﺋﻢ‬ ‫]‪Union[qq1,qq2,qq3‬‬ ‫}‪{a,b,c,d,e,h,j,k‬‬

‫ﺗﻘﺎطﻊ اﻟﻔﺌﺘﯿﻦ ‪qq1 qq2‬‬ ‫وﺗﻣﺛل ﻓﺋﺔ اﻟﻌﻧﺎﺻر اﻟﻣﺷﺗرﻛﺔ ﻓﻰ اﻟﻔﺋﺗﯾن‬

‫‪qq1,qq2‬‬ ‫]‪Intersection[qq1,qq2‬‬ ‫}‪{c,d‬‬

‫اﯾﺟﺎد ﻣﻛﻣل اﻟﻔﺋﺔ ‪ qq1‬ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻔﺋﺔ ‪qq2‬‬ ‫]‪Complement[qq1,qq2‬‬ ‫}‪{a,b‬‬

‫)‪ (٥-٥-٤‬اﻟدوال اﻟﻌﺎﻟﯾﺔ اﻟرﺗﺑﺔ ‪High- Order Functions‬‬ ‫ﻫﻧﺎك ﻋدد ﻣن اﻻواﻣر ﺗﻌﺗﺑر دوال و ﺗﺗﺧذ دوال اﺧرى ﻛﻣﺣﺗوﯾﺎت ﻟﻬﺎ ‪ arguments‬وﻫذﻩ اﻟدوال ﺗﺳﻣﻰ اﻟدوال‬ ‫ﻋﺎﻟﯾﺔ اﻟرﺗﺑﺔ واﻟﺗﻰ ﺗﻌﺗﺑر اداﻩ ﻗوﯾﺔ ﻓﻰ اﻟﺑرﻣﺟﺔ ‪ .‬وﺗﺳﺗﺧدم ﻫذﻩ اﻻواﻣر ﻓﻰ اﻟﺣﺻول ﻋﻠﻰ ﻗواﺋم ﺑﺎﺳﺗﺧدام‬ ‫اﻟدوال‪.‬‬ ‫اﻻﻣر ]‪ Map[f,list‬واﻟذى ﯾﻛون ﻗﺎﺋﻣﺔ ﻋﻧﺎﺻرﻫﺎ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﺑﺗﻘدﯾر ‪ f‬ﻋﻧد ﻛل ﻗﯾﻣﺔ ﻣن اﻟﻘﯾم ﻣن اﻟﺟدول‬ ‫واﻟذى ﯾؤدى اﻟﻰ ان ﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﻫو ﻋﻧﺻر ﻓﻰ اﻟﻧطﺎق‪ domain‬ﻟﻠداﻟﺔ ‪ . f‬وﯾﺟب ان ﻧﺗذﻛر اﻧﻪ اذا‬ ‫ﻛﺎﻧت ﻗﯾم ‪ f‬ﻗﺎﺑﻠﺔ ﻟﺗﻛوﯾن ﻗﺎﺋﻣﺔ ﻓﺈن ]‪ f[ist‬ﺗؤدى ﻧﻔس ﻧﺗﯾﺟﺔ ]‪ . Map[f,list‬ﻟﻣﻧﻊ اﻟوﻗوع ﻓﻰ اﺧطﺎر ﻻ ﺑد ﻣن‬ ‫اﻟﺗﺣﻘق ان ﻛل ﻛل ﻋﻧﺻر ﻓﻰ ‪ list‬ﻣوﺟود ﻓﻰ اﻟﻧطﺎق ﻟﻠداﻟﺔ ‪ f‬وذﻟك ﻗﺑل اﻟﺑدا ﻓﻰ اﺳﺗﺧدام اﻻﻣر ]‪Map[f,list‬‬ ‫‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬ ‫]}‪Map[f,{3,5,7,2,6‬‬ ‫}]‪{f[3],f[5],f[7],f[2],f[6‬‬ ‫‪١٧٨‬‬


‫ﻫﻧﺎك اﺷﻛﺎل اﺧرى ﻟﻬذا اﻻﻣر ﻧﺗﻌرف ﻋﻠﯾﻬﺎ ﻣن ﺧﻼل اﻻﻣﺛﻠﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫اﺳﺗﺧدام اﻟداﻟﺔ اﻟﻌﻛﺳﯾﺔ ‪ Reverse‬ﻣﻊ اﻻﻣر‪ Map‬ﯾﻣﻛن ﻋﻛس ﺗرﺗﯾب‬

‫اﻟﻌﻧﺎﺻر ﻓﻰ ﻛل ﻗﺎﺋﻣﺔ ﻣن اﻟﻘواﺋم اﻟﻣﺗداﺧﻠﺔ‬

‫]}}‪Map[Reverse,{{a,b},{c,d},{e,f‬‬ ‫}}‪{{b,a},{d,c},{f,e‬‬ ‫اﻟﻌﻧﺎﺻر ﻓﻰ ﻛل ﻗﺎﺋﻣﺔ ﻣﺗداﺧﻠﺔ ﯾﻣﻛن ﺗرﺗﯾﺑﻬم‪:‬‬ ‫]}}‪Map[Sort,{{2,6,3,5},{7,4,1,3‬‬ ‫}}‪{{2,3,5,6},{1,3,4,7‬‬ ‫ﻓﻰ ﺣﺎﻟﺔ اﻟﻘﺎﺋﻣﺔ اﻟﻣﻔردة ﻻ ﻧﺣﺗﺎج اﻟﻰ اﻻﻣر ‪ Map‬وﯾﻣﻛن ﺗطﺑﯾق‬ ‫اﻟﻠوﻏﺎرﯾﺗم ﻋﻠﻰ ﻛل ﻋﻧﺻر‬ ‫]}‪Log[{1.2,.916,1.3‬‬ ‫}‪{0.182322,-0.0877389,0.262364‬‬

‫ﻧﻔس اﻟﻧﺗﺎﺋﺞ ﻧﺣﺻل ﻋﻠﯾﮭﺎ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Map[Log,{1.2,.916,1.3‬‬ ‫}‪{0.182322,-0.0877389,0.262364‬‬ ‫ﺑﺎﺳﺗﺧدام داﻟﺔ اﻟﻐﯾر ﻣﻌرﻓﺔ ‪ g‬واﻟﻘﺎﺋﻣﺔ اﻟﻣﺗداﺧﻠﺔ اﻟﺗﺎﻟﯾﺔ ﺳوف ﻧرى ان‬ ‫ﻓﻰ اﻻﻣر اﻟﺗﺎﻟﻰ ‪ g‬ﺗطﺑق ﻋﻠﻰ اﻟﻘواﺋم اﻟداﺧﻠﯾﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}}‪MapThread[g,{{a,b,c},{x,y,z‬‬ ‫}]‪{g[a,x],g[b,y],g[c,z‬‬ ‫ﯾﻣﻛن رﻓﻊ ﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻻوﻟﻰ اﻟﻰ اﻟﻘوى اﻟﻣﻌطﺎﻩ ﻣن اﻟﻌﻧﺻر اﻟﻣﻘﺎﺑل ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺛﺎﻧﯾﺔ‬ ‫]}}‪MapThread[Power,{{2,6,3},{5,1,2‬‬ ‫}‪{32,6,9‬‬ ‫ﻓﻰ اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﺗم ﻋﻣل ﻗﺎﺋﻣﺔ ﺗﺿم اﻟﻌﻧﺻر اﻻول ﻣن اﻟﻘﺎﺋﻣﺔ اﻟداﺧﻠﯾﺔ اﻻوﻟﻰ ﻣﻊ اﻟﻌﻧﺻر اﻻول ﻣن اﻟﻘﺎﺋﻣﺔ‬ ‫اﻟداﺧﻠﯾﺔ اﻟﺛﺎﻧﯾﺔ ﻣﻊ اﻟﻌﻧﺻر اﻻول ﻣن اﻟﻘﺎﺋﻣﺔ اﻟداﺧﻠﯾﺔ اﻟﺛﺎﻟﺛﺔ وﻫﻛذا اﻟﻘﺎﺋﻣﺔ اﻟداﺧﻠﯾﺔ اﻟﺛﺎﻧﯾﺔ واﻟﻘﺎﺋﻣﺔ اﻟداﺧﻠﯾﺔ اﻟﺛﺎﻟﺛﺔ‬ ‫]}}‪MapThread[List,{{5,3,2},{6,4,9},{4,1,4‬‬ ‫}}‪{{5,6,4},{3,4,1},{2,9,4‬‬

‫ﻓﻰ اﻻﻣر ‪ Outer‬ﺗطﺑق اﻟداﻟﺔ ‪ f‬ﻋﻠﻰ ﻛل اﻟﺗﺑﺎدﯾل ﻟﻠﻌﻧﺎﺻر ﻓﻰ اﻟﻘواﺋم اﻟداﺧﻠﯾﺔ‬ ‫]}‪Outer[f,{a,b},{2,3,4‬‬ ‫}}]‪{{f[a,2],f[a,3],f[a,4]},{f[b,2],f[b,3],f[b,4‬‬ ‫اﻟﻌﻤﻠﯿﺔ اﻟﺘﺎﻟﯿﺔ ﺗﺠﻤﻊ ﻛﻞ ﻋﻨﺼﺮ ﻓﻰ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ ﻣﻊ اﻟﻌﻨﺼﺮ اﻟﻤﻘﺎﺑﻞ ﻟﮫ ﻓﻰ اﻟﻘﺎﺋﻤﺔ اﻟﺜﺎﻧﯿﺔ‬ ‫}‪{4,6,3}+{5,1,2‬‬ ‫}‪{9,7,5‬‬ ‫‪١٧٩‬‬


‫)ﺑﺷرط ان ﻋدد اﻟﻌﻧﺎﺻر واﺣدة ﻓﻰ ﻛل ﻗﺎﺋﻣﺔ داﺧﻠﯾﺔ (‬ ‫ﺗﻣﺎﺛل اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫]}}‪MapThread[Plus,{{4,6,3},{5,1,2‬‬ ‫}‪{9,7,5‬‬

‫ﻣﺛﺎل‬ ‫اﻟﻣطﻠوب ﺗﻛوﯾن ﻗﺎﺋﻣﺔ ﺗﺗﻛون ﻣن اول ‪ 20‬رﻗم ﻓردﯾﺎ ﺛم ﻧﺣﺻل ﻋﻠﻰ ﺗﻛﻌﯾب اﻟﻘﯾم ‪.‬‬

‫اﻟﺣل‪:‬‬ ‫ﺳوف ﻧﺑدا ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Table‬ﻟﺗﻛوﯾن اول ‪ 20‬رﻗم ﻓردﯾﺎ وﻧﺳﻣﻰ اﻟﻘﺎﺋﻣﺔ ‪.kkk‬‬ ‫]}‪kkk=Table[2i-1,{i,1,20‬‬ ‫}‪{1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39‬‬ ‫ﯾﻠﻰ ذﻟك ﺗﻌرﯾف اﻟداﻟﺔ ‪f (x)  x 3‬‬ ‫ﺛﻢ اﺳﺘﺨﺪام اﻻﻣﺮ ‪ Map‬ﻟﺤﺴﺎب )‪ f(x‬ﻟﻜﻞ ﻋﻨﺼﺮ ﻓﻰ اﻟﻘﺎﺋﻤﺔ ‪:‬‬ ‫‪3‬‬

‫‪fx_ : x‬‬

‫]‪Map[f,kkk‬‬ ‫‪{1,27,125,343,729,1331,2197,3375,4913,6859,9261,12167,156‬‬ ‫}‪25,19683,24389,29791,35937,42875,50653,59319‬‬ ‫ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﻣن اﻻﻣر‪:‬‬ ‫‪f/@kkk‬‬

‫‪{1,27,125,343,729,1331,2197,3375,4913,6859,9261,12167,156‬‬ ‫}‪25,19683,24389,29791,35937,42875,50653,59319‬‬ ‫اﯾﺿﺎ ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﻣن اﻻﻣر‬ ‫]‪f[kkk‬‬

‫‪{1,27,125,343,729,1331,2197,3375,4913,6859,9261,12167,15625,19‬‬ ‫}‪683,24389,29791,35937,42875,50653,59319‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر اﻟﺗﺎﻟﻰ ﻫو ]‪ Apply[Plus,list‬وﯾﺳﺗﺧدم ﻟﺟﻣﻊ اﻟﻌﻧﺎﺻر ﻟﻠﻘﺎﺋﻣﺔ ‪.list‬‬

‫‪١٨٠‬‬


‫]}‪Apply[Plus,{1,4,5,3‬‬ ‫‪13‬‬ ‫واﻻﻣر اﻟﺗﺎﻟﻰ ﯾؤدى ﻧﻔس اﻟﻐرض‬ ‫}‪Plus@@{1,4,5,3‬‬ ‫‪13‬‬ ‫واﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذا اﻻﻣر ﻫﻰ ‪. Plus@@list‬‬

‫ھﻧﺎك اﺷﻛﺎل ﻛﺛﯾرة ﻟﻼﻣر ‪ Apply‬ﯾﻣﻛن اﻟﺗﻌرف ﻋﻠﯾﮭم ﻣن ﺧﻼل اﻻﻣﺛﻠﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]]‪Apply[f,List[1,4,5,3‬‬ ‫]‪f[1,4,5,3‬‬

‫]}}‪Apply[f,{{1,2,3},{5,6,7‬‬ ‫]}‪f[{1,2,3},{5,6,7‬‬ ‫]}}‪Apply[Plus,{{1,2,3},{5,6,7‬‬ ‫}‪{6,8,10‬‬ ‫]‪Apply[f,{{1,2,3},{5,6,7}},2‬‬ ‫}]‪{f[1,2,3],f[5,6,7‬‬ ‫]‪Apply[Plus,{{1,2,3},{5,6,7}},2‬‬ ‫}‪{6,18‬‬ ‫ﻟﺿرب اﻟﻌﻧﺎﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﯾﺳﺗﺧدم اﻻﻣر ]‪ Apply[Times,list‬ﻛﺎﻟﺗﺎﻟﻰ‬ ‫]}‪Apply[Times,{1,4,6,9,19‬‬ ‫‪4104‬‬ ‫اﻻﻣر اﻟﻣﻣﺎﺛل ﻟﻪ ﻫو‪Time@@list‬‬ ‫}‪Times@@{1,4,6,9,19‬‬ ‫‪4104‬‬

‫اﺟزاء ﻣن اﻟﻘﺎﺋﻣﺔ ﯾﻣﻛن ﺗﻘدﯾرﻫﺎ ﺑﺎﻟدوال ﻣﻊ اﻻﻣر ]‪ MapAt[f,list,j‬واﻟذى ﯾطﺑق ‪ f‬ﻋﻠﻰ اﻟﺟزء رﻗم ‪ j‬ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬ ‫‪ list‬وﯾﻌﯾد اﻟﻘﺎﺋﻣﺔ ‪:‬‬ ‫]]]‪ {list[[1]],…,list[[j-1]],f[list[[j‬وﺑﻧﻔس اﻟﺷﻛل ‪:‬‬ ‫]}‪MapAt[f,list,{j1,j2,…,jk‬‬ ‫واﻟذى ﯾطﺑق ‪ f‬ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ ]]‪[[j1,j2,…jk‬‬ ‫‪١٨١‬‬


‫ﻣﺛﺎل‬ ‫)أ( اﻟﻣطﻠوب ﺗوﻟﯾد ‪ 20‬ﻋدد ﻋﺷواﺋﻰ ﺑﯾن ‪ -4,4‬وﺗﺳﻣﯾﺔ اﻟﻘﺎﺋﻣﺔ اﻟﻧﺎﺗﺟﺔ ﺑﺎﻻﺳم ‪.tt2‬‬ ‫)ب( اﺧﺗزل اﻟﻌدد اﻟراﺑﻊ ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ tt2‬اﻟﻰ اﻟﺑﺎﻗﻰ ﻣن ﻗﺳﻣﺗﻪ ﻋﻠﻰ واﺣد‪.‬‬ ‫)ت( اﺧﺗزل ﻛل اﻻﻋداد ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﻰ اﻟﺑﺎﻗﻰ ﻟﻠﻌدد ﺑﻌد ﻗﺳﻣﺗﺔ ﻋﻠﻰ واﺣد ‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣرﯾن ‪ Table‬و‪ Random‬ﻟﺗوﻟﯾد ﺟدول ﻣن ‪ 20‬ﻋدد ﺑﯾن ‪ . -4,4‬وﯾﺟب اﻻﻧﺗﺑﺎﻩ اﻧﻪ‬ ‫ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Random‬ﻓﺎن اﻟﻣﺳﺗﺧدم ﻋﻧد ادﺧﺎل اﻟﺣﺳﺎﺑﺎت اﻟﺗﺎﻟﯾﺔ ﻟن ﯾﺣﺻل ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﺎﺋﺞ ‪.‬‬ ‫]}‪tt2=Table[Random[Real,{-4,4}],{20‬‬ ‫‪{-0.55778,-1.65726,3.6507,1.88323,-2.85322,‬‬‫‪3.06029,2.78841,3.84913,3.66665,-2.84051,1.71095,‬‬‫‪3.65474,1.09272,‬‬‫‪0.408193,2.92652,3.51407,1.9031,3.30308,0.0242689,3.42642‬‬ ‫}‬ ‫اﻻﻣر]‪ Mode[a,b‬ﯾﻣﺛل اﻟﺑﺎﻗﻰ ﻣن ﺧﺎرج ﻗﺳﻣﺔ ‪(a modulo b) a/b‬‬ ‫ﺗﻌرف اﻟﺑﺎﻗﻰ ﻣن ﺧﺎرج ﻗﺳﻣﺔ ‪ x‬ﻋﻠﻰ ‪: 1‬‬ ‫اﻟداﻟﺔ ‪f‬‬ ‫]‪f[x_]:=Mod[x,1‬‬ ‫ﺧﺗزل اﻟرﻗم اﻟراﺑﻊ )اﺳﺗﺑداﻟﻪ او اﺣﻼﻟﻪ ( ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ tt2‬اﻟﻰ اﻟﺑﺎﻗﻰ ﻣن ﻗﺳﻣﺗﻪ ﻋﻠﻰ واﺣد ﻧﺳﺗﺧدم اﻻﻣر‬ ‫ﻻ ا‬ ‫اﻟﺗﺎﻟﻰ ‪.‬‬ ‫]‪MapAt[f,tt2,4‬‬ ‫‪{-0.55778,-1.65726,3.6507,0.883227,-2.85322,‬‬‫‪3.06029,2.78841,3.84913,3.66665,-2.84051,1.71095,‬‬‫‪3.65474,1.09272,‬‬‫‪0.408193,2.92652,3.51407,1.9031,3.30308,0.0242689,3.426‬‬ ‫}‪42‬‬ ‫ﺧﺗزل ﻛل اﻻﻋداد ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ tt2‬اﻟﻰ اﻟﺑﺎﻗﻰ ﻟﻠﻌدد ﺑﻌد ﻗﺳﻣﺗﺔ ﻋﻠﻰ واﺣد ﻧﺳﺗﺧدم اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫ﻻ ا‬ ‫]‪Map[f,tt2‬‬ ‫‪{0.44222,0.342744,0.650698,0.883227,0.146781,0.93971,0.78841‬‬ ‫‪5,0.849131,0.666652,0.159493,0.710951,0.345263,0.0927212,0.5‬‬ ‫}‪91807,0.926524,0.514069,0.9031,0.303078,0.0242689,0.426423‬‬

‫ﻣﺛﺎل‬

‫‪١٨٢‬‬


‫اﻟﻣطﻠوب ﻋﻣل ﻗﺎﺋﻣﺔ ﺑﺎول ‪ 100‬اﻋداد ﻣوﺟﺑﺔ ﺛم ﺣﺳﺎب ‪ Sum,Product‬ﻋﻠﯾﻬم ‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫;]‪aa1=Range[200‬‬ ‫]‪Apply[Plus,aa1‬‬ ‫‪20100‬‬ ‫‪Plus@@aa1‬‬ ‫‪20100‬‬ ‫]]‪N[Apply[Times,aa1‬‬ ‫‪7.886578673647905  10374‬‬ ‫]‪N[Times@@aa1‬‬ ‫‪7.886578673647905  10374‬‬ ‫ﻓﻰ ﻫذا اﻟﻣﺛﺎل ‪ Sum, Product‬ﯾﺳﺗﺧدﻣﺎن ﻟﻠﺟﻣﻊ واﻟﺿرب ﻋﻠﻰ اﻟﺗواﻟﻰ ‪ ،‬ﯾﻣﻛن اﺳﺗﺧدام‬

‫‪‬و ‪‬‬

‫ﺑدﻻ ﻣﻧﻬﻣﺎ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Sum[i,{i,1,200‬‬ ‫‪20100‬‬ ‫‪200‬‬

‫‪i‬‬ ‫‪i1‬‬

‫‪20100‬‬ ‫]]}‪N[Product[i,{i,1,200‬‬ ‫‪7.886578673647905  10374‬‬ ‫‪200‬‬

‫‪N i‬‬ ‫‪i1‬‬

‫‪7.886578673647905  10374‬‬ ‫ﻻﻧﻬﻣﺎ ﯾﻣﺛﻼن اﻟﺟﻣﻊ واﻟﺿرب ﻋﻠﻰ اﻟﻘﯾم اﻟﻣﻧﺗظﻣﺔ ‪.‬‬ ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣر ‪ Apply‬ھو]‪ Apply[operation,list‬وﯾﻣﻛن وﺿﻌﮫ ﻓﻰ ﺻورة‬

‫ﻣﺧﺗﺻرة ﻛﺎﻟﺗﺎﻟﻰ ‪ . operation@@list‬اﯾﺿﺎ اﻻﻣر ‪ Map‬ﯾﻣﻛن ﻋﻣل اﺧﺗﺻﺎرات ﻟﮫ ﻛﻣﺎ ﯾﺗﺿﺢ ﻣن‬ ‫اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪:‬‬

‫ﻣﺛﺎل‬ ‫ﻋرف ‪ aa1‬ﻟﺗﻣﺛل ﻓﺋﺔ ﻣن ﻛﺛﯾرة اﻟﺣدود ﺗﺗﻛون ﻣن ‪:‬‬

‫‪15x 2  6x  9,14x 2  24x  8,8x 2  17x  21,4x 2  39x  56‬‬ ‫‪١٨٣‬‬


‫)أ( اﺳﺗﺧدم اﻻﻣر ‪ Factor‬ﻟﻛل ﻣﻧﻬﻣﺎ )ب( اوﺟد اﻟﻣﺟﻣوع ﻛﺛﯾرة اﻟﺣدود ﻓﻰ ‪aa1‬‬

‫اﻟﺣل ‪:‬‬ ‫]‪Clear[aa1,x‬‬ ‫‪aa1  15x2  6x  9, 14x2  24x  8, 8x2  17x  21,‬‬

‫;‪4x2  39x  56‬‬ ‫) ا(‬ ‫]‪Map[Factor,aa1‬‬ ‫)‪{3 (-1+x) (3+5 x),2 (2+x) (-2+7 x),(-3+x) (7+8 x),(-8+x‬‬ ‫})‪(-7+4 x‬‬ ‫‪aa1//Factor‬‬ ‫)‪{3 (-1+x) (3+5 x),2 (2+x) (-2+7 x),(-3+x) (7+8 x),(-8+x‬‬ ‫})‪(-7+4 x‬‬ ‫‪Factor/@aa1‬‬ ‫)‪{3 (-1+x) (3+5 x),2 (2+x) (-2+7 x),(-3+x) (7+8 x),(-8+x‬‬ ‫})‪(-7+4 x‬‬ ‫)ب(‬ ‫‪Plus@@aa1‬‬ ‫‪18  38 x  41 x2‬‬

‫)‪ ( ٦-٥-٤‬رﺳم ﻗواﺋم ﻣن اﻟﻧﻘﺎط وﻗواﺋم اﻟدوال‬ ‫‪Graphing Lists of Points and Lists of Functins‬‬ ‫ﺑﻔرض ان ﻟدﯾﻧﺎ اﻟﻘﺎﺋﻣﺔ ‪ list‬اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫}]]‪ List={element[[1]], element [[2]],…, element [[n‬ﻓﺎن اﻻﻣر ‪:‬‬ ‫]‪ ListPlot[List‬ﯾرﺳم اﻟﻧﻘﺎط ‪:‬‬ ‫)]]‪(1,element[[1]]),(2,element[[2]]) ,…,n,element[[n‬‬ ‫ﻟﻠﺗوﺿﯾﺢ ﺑﻔرض اﻧﻧﺎ ﻧرﻏب ﻓﻰ رﺳم ﻓﺋﺔ ﻣن اﻟﻧﻘﺎط ) ‪ (x , sin x‬ﻋددﻫم ‪ 1000‬وﻧرﻏب ﻓﻰ ﻋدم اظﻬﺎر ﻛل‬ ‫اﻟﻧﻘﺎط ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪ .‬ﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﺳوف ﻧﺿﻊ اﻟﻔﺎﺻﻠﺔ اﻟﻣﻧﻘوطﺔ ﻓﻰ ﻧﻬﺎﯾﺔ اﻻﻣر ‪ Table‬وﻟﻛن ﻓﻰ ﺑﻌض‬ ‫اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ ﻣﺷﺎﻫدة ﺑﻌض اﻟﻧﻘﺎط وﯾﺗم ذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Short‬واﻟذى ﯾظﻬر ﺳطر واﺣد ﻣن‬ ‫اﻟﻣﺧرﺟﺎت ‪ .‬اﻟﻣﺧرج ﻓﻰ اﻻﻣر ‪ Short‬ﯾﺷﺗﻣل ﻋﻠﻰ ﻋﻧﺻر ﻋﻠﻰ اﻟﺷﻛل>>‪ <<n‬واﻟذى ﯾﻌﻧﻰ ان ‪ n‬ﻣن اﻟﻌﻧﺎﺻر‬ ‫ﻗد ﺗم ﺣذﻓﻬﺎ واﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ﯾوﺿﺢ ذﻟك ‪:‬‬ ‫‪١٨٤‬‬


‫;]}‪aa1=Table[N[Sin[x]],{x,1,1000‬‬ ‫]‪Short[aa1‬‬ ‫}‪{0.841471,998,0.82688‬‬ ‫]‪ListPlot[aa1‬‬ ‫‪1‬‬

‫‪0.5‬‬

‫‪1000‬‬

‫‪600‬‬

‫‪800‬‬

‫‪200‬‬

‫‪400‬‬

‫‪-0.5‬‬

‫‪-1‬‬

‫‪Graphics‬‬

‫ﻓﺑﺎﻟﻧﺳﺑﺔ ﻟﻼﻣر ‪ Short‬ﻓﺈﻧﻧﺎ ﻧرى ﻓﻰ اﻟﻣﺧرج ﻟﻪ ﻓﻘط ﻋﻧﺎﺻرﯾن ﻣن اﻟﻘﺎﺋﻣﺔ ‪ aa1‬و ‪ 997‬ﻗد ﺗم ﺣذﻓﻬﺎ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺗﻣﺛل اﻟﺑﯾﺎﻧﺎت اﻟﺗﺎﻟﯾﺔ ﻋدد اﻟﻣوظﻔﯾن ﺧﻼل اﻻﻋوام ‪ 2004-1998‬ﻓﻰ وظﯾﻔﺔ ﻣﺎ اﻟﻣطﻠوب ﺗﻣﺛﯾﻠﻬﺎ ﺑﯾﺎﻧﯾﺎ‪.‬‬ ‫اﻟﺳﻧﺔ‬

‫ﻋدد اﻟﻣوظﻔﯾن‬

‫‪1998‬‬

‫‪670‬‬

‫‪1999‬‬

‫‪690‬‬

‫‪2000‬‬

‫‪740‬‬

‫‪2001‬‬

‫‪780‬‬

‫‪2002‬‬

‫‪900‬‬

‫‪2003‬‬

‫‪870‬‬

‫‪2004‬‬

‫‪910‬‬

‫‪2004‬‬

‫‪920‬‬

‫ﺳوف ﻧوﺿﺢ اﻟرﺳم ﺑﺛﻼث طرق ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫اﻟطرﯾﻘﺔ اﻻوﻟﻰ ‪:‬‬ ‫}‪a11={1998,1999,2000,2001,2002,2003,2004,2005‬‬ ‫}‪{1998,1999,2000,2001,2002,2003,2004,2005‬‬ ‫}‪a22={670,690,740,780,900,870,910,920‬‬ ‫}‪{670,690,740,780,900,870,910,920‬‬ ‫‪١٨٥‬‬


aa3={{1998,670},{1999,690},{2000,740},{2001,780},{2002,90 0},{2003,870},{2004,910},{2005,920}} aa3=Transpose[{a11,a22}] {{1998,670},{1999,690},{2000,740},{2001,780},{2002,900},{2003, 870},{2004,910},{2005,920}}

{{1998,670},{1999,690},{2000,740},{2001,780},{2002,900},{ 2003,870},{2004,910},{2005,920}} . ‫ ﻓﻰ ازواج‬aa1,a22 ‫اﻻﻣر اﻟﺳﺎﺑق ﯾﺿﻊ ﻗﯾم‬ ListPlot[aa3] 900 850 800 750

1999

2000

2001

2002

2003

2004

2005

Graphics . ‫اﻣر اﻟرﺳم اﻟﺳﺎﺑق ﯾرﺳم ﺑدون ﺧﯾﺎرات‬

: ‫اﻟطرﯾﻘﺔ اﻟﺛﺎﻧﯾﺔ‬

Transpose ‫ ﺗم ﺑطرﯾﻘﺔ ﻣﺧﺗﻠﻔﺔ ﻋن اﻻﻣر‬aa3 ‫ﻟﻠﺣﺻول ﻋﻠﻰ‬

Map ‫اﺳﺗﺧدام اﻻﻣر‬

: aa3 ‫اﻟﻣﺳﺗﺧدم ﻓﻰ اﻟطرﯾﻘﺔ اﻻوﻟﻰ ﻟﻠﺣﺻول ﻋﻠﻰ‬ Map[Point,aa3] {Point[{1998,670}],Point[{1999,690}],Point[{2000,740}],Po int[{2001,780}],Point[{2002,900}],Point[{2003,870}],Point [{2004,910}],Point[{2005,920}]} aa4=Show[Graphics[{PointSize[0.03],Map[Point,aa3]}],Axes Automatic]

١٨٦


‫‪900‬‬ ‫‪850‬‬ ‫‪800‬‬ ‫‪750‬‬

‫‪2005‬‬

‫‪2004‬‬

‫‪2003‬‬

‫‪2002‬‬

‫‪2001‬‬

‫‪2000‬‬

‫‪1999‬‬

‫‪Graphics‬‬ ‫اﻣر اﻟرﺳم اﻟﺳﺎﺑق ﯾرﺳم ﺑﺧﯾﺎرات ‪.‬‬ ‫اﻟطرﯾﻘﺔ اﻟﺛﺎﻟﺛﺔ ‪:‬‬ ‫]]‪ListPlot[aa3,PlotStyle->PointSize[0.03‬‬ ‫‪900‬‬ ‫‪850‬‬ ‫‪800‬‬ ‫‪750‬‬

‫‪2005‬‬

‫‪2004‬‬

‫‪2003‬‬

‫‪2002‬‬

‫‪2001‬‬

‫‪2000‬‬

‫‪1999‬‬

‫‪ Graphics‬‬

‫ﻣﺛل اﻟطرﯾﻘﺔ اﻻوﻟﻰ وﻟﻛن اﻣر اﻟرﺳم ﺑﺧﯾﺎرات ‪.‬‬

‫)‪ ( ٧-٥-٤‬اﺟراء اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻋﻠﻰ ﻗﺎﺋﻣﺗﯾن‬ ‫ﺗﻧﻔﯾذ اﻟﻌﻣﻠﯾﺎت اﻟﺣﺳﺎﺑﯾﺔ ﻣن ﺟﻣﻊ وطرح وﺿرب وﻗﺳﻣﺔ ﻋﻠﻰ ﻗﺎﺋﻣﺗﯾن ﯾﺗم ﻋﻠﻰ اﻟﻌﻧﺎﺻر اﻟﻣﺗﻧﺎظرة ﻓﻰ اﻟﻘﺎﺋﻣﺗﯾن‬ ‫ﺑﺷرط ان ﯾﻛون اﻟﻘﺎﺋﻣﺗﯾن ﺑﻬﻣﺎ ﻧﻔس اﻟﻌﻧﺎﺻر وﯾﻣﻛن ﺗوﺿﯾﺣﺔ ﺑﺎﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض ان ﻟدﯾﻧﺎ اﻟﻘﺎﺋﻣﺗﯾن ‪: ww1,ww2‬‬ ‫‪١٨٧‬‬


‫}‪ww1={1,2,3,4‬‬ ‫}‪{1,2,3,4‬‬ ‫}‪ww2={3,4,5,6‬‬ ‫}‪{3,4,5,6‬‬ ‫ﺟﻣﻊ اﻟﻘﺎﺋﻣﺗﯾن‪ ww1,ww2‬ﯾﺗم ﺑﺟﻣﻊ اﻟﻌﻧﺎﺻر اﻟﻣﻧﺎظرة ﻟﻠﻘﺎﺋﻣﺗﯾن‬ ‫‪ww1+ww2‬‬ ‫}‪{4,6,8,10‬‬ ‫طرح اﻟﻘﺎﺋﻣﺗﯾن ‪ ww1,ww2‬ﯾﺗم ﺑطرح اﻟﻌﻧﺎﺻر اﻟﻣﻧﺎظرة ﻓﻰ اﻟﻘﺎﺋﻣﺗﯾن‬ ‫‪ww1-ww2‬‬ ‫}‪{-2,-2,-2,-2‬‬ ‫ﻗﺳﻣﺔ اﻟﻘﺎﺋﻣﺗﯾن ‪ ww1,ww2‬ﯾﺗم ﺑﻘﺳﻣﺔ اﻟﻌﻧﺎﺻر اﻟﻣﻧﺎظرة ﻓﻰ اﻟﻘﺎﺋﻣﺗﯾن‬

‫‪ww1‬‬ ‫‪ww2‬‬

‫‪1 1 3 2‬‬ ‫‪, , , ‬‬ ‫‪3 2 5 3‬‬

‫‪‬‬

‫وﯾﻣﻛن اﺟراء اى ﻋﻣﻠﯾﺔ ﺣﺳﺎﺑﯾﺔ ﺑﯾن ﻗﺎﺋﻣﺔ وﻋدد ﺛﺎﺑت ﻓﻣﺛﻼ ﺟﻣﻊ اﻟﻘﺋﻣﺔ ‪ ww1‬ﻋﻠﻰ اﻟﻌدد اﻟﺛﺎﺑت ‪ 10‬ﺣﯾث ﯾﺗم‬ ‫اﺿﺎﻓﺔ اﻟﻌدد ‪ 10‬ﻟﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪:‬‬ ‫‪ww1+10‬‬ ‫}‪{1,2,3,4‬‬ ‫}‪{11,12,13,14‬‬

‫ﺿرب اﻟﻘﺎﺋﻣﺗﯾن ‪ ww1,ww2‬ﯾﺗم ﺑﺿرب اﻟﻌﻧﺎﺻر اﻟﻣﻧﺎظرة ﻓﻰ اﻟﻘﺎﺋﻣﺗﯾن‬ ‫‪ww1*ww2‬‬ ‫}‪{3,8,15,24‬‬ ‫ﺿرب اﻟﻘﺎﺋﻣﺔ ‪ ww1‬ﻓﻰ ﻋدد ﺛﺎﺑت ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل ﺿرب ﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ ww1‬ﻓﻰ ﺧﻣﺳﺔ‬ ‫‪5ww1‬‬ ‫}‪{5,10,15,20‬‬ ‫وﯾﻣﻛن رﻓﻊ اﻟﻘﺎﺋﻣﺔ اﻟﻰ اس ﻋددى ﺣﯾث ﯾﺗم رﻓﻊ ﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﻰ ھذا اﻻس اﻟﻌددى‬ ‫‪ww1^3‬‬ ‫}‪{1,8,27,64‬‬

‫وﯾﻣﻛن رﻓﻊ اى ﻗﯾﻣﺔ ﻋددﯾﺔ اﻟﻰ اس ﻋﺑﺎرة ﻋن ﻗﺎﺋﻣﺔ‬

‫‪4^ww1‬‬ ‫}‪{4,16,64,256‬‬

‫‪١٨٨‬‬


‫وﯾﻣﻛن رﻓﻊ ﻗﺎﺋﻣﺔ اﻟﻰ اس ﻋﺑﺎرة ﻋن ﻗﺎﺋﻣﺔ اﺧرى‬

‫‪ww1^ww2‬‬ ‫}‪{1,16,243,4096‬‬

‫وﯾﻣﻛن ﺗطﺑﯾق اﻟدوال ﻋﻠﻰ اﻟﻘواﺋم ﺣﯾث ﯾﺗم ﺗطﺑﯾق اﻟداﻟﺔ ﻋﻠﻰ ﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ‬

‫‪‬‬

‫‪ww1  N‬‬

‫}‪{1.,1.41421,1.73205,2.‬‬ ‫‪Cos[ww1]//N‬‬ ‫}‪{0.540302,-0.416147,-0.989992,-0.653644‬‬

‫)‪ (٨-٥-٤‬ﺗطﺑﯾق اﻟدوال ﻋﻠﻰ اﻟﻘواﺋم ﺑﺻورة ﻣﺗﻛررة ‪Applying Functions to‬‬ ‫‪Lists Repeatedly‬‬ ‫ﯾﻣﻛن ﺗطﺑﯾق اﻟداﻟﺔ ﻋﻠﻰ ‪ ) Argument‬ﻗﯾﻣﺔ ﻣﺎ ﻣﺑدﺋﯾﺔ ( ﺛم ﺗطﺑق اﻟداﻟﺔ ﻋﻠﻰ اﻟﻧﺎﺗﺞ ﺛم ﺗطﺑق اﻟداﻟﺔ ﻣرة اﺧرى‬ ‫ﻋﻠﻰ اﻟﻧﺎﺗﺞ وﻫﻛذا ‪ ،‬ﻟﻌد ﻣﺣدد ﻣن اﻟﻣرات ‪ .‬ﺑﻔرض داﻟﺔ ﻏﯾر ﻣﻌرﻓﺔ ‪ g‬وﺗم اﻟﺑدا ﺑﻘﯾﻣﺔ ‪ a‬ﻓﺎن ‪:‬‬ ‫]‪Nest[g,a,5‬‬ ‫]]]]]‪g[g[g[g[g[a‬‬

‫اﻻﻣر )اﻟداﻟﺔ ( ‪ NestList‬ﺗرﺟﻊ ﻛل اﻟﻘﯾم اﻟداﺧﻠﯾﺔ ﻣن ﻋﻣﻠﯾﺔ اﻟﺗداﺧل ‪:‬‬ ‫]‪NestList[g,a,5‬‬ ‫}]]]]]‪{a,g[a],g[g[a]],g[g[g[a]]],g[g[g[g[a]]]],g[g[g[g[g[a‬‬

‫ﺑﺎﺳﺗﺧدام اﻟداﻟﺔ ‪ cos‬واﻟﻘﯾﻣﺔ اﻟﻣﺑدﺋﯾﺔ ﻫﻰ ‪ 0.85‬ﯾﻣﻛن ﺗوﻟﯾد اﻟﻘﺎﺋﻣﺔ‬ ‫]‪NestList[Cos,.85,10‬‬ ‫‪{0.85,0.659983,0.790003,0.703843,0.76236,0.723208,0.749687,0.7‬‬ ‫}‪31902,0.743904,0.73583,0.741274‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل اﻟﻌﻧﺎﺻر اﻟﺛﻼﺛﺔ اﻻواﺋل ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ ﻫﻣﺎ ]‪.85 , Cos[.85] , Cos[Cos[.85‬‬ ‫ﻓﯾﻣﻛن ان ﻧرى‬ ‫}]]‪{.85,Cos[.85],Cos[Cos[.85‬‬ ‫}‪{0.85,0.659983,0.790003‬‬

‫‪١٨٩‬‬


‫ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Folder‬ﺗطﺑق اﻟداﻟﺔ ﻋﻠﻰ اﻟﻘﯾﻣﺔ اﻟﻣﺑدﺋﯾﺔ و ﻋﻠﻰ اول ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ ،‬ﺛم ﺗطﺑق اﻟداﻟﺔ ﻋﻠﻰ‬ ‫اﻟﻧﺎﺗﺞ واﻟﻌﻧﺻر اﻟﺛﺎﻧﻰ ﻣن اﻟﻘﺎﺋﻣﺔ ‪ .‬ﻋﻧدﺋذ ﺗطﺑق اﻟداﻟﺔ ﻋﻠﻰ اﻟﻧﺎﺗﺞ و اﻟﻌﻧﺻر اﻟﺛﺎﻟث ﻣن اﻟﻘﺎﺋﻣﺔ وﻫﻛذا ‪.‬‬ ‫]}‪Fold[f,0,{a,b,c,d‬‬ ‫]‪f[f[f[f[0,a],b],c],d‬‬ ‫ﻋﻧد اﺳﺗﺧدام اﻻﻣر ‪ FoldList‬ﯾﻣﻛن ﻣﺷﺎﻫدة ﻛل اﻟﻧﺗﺎﺋﺞ اﻟوﺳطﯾﺔ ﻟﻼﻣر ‪Fold‬‬ ‫]}‪FoldList[f,0,{a,b,c,d‬‬ ‫]‪{0,f[0,a],f[f[0,a],b],f[f[f[0,a],b],c],f[f[f[f[0,a],b],c‬‬ ‫}]‪,d‬‬ ‫ﯾﻣﻛن ﺑﺳﻬوﻟﺔ ﻣﺷﺎﻫدة ﻣﺎ ﯾﺣدث ﻓﻰ اﻻﻣر وذﻟك ﺑﺎﻟﻌﻣل ﻣﻊ اﻟﻌﻣﻠﯾﺔ اﻟﺣﺳﺎﺑﯾﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]}‪FoldList[Plus,0,{a,b,c,d‬‬ ‫}‪{0,a,a+b,a+b+c,a+b+c+d‬‬ ‫]}‪FoldList[Plus,0,{3,5,2,4‬‬ ‫]}‪FoldList[Times,1,{3,5,2,4‬‬

‫}‪{0,3,8,10,14‬‬ ‫}‪{1,3,15,30,120‬‬

‫ﺑﺎﺳﺗﺧدام اﻟداﻟﺗﯾن اﻟﻐﯾر ﻣﻌرﻓﺗﯾن ‪ f , g‬ﯾﻣﻛن ﻣﻌرﻓﺔ ﻛﯾف ﯾﻌﻣل اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪Inner[f,{a,b,c},{d,e,f},g‬‬ ‫}‪Inner[Times,{a,b,c},{d,e,f},Plus‬‬ ‫وﻓﻰ اﻟﻧﮭﺎﯾﺔ اﻻواﻣر اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫]‪Inner[f,{a,b,c},{d,e,f},g‬‬ ‫]]‪g[f[a,d],f[b,e],f[c,f‬‬ ‫]‪Inner[Times,{a,b,c},{d,e,f},Plus‬‬ ‫‪a d+b e+c f‬‬ ‫]‪Inner[List,{a,b,c},{d,e,f},Plus‬‬ ‫}‪{a+b+c,d+e+f‬‬

‫)‪Nested Functions Calls ( ٩-٥-٤‬‬ ‫ﻓﻰ اﻟﺒﻨﻮد اﻟﺴﺎﺑﻘﺔ ﺗﻨﺎوﻟﻨﺎ اﻟﻜﺜﯿﺮ ﻣﻦ اﻻواﻣﺮ )اﻟﺪوال ( ﺣﯿﺚ ﻣﻌﻈﻢ ھﺬه اﻻواﻣﺮ ﺗﻄﺒﻖ ﻣﺮة واﺣﺪة ﻋﻠﻰ ‪data‬‬ ‫‪ object‬ﺛﻢ ﺗﺮﺟﻊ اﻟﻨﺘﯿﺠﺔ ‪ .‬ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ‪:‬‬

‫]‪Mod[5,3‬‬ ‫‪2‬‬ ‫]}‪Sort[{1,6,2,5,4,3‬‬ ‫}‪{1,2,3,4,5,6‬‬

‫‪١٩٠‬‬


‫اﯾﺿﺎ ﺗﻧﺎوﻟﻧﺎ اﻟﻌدﯾد ﻣن اﻻواﻣر واﻟﺗﻰ ﺗﻌﺗﺑر دوال و ﺗﺗﺧذ دوال اﺧرى ﻛﻣﺣﺗوﯾﺎت ﻟﻬﺎ ‪ arguments‬واﻟﺗﻰ ﺗﺳﻣﻰ‬ ‫ﻋﺎﻟﯾﺔ اﻟرﺗﺑﺔ‬ ‫]}‪Fold[Plus,0,{a,b,c,d‬‬ ‫‪a+b+c+d‬‬ ‫اﻟﺘﻄﺒﯿﻖ اﻟﻤﺘﺘﺎﺑﻊ ﻟﻌﺪة دوال ﯾﻌﺮف ‪. nested function call‬ﺗﻠﻚ اﻟﺪوال ﻟﯿﺴﺖ ﻣﺤﺪدة ﻓﻰ اﺳﺘﺨﺪام داﻟﺔ‬ ‫ﻣﻔﺮدة ﺗﻜﺮر ﻋﺪة ﻣﺮات ‪ ،‬وﻟﻛن ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ھذه اﻟداﻟﺔ ﺑﺎﺳﺗﺧدام ﻋدة دوال ﻛﻣﺎ ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪:‬‬

‫]]]‪Cos[Sin[Tan[4.0‬‬ ‫‪0.609053‬‬ ‫ﻗﻰ ھﺬه اﻟﺪاﻟﺔ ﻓﺎن )‪ tan(4.0‬ﺗﺣﺳب وﺑﻌد ذﻟك ﺗﺣﺳب ‪ sin‬ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ ﺛم ﺑﻌد ذﻟك ﺗﺳب ‪ cosin‬ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ ‪.‬‬ ‫ﻟﻠﺗوﺿﯾﺢ ﯾﻣﻛن اﺟراء ذﻟك ﻋﻠﻰ ﻋدة ﺧطوات ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫]‪Tan[4.0‬‬ ‫‪1.15782‬‬ ‫]‪Sin[%‬‬ ‫‪0.915931‬‬ ‫]‪Cos[%‬‬ ‫‪0.609053‬‬ ‫وﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪ Trace‬ﻟﺗوﺿﯾﺢ اﻟﺧطوات ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫]]]]‪Trace[Cos[Sin[Tan[4.0‬‬ ‫‪{{{Tan[4.],1.15782},Sin[1.15782],0.915931},Cos[0.915931],0.609‬‬ ‫}‪053‬‬ ‫اﻟداﻟﺔ ‪ nested function call‬ﺗﻘرا اﻻواﻣر ﺑﻧﻔس اﻧﺷﺎﺋﮭﺎ ﺣﯾث ﺗﺑدا ﻣن اﻟداﺧل اﻟﻰ اﻟﺧﺎرج ‪.‬ﻋﻠﻰ ﺳﺑﯾل‬ ‫اﻟﻣﺛﺎل ‪:‬‬

‫]]}‪Apply[And,Map[EvenQ,{2,4,6,7,8‬‬ ‫‪False‬‬ ‫ﯾﻤﻜﻦ وﺻﻒ اﻟﻌﻤﻠﯿﺎت ﻛﺎﻟﺘﺎﻟﻰ ‪:‬‬ ‫)أ(‬

‫ﯾﻄﺒﻖ اﻻﻣﺮ ‪ EvenQ‬ﻟﻛل ﻋﻧﺻر ﻓﻰ اﻟﻘﺎﺋﻣﺔ }‪ {2,4,6,7,8‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫]}‪Map[EvenQ,{2,4,6,7,8‬‬ ‫}‪{True,True,True,False,True‬‬ ‫)ب( ﯾطﺑق اﻻﻣﺮ اﻟﻤﻨﻄﻘﻰ ‪ And‬ﻋﻠﻰ ﻧﺗﯾﺟﺔ اﻟﺨﻄﻮة اﻟﺴﺎﺑﻘﺔ ‪:‬‬

‫]‪Apply[And,%‬‬ ‫‪False‬‬ ‫ﻛﻣﺛﺎل اﺧر اﻛﺛر ﺗﻌﻘﯾدا ﺣﯾث ﺗﺳﺗﺧرج اﻟﻌﻧﺎﺻر ﻣن اﻟﻘﺎﺋﻣﺔ ) اﻟﺗﻰ ﺗﺣﺗوى ﻋﻠﻰ اﻋداد ﻣوﺟﺑﺔ ( واﻟﺗﻰ اﻛﺑر ﻣن اﻻﻋداد‬ ‫اﻟﺳﺎﺑﻘﺔ ﻟﮭﺎ ﻓﻰ اﻟﻘﺎﺋﻣﺔ‪:‬‬

‫]]]}‪Union[Rest[FoldList[Max,0,{3,1,6,5,4,8,7‬‬ ‫‪١٩١‬‬


‫}‪{3,6,8‬‬

‫ﺑﺎﺳﺘﺨﺪام اﻻﻣﺮ ‪ Trace‬ﻟﻠﺗوﺿﯾﺢ ‪:‬‬

‫]]]]}‪Trace[Union[Rest[FoldList[Max,0,{3,1,6,5,4,8,7‬‬ ‫‪{{{3 FoldList[Max,0,{3,1,6,5,4,8,7}],{3 Max[0,3],3 3},{3‬‬ ‫‪Max[3,1],3 Max[1,3],3 3},{3 Max[3,6],3 6},{3 Max[6,5],3‬‬ ‫‪Max[5,6],3 6},{3 Max[6,4],3 Max[4,6],3 6},{3 Max[6,8],3‬‬ ‫‪8},{3 Max[8,7],3 Max[7,8],3 8},3 {0,3,3,6,6,6,8,8}},3‬‬ ‫‪Rest[{0,3,3,6,6,6,8,8}],3 {3,3,6,6,6,8,8}},6‬‬ ‫}}‪Union[{3,3,6,6,6,8,8}],8 {3,6,8‬‬

‫اﻟﻌﻣﻠﯾﺎت اﻟﺳﺎﺑﻘﺔ اﻟﺗﻰ ﺗﻘوم ﺑﻬﺎ اﻟداﻟﺔ ‪nested function call‬‬ ‫ﯾﻤﻜﻦ ﺗﻮﺿﯿﺤﮭﺎ ﻛﺎﻟﺘﺎﻟﻰ ‪:‬‬ ‫)أ( اﻻﻣﺮ ‪ FoldList‬ﯾطﺑق اوﻻ ﻋﻠﻰ اﻟداﻟﺔ }‪. Max,0,{3,1,6,5,4,8,7‬‬

‫]}‪FoldList[Max,0,{3,1,6,5,4,8,7‬‬ ‫}‪{0,3,3,6,6,6,8,8‬‬ ‫)ب( اﻻﻣﺮ ‪ Rest‬ﯾطﺑق ﻋﻠﻰ ﻧﺎﺗﺞ اﻟﺧطوة اﻟﺳﺎﺑﻘﺔ ‪:‬‬

‫]‪Rest[%‬‬ ‫}‪{3,3,6,6,6,8,8‬‬ ‫)ج( وﻓﻰ اﻟﻨﮭﺎﯾﺔ اﻻﻣﺮ ‪Union‬‬

‫ﯾطﺑق ﻋﻠﻰ ﻧﺗﯾﺟﺔ اﻟﺧطوة اﻟﺳﺎﺑﻘﺔ ‪.‬‬ ‫]‪Union[%‬‬ ‫}‪{3,6,8‬‬

‫ﺑﻔرض اﻟداﻟﺔ ‪ nested function call‬اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]]}‪Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,A‬‬ ‫]‪,1‬‬

‫{‪{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},‬‬ ‫‪c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7‬‬ ‫‪},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},‬‬ ‫‪{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d‬‬ ‫}‪,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9‬‬ ‫}}‪,{s,10},{s,J},{s,Q},{s,K},{s,A‬‬ ‫ﻟﻔﮭم ﻣﺎ ﺗﻘوم ﺑﻌﻣﻠﮫ اﻟداﻟﺔ ‪ nested function call‬اﻟﺳﺎﺑﻘﺔ ﻧﺗﺑﻊ اﻟﺧطوات اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫)ا( اﻻﻣﺮ ‪ Join‬اﻟﺗﺎﻟﻰ ﯾﻘﻮم ﺑﺪﻣﺞ اﻟﻘﺎﺋﻤﺔ ﻣﻦ اﻻﻋﺪاد ﻣﻦ ‪ 2‬اﻟﻰ ‪)10‬واﻟﺗﻰ ﺗم‬ ‫اﻟﺣﺻول ﻋﻠﯾﮭﺎ ﻣن اﻻﻣﺮ]‪ (Range[2,10‬ﻣﻊ اﻟﻘﺎﺋﻣﺔ}‪{J,Q,K,A‬ﻣن ارﺑﻌﺔ ﻋﻧﺎﺻر ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪١٩٢‬‬


Join[Range[2,10],{j,Q,K,A}] {2,3,4,5,6,7,8,9,10,j,Q,K,A} : Outer ‫)ب( ﻣن اﻻﻣر‬ ‫ﯾﺗم ﻋﻤﻞ اﻟﻘﺎﺋﻤﺔ اﻟﺘﺎﻟﯿﺔ ﻣﻦ ازواج ﻣﻦ اﻟﻘﯿﻢ ﺣﯿﺚ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ ﻋﻧﺻر ﻣن اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ واﻟﻌﻧﺻر اﻻول ﻧﺎﺗﺞ‬ ‫ﻣن ﻋﻧﺻر ﻣن اﻟﻘﺎﺋﻣﺔ‬13 ‫ﻣن واﺣد ﻣن اﻟـ‬ . {c,d,d,s}]

Outer[List,{c,d,d,s},%] {{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10}, {c,j},{c,Q},{c,K},{c,A}},{{d,2},{d,3},{d,4},{d,5},{d,6},{ d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A}},{{d,2},{ d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d, Q},{d,K},{d,A}},{{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8 },{s,9},{s,10},{s,j},{s,Q},{s,K},{s,A}}} Flatten‫ﻣن اﻻﻣر‬ . ‫ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ اﻟﻧﻬﺎﺋﯾﺔ‬ Flatten[%,1] {{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,j}, {c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d ,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d, 6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{s,2},{s,3 },{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,j},{s,Q},{s,K} ,{s,A}}

: ‫وﯾﻔﺿل ﺗﺳﻣﯾﺔ اﻟﻌﻣﻠﯾﺔ اﻟﺳﺎﺑﻘﺔ ﺑﺎﺳم ﯾﻣﻛن اﻟرﺟوع اﻟﯾﻪ ﻛﺎﻟﺗﺎﻟﻰ‬ aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K, A}]],1]

{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{ c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7 },{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3}, {d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d ,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9} ,{s,10},{s,J},{s,Q},{s,K},{s,A}} : ‫ﻓﻌﻧد ﻛﺗﺎﺑﺔ اﻻﺳم اﻟﺗﺎﻟﻰ ﻧﺣﺻل ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ اﻟﺳﺎﺑﻘﺔ‬ aa1

{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c ,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7} ,{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{ d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d, ١٩٣


K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9}, {s,10},{s,J},{s,Q},{s,K},{s,A}} ‫وﯾﻔﯾد اﻋطﺎء اﻻﺳم ﺣﺗﻰ ﯾﻣﻛن اﺳﺗﺧداﻣﻬﺎ ﻓﻰ ﻋﻣﻠﯾﺔ اﺧرى ﻛﺎﻟﺗﺎﻟﻰ‬ aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K, A}]],1] {{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{ c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7 },{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3}, {d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d ,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9} ,{s,10},{s,J},{s,Q},{s,K},{s,A}} Partition[aa1,26] {{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10}, {c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d, 7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A}},{{d,2},{d, 3},{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q} ,{d,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s ,9},{s,10},{s,J},{s,Q},{s,K},{s,A}}} Transpose[%] {{{c,2},{d,2}},{{c,3},{d,3}},{{c,4},{d,4}},{{c,5},{d,5}}, {{c,6},{d,6}},{{c,7},{d,7}},{{c,8},{d,8}},{{c,9},{d,9}},{ {c,10},{d,10}},{{c,J},{d,J}},{{c,Q},{d,Q}},{{c,K},{d,K}}, {{c,A},{d,A}},{{d,2},{s,2}},{{d,3},{s,3}},{{d,4},{s,4}},{ {d,5},{s,5}},{{d,6},{s,6}},{{d,7},{s,7}},{{d,8},{s,8}},{{ d,9},{s,9}},{{d,10},{s,10}},{{d,J},{s,J}},{{d,Q},{s,Q}},{ {d,K},{s,K}},{{d,A},{s,A}}} Flatten[%,1] {{c,2},{d,2},{c,3},{d,3},{c,4},{d,4},{c,5},{d,5},{c,6},{d ,6},{c,7},{d,7},{c,8},{d,8},{c,9},{d,9},{c,10},{d,10},{c, J},{d,J},{c,Q},{d,Q},{c,K},{d,K},{c,A},{d,A},{d,2},{s,2}, {d,3},{s,3},{d,4},{s,4},{d,5},{s,5},{d,6},{s,6},{d,7},{s, 7},{d,8},{s,8},{d,9},{s,9},{d,10},{s,10},{d,J},{s,J},{d,Q },{s,Q},{d,K},{s,K},{d,A},{s,A}} : ‫وﯾﻣﻛن ﻛﺗﺎﺑﻪ اﻟﻌﻣﻠﯾﺔ اﻟﺳﺎﺑﻘﺔ ﺑﺷﻛل ﻣﺧﺗﺻر ﻛﺎﻟﺗﺎﻟﻰ‬ Flatten[ Transpose[Partition[aa1,26]],1] {{c,2},{d,2},{c,3},{d,3},{c,4},{d,4},{c,5},{d,5},{c,6},{d ,6},{c,7},{d,7},{c,8},{d,8},{c,9},{d,9},{c,10},{d,10},{c, J},{d,J},{c,Q},{d,Q},{c,K},{d,K},{c,A},{d,A},{d,2},{s,2}, {d,3},{s,3},{d,4},{s,4},{d,5},{s,5},{d,6},{s,6},{d,7},{s, 7},{d,8},{s,8},{d,9},{s,9},{d,10},{s,10},{d,J},{s,J},{d,Q },{s,Q},{d,K},{s,K},{d,A},{s,A}}

١٩٤


‫)‪Anonymous Functions (١٠-٥-٤‬‬ ‫اﻟﺪاﻟﺔ ‪ anonymous‬ھﻰ داﻟﺔ ﻻ ﯾوﺿﻊ ﻟﮭﺎ اﺳم ﻓﻰ اﻟﺑرﻧﺎﻣﺞ وﯾﻣﻛن اﺳﺗﺧداﻣﮭﺎ ﻓﻰ ﻧﻔس اﻟﻠﺣظﺔ اﻟﺗﻰ ﻧﻧﺷﺎھﺎ‬ ‫ﻓﯿﮭﺎ ‪.‬وﻏﺎﻟﺒﺎ ﻣﺎ ﺗﺴﺘﺨﺪم اذا ﻛﺎﻧﺖ اﻟﺪاﻟﺔ ﺳﻮف ﺗﺴﺘﺨﺪم ﻣﺮة واﺣﺪة ﻓﻘﻂ ﻛﻤﺎ ﻓﻰ اﻟﺪوال ذات اﻟﺮﺗﺒﺔ اﻟﻌﺎﻟﯿﺔ ﻣﺜﻞ ‪ Map‬او‬ ‫‪.Fold‬‬ ‫وﻟﺗوﺿﯾﺢ طرﯾﻘﺔ ﻛﺗﺎﺑﺗﮭﺎ ﺑﻔرض ﺗﻌرﯾف اﻟداﻟﺔ‬

‫‪f (x)  x 2‬‬

‫‪f (x)  x 2‬‬

‫‪.‬ﻋرﻓﻧﺎ ﻣن ﻗﺑل طرﯾﻘﺔ ﺗﻌرﯾف ھذه اﻟداﻟﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪.‬ﯾﻣﻛن ﻛﺗﺎﺑﺔ اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ ﻓﻰ ﺻورة داﻟﺔ ‪ anonymous‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫&)‪ (#^2‬وذﻟك ﺑدﻻ ﻣن ‪x2‬‬

‫ﺣﯾث ﺗﺳﺗﺑدل ‪ x‬ﺑـ اﻟرﻣز ‪) #‬ﻓﻰ ﺣﺎﻟﺔ وﺟود اﻛﺛر ﻣن ﻣﺗﻐﯾر ﻓﻰ اﻟداﻟﺔ ﻧﺿﻊ‬

‫…‪ (#,#,‬وﺗوﺿﻊ اﻟﺻﯾﻐﺔ اﻟﻣﻘﺎﺑﻠﺔ ﻟـ ‪x2‬‬

‫ﺑﯾن ﻗوﺳﯾن وﯾﻠﻰ ذﻟك اﻟرﻣز‬

‫& ‪.‬وﯾﻣﻛن ﺗطﺑﯾق ھذه اﻟداﻟﺔ ﺑﺎﻻﺳﻠوب اﻟﻌﺎدى وذﻟك ﺑﻛﺗﺎﺑﺗﮭﺎ ﻣﺗﺑوﻋﺔ ﺑـ ‪ argument values‬ﻣوﺿوﻋﺔ ﺑﯾن‬ ‫ﻗوﺳﯾن ﻣرﺑﻌﯾن ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]‪(#^2)&[6‬‬ ‫‪36‬‬

‫اى اﻧﻧﺎ ﺣﺳﺑﻧﺎ ‪62‬‬

‫واﻟﺗﻰ ﯾﻣﻛن ﺣﺳﺎﺑﻬﺎ ﺑطرﯾﻘﺔ اﺧرى ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪fx_ : x2‬‬ ‫]‪f[6‬‬ ‫‪36‬‬ ‫وﻛﻣﺛﺎل اﺧر ﻋﻠﻰ ﺗطﺑﯾق داﻟﺔ ‪anonymous‬‬ ‫ﺑﻔرض اﻟﻘﺎﺋﻣﺔ اﻟﻣﺗداﺧﻠﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫}}‪aa1={{1,3,2,4},{5,8,9,1},{12,13,15‬‬ ‫}}‪{{1,3,2,4},{5,8,9,1},{12,13,15‬‬ ‫وﺑﻔرض اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‪:‬‬ ‫‪f[x_]:=x>3‬‬ ‫اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ ﺗﻘوم ﺑﺎﺧﺗﯾﺎر اﻟﻘﯾم اﻟﺗﻰ اﻛﺑر ﻣن ﺛﻼﺛﺔ ﻓﻰ ﻛل ﻗﺎﺋﻣﺔ داﺧﻠﯾﺔ ﻓﻰ اﻟﻘﺎﺋﻣﺔ‪aa1‬‬ ‫]‪Map[(Select[#,f])&,aa1‬‬ ‫}}‪{{4},{5,8,9},{12,13,15‬‬

‫اﻟداﻟﺔ ‪ nested function call‬اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫]]}‪Apply[And,Map[EvenQ,{2,3,4,5,6‬‬ ‫‪١٩٥‬‬


‫‪False‬‬ ‫ﯾﻣﻛن ﻛﺗﺎﺑﺗﮭﺎ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫}‪aa1={2,3,4,5,6‬‬ ‫}‪{2,3,4,5,6‬‬ ‫]‪(Apply[And,Map[EvenQ,#]])&[aa1‬‬ ‫‪False‬‬ ‫او ﯾﻣﻛن ﻛﺗﺎﺑﺗﻬﺎ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]‪f[x_]:=Apply[And,Map[EvenQ,x‬‬ ‫]‪f[aa1‬‬ ‫‪False‬‬ ‫اﯾﻀﺎ ﯾﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﻰ داﻟﺔ‬ ‫اﻟﻤﺜﺎل ‪:‬‬

‫‪) nested anonymous‬ﻣﺗداﺧﻠﺔ( ‪.‬ﻋﻠﻰ ﺳﺑﯾل‬

‫]}‪(Map[(#^2)&,#])&[{3,2,7‬‬ ‫}‪{9,4,49‬‬ ‫واذا ﻛﺎن ﻫﻧﺎل ﺻﻌوﺑﺔ ﻓﻰ ﻛﺗﺎﺑﺗﻬﺎ ﯾﻣﻛن اﺳﺗﺧدام اﻟداﻟﺔ ‪ Function‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Function [y,Map[Function[x,x^2],y]][{3,2,7‬‬ ‫}‪{9,4,49‬‬

‫)‪ (١١-٥-٤‬ﻗواﻋد اﻟﺗﺣوﯾل ‪Transformation Rules‬‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ وﺿﻊ ﻗﯾد ﻋﻠﻰ ﺗﻌﺑﯾر ﻣﻌﯾن وذﻟك ﺑﺎﺳﺗﺧدام ﻗﺎﻋدة ﻣﺎ ﻋﻠﯾﮫ ‪ .‬ﺳوف ﻧﺷرح اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ‬ ‫ﻟﻛﺗﺎﺑﺔ اﻟﺗﻌﺑﯾر ﺑطرﯾﻘﺗﯾن ‪:‬‬ ‫ﻓﻔﻰ اﻟطرﯾﻘﺔ اﻻوﻟﻰ ﺗﻛﺗب اﻟﺻﯾﻐﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪Expression/.Rule[ihs,rhs‬‬ ‫ﺣﯾث داﻟﺔ اﻟﻘﺎﻋدة]‪ Rule[ihs,rhs‬ﺗﻛﺗب ﻓﻰ ﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪ihs->rhs‬‬ ‫وھذه اﻟطرﯾﻘﺔ اﻻﻛﺛر ﺷﯾوﻋﺎ ﻣن اﻟطرﯾﻘﺔ اﻟﺗﺎﻟﯾﺔ ‪.‬‬ ‫ﺣﯾث ﺗﻛﺗب اﻟﺻﯾﻐﺔ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪Expression/.RuleDelayed[ihs,rhs‬‬ ‫ﺣﯾث داﻟﺔ اﻟﻘﺎﻋدة]‪ Rule[ihs,rhs‬ﺗﻛﺗب ﻓﻰ ﺻﯾﻐﺔ اﻻدﺧﺎل ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪ihs:>rhs‬‬

‫اﻟﺗﻌﺑﯾرﯾن اﻟﺳﺎﺑﻘﯾن ﻟﮭﻣﺎ ﻧﻔس اﻟﻧﺎﺗﺞ وﻟﻛن ﯾﺧﺗﻠﻔوا ﻓﻰ اوﻟوﯾﺔ اﻟﺗﻧﻔﯾذ ﻟﻠﺗﻌﺑﯾر واﻟذى ﯾﺗﺿﺢ ﻣن اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ وذﻟك ﺑﺎﺳﺗﺧدام‬ ‫اﻻﻣر ‪: Trace‬‬

‫][‪Table[x,{5}]/.xRandom‬‬ ‫‪١٩٦‬‬


{0.156218,0.156218,0.156218,0.156218,0.156218} Trace[Table[x,{5}]/.xRandom[]] {{Table[x,{5}],{x,x,x,x,x}},{{Random[],0.771537},x0.7715 37,x0.771537},{x,x,x,x,x}/. x0.771537,{0.771537,0.771537,0.771537,0.771537,0.771537} } Table[x,{5}]/.x:>Random[] {0.61346,0.913524,0.160735,0.220387,0.21172} Trace[Table[x,{5}]/.x:>Random[]] {{Table[x,{5}],{x,x,x,x,x}},{xRandom[],xRandom[]},{x,x,x,x,x }/. xRandom[],{Random[],Random[],Random[],Random[],Random[]},{Ran dom[],0.842305},{Random[],0.343925},{Random[],0.322344},{Rando m[],0.125731},{Random[],0.640212},{0.842305,0.343925,0.322344, 0.125731,0.640212}} : ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬

{a,b,c,d}/.ListPlus a+b+c+d

{a,b,c,d}/.List:>Plus a+b+c+d: ‫وﻛﻣﺛﺎل اﺧر‬ {{3,4},{7,2},{1,5}}/.{x_,y_}->{y,x} {{4,3},{2,7},{5,1}} {a,b,c}/.{cb,ba}

{a,a,b} : ‫وﻛﻣﺛﺎل اﺧر‬

10+x^2/.x->2 14 : ‫وﻛﻣﺛﺎل اﺧر‬ x^2+2y^2+3/.{x->2,y3} 25 : ‫وﻛﻣﺛﺎل اﺧر‬ {a,b,c}//.{ca,ba} ١٩٧


‫}‪{a,a,a‬‬ ‫ﺳوف ﻧﺳﺗﺧدم ﻗواﻋد اﻟﺗﺣوﯾل ﻓﻰ اﻟﺗﺣﻘق ﻣن ﺻﺣﺔ اﻟﺻﯾﻎ اﻟرﯾﺎﺿﯾﺔ‪.‬‬ ‫‪n‬‬

‫ﺑﻔرض اﻧﻧﺎ ﻧﺑﺣث ﻋن ﺻﯾﻐﺔ ﻟﺟﻣﻊ ﻣرﺑﻌﺎت ‪ n‬ﻣن اول اﻋداد ﺻﺣﯾﺣﺔ ‪ ،‬اى ﺣﺳﺎب‬

‫‪2‬‬

‫‪i‬‬

‫ﺳوﻓﻧﺑدا ﺑﻘﯾم ﺻﻐﯾرة ﻟـ ‪n‬‬

‫‪i 1‬‬

‫]}‪Sum[i^2,{i,1,2‬‬

‫‪5‬‬

‫ﻫذا اﻻﻣر ﯾﺟﻣﻊ ﻣرﺑﻌﺎت ‪ i‬واﻟﻣﺎﺧوذة ﻣن ‪ i‬ﺗﺳﺎوى واﺣد اﻟﻰ اﺛﻧﯾن اى ‪12  22‬‬ ‫]}‪Sum[i^2,{i,1,3‬‬ ‫‪14‬‬ ‫]}‪Sum[i^2,{i,1,4‬‬ ‫‪30‬‬ ‫]}‪Sum[i^2,{i,1,5‬‬ ‫‪55‬‬ ‫‪n‬‬

‫ﻣن اﻟﻣﻌروف ان ‪ n(2n  1)(n  1) / 6‬‬

‫‪2‬‬

‫‪i‬‬ ‫‪i 1‬‬

‫ﺑﻔرض اﻧﻧﺎ ﯾوﺟد ﻟدﯾﻧﺎ ﺷك ﻓﻰ ﺻﺣﺔ اﻟﺻﯾﻐﺔ اﻟﺳﺎﺑﻘﺔ ‪:‬‬ ‫‪n‬‬

‫ﺳوف ﻧﻘوم ﺑﺗوﻟﯾد ‪ 1000‬ﻋدد ﺻﺣﯾﺢ ﺛم ﻧﻘوم ﺑﺎﺳﺗﺧدام اﻻﻣر‬

‫‪2‬‬

‫‪i‬‬ ‫‪i 1‬‬

‫ﺛم اﻟﺻﯾﻐﺔ ‪n(2n  1)(n  1) / 6‬‬ ‫ﻓﻰ ﺣﺳﺎب ﻣﺟﻣوع ﻣرﺑﻌﺎت اﻻﻋداد ﻣن واﺣد اﻟﻰ اﻟف وﺳوف ﻧﺛﺑت اﻧﻬﻣﺎ ﻣﺗﺳﺎوﯾﯾن ‪.‬‬ ‫]}‪aa1=Random [Integer,{1,1000‬‬ ‫‪556‬‬ ‫]}‪Sum[i^2,{i,1,aa1‬‬ ‫‪57447866‬‬ ‫‪((2aa1+1)(aa1+1)aa1)/6‬‬ ‫‪57447866‬‬ ‫وﻟﻠﺗﺣﻘق اﻛﺛر ﺳوف ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬

‫]}‪r[x_]:=Sum[i^2,{i,1,x‬‬ ‫‪Table[(r[x]((2x+1)(x+1)x)/6)/.x‬‬‫]}‪>Random[Integer,{1,1000}],{10‬‬ ‫}‪{True,True,True,True,True,True,True,True,True,True‬‬ ‫ﺻﯾﻐﺔ اﻟﺟﻣﻊ اﻟﺗﻰ ﺗﺣﻘﻘﻧﺎ ﻣﻧﮭﺎ ﻣﻌروﻓﺔ ﺟﯾدا ﻟﻠرﯾﺎﺿﯾن وﻟﻛن اﺳﺗﺧدﻣﻧﺎھﺎ ﻓﻘط ﻟﻠﺗوﺿﯾﺢ ‪.‬‬

‫)‪ ( ١٢-٥-٤‬اﻟﺣروف وﻣﺗﺗﺎﺑﻌﺔ ﻣن اﻟﺣروف‪Strings and Character‬‬

‫‪١٩٨‬‬


‫ﯾﻣﻛن ﺗﻌرﯾف اﻟﺣروف ‪ Characters‬ﺑﺎﻧﻬﺎ اﻟـ ‪ objects‬اﻟﺗﻰ ﺗظﻬر ﻓﻰ ﺷﺎﺷﺔ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺑﯾن "" "" ﻣﺛل‬ ‫""‪ ""a‬او ""‪ ""3‬او "‪."T‬ﻋﻣوﻣﺎ ﺗﺷﻣل اﻟﺣروف اﻟﻛﺑﯾرة ‪ A,B,C,…,Z‬او اﻟﺣروف اﻟﺻﻐﯾرة ‪ a,b,c,…,a‬اﻻﻋداد‬ ‫‪ 0,1,2,…,9‬واﻟﻣﺳﺎﻓﺔ واﻟﻔﺻﻠﺔ ‪ ,‬و اﻟﻧﻘطﺔ ‪ .‬و !‬ ‫ﻋﻣوﻣﺎ اﻟﻣﺗﺗﺎﺑﻌﺔ ﻣن اﻟﺣروف ‪ Sequences Characters‬اﻟﺗﻰ ﺗوﺿﻊ ﺑﯾن "" "" ﺗﺳﻣﻰ ‪. strings‬ﻋﻧدﻣﺎ‬ ‫ﯾطﺑﻊ اﻟﺑرﻧﺎﻣﺞ ‪ strings‬ﻓﻰ اﻟﻣﺧرج ﺗظﻬر ﺑدون "" "" وﻟﻛن ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪InputForm‬‬ ‫ﻟرؤﯾﺔ " "‬ ‫"‪"Book‬‬ ‫‪Book‬‬ ‫]"‪InputForm["Book‬‬ ‫"‪"Book‬‬

‫ﯾﺟب ان ﻧﻌرف ان ‪ string‬ﻫﻰ ﻗﯾﻣﺔ ﻣﺛﻠﻬﺎ ﻣﺛل اﻟﻘﯾم اﻻﺧرى )ﻣﺛل اﻻﻋداد واﻟﻘواﺋم ( و ﯾﻣﻛن اﺳﺗﺧدام اﻻواﻣر‬ ‫ﻟﻠﺗﻌﺎﻣل ﻣﻌﻬﺎ ‪ .‬ﺗﻠك اﻟﻌﻣﻠﯾﺎت ﻣﻌروﻓﻪ ﺑﺎﺳﻣﺎﺋﻬﺎ‬ ‫]"‪StringLength["Book‬‬ ‫‪4‬‬ ‫]"‪StringReverse["abcd‬‬ ‫‪dcba‬‬ ‫]‪StringTake["abcd",3‬‬ ‫‪abc‬‬ ‫]‪StringDrop["abcd",-1‬‬ ‫‪abc‬‬ ‫]"‪StringPosition["abcd","bc‬‬ ‫}}‪{{2,3‬‬ ‫]‪StringInsert["abcd","t",3‬‬ ‫‪abtcd‬‬ ‫]"‪StringReplace["abcd","cd"->"uv‬‬ ‫‪abuv‬‬ ‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﺳﺗﺧدام اﻻواﻣر ﻓﻰ اﻟﺗﻌﺎﻣل ﻣﻊ ‪ string‬ﯾﻣﻛن ﺗﺣوﯾل ‪ string‬اﻟﻰ ﻗﺎﺋﻣﺔ ﻣن ‪characters‬‬ ‫ﺑﺎﺳﺗﺧدام اﻻﻣر‪Characters‬‬ ‫]"‪Characters["abcd‬‬ ‫}‪{a,b,c,d‬‬ ‫اﯾﻀﺎ ﯾﻤﻜﻦ اﺳﺘﺨﺪام اﻻواﻣﺮ اﻟﺘﺎﻟﯿﺔ‬ ‫]}‪Take[%,{2,3‬‬ ‫}‪{b,c‬‬ ‫]‪StringJoin[%‬‬ ‫‪bc‬‬

‫‪١٩٩‬‬


‫)‪ (١٣-٥-٤‬ﻣﻧظوﻣﺔ اﻻﺟراءات ‪Procedure‬‬ ‫ﻋﻧد ﺑﻧﺎء اﻟﺣﺳﺎﺑﺎت ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻏﺎﻟﺑﺎ ﻣﺎ ﻧﺣﺗﺎج ان ﻧرﺑط ﻣﺟﻣوﻋﺔ ﻣن اﻻواﻣر ﻣﻌﺎ وﯾﻣﻛن ان ﯾﺗم‬ ‫ذﻟك ﺑﺎﺳﺗﺧدام ﻣﻧظوﻣﺔ اﻻﺟراءات وﻫﻰ ﻋﺑﺎرة ﻋن ﻣﺗﺗﺎﺑﻌﺔ ﻣن اواﻣر اﻟﺑرﻧﺎﻣﺞ ﺑﺣﯾث ﯾﻔﺻل ﺑﯾن‬ ‫ﻛﻼ ﻣﻧﻬﻣﺎ ﻋﻼﻣﺔ اﻟﻔﺻﻠﺔ اﻟﻣﻧﻘوطﺔ‬

‫;‬

‫وﻗﯾﻣﺔ اﻻﻣر اﻻﺧﯾر ﯾﻣﺛل اﻟﻧﺎﺗﺞ اﻟﻧﻬﺎﺋﻰ ‪ .‬اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻪ ﻫو ‪:‬‬

‫…;‪Command1;Command2‬‬ ‫ﻟﻠﺘﻮﺿﯿﺢ ﺑﻔﺮض اﻟﻤﺜﺎل اﻟﺬى ﺳﺒﻖ ذﻛﺮه ﻓﻰ )‪ (٩-٥-٤‬ﻛﺘﺐ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ‪:‬‬ ‫;]‪Range[2,10‬‬ ‫;]}‪Join[Range[2,10],{j,Q,K,A‬‬ ‫;]‪Outer[List,{c,d,d,s},%‬‬ ‫]‪aa1= Flatten[%,1‬‬

‫{‪{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},‬‬ ‫‪c,j},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7‬‬ ‫‪},{d,8},{d,9},{d,10},{d,j},{d,Q},{d,K},{d,A},{d,2},{d,3},‬‬ ‫‪{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,j},{d,Q},{d‬‬ ‫}‪,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9‬‬ ‫}}‪,{s,10},{s,j},{s,Q},{s,K},{s,A‬‬ ‫ﻓﻰ ھذا اﻟﻣﺛﺎل ﻧﻼﺣظ ان ﻣﻧظوﻣﺔ اﻻﺟراءات ﺗﺗﻛون ﻣن ارﺑﻌﺔ اواﻣر ﯾﻔﺻل ﻛل ﻣﻧﮭﺎ ﻋن اﻻﺧر ﺑﻔﺻﻠﺔ ﻣﻧﻘوطﺔ‬ ‫ﻛﻣﺎ ﻧﻼﺣظ ان اﻟﻧﺎﺗﺞ اﻟﻧﮭﺎﺋﻰ ھو ﻗﯾﻣﺔ اﻻﻣر اﻻﺧﯾر ‪:‬‬ ‫ﻓﻰ ﻣﻧظوﻣﺔ اﻻﺟراءات‪.‬‬ ‫]‪aa1= Flatten[%,1‬‬

‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﺣل ﻟﮭذا اﻟﻣﺛﺎل ﺑﺗﻌرﯾف اﻟداﻟﺔ ‪ g‬واﻟﺗﻰ ﻋﻧد ادﺧﺎﻟﮭﺎ ﻻ ﻧﺣﺻل ﻋﻠﻰ ﻣﺧرج ﺣﯾث‬ ‫ﺗﺳﺗﺧدم اﻻﻗواس)(و ﻟﺗوﺿﯾﺢ ان ﻛل اﻻﺟراءات ﻣﻌﺎ ﺗﻣﺛل اﻟداﻟﺔ‬ ‫{‪g[x_,y_]:=(Flatten[Outer[List,{c,d,d,s},Join[Range[x,y],‬‬ ‫)]‪J,Q,K,A}]],1‬‬ ‫وﯾﻣﻛن اﺳﺗدﻋﺎء اﻟداﻟﺔ وﻛﺗﺎﺑﺔ اﻟﺟﺎﻧب اﻻﯾﺳر ﻣن اﻟداﻟﺔ ﻣﻌرﻓﺔ ﺑﻘﯾﻣﺔ ﻣرﻏوب ﻓﯾﻬﺎ ‪ ،‬ﻓﻔﻰ ﻣﺛﺎﻟﻧﺎ ‪:‬‬ ‫‪: x=2,y=10‬‬ ‫]‪g[2,10‬‬ ‫{‪{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},‬‬ ‫‪c,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7‬‬ ‫‪},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},‬‬ ‫‪{d,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d‬‬ ‫‪٢٠٠‬‬


‫}‪,K},{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9‬‬ ‫}}‪,{s,10},{s,J},{s,Q},{s,K},{s,A‬‬ ‫ﻋﻧد وﺿﻊ ﻗﯾﻣﺔ اﺧرى ﻟﻣﺣﺗوى اﻟداﻟﺔ ﻧﺣﺻل ﻋﻠﻰ ﻧﺗﯾﺟﺔ ﻣﺧﺗﻠﻔﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪g[2,18‬‬ ‫{‪{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},‬‬ ‫‪c,11},{c,12},{c,13},{c,14},{c,15},{c,16},{c,17},{c,18},{c‬‬ ‫}‪,J},{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7‬‬ ‫‪,{d,8},{d,9},{d,10},{d,11},{d,12},{d,13},{d,14},{d,15},{d‬‬ ‫‪,16},{d,17},{d,18},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d‬‬ ‫‪,4},{d,5},{d,6},{d,7},{d,8},{d,9},{d,10},{d,11},{d,12},{d‬‬ ‫}‪,13},{d,14},{d,15},{d,16},{d,17},{d,18},{d,J},{d,Q},{d,K‬‬ ‫‪,{d,A},{s,2},{s,3},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s‬‬ ‫‪,10},{s,11},{s,12},{s,13},{s,14},{s,15},{s,16},{s,17},{s,‬‬ ‫}}‪18},{s,J},{s,Q},{s,K},{s,A‬‬ ‫وﯾﻣﻛن ﻛﺗﺎﺑﺔ اﻟداﻟﺔ اﻟﺳﺎﺑق ﺑدون اﻗواس ﻛﺎﻟﺗﺎﻟﻰ ‪.‬‬ ‫‪g[x_,y_]:=Flatten[Outer[List,{c,d,d,s},Join[Range[x,y],{J‬‬ ‫]‪,Q,K,A}]],1‬‬ ‫]‪g[2,10‬‬ ‫‪{{c,2},{c,3},{c,4},{c,5},{c,6},{c,7},{c,8},{c,9},{c,10},{c,J},‬‬ ‫‪{c,Q},{c,K},{c,A},{d,2},{d,3},{d,4},{d,5},{d,6},{d,7},{d,8},{d‬‬ ‫‪,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{d,2},{d,3},{d,4},{d,5},{d,‬‬ ‫‪6},{d,7},{d,8},{d,9},{d,10},{d,J},{d,Q},{d,K},{d,A},{s,2},{s,3‬‬ ‫}‪},{s,4},{s,5},{s,6},{s,7},{s,8},{s,9},{s,10},{s,J},{s,Q},{s,K‬‬ ‫}}‪,{s,A‬‬

‫ﻛﺜﯿﺮا ﻣﺎ ﯾﺤﺪث ﻟﺒﺲ ﻓﻰ اﺳﻤﺎء اﻟﻤﺘﻐﯿﺮات ﻣﻊ ﺑﺮاﻣﺞ اﺧﺮى وﻟﺬﻟﻚ ﺑﻌﺪ ﻛﻞ ﺑﺮﻧﺎﻣﺞ ﯾﻔﺿل اﻣﺎ اﻟﺧروج ﻣن ﺑرﻧﺎﻣﺞ‬ ‫اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﺛم اﻟدﺧول ﻣرة اﺧرى او ﻋﻧد اﺳﺗﺧدام ﻣﻧظوﻣﺔ اﺟراءات ﻧﺟﻌل اﻟﻣﺗﻐﯾرات اﻟﻣﺳﺗﺧدﻣﺔ ﻛﻣﺗﻐﯾرات‬ ‫ﻣوﺿﻌﯾﺔ ‪ Local‬ﺑﻣﻌﻧﻰ ان ھذا اﻟﻣﺗﻐﯾرات ﺗﺣﺗﻔظ ﺑﺎﻟﻘﯾم داﺧل ﻣﻧظوﻣﺔ اﺟراءات ﻓﻘط‬ ‫وﻟﻛن ﺗﻔﻘد ھذه اﻟﻘﯾم ﺑﻌد اﻧﺗﮭﺎء اﻟﺣﺳﺎﺑﺎت ﻓﻰ اﻟﻣﻧظوﻣﺔ واﻟﺧروج ﻣﻧﮭﺎ وﯾﺗم ذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Block‬او‬ ‫اﻻﻣﺮ‪. Module‬اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣرﯾن ھﻰ ‪:‬‬ ‫]‪Block[{x,y,…},Procedure‬‬ ‫]‪Module[{x,y,…},Procedure‬‬

‫و‬

‫وذﻟك ﻟﻼﻋﻼن ان اﻟﻣﺗﻐﯾرات …‪ x,y,‬ﺗﻣﺛل ﻣﺗﻐﯾرات ﻣوﺿﻌﯾﺔ داﺧل ﻣﻧظوﻣﺔ اﻻﺟراءات‬ ‫‪.Procedure‬‬ ‫وﻋﻧد ﺗﺣدﯾد اﻟﻘﯾم اﻟﻣﺑدﺋﯾﺔ …‪ x=xo,y=yo,‬ﻟﻠﻣﺗﻐﯾرات ﻓﺎن اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻼﻣرﯾن ﺗﺻﺑﺢ ‪:‬‬

‫]‪Block[{x=xo,y=yo,… },Procedure‬‬ ‫]‪Module[{x=xo,y=yo,…},Procedure‬‬

‫و‬

‫وﻋﻠﻰ ذﻟك ﺑﺎﺳﺗﺧدام اﺣدى اﻻﻣرﯾن اﻟﺳﺎﺑﻘﯾن ﯾﻣﻛن ﺗﻌرﯾف اى ﻣﺗﻐﯾرات داﺧل ﻣﻧظوﻣﺔ اﻻﺟراءات دون اﻟﺗﺎﺛﯾر ﻋﻠﻰ اﻟﻘﯾم‬ ‫ﺑﺧﺎرج اﻟﻣﻧظوﻣﺔ وﺑﺎﻟﺗﺎﻟﻰ ﯾﻣﻛن ﺗﻌرﯾف ﻧﻔس اﻟﻣﺗﻐﯾر اﻟﻣوﺿﻌﻰ داﺧل اﻛﺛر ﻣن ﻣﻧظوﻣﺔ اﺟراءات ‪.‬‬ ‫ﻓﻣﺛﻼ ﺑﺎﻟﻧﺳﺑﺔ ﻟﻼﻣر ‪:‬‬ ‫‪٢٠١‬‬


‫‪aa1=Flatten[Outer[List,{c,d,d,s},Join[Range[2,10],{J,Q,K,‬‬ ‫]‪A}]],1‬‬ ‫وﺑﻔرض اﺳﺗﺧداﻣﮫ ﻓﻰ اﻣر اﺧر ‪:‬‬ ‫]‪Flatten[Transpose[Partitation[aa1,26]],1‬‬ ‫ﻓﺎﻧﮫ ﯾﻤﻜﻦ ﺿﻤﮭﻢ ﻣﻌﺎ ﻓﻰ ﻣﻨﻈﻮﻣﺔ ﻛﺎﻟﺘﺎﻟﻰ ‪:‬‬

‫[‪Module[{aa1},aa1=Flatten[Outer[List,{c,d,d,s},Join[Range‬‬ ‫]]‪2,10],{J,Q,K,A}]],1];Flatten[Transpose[Partition[aa1,26‬‬ ‫]]‪,1‬‬ ‫{‪{{c,2},{d,2},{c,3},{d,3},{c,4},{d,4},{c,5},{d,5},{c,6},{d,6},‬‬ ‫{‪c,7},{d,7},{c,8},{d,8},{c,9},{d,9},{c,10},{d,10},{c,J},{d,J},‬‬ ‫‪c,Q},{d,Q},{c,K},{d,K},{c,A},{d,A},{d,2},{s,2},{d,3},{s,3},{d,‬‬ ‫}‪4},{s,4},{d,5},{s,5},{d,6},{s,6},{d,7},{s,7},{d,8},{s,8},{d,9‬‬ ‫}‪,{s,9},{d,10},{s,10},{d,J},{s,J},{d,Q},{s,Q},{d,K},{s,K},{d,A‬‬ ‫}}‪,{s,A‬‬

‫)‪ (١٤-٥-٤‬اﻟدوال)اﻻواﻣر( اﻟﺷرطﯾﺔ ‪Coditional functions‬‬ ‫ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ وﻓﻰ ﺑﻧﺎء ﻣﻧظوﻣﺔ اﻻﺟراءات ﻏﺎﻟﺑﺎ ﻣﺎ ﻧﺣﺗﺎج اﻟﻰ ﺗﻧﻔﯾذ ﺑﻌض اﻟﻌﻣﻠﯾﺎت اذا ﺗﺣﻘﻘت ﺷروط ﻣﻌﯾﻧﺔ‬ ‫وﯾﺗم ذﻟك ﺑﺎﺳﺗﺧدام دوال اﻻﻧﺗﻘﺎل اﻟﻣﺷروط واﻟﻣﺳﻣﺎه ﺑﺎﻟدوال اﻟﺷرطﯾﺔ واﻟﺗﻰ ﺗﻘوم ﺑﺎﻋﺎدة اﻟﻘﯾم ﻟﺗﻌﺑﯾرات ﻣﺧﺗﻠﻔﺔ ﺑﻧﺎء ﻋﻠﻰ‬ ‫ﺷروط ‪ .‬ﺳوف ﻧﺗﻧﺎول اﻟدوال اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫داﻟﺔ ‪ If‬او اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭﺎ ھﻰ ‪:‬‬

‫] ‪ If[Cond,exp r1 ,exp 2‬واﻟﺗﻰ ﺗﻌﯾد اﻟﻘﯾﻣﺔ ﻟـ ‪ exp r1‬اذا ﻛﺎن ‪ Cond‬ﺻواب وﺗﻌﯾد اﻟﻘﯾﻣﺔ ﻟـ‪expr2 x‬‬ ‫اذا ﻛﺎن ‪ Cond‬ﻏﯾر ذﻟك ‪.‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ]‪If[n  0,5,9‬‬

‫ﺗﻌﯾد ‪ 5‬اذا ﻛﺎﻧت ﻗﯾﻣﺔ ‪ n‬اﻛﺑر ﻣن ‪ 5‬وﺗﻌﯾد ‪ 9‬ﻏﯾر‬

‫ذﻟك ‪.‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫]]‪aa1=5;aa2=9;If[aa1>aa2,Print[x],Print[y‬‬ ‫‪y‬‬ ‫ﺣﯾث ﯾﺗم ادﺧﺎل ﻗﯾم ‪ aa1,aa2‬ﺛم طﺑﺎﻋﺔ اﻟﻌدد اﻻﻛﺑر ‪.‬وﯾﻣﻛ ن ان ﯾﻛﺗ ب اﻻﻣ ر اﻟﺳ ﺎﺑق ﻋﻠ ﻰ اﻟﺻ ورة اﻟﺗﺎﻟﯾ ﺔ ﺣﯾ ث‬ ‫]‪ Print[x],Print[y‬اﺳﺗﺑدل ﺑـ]"‪. Print["x"],Print["y‬‬

‫]]"‪aa1=5;aa2=9;If[aa1>aa2,Print["x"],Print["y‬‬ ‫‪y‬‬ ‫وﻛﻣﺛﺎل اﺧر ‪:‬‬

‫]}‪g[x_]:=If[x>0,4,-4];Plot[g[x],{x,-4,4‬‬

‫‪٢٠٢‬‬


‫‪4‬‬

‫‪2‬‬

‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬

‫‪-4‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪Graphics‬‬ ‫ﺣﯾث ﺗم اﺳﺗﺧدام اﻻﻣر ‪ If‬ﻓﻰ ﺗﻌرﯾف اﻟداﻟﺔ ‪ g‬ﺛم رﺳم اﻟداﻟﺔ‪.‬‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ ﻣﺗﺗﺎﺑﻌﺔ ﻣن اﻟداﻟﺔ ‪ If‬وﻛل اﻣر ﯾﺎﺗﻰ ﻣن اﻟﺟزء اﻟﺧطﺎ ﻣن اﻻﻣر اﻟﺳﺎﺑق ﻟ ﮫ ‪.‬وﻋﻠ ﻰ ذﻟ ك‬ ‫ﻓ ﺎن ﺗرﻛﯾﺑ ﺔ اﻟﺣﺳ ﺎﺑﺎت ﺗﻣﺛ ل ﻣﺗﺗﺎﺑﻌ ﺔ ﻣ ن اﻻﺧﺗﺑ ﺎرات ﻟﻠﻣﺗﻧﺋ ﺎت ‪ Predicates‬ﺣﺗ ﻰ اﻟوﺻ ول اﻟ ﻰ واﺣ دة ﺗﻛ ون‬ ‫ﻧﺗﯾﺟﺗﮭﺎ ﺻواب‪ .‬اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﮭذه اﻟﻣﺗﺗﺎﺑﻌﺔ ﺗﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪If[Cond1 , result1 ],‬‬ ‫‪If[Cond 2, result 2 ],‬‬ ‫‪‬‬ ‫‪If[Cond n, result n ],‬‬ ‫] ‪If[True, result n 1‬‬

‫ﻓﻰ اﻟﻣﺗﺗﺎﺑﻌﺔ اﻟﺳﺎﺑﻘﺔ اذا ﺗﺣﻘ ق ‪ Cond i‬ﻓ ﻰ اﻟﻣﺗﺗﺎﺑﻌ ﺔ ﻟ ـ ‪ I f‬ﻓ ﺎن ‪result i‬‬ ‫اﻟﺷروط اﻟﺗﻰ ﻋددھﺎ ‪ n‬ﻓﺎن اﻟﺷرط ﻓﻰ اﻻﻣر ‪ If‬اﻟذى رﻗﻣﮫ ‪ n+1‬ھو ‪ True‬و ‪ result n 1‬ﺗؤﺧذ ﻛﻧﺗﯾﺟﮫ‪.‬‬

‫ﺗؤﺧ ذ ﻛﻧﺗﯾﺟ ﺔ واذا ﻟ م ﯾﺗﺣﻘ ق اى ﻣ ن‬

‫ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﯾﻣﻛن اﺳﺗﺧدم اﻻﻣر ‪ Which‬ﺑدﻻ ﻣن ‪ If‬ﻓﻰ اﻟﻣﺗﺗﺎﺑﻌ ﺔ اﻟﺳ ﺎﺑﻘﺔ ‪.‬اﻟﺻ ﯾﻐﺔ اﻟﻌﺎﻣ ﺔ ﻟﻼﻣ ر ‪ Which‬ﺳ وف‬ ‫ﺗﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪Which[Cond1 , result1 ,‬‬ ‫‪[Cond 2, result 2 ,‬‬ ‫‪‬‬ ‫‪Cond n , result n ,‬‬ ‫] ‪True, result n 1‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫‪f[x_]:=Which[x<0,x^3,x>0&&x<3,2x,True,6];Plot[f[x],{x,‬‬‫;]}‪4,4‬‬

‫‪٢٠٣‬‬


‫‪5‬‬ ‫‪2.5‬‬ ‫‪2‬‬

‫‪4‬‬

‫‪-4‬‬

‫‪-2‬‬ ‫‪-2.5‬‬ ‫‪-5‬‬ ‫‪-7.5‬‬ ‫‪-10‬‬ ‫‪-12.5‬‬

‫ﺣﯾث اﺳﺗﺧدم اﻻﻣر ‪ Which‬ﻓﻰ ﺗﻌرﯾف اﻟداﻟﺔ ]‪f[x‬ﺛم رﺳﻣﮭﺎ ‪.‬‬ ‫ﻛﻣﺛﺎل اﺧر ‪:‬‬

‫‪‬‬ ‫;‪5x, True, 5‬‬

‫‪fx_ : Whichx  0, x^2, x  0&& x  5,‬‬ ‫;‪Plotfx, x, 8, 8‬‬ ‫‪12‬‬ ‫‪10‬‬ ‫‪8‬‬ ‫‪6‬‬ ‫‪4‬‬ ‫‪2‬‬

‫‪7.5‬‬

‫‪5‬‬

‫‪-2.5‬‬

‫‪2.5‬‬

‫‪-5‬‬

‫‪-7.5‬‬

‫ﺣﯾث اﺳﺗﺧدم اﻻﻣر ‪ Which‬ﻓﻰ ﺗﻌرﯾف اﻟداﻟﺔ ]‪f[x‬ﺛم رﺳﻣﮭﺎ ‪.‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻣﺛﻠﺔ وﺿﯾﺣﯾﺔ ﻟﻠدوال اﻟﺷرطﯾﺔ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻟداﻟﺔ ‪ ApplyChar‬واﻟﺗﻰ داﻟﺔ ﻓﻰ ﻗﺎﺋﻣﺔ ﺣﯾث اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﻻ ﺑد ان ﯾﺣﺗوى ﻋﻠﻰ واﺣد‬ ‫ﻣن اﻟﺣروف "‪ "+‬او "‪ "-‬او "*" او "‪ "/‬ﺛم ﯾﺗﺑﻌﺔ ﺑﻘﯾﺔ اﻻﻋداد ﻓﻰ اﻟﻘﺎﺋﻣﺔ ‪ .‬اﻟداﻟﺔ ‪ ApplyChar‬ﺗطﺑق داﻟﺔ‬ ‫ﺑﺎﺳم اﻟﺣرف ﻋﻠﻰ اﻻﻋداد ﻓﻰ اﻟﻘﺎﺋﻣﺔ ﺑﻌد اﺳﺗﺑﻌﺎد اﻟﺣرف ﻣن اﻟﻘﺎﺋﻣﺔ ‪ ،‬اوﻻ ﺳوف ﻧﺳﺗﺧدم ‪ If‬ﻓﻰ اﻟﺣﺳﺎب ‪:‬‬

‫=‪applyChar[lis_]:‬‬ ‫‪Module[{op=First[lis],nums=Rest[lis]},‬‬ ‫‪If[op=="+",Apply[Plus,nums],‬‬ ‫‪If[op=="-",Apply[Minus,nums],‬‬ ‫‪If[op=="*",Apply[Times,nums],‬‬ ‫‪If[op=="/",Apply[Divide,nums],‬‬ ‫‪٢٠٤‬‬


Print["bad argument to applyChar"]]]]]] applyChar[{"+",1,2,3,4}] 10 : ‫ ﻓﻰ اﻟﺣﺳﺎب‬Which ‫اﻻن ﺳوف ﻧﺳﺗﺧدم‬

applyChar[lis_]:= Module[{op=First[lis],nums=Rest[lis]}, Which[op=="+",Apply[Plus,nums], op=="-",Apply[Minus,nums], op=="*",Apply[Times,nums], op=="/",Apply[Divide,nums], True,Print["bad argument to applyChar"]]] applyChar[{"+",1,2,3,4}] 10

‫ﻣﺛﺎل‬ : ‫ﻣﺛﺎل اﺧر ﻟﻠﺗوﺿﯾﺢ‬

‫{ ﻓﻰ اﻟﻣﺳﺗوى ﺣﺳب اﻟﺗﺻﻧﯾف‬x,y} ‫ واﻟﺗﻰ وظﯾﻔﺗﮭﺎ ﺗﺻﻧﯾف ﻟﻠﻧﻘطﺔ‬pointLog ‫ﺳوف ﻧﻌرف اﻟداﻟﺔ‬ : ‫اﻟﻣوﺿﺢ ﻓﻰ اﻟﺟدول اﻟﺗﺎﻟﻰ‬

‫اﻟﻧﻘطﺔ‬ {0,0} x ‫ ﻋﻠﻰ ﻣﺣور‬y=0 y ‫ ﻋﻠﻰ ﻣﺣور‬x=0 ‫اﻟرﺑﻊ اﻻول‬ ‫اﻟرﺑﻊ اﻟﺛﺎﻧﻰ‬ ‫اﻟرﺑﻊ اﻟﺛﺎﻟث‬ ‫اﻟرﺑﻊ اﻟراﺑﻊ‬

‫اﻟﺗﺻﻧﯾف‬ 0 -1 -2 1 2 3 4

٢٠٥


: ‫اﻟﺣل اﻻول ﻟﮭذا اﻟﻣﺛﺎل ھو‬

PointLog[{0,0}]:=0 PointLog[{x_,0}]:=-1 PointLog[{0,y_}]:=-2 PointLog[{x_,y_}]:=1/;x>0&&y>0 PointLog[{x_,y_}]:=2/;x<0&&y>0 PointLog[{x_,y_}]:=3/;x<0&&y<0 PointLog[{x_,y_}]:=4(*/;x>0&&y<0*) :{5,-9} ‫ﺑﺗطﺑﯾق اﻟداﻟﺔ ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ‬

PointLog[{5,-9}] 4 :If ‫اﻟﺣل اﻟﺛﺎﻧﻰ ﻟﮭذا اﻟﻣﺛﺎل ھو اﺳﺗﺧدام‬

PointLog[x_,y_]:= If[x0&&y0,0, If[y0,-1, If[x0,-2, If[x>0&&y>0,1, If[x<0&&y>0,2, If[x<0&&y<0,3,(*x>0&&y<0*)4]]]]]] :{5,-9} ‫ﺑﺗطﺑﯾق اﻟداﻟﺔ ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ‬

PointLog[-5,-9] 3 :Which ‫اﻟﺣل اﻟﺛﺎﻟث ﻟﮭذا اﻟﻣﺛﺎل ھو اﺳﺗﺧدام‬

PointLog[x_,y_]:= Which[ x0&&y0,0, y0,-1, x0,-2, x>0&&y>0,1, x<0&&y>0,2, x<0&&y<0,3, True(*x>0&&y<0*),4] :{5,-9} ‫ﺑﺗطﺑﯾق اﻟداﻟﺔ ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ‬

٢٠٦


‫]‪PointLog[-5,-9‬‬ ‫‪3‬‬

‫ﺳوف ﻧوﺿﺢ ﺧطوات اﻟﻌﻣل ﻋﻠﻰ اﻟداﻟﺔ اﻟﺳﺎﺑﻘﺔ ﻋﻧد ﺗطﺑﯾﻘﮭﺎ ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ }‪.{-5,-9‬اﻟﺧطوة اﻻوﻟﻰ ﺗﻘدﯾر ‪x==0‬‬ ‫وﺑﻣﺎ اﻧﮭﺎ ﺧطﺎ ﻓﺎن اﻟﻣراﻓق ‪ y==0‬ﻻ ﯾﻘدر ﯾﻠﻰ ذﻟك اﻟﺧطوة اﻟﺛﺎﻧﯾﺔ وھ و ﺗﻘ دﯾر ‪ y==0‬ﻓ ﻰ اﻟﺳ طر اﻟﺗ ﺎﻟﻰ وﺑﻣ ﺎ اﻧﮭ ﺎ‬ ‫ﺧطﺎ ﻧذھب اﻟﻰ اﻟﺧطوة اﻟﺛﺎﻟﺛﺔ وھﻰ ﺗﻘدﯾر ‪ x==0‬ﻓﻰ اﻟﺳطر اﻟﺛﺎﻟث وﺑﻣﺎ اﻧﮭﺎ ﺧطﺎ ﻧذھب اﻟﻰ اﻟﺧطوة اﻟراﺑﻌﺔ وﻧﻘ در‬ ‫‪ x>0‬ﻓﻰ اﻟﺳطر اﻟﺗﺎﻟﻰ وﺑﻣﺎ اﻧﮭﺎ ﺧطﺎ ﻓﺎن اﻟﻣراﻓق ‪ y>0‬ﻻ ﯾﻘدر ﯾﻠ ﻰ ذﻟ ك اﻟﺧط وة اﻟﺧﺎﻣﺳ ﺔ وھ ﻰ ﺗﻘ دﯾر ‪ x<0‬ﻓ ﻰ‬ ‫اﻟﺳطر اﻟﺗﺎﻟﻰ وﺑﻣﺎ اﻧﮭﺎ ﺻواب ﻧﻘدر‪ y>0‬وﺑﻣﺎ اﻧﮭﺎ ﺧطﺎ ﻧذھب اﻟﻰ اﻟﺧطوة اﻟﺳﺎدﺳﺔ ﺣﯾث ‪ x<0‬و‪ y<0‬واﻟﻧﺗﯾﺟﺔ‬ ‫ﺻواب وﺑﺎﻟﺗﺎﻟﻰ اﻻﺟﺎﺑﺔ ﺳوف ﺗﻛون ‪.3‬‬ ‫اﻟﺣل اﻟراﺑﻊ ﻟﮭذا اﻟﻣﺛﺎل ھو اﺳﺗﺧدام ‪ Which, If‬واﺧﺗﺻﺎر ﻓﻰ اﻟﻌﻣﻠﯾﺎت ‪:‬‬

‫=‪PointLog[x_,y_]:‬‬ ‫[‪Which‬‬ ‫‪x==0,If[y==0,0,-2],‬‬ ‫‪x>0,Which[y>0,1,‬‬ ‫‪y<0,4,‬‬ ‫‪True,-1],‬‬ ‫‪True,‬‬ ‫‪Which[y<0,3,‬‬ ‫‪y>0,2,‬‬ ‫]]‪True,-1‬‬ ‫]}‪PointLog[{-5,-9‬‬ ‫‪3‬‬ ‫واﺧﯾرا اﻟﺣل اﻟﺧﺎﻣس ﻟﮭذا اﻟﻣﺛﺎل ﻛﺎﻟﺗﺎﻟﻰ‪:‬‬

‫‪PointLog[{0,0}]:=0‬‬ ‫‪PointLog[{x_,0}]:=-1‬‬ ‫‪PointLog[{0,y_}]:=-2‬‬ ‫‪PointLog[{x_,y_}]:=If[x<0,2,1]/;y>0‬‬ ‫)*‪PointLog[{x_,y_}]:=If[x<0,3,4](*/;y<0‬‬ ‫]}‪PointLog[{-5,-9‬‬ ‫‪3‬‬

‫)‪ ( ١٥-٥-٤‬اﻟﺣﻠﻘﺎت اﻟﺗﻛ اررﯾﺔ ‪Loops‬‬ ‫‪٢٠٧‬‬


‫ﻓﻰ ﻣﻧظوﻣﺔ اﻻﺟراءات ﯾﺗم ﺗﻧﻔﯾذ ﻣﺟﻣوﻋﺔ ﻣن اﻻواﻣر وﻓﻘﺎ ﻟﺗرﺗﯾب ﻫذﻩ اﻻواﻣر داﺧل ﻣﻧظوﻣﺔ اﻻﺟراءات ‪ .‬ﻓﻰ‬ ‫ﺑﻌض اﻻﺣﯾﺎن ﻧﺣﺗﺎج اﻟﻰ ﺗﻧﻔﯾذ ﺑﻌض اﻟﻌﻣﻠﯾﺎت ﺑﺻورة ﻣﺗﻛررة داﺧل اﻟﺑراﻣﺞ ﺑﺎﺳﺗﺧدام اواﻣر ﺧﺎﺻﺔ ﺑﺎﻟﺣﻠﻘﺎت‬ ‫اﻟﻣﺗﻛررة ﺣﯾث ﺗﻌﻣل اﻟﺣﻠﻘﺎت اﻟﻣﺗﻛررة ﻋﻠﻰ ﺗﻛرار ﻣﺟﻣوﻋﺔ ﻣﺗﺗﺎﻟﯾﺔ ﻣن اﻻواﻣر ﺑﺻورة ﻣﺗﻛررة ﻟﻌدد ﻣﺣدود ﻣن‬ ‫اﻟﻣرات ﻣﻊ اﻣﻛﺎﻧﯾﺔ اﻟﺗﻐﯾﯾر اﻻوﺗوﻣﺎﺗﯾﻛﻰ ﻟﻘﯾم اﻟﻣﺗﻐﯾرات داﺧل اﻟﺣﻠﻘﺎت اﻟﺗﻛ اررﯾﺔ ‪.‬وﻣن اواﻣر اﻟﺑرﻧﺎﻣﺞ اﻟﺧﺎﺻﺔ‬ ‫ﺑﺎﻟﺣﻠﻘﺎت اﻟﺗﻛ اررﯾﺔ اﻻﻣر ‪ Do‬وﻗد ﯾﺎﺧذ اﻟﺻﯾﻐﺔ اﻟﺗﺎﻟﯾﺔ ]}‪ Do[expression,{i,imin,imax,step‬ﺣﯾث ﯾﻛرر‬ ‫‪ expression‬ﻣﻊ اﻟﻣﺗﻐﯾر ‪ i‬واﻟذى ﯾﺎﺧذ اﻟﻘﯾم ‪ mini,imin+step‬وﻫﻛذا ﺣﺗﻰ اﻟوﺻول اﻟﻰ اﻟﻘﯾﻣﺔ ‪.imax‬وﻋﻠﻰ‬ ‫ذﻟك اﻟﺣﻠﻘﺔ ﺗﻛرر ﻣﺟﻣوع ﻋدد ‪ imax-imin/step‬ﻣن اﻟﻣرات ‪.‬واﻛﺛر ﻣن ذﻟك ﻋﻧد ﺗﺟﺎﻫل اﻟﻘﻔزة ‪ step‬ﻓﺎﻧﻧﺎ‬ ‫ﻧﻌﺗﺑرﻫﺎ ﺗﺳﺎوى واﺣد ﺻﺣﯾﺢ ‪.‬وﻋﻧدﻣﺎ ﺗﻌطﻰ ‪ i,imax‬ﻓﺎن ﻛﻼ ‪ i,imin‬ﻧﻌﺗﺑرﻫم ﯾﺳﺎوﯾﺎت واﺣد ﺻﺣﯾﺢ ‪ .‬وﻗد‬ ‫ﯾﺎﺧذ اﻻﻣر‪ Do‬اﻟﺻﯾﻐﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]}‪ Do[]expr,{n‬ﺣﯾث ﯾﺗم ﺣﺳﺎب ‪ expr‬ﻋدد ‪ n‬ﻣن اﻟﻣرات ‪.‬ﻛﻣﺎ ﻗد ﯾﺎﺧذ اﻟﺻورة اﻟﺗﺎﻟﯾﺔ‬ ‫]]}‪ Do[expr,{I,imin,imax},{j,imin,imax‬ﺣﯾث ﯾﺗم ﺣﺳﺎب ‪ expr‬ﻟﻘﯾم ‪ i,j‬اﻟﻣﻌطﺎﻩ‪ .‬وﺳوف ﻧﺗﻛﻠم ﻋن اﻻﻣر‬ ‫‪ Do‬ﺑﺎﻟﺗﻔﺻﯾل ﻋﻧد اﺳﺗﺧدام طرﯾﻘﺔ ﻧﯾوﺗن ﻟﻠﺣﺻول ﻋﻠﻰ ﺟذور ﺑﻌض اﻟدوال‪.‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل ااﻣﺛﺎل ‪:‬‬ ‫]}‪Do[c=i^2;Print[c],{i,4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪9‬‬ ‫‪16‬‬ ‫ﯾﻼﺣظ اﻧﻧﺎ اﺿﻔﻧﺎ ‪ Print‬اﻟﻰ اﻻﻣر ‪ Do‬وذﻟك ﻟﻛﺗﺎﺑﺔ ﻗﯾم ‪ c=i^2‬ﻋﻧد ﺗﻐﯾﯾر ﻗﯾم ‪i‬‬ ‫ﻣن واﺣد اﻟﻰ ﺛﻼﺛﺔ ‪.‬‬ ‫ﻛﻣﺎ ﯾﻣﻛن ان ﯾﻛﺗب ﺑﺎﻟﺷﻛل اﻟﺗﺎﻟﻰ وذﻟك ﻟطﺑﻊ ﻛل اﻟﻘﯾﻣﺔ ﻣﻊ ﺧطوات ﺗﻧﻔﯾذﻫﺎ‬ ‫]}‪Do[c=i^2;Print[" c ",i," : ",c],{i,4‬‬ ‫‪c‬‬ ‫‪1‬‬ ‫‪:‬‬ ‫‪1‬‬ ‫‪c‬‬ ‫‪2‬‬ ‫‪:‬‬ ‫‪4‬‬ ‫‪c‬‬ ‫‪3‬‬ ‫‪:‬‬ ‫‪9‬‬ ‫‪c‬‬ ‫‪4‬‬ ‫‪:‬‬ ‫‪16‬‬ ‫وﻛﻣﺛﺎل اﺧر ‪:‬‬ ‫]}‪Do[c=i^2+j;Print[c],{i,3},{j,1,2‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪10‬‬ ‫‪11‬‬

‫‪٢٠٨‬‬


‫اﻻن ﺳوف ﻧﺗﻛﻠم ﻋن اﻻﻣر ‪ While‬واﻟذى ﯾﺎﺧذ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ]‪ While[cond,expression‬ﺣﯾث ‪ cond‬ﯾﻣﺛل‬ ‫اﻻﺧﺗﺑﺎر ‪ test‬او اﻟﺷرط و‪ expression‬ﯾﻣﺛل اﻟﺟﺳم ‪ . body‬ﺣﯾث ﯾﻌﻣل ﻫﻛذا ‪ :‬ﺗﻘدﯾر اﻻﺧﺗﺑﺎر واذا ﻛﺎن‬ ‫ﺻواب ﻓﺎﻧﻪ ﯾﻘدر اﻟﺟﺳم ﺛم ﯾﻛرر اﻻﺧﺗﺑﺎر ﻣرة اﺧرى ‪ ،‬اذا ﻛﺎن اﻻﺧﺗﺑﺎر ﺻواب ﻓﻌﻧدﺋذن ﯾﻘدر اﻟﺟﺳم ‪.‬‬ ‫ﯾﺳﺗﻣر ﻋﻠﻰ ﻫذﻩ اﻟطرﯾﻘﺔ ﺣﺗﻰ ﯾﺻﺑﺢ ﺗﻘدﯾر اﻻﺧﺗﺑﺎر ﺧطﺎ ‪ .‬وﯾﺟب ان ﻧﺗذﻛر ان اﻟﺟﺳم ﻗد ﻻ ﯾﻘدر )اذا ﻛﺎن‬ ‫ﺗﻘدﯾر اﻻﺧﺗﺑﺎر ﺧطﺎ ﻓﻰ اﻟﻣرة اﻻوﻟﻰ ( وﻗد ﯾﻘدر ﻣرة واﺣدة وﻗد ﯾﻘدر اﻻف ﻣن اﻟﻣرات ‪ .‬وﺳوف ﻧﺗﻛﻠم ﻋن ﻫذا‬ ‫اﻻﻣر ﺑﺎﻟﺗﻔﺻﯾل ﻋﻧد اﺳﺗﺧدام طرﯾﻘﺔ ﻧﯾوﺗن ﻟﻠﺣﺻول ﻋﻠﻰ ﺟذور ﺑﻌض اﻟدوال‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل ااﻣﺛﺎل ‪:‬‬ ‫]‪i=1;While[i<10,Print[i];i=i+2‬‬ ‫‪1‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪9‬‬

‫)‪ ( ٦-٤‬اﻟﻣﺻﻔوﻓﺎت واﻟﻣﺗﺟﻬﺎت ‪Matrices and Vectors‬‬ ‫)‪ ( ١-٦-٤‬ﻣﻘدﻣﺔ‬ ‫ﯾﻣﻛن اﺳﺗﺧدام ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻓﻰ اﺟراء اﻟﻌﻣﻠﯾﺎت اﻟرﯾﺎﺿﯾﺔ اﻟﺧﺎﺻﺔ ﺑﺎﻟﻣﺻﻔوﻓﺎت واﻟﺗﻰ ﻛﺎﻧت ﺗﺳﺗﻐرق‬ ‫اﻟﻛﺛﯾر ﻣن اﻟوﻗت وﺧﺎﺻﺔ اذا ﻛﺎﻧت اﻟﻣﺻﻔوﻓﺎت ﻓﻰ اﺑﻌﺎد ﻛﺑﯾرة ‪ . .‬وﻗﺑل اﻟﺑدء ﻓﻰ ﻋرض اﻟﻌﻣﻠﯾﺎت ﻓﻰ ﺟﺑر‬ ‫اﻟﻣﺻﻔوﻓﺎت ﻻ ﺑد ﻣن ﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺔ ‪.‬اﻟﻣﺻﻔوﻓﺔ ﻓﻰ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻋﺑﺎرة ﻋن ﻗﺎﺋﻣﺔ ﻣن ﻗواﺋم ‪list of‬‬ ‫‪ ) lists‬ﻗواﺋم ﻣﺗداﺧﻠﺔ‪ ( Nested Lists‬ﺣﯾث ﻛل ﻗﺎﺋﻣﺔ ﺗﻣﺛل ﺻف ﻣن اﻟﻣﺻﻔوﻓﺔ ‪ .‬وﻋﻠﻰ ذﻟك‬ ‫اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ﻣن اﻟﺑﻌد ‪: mxn‬‬

‫‪‬‬

‫‪a 1n ‬‬ ‫‪ a 2n ‬‬ ‫‪ a 3n ‬‬ ‫‪‬‬ ‫‪ ‬‬ ‫‪ a mn ‬‬

‫‪a 13‬‬

‫‪a12‬‬

‫‪a 23‬‬ ‫‪a 33‬‬ ‫‪‬‬

‫‪a 22‬‬ ‫‪a 32‬‬ ‫‪‬‬

‫‪a m3‬‬

‫‪a m2‬‬

‫‪ a11‬‬ ‫‪a‬‬ ‫‪ 21‬‬ ‫‪A   a 31‬‬ ‫‪‬‬ ‫‪ ‬‬ ‫‪a‬‬ ‫‪ m1‬‬

‫ﯾﻣﻛن ادﺧﺎﻟﮭﺎ ﺑﺻورة ﻗواﺋم ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫} ‪A  {{a11 ,a 12 ,...,a 1n },{a 21 ,a 22 ,...,a 2n },...,{a m1 ,a m 2 ,..., a mn‬‬ ‫ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻻﺳﺗﺧدام اﻟﺑرﻧﺎﻣﺞ ﻟﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺔ ‪:‬‬ ‫‪٢٠٩‬‬


‫‪a12 ‬‬ ‫‪a 22 ‬‬

‫‪ a11‬‬ ‫‪a‬‬ ‫‪ 21‬‬

‫ﻓﺎﻧﻧﺎ ﻧدﺧل اﻻﻣر‪:‬‬

‫‪aa1  {{a 11 , a12 },{a 21 ,a 22 ,}}.‬‬ ‫اﻻﻣر ‪ Array‬ﯾﻌطﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ‬ ‫]}‪aa1=Array[a,{2,2‬‬

‫}}]‪{{a[1,1],a[1,2]},{a[2,1],a[2,2‬‬ ‫وﺑﻣﺟرد دﺧول اﻟﻣﺻﻔوﻓﺔ ‪ A‬ﯾﻣﻛن ﺗﺣوﯾﻠﮭﺎ اﻟﻰ اﻟﺷﻛل اﻟﺗﻘﻠﯾدى )ﺻﻔوف واﻋﻣدة (‬ ‫وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ]‪. MatrixForm[A‬‬ ‫ﯾﻣﻛن ﺑﺳﮭوﻟﺔ ﺗﻛوﯾن ﻣﺻﻔوﻓﺔ ‪ 2X2‬وذﻟك ﺑﺎﺳﺗﺧدام اﻟﻘﺎﺋﻣﺔ ‪ BasicTypesetting‬واﻟﺗﻰ‬ ‫ﻧﺣﺻل ﻋﻠﯾﮭﺎ ﺑﺎﻟذھﺎب اﻟﻰ اﻻﻣر ‪ File‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟذھﺎب اﻟﻰ ‪ Palettes‬ﺛم‬ ‫اﻟﻰ ‪ BasicTypesetting‬ﻓﻧﺣﺻل ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫ﺛم ﺿﻐط ﻋﻠﻰ اﻟرﻣز‬

‫واﻟﻣﺷﺎر ﻟﻪ ﺑﺎﻟﺳﻬم‪ .‬وﻛﺑدﯾل ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﻣﺻﻔوﻓﺎت ﺑﺎى اﺑﻌﺎد وذﻟك‬

‫ﺑﺎﻟذﻫﺎب اﻟﻰ‬ ‫اﻟﻰ ‪ Input‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟذھﺎب اﻟﻰ ‪Creat Table/Matrix/Palette‬‬ ‫وﺑﺎﻟﺿﻐط ﻋﻠﯾﮭﺎ ﻛﻣﺎ ھو ﻣوﺿﺢ ﻓﯾﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪٢١٠‬‬


‫ﻧﺣﺻل ﻋﻠﻰ اﻟﺻﻧدوق اﻟﺗﺎﻟﻰ ‪:‬‬

‫واﻟذى ﻣﻧﻪ ﯾﻣﻛن ﺗﻛوﯾن ﻣﺻﻔوﻓﺎت وﺟداول و‪.Palettes‬ﻻﻧﺷﺎء ﻣﺻﻔوﻓﺔ ﻧﺧﺗﺎر ‪ Matrix‬وﻧدﺧل ﻋدد اﻟﺻﻔوف‬ ‫ﻓﻰ ﺧﺎﻧﺔ اﻟﺻﻔوف وﻋدد اﻻﻋﻣدة ﻓﻰ ﺧﺎﻧﺔ اﻻﻋﻣدة ﺛم اﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Ok‬ﻓﺗظﻬر اﻟﻣﺻﻔوﻓﺔ اﻟﻣرﻏوﺑﺔ ﻣﻛﺎن‬ ‫ﻣؤﺷر اﻟﻔﺎرة ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫ﻣﺛﺎل‬

‫‪٢١١‬‬


: ‫اﺳﺗﺧدم اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻟﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺗﯾن‬  a11 a  21  a 31

a12 a 22 a 32

a13  a 23   a 33 

:‫و‬  b11 b  21

b12

b13

b 22

b 23

b14  b 24 

: ‫اﻟﺣل‬ : ‫ﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻛﻼ اﻻﻣرﯾن‬

Table[a i, j{i,1,3},{j,1,3}] : ‫او‬

Array[a,{3,3}] :‫ﯾﺳﺗﺧدﻣﺎن ﻋﻧد ﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺔ اﻟﺗﻰ ﻋﻠﻰ اﻟﺷﻛل‬

 a11 a  21  a 31

a12 a 22 a 32

a13  a 23   a 33 

‫ ﯾﺳﺗﺧدﻣﺎن ﻟﻌرض اﻟﻧﺗﯾﺟﺔ ﻓﻰ اﻟﺷﻛل اﻟﺗﻘﻠﯾدى ﻟﻠﻣﺻﻔوﻓﺔ‬TableForm ‫ او‬MatrixForm ‫اﻻﻣر‬ . traditional matrix form Clear[a,b,aa1,aa2]

aa1  Tableai,j, i, 1, 3, j, 1, 3 a1,1, a1,2, a1,3, a2,1, a2,2, a2,3, a3,1, a3,2, a3,3 aa2=MatrixForm[aa1] a1,1 a1,2 a1,3         a a a  2,1 2,2 2,3    a a a  3,1 3,2 3,3  aa1=Array[a,{3,3}]

٢١٢


{{a[1,1],a[1,2],a[1,3]},{a[2,1],a[2,2],a[2,3]},{a[3,1],a[ 3,2],a[3,3]}} aa2=MatrixForm[aa1] a1, 1 a1, 2 a1, 3        a 2, 1 a2, 2 a2, 3      a  3, 1  a  3, 2  a  3, 3    Array ‫ﯾﻣﻛن اﺳﺗﺧدام اﻟﺑرﻧﺎﻣﺞ ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﺻﻔوﻓﺔ ﻏﯾر ﻣرﺑﻌﺔ ﺑﺎﺳﺗﺧدام اﻻﻣر‬ aa3=Array[b,{2,4}] {{b[1,1],b[1,2],b[1,3],b[1,4]},{b[2,1],b[2,2],b[2,3],b[2, 4]}} aa2=MatrixForm[aa3] b1, 1 b1, 2 b1, 3 b1, 4   b2, 1 b2, 2 b2, 3 b2, 4 :‫ﻧﺗﺎﺋﺞ ﻣﻣﺎﺛﻠﺔ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﺑﺎﺳﺗﺧدام اﻻﻣر‬

Table[b i, j{i,1, 2},{j,1, 4}] : ‫ﻋﻣوﻣﺎ اﻻﻣرﯾن‬

Table[f [i, j],{i,i max},{j, jmax}], Array[f ,{i,i max},{j, jmax}] . imax  jmax ‫ ﺗﻘﺎﺑل اﻟﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد‬nested lists ‫ﯾؤدﯾﺎن اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ ﻗواﺋم ﻣﺗداﺧﻠﺔ‬

f[1, 2]  f [1, jmax]   f[1,1]  f [2,1] f[2, 2]  f[2, jmax]           f[i max,1] f[i max, 2]  f[i m x, jmax]  : ‫اﻻﻣر‬

Table[f[i, j],{i,i min,imax,istep},{j, jmin, jmax, jstep}] : ‫ﯾﺣﺳب ﻗﺎﺋﻣﺔ اﻟﻘواﺋم‬

{f [i min, jmin], f [i min, jmin  jstep],...f [i min, jmax],..., {f [i min  istep, jmin],...,f [i min  istep, jmax]},...,{f [i max, jmin],...,f [i m ax, jmax]}}

٢١٣


‫واﻻﻣر ‪:‬‬ ‫]‪Table[f[i, j,k,...],{i,i min,i max,istep},{j, jmin, jmax, jstep},{k,k min,k max,kstep},...‬‬

‫ﯾﺣﺳب ﻗﺎﺋﻣﺔ ﻣﺗداﺧﻠﺔ ‪ .‬اﻟﻘﺎﺋﻣﺔ اﻟﺧﺎﺻﺔ ﺑـ ‪ i‬ﻫﻰ اﻻﻛﺛر ﺷﯾوﻋﺎ ‪.‬اذا ﺣذف ‪ istep‬ﻓﺎن اﻟﻘﻔزة ﺳوف ﺗﻛون واﺣد‬ ‫ﺻﺣﯾﺢ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﻋرف اﻟﻣﺻﻔوﻓﺔ ‪ A‬ﻣن اﻟﺑﻌد ‪ 3  4‬ﺣﯾث اﻟﻌﻧﺻر ‪ a ij‬ﻓﻰ اﻟﺻف ‪ ith‬واﻟﻌﻣود ‪ jth‬ﻫو اﻟﻘﯾﻣﺔ‬ ‫اﻟﻌددﯾﺔ ﻟـ ‪. 9i  j‬‬ ‫اﻟﺣل ‪:‬‬ ‫ﺑﻌد ﺣذف ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺗﻰ ﺗﺧص ‪ a‬اذا ﻛﺎﻧت ﻣوﺟودة ﻓﺎﻧﻧﺎ ﻧﻌرف ]‪ a[i, j‬ﻫو اﻟﻘﯾﻣﺔ اﻟﻌددﯾﺔ ﻟـ‬

‫‪ 9 i  j‬ﺛم ﻧﺳﺗﺧدم ‪ Array‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪3  4‬‬ ‫]‪Clear[a,aa1‬‬ ‫‪a[i_,j_]:=9i+j‬‬ ‫]}‪aa1=Array[a,{3,4‬‬ ‫}}‪{{10,11,12,13},{19,20,21,22},{28,29,30,31‬‬ ‫]‪MatrixForm[aa1‬‬ ‫‪10 11 12 13 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪19‬‬ ‫‪20‬‬ ‫‪21‬‬ ‫‪22‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪28‬‬ ‫‪29‬‬ ‫‪30‬‬ ‫‪31‬‬ ‫‪‬‬ ‫‪‬‬

‫ﻣﺛﺎل‬ ‫ﻋرف اﻟﻣﺻﻔوﻓﺔ اﻟﻘطرﯾﺔ اﻟﺗﺎﻟﯾﺔ‪:‬‬

‫‪0 0 0‬‬ ‫‪b 0 0‬‬ ‫‪‬‬ ‫‪0 c 0‬‬ ‫‪‬‬ ‫‪0 0 d‬‬

‫اﻟﺣل ‪:‬‬ ‫‪٢١٤‬‬

‫‪a‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬


‫اﻟﻣﺻﻔوﻓﺔ ‪:‬‬

‫‪0 0 0‬‬ ‫‪b 0 0‬‬ ‫‪‬‬ ‫‪0 c 0‬‬ ‫‪‬‬ ‫‪0 0 d‬‬

‫‪a‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬

‫ﺗﻣﺛل ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪ 4  4‬واﻻﻣر ]}‪DiagonalMatrix[{a,b,c,d‬‬

‫ﯾﺳﺗﺧدم ﻟﻠﺣﺻول ﻋﻠﻰ ﻫذﻩ‬

‫اﻟﻣﺻﻔوﻓﺔ ‪.‬‬ ‫]}‪aa1=DiagonalMatrix[{a,b,c,d‬‬ ‫}}‪{{a,0,0,0},{0,b,0,0},{0,0,c,0},{0,0,0,d‬‬ ‫]‪MatrixForm[aa1‬‬ ‫‪a 0 0 0‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪0 b 0 0‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪c‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪0 0 0 d‬‬ ‫ﻟﺣﺳﺎب ﻣﺟﻣوع ﻋﻧﺎﺻر اﻟﻘطر اﻟرﺋﯾﺳﻰ ﻓﻰ اﻟﻣﺻﻔوﻓﺔ اﻟﻣرﺑﻌﺔ ‪ A‬ﻣن اﻟرﺗﺑﺔ ‪ n  n‬ﯾﺳﺗﺧدم اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪ . Sum[f[I,j],{I,n‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬ ‫]}‪aa1=DiagonalMatrix[{2,3,4,5‬‬ ‫]}‪Sum[aa1[[i,i]],{i,4‬‬ ‫}}‪{{2,0,0,0},{0,3,0,0},{0,0,4,0},{0,0,0,5‬‬ ‫‪14‬‬

‫ﻣﺛﺎل‬

‫ﻋرف اﻟﻣﺻﻔوﻓﺔ اﻟﺻﻔرﯾﺔ اﻟﺗﺎﻟﯾﺔ‪:‬‬

‫‪0 0 0‬‬ ‫‪0 0 0‬‬ ‫‪‬‬ ‫‪0 0 0‬‬ ‫‪‬‬ ‫‪0 0 0‬‬

‫اﻟﺣل ‪:‬‬ ‫اﻟﻣﺻﻔوﻓﺔ ‪:‬‬ ‫‪٢١٥‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬


0 0  0  0

0 0 0 0 0 0  0 0 0  0 0 0

. ‫ ﯾﺳﺗﺧدم ﻟﻠﺣﺻول ﻋﻠﻰ ﻫذﻩ اﻟﻣﺻﻔوﻓﺔ‬Table[0,{i,4},{j,4}] ‫ واﻻﻣر‬4  4 ‫ﺗﻣﺛل ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد‬ aa1=Table[0,{i,4},{j,4}] {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}} MatrixForm[aa1] 0 0 0 0       0 0 0 0         0 0 0 0     0 0 0 0

‫ﻣﺛﺎل‬ :‫ﻋرف ﻣﺻﻔوﻓﺔ اﻟوﺣدة اﻟﺗﺎﻟﯾﺔ‬

1 0 0   0 1 0    0 0 1 

: ‫اﻟﺣل‬ : ‫اﻟﻣﺻﻔوﻓﺔ‬

1 0 0  ‫ ﯾﺳﺗﺧدم‬IdentityMatrix[n] ‫ واﻻﻣر‬3  3 ‫ ﻣن اﻟﺑﻌد‬identity ‫ ﺗﻣﺛل ﻣﺻﻔوﻓﺔ اﻟوﺣدة‬ 0 1 0     0 0 1  . ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻫذﻩ اﻟﻣﺻﻔوﻓﺔ‬ aa1=IdentityMatrix[3] {{1,0,0},{0,1,0},{0,0,1}} MatrixForm[aa1] 1 0 0        0 1 0     0 0 1

٢١٦


‫ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ وذﻟك ﺑﺎﻟذﻫﺎب اﻟﻰ ‪ Input‬ﻣن ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟذھﺎب‬ ‫‪ Creat Table/Matrix/Palette‬وﺑﺎﻟﺿﻐط ﻋﻠﯾﮭﺎ ﻧﺣﺻل ﻋﻠﻰ اﻟﺻﻧدوق اﻟﺗﺎﻟﻰ‬ ‫وﺑﺎﺧﺗﯾﺎر ‪ Matrix‬وﺑوﺿﻊ ‪ 3‬ﻓﻰ ﺧﺎﻧﺔ ﻋدد اﻟﺻﻔوف ‪ Number of Rows‬و‪ 3‬ﻓﻰ ﺧﺎﻧﺔ‬ ‫‪ Number of Columns‬ﻋدد اﻻﻋﻣدة و ‪ 0‬ﻓﻰ ﺧﺎﻧﺔ ‪ Fill with :‬و ‪1‬‬ ‫ﻓﻰ ﺧﺎﻧﺔ ‪. Fill diagonal :‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ Ok‬ﯾﻣﻛن ﻟﺣﺻول ﻋﻠﻰ اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ﻣﻛﺎن ﻣؤﺷر اﻟﻔﺎرة ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫‪  ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪   ‬‬ ‫‪   ‬‬ ‫واﻟﺗﻰ ﺑﻌد ﻣﻠﺋﻬﺎ ﺗﺻﺑﺢ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪1 0 0‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬

‫ﻣﺛﺎل‬ ‫‪٢١٧‬‬


‫ﻛون ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪ 4  4‬ﺣﯾث ﻋﻧﺎﺻرﻫﺎ ﺗﺧﺗﺎر ﻋﺷواﺋﯾﺎ وﺗﻛون اﻋداد ﺻﺣﯾﺣﺔ ﺑﯾن ‪.-6,6‬‬ ‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم ‪ Table , Random , Integer‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻫذﻩ اﻟﻣﺻﻔوﻓﺔ ‪ .‬وﻋﻧد ادﺧﺎل اﻻﻣر اﻟﺗﺎﻟﻰ ﻓﺎن‬ ‫ﻧﺗﯾﺟﺗﻧﺎ داﺋﻣﺎ ﻋﻧد اﻋﺎدة ﻛﺗﺎﺑﺔ اﻻﻣر ﺗﺧﺗﻠف ﻻن اﺧﺗﯾﺎر اﻻﻋداد ﯾﺗم ﻋﺷواﺋﻰ ‪.‬‬ ‫]}‪aa1=Table[Random[Integer,{-6,6}],{4},{4‬‬ ‫}}‪{{-1,4,-3,2},{-3,2,-6,0},{-3,-5,-6,-2},{-1,2,-2,-1‬‬ ‫]‪MatrixForm[aa1‬‬ ‫‪1 4  3 2 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪3 2  6 0 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪‬‬ ‫‪5‬‬ ‫‪‬‬ ‫‪6‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﺻﻔوﻓﺔ ﻣﺛﻠﺛﯾﺔ ﺳﻔﻠﻰ ‪ Lower Triangular‬ﻋﻧﺎﺻرﻫﺎ ﻓﻰ اﺳﻔل اﻟﻘطر ‪ 1‬وﺧﻼف ﻟك ﺻﻔر‪.‬‬ ‫ﯾﺳﺗﺧدم اﻻﻣر ‪ .Table‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻟﺗﻛوﯾن ﻣﺻﻔوﻓﺔ ﻣﺛﻠﺛﯾﺔ ﺳﻔﻠﻰ ﻣن اﻟﺑﻌد ‪ 4  4‬ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Table[If [i>=j,1,0],{i,4},{j,4‬‬ ‫}}‪{{1,0,0,0},{1,1,0,0},{1,1,1,0},{1,1,1,1‬‬

‫]‪TableForm[%‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻣﺻﻔوﻓﺔ ﻣﺛﻠﺛﯾﺔ ﻋﻠﯾﺎ ‪ Upper Triangular‬ﻋﻧﺎﺻرﻫﺎ ﻓﻰ اﻋﻠﻰ اﻟﻘطر ‪ 1‬وﺧﻼف ﻟك ﺻﻔر‪.‬‬ ‫ﯾﺳﺗﺧدم اﻻﻣر ‪ .Table‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻟﺗﻛوﯾن ﻣﺻﻔوﻓﺔ ﻣﺛﻠﺛﯾﺔ ﻋﻠﯾﺎ ﻣن اﻟﺑﻌد ‪ 4  4‬ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Table[If [i<=j,1,0],{i,4},{j,4‬‬ ‫}}‪{{1,1,1,1},{0,1,1,1},{0,0,1,1},{0,0,0,1‬‬ ‫]‪TableForm[%‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬

‫ﻓﻰ اﻟﺑرﻧﺎﻣﺞ اﻟﻣﺗﺟﻪ ﻫو ﻗﺎﺋﻣﺔ ﻣن اﻻﻋداد وﻋﻠﻰ ذﻟك ﯾدﺧل ﺑﻧﻔس طرﯾﻘﺔ ادﺧﺎل اﻟﻘواﺋم ‪.‬ﻻﺳﺗﺧدام اﻟﺑرﻧﺎﻣﺞ ﻓﻰ‬ ‫ﺗﻌرﯾف ﻣﺗﺟﻪ ‪ aa1‬ﻋﻠﻰ اﻟﺷﻛل ) ‪ (a1 ,a 2 ,a 3 ,a 4 ,a 5‬ﻧدﺧل ) ‪ . aa1  (a1,a 2 ,a 3 ,a 4 ,a 5‬ﺑﻧﻔس اﻟﺷﻛل‬ ‫ﻟﺗﻌرﯾف ﻣﺗﺟﻪ ﻋﻣود ﻋﻠﻰ اﻟﺷﻛل ‪:‬‬

‫‪٢١٨‬‬


‫‪ a1 ‬‬ ‫‪ ‬‬ ‫‪ a2 ‬‬ ‫‪ a3 ‬‬ ‫‪ ‬‬ ‫‪ a4 ‬‬ ‫‪ a5 ‬‬ ‫‪ ‬‬ ‫‪ a6 ‬‬ ‫ﻧدﺧل ) ‪ aa1  (a1,a 2 ,a 3 ,a 4 ,a 5‬او )} ‪. aa1  ({a1},{a 2 },{a 3 },{a 4 },{a 5‬‬ ‫ﻟﻠﻣﺗﺟﺔ ‪ 2  1‬ﯾﻣﻛن اﺳﺗﺧدام اﻟرﻣز‬

‫ﻣن ‪ .BasicTypesetting Palette‬اﻟﺑرﻧﺎﻣﺞ ﻻﯾﺣﺗﺎج ﻟﻠﺗﻔرﯾق‬

‫اﻟﺻف واﻟﻌﻣود ﻓﻰ اﻟﻛﺗﺎﺑﺔ طﺎﻟﻣﺎ اﻟﺣﺳﺎﺑﺎت ﻋرﻓت ﺟﯾدا ﻟﻠﻣﺗﺟﻬﺎت واﻟﻣﺻﻔوﻓﺎت ‪.‬‬ ‫ﻟﺗﻛوﯾن ﻣﺻﻔوﻓﺔ ﻋﻠﻰ ﺷﻛل ﺻف ﺑﻪ ‪ n‬ﻣن اﻟﻌﻧﺎﺻر ﻋﻠﻰ اﻟﺻورة ]‪ f[i‬ﻧﺳﺗﺧدم اﻻﻣر ]‪. Array[f,n‬‬ ‫‪.‬‬

‫ﻣﺛﺎل‬ ‫ﻛون ﻗﺎﺋﻣﺔ ﺗﺣﺗوى ﻋﻠﻰ ﺻف ﻣن ‪10‬ﻋﻧﺎﺻر ‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫]‪Array[f,9‬‬ ‫}]‪{f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9‬‬

‫ﻣﺛﺎل‬ ‫ﻋرف اﻟﻣﺗﺟﻬﯾن اﻟﺗﺎﻟﯾﯾن‪:‬‬

‫‪2‬‬ ‫‪4‬‬ ‫‪ ‬‬ ‫‪ 5 ‬‬ ‫‪g    ,d   5 5 5 5 5 5‬‬ ‫‪9‬‬ ‫‪6‬‬ ‫‪ ‬‬ ‫‪8‬‬ ‫اﻟﺣل ‪:‬‬ ‫‪٢١٩‬‬


‫}‪g={2,4,-5,9,6,8‬‬ ‫}‪{2,4,-5,9,6,8‬‬ ‫}}‪g={{2},{4},{-5},{9},{6},{8‬‬ ‫}}‪{{2},{4},{-5},{9},{6},{8‬‬ ‫]‪MatrixForm[g‬‬ ‫‪2 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪4 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪5‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪9‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪6‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 8 ‬‬ ‫]}‪aa2=Table[5,{6‬‬ ‫}‪{5,5,5,5,5,5‬‬

‫ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﻟـ ‪aa2‬‬

‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ وذﻟك ﺑﺎﻟذﻫﺎب‪ Input‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟذھﺎب‬

‫‪ Creat Table/Matrix/Palette‬وﺑﺎﻟﺿﻐط ﻋﻠﯾﮭﺎ ﻧﺣﺻل ﻋﻠﻰ اﻟﺻﻧدوق اﻟﺗﺎﻟﻰ ‪:‬‬

‫وﺑﺎﻟﺿ ﻐط ﻋﻠ ﻰ ‪ Matrix‬وﺑوﺿ ﻊ ‪ 1‬ﻓ ﻰ ﺧﺎﻧ ﺔ ‪ Number of Rows‬و ‪ 5‬ﻓ ﻰ ﺧﺎﻧ ﺔ‬ ‫‪ Columns‬و ‪ Fill with :0‬و ‪.Fill Diagonal :1‬‬

‫‪Number of‬‬

‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ OK‬ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﻣﺗﺟﻪ اﻟﺗﺎﻟﻰ ﻣﻛﺎن ﻣؤﺷر اﻟﻔﺎرة ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪.‬‬ ‫‪ .       ‬واﻟﺗﻰ ﺑﻌد ﻣﻠﺋﻪ ﯾﺻﺑﺢ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪5 5 5 5 5‬‬ ‫‪٢٢٠‬‬


‫)‪ ( ٢-٦-٤‬اﺳﺗﺧﻼص )اﺳﺗﺧراج (ﻋﻧﺎﺻر ﻣن اﻟﻣﺻﻔوﻓﺎت ‪Extracting‬‬ ‫‪Elements of Matrices‬‬ ‫ﻓﻰ اﻟﻣﺻﻔوﻓﺔ}}‪ g  {{a11,a12},{a 21 ,a 22‬ذات اﻟﺑﻌد ‪ 2  2‬ﻓﺎن ]]‪g[[1‬‬ ‫ﯾﻌطﻰ اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟﻣﺻﻔوﻓﺔ ‪ g‬او اﻟﻘﺎﺋﻣﺔ }‪ {a11,a12‬او اﻟﺻف اﻻول ﻣن ‪ . g‬اﯾﺿﺎ ]]‪g[[2,1‬‬ ‫ﯾﻌطﻰ اﻟﻌﻧﺻر اﻻول ﻣن ﻣن اﻟﺻف اﻟﺛﺎﻧﻰ ﻣن اﻟﻣﺻﻔوﻓﺔ ‪ g‬اى ‪ . a 21‬ﻋﻣوﻣﺎ اذا ﻛﺎﻧت ‪ g‬ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد‬ ‫‪ m  n‬ﻓﺎن ]]‪ g[[i, j‬او ]‪ Part[g,i,j‬ﯾﻌطﻰ اﻟﻌﻧﺻر اﻟوﺣﯾد ﻓﻰ اﻟﺻف ‪ ith‬اﻟﻌﻣود ‪ . jth‬واﻛﺛر ﺗوﺿﯾﺣﺎ‬ ‫ﻓﺎن ‪:‬‬ ‫]]‪ g[[i, j‬ﯾﻌطﻰ اﻟﺟزء ‪ jth‬ﻣن اﻟﺟزء ‪ ith‬ﻣن ‪ . g‬ﻋﻣوﻣﺎ ]]‪ list[[i‬او ]‪ Part[list,i‬ﺗﻌطﻰ اﻟﺟزء ‪ ith‬ﻣن‬ ‫اﻟﻘﺎﺋﻣﺔ و ]]‪ list[[i, j‬او ]]‪ Part[list,i, j‬ﺗﻌطﻰ اﻟﺟزء ‪ jth‬ﻣن اﻟﺟزء ‪ ith‬ﻣن اﻟﻘﺎﺋﻣﺔ ‪.list‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪5 4 2‬‬ ‫‪A   9 1 4 ‬‬ ‫‪ 9 8 3 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫اﺳﺗﺧﻠص اﻟﺻف اﻟﺛﺎﻧﻰ ﻣن اﻟﻣﺻﻔوﻓﺔ ‪ A‬و اﺳﺗﺧﻠص اﻟﻌﻧﺻر اﻻول ﻣن اﻟﺻف اﻟﺛﺎﻧﻰ‬ ‫ﻣن اﻟﻣﺻﻔوﻓﺔ ‪ A‬و اﻋرض اﻟﻣﺻﻔوﻓﺔ ‪ A‬ﻓﻰ اﻟﺷﻛل اﻟﺗﻘﻠﯾدى ‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﺣﯾث] ]‪ aa1[[2‬ﺗؤدى اﻟﻰ ﻋرض اﻟﺻف اﻟﺛﺎﻧﻰ ﻣن اﻟﻣﺻﻔوﻓﺔ و‬ ‫]]‪ aa1[[2,1‬ﺗؤدى اﻟﻰ اﻟﺣﺻول ﻋﻠﻰ اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟﺻف اﻟﺛﺎﻧﻰ ﻣن اﻟﻣﺻﻔوﻓﺔ ‪.‬‬ ‫}}‪aa1={{5,4,2},{9,1,4},{9,-8,2‬‬ ‫}}‪{{5,4,2},{9,1,4},{9,-8,2‬‬ ‫]]‪aa1[[2‬‬ ‫}‪{9,1,4‬‬ ‫]]‪aa1[[2,1‬‬ ‫‪9‬‬ ‫]‪MatrixForm[aa1‬‬

‫‪٢٢١‬‬


‫‪5 4 2‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪9 1 4‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 9 8 2 ‬‬ ‫ﯾﺳﺗﺧدم اﻻﻣر ]‪ Transpose[A‬ﻟﺗﻐﯾﯾر اﻟﺻﻔوف واﻻﻋﻣدة اى ﻟﺣﺳﺎب ﻣدور اﻟﻣﺻﻔوﻓﺔ ‪. A‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪5 4 2‬‬ ‫‪A   9 1 4 ‬‬ ‫‪ 9 8 2 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫اوﺟد ﻣدور اﻟﺻﻔوﻓﺔ واﺳﺗﺧﻠص اﻟﺻف اﻻول و اﻟﻌﻣود اﻻول واﻟﺻف اﻟﺛﺎﻟث واﻟﻌﻣود اﻟﺛﺎﻟث ﻣن اﻟﻣﺻﻔوﻓﺔ‬

‫‪.A‬‬ ‫اﻟﺣل ‪:‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧﻌرف اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﺛم ﻧﺳﺗﺧدم ‪ Transpose‬ﻻﯾﺟﺎد ﻣدور اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﺛم ﻧﺳﺗﺧدم‬ ‫اﻻﻣر ‪:‬‬ ‫]]‪aa1[[1‬‬

‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﺻف اﻻول ﺛم اﻻﻣر‪:‬‬ ‫]]‪Transpose[aa1][[1‬‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻌﻣود اﻻول وﻧﻔس اﻟﺷﺊ‬ ‫ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﺻف اﻟﺛﺎﻟث واﻟﻌﻣود اﻟﺛﺎﻟث ‪.‬‬

‫‪٢٢٢‬‬


‫}}‪aa1={{5,4,2},{9,1,4},{9,-8,2‬‬ ‫}}‪{{5,4,2},{9,1,4},{9,-8,2‬‬ ‫]‪aa2=Transpose[aa1];MatrixForm[aa2‬‬ ‫‪5 9 9 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪8 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪‬‬ ‫]]‪aa1[[1‬‬ ‫}‪{5,4,2‬‬ ‫]]‪Transpose[aa1][[1‬‬ ‫}‪{5,9,9‬‬ ‫]]‪aa1[[3‬‬ ‫}‪{9,-8,2‬‬ ‫]]‪Transpose[aa1][[3‬‬ ‫}‪{2,4,2‬‬ ‫اواﻣر اﺧري ﺗﺧص اﻟﻣﺻﻔوﻓﺎت ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﻣن اﻟﺣزم اﻟﺟﺎﻫزة‬

‫‪ MatrixManipulation‬اﻟﻣوﺟودة ﻓﻰ دﻟﯾل ‪Linear Algebra‬‬

‫وﯾﻣﻛن ﻣن اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ اﻟﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت ﻋن ﻫذﻩ اﻟﺣزﻣﺔ واﻣﺛﻠﺔ ‪.‬‬

‫‪٢٢٣‬‬


‫ﻟﺗﺣﻣﯾل ﻫذﻩ اﻟﺣزﻣﺔ ﻧﻛﺗب اﻟﺗﺎﻟﻰ ‪:‬‬ ‫"‪<<LinearAlgebra'MatrixManipulation‬‬ ‫ﯾﻣﻛن اﺳﺗﺧدام اواﻣر ﻣﺛل ‪ TakeCplumns‬او ‪ TakeRows‬وذﻟك ﻻﺳﺗﺧﻼص اﻋﻣدة او ﺻﻔوف ﻣن‬ ‫اﻟﻣﺻﻔوﻓﺔ اﻟﻣﻌطﺎﻩ ‪ .‬ﺑﺎدﺧﺎل ‪:‬‬ ‫`‪<<LinearAlgebra`MatrixManipulation‬‬ ‫}}‪aa1={{5,4,2},{9,1,4},{9,-8,2‬‬ ‫}}‪{{5,4,2},{9,1,4},{9,-8,2‬‬ ‫‪TakeColumns[aa1,{2}]//MatrixForm‬‬ ‫‪4 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 1 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 8 ‬‬ ‫ﻧﺣﺻل ﻋﻠﻰ اﻟﻌﻣود اﻟﺛﺎﻧﻰ وﻋرض اﻟﻧﺎﺗﺞ ﻓﻰ اﻟﺻورة اﻟﺗﻘﻠﯾدﯾﺔ ﻟﻠﻌﻣود ‪.‬‬ ‫وﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﻌﻣود اﻻول و اﻟﺛﺎﻧﻰ وﻋرض اﻟﻧﺎﺗﺞ ﻓﻰ اﻟﺻورة اﻟﺗﻘﻠﯾدﯾﺔ ﻟﻠﻣﺻﻔوﻓﺔ وذﻟك ﺑﺎدﺧﺎل ‪:‬‬ ‫‪TakeColumns[aa1,{1,2}]//MatrixForm‬‬

‫‪5 4 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪9‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 9 8 ‬‬ ‫‪٢٢٤‬‬


‫)‪ (٣-٦-٤‬اﻟﺣﺳﺎﺑﺎت اﻻوﻟﯾﺔ ﻋﻠﻰ اﻟﻣﺻﻔوﻓﺎت واﻟﻣﺗﺟﻬﺎت‬ ‫‪Basic Computation with Matrices and Vectors‬‬ ‫ﯾﻘدم ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻛل اﻟﻌﻣﻠﯾﺎت اﻟﻌﺎدﯾﺔ اﻟﺗﻰ ﺗﺟرى ﻋﻠﻰ اﻟﻣﺻﻔوﻓﺎت ‪ .‬ﻓﻌﻠﻰ ﺳﺑﯾل ﻟﻣﺛﺎل ﺟﻣﻊ‬ ‫‪(A+B) Matrix addition‬‬

‫وﺿرب اﻟﻣﺻﻔوﻓﺔ ﻓﻰ ﺛﺎﺑت ‪(kB) Scale multiplication‬‬

‫وﺿرب ﻣﺻﻔوﻓﺗﯾن ‪ (AB) Multiplication Matrix‬واﻟﺟﻣﻊ ﺑﯾن ﺗﻠك اﻟﻌﻣﻠﯾﺎت ﻣﺗﺎﺣﺔ ﻓﻰ اﻟﺑرﻧﺎﻣﺞ‪.‬‬

‫اﻟﻣدور ﻟﻠﻣﺻﻔوﻓﺔ ‪ A‬ﻫو ‪A‬‬

‫و ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻪ ﺣﯾث ﺗﺣول اﻟﺻﻔوف ﻓﻰ‬

‫اﻟﻣﺻﻔوﻓﺔ ‪ A‬اﻟﻰ اﻋﻣدة وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر‪.Transpos‬‬ ‫اذا ﻛﺎﻧت اﻟﻣﺻﻔوﻓﺔ ﻣرﺑﻌﺔ ﻓﯾﻣﻛن اﯾﺟﺎد اﻟﻣﺣدد ‪ Determinant‬ﻟﻬﺎ ﺑﺎﺳﺗﺧدام اﻻﻣر]‪.De[A‬‬

‫اذا ﻛﺎﻧت ‪ A,B‬ﻣﺼﻔﻮﻓﺘﺎن ﻣﻦ اﻟﺒﻌﺪ ‪n  n‬‬ ‫‪1‬‬ ‫ﻟﻠﻣﺻﻔوﻓﺔ ‪ A‬وﯾﺮﻣﺰ ﻟﮫ ﺑﺎﻟﺮﻣﺰ ‪ A‬وﯾﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﯿﮫ ﻣﻦ اﻻﻣﺮ ]‪. Inverse[A‬‬

‫ﯾﺤﻘﻘﺎن اﻟﺸﺮط ‪ AB  BA  I‬ﻓﺎن ‪ B‬ﯾﺴﻤﻰ اﻟﻤﻌﻜﻮس‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪5 4 2‬‬ ‫‪A   9 1 4 ‬‬ ‫‪ 9 8 2 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫واﻟﻣﺻﻔوﻓﺔ ‪:‬‬

‫‪ 4 5 6‬‬ ‫‪B   7 8 9 ‬‬ ‫‪ 10 5 2 ‬‬ ‫‪‬‬ ‫‪‬‬

‫اﺣﺳب ‪ A  B‬و ‪ A  B‬و اﻟﻣﻌﻛوس ﻟﻠﻣﺻﻔوﻓﺔ ‪ AB‬و اﻟﻣﺣدد ﻟﻠﻣﺻﻔوﻓﺔ ‪A.B‬‬ ‫اﻟﺣل ‪:‬‬ ‫;}}‪aa1={{5,4,2},{9,1,4},{9,-8,2‬‬ ‫;}}‪aa2={{4,5,6},{7,8,9},{10,5,2‬‬ ‫‪aa1+aa2//MatrixForm‬‬

‫‪٢٢٥‬‬


9 9 8        16 9 13      19  3 4  aa1-aa2//MatrixForm 1 1  4        2 7  5       1  13 0   Inverse[aa1.aa2]//N {{0.797917,-0.641667,0.735417},{-2.42083,1.98333,2.04583},{1.55625,-1.275,1.24375}} MatrixForm[%] 0.797917  0.641667 0.735417         2.42083 1.98333  2.04583      1.55625  1.275 1.24375   Det[aa1.aa2] -480

‫ﻣﺛﺎل‬ : ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺗﺎن اﻟﺗﺎﻟﯾﺔ‬

 2 3 4 4 A , 1 5 6 7  

2 3 B=  5  6

1 1 3 2  2 1  4 3 . AB, BA ‫اﺣﺳب‬

:‫اﻟﺣل‬ . 2  3 ‫ ﺳوف ﺗﻛون ﻓﻰ اﻟﺑﻌد‬AB ‫ ﻓﺎن اﻟﻣﺻﻔوﻓﺔ‬4  3 ‫ ﻣن اﻟﺑﻌد‬B ‫ واﻟﻣﺻﻔوﻓﺔ‬2  4 ‫ ﻣن اﻟﺑﻌد‬A ‫ﻻن‬ ‫ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﻟذھﺎب اﻟﻰ‬Input ‫ وذﻟك ﺑﺎﻟذﻫﺎب اﻟﻰ‬aaa ‫ ﺳوف ﻧﻌرف اﻟﻣﺻﻔوﻓﺔ‬:‫اوﻻ‬ ‫ وﺑﺎﻟﺿﻐط ﻋﻠﯾﮭﺎ ﻧﺣﺻل ﻋﻠﻰ اﻟﺻﻧدوق اﻟﺗ ﺎﻟﻰ وﺑﺎﻟﺿ ﻐط ﻋﻠ ﻰ‬Creat Table/Matrix/Palette :Number of Columns ‫ ﻓﻰ ﺧﺎﻧﺔ‬4 ‫ و‬Number of Rows ‫ ﻓﻰ ﺧﺎﻧﺔ‬2 ‫ وﺑوﺿﻊ‬Matrix .Fill Diagonal :1 ‫ و‬Fill with :0 ‫و‬

٢٢٦


‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻻﻣر ‪ OK‬ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ﻣﻛﺎن ﻣؤﺷر اﻟﻔﺎرة ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ‪.‬‬

‫‪   ‬‬ ‫‪‬‬ ‫‪   ‬‬

‫‪‬‬

‫واﻟﺗﻰ ﺑﻌد ﻣﻠﺋﻬﺎ وﺗﺳﻣﯾﺗﻬﺎ ﺗﺻﺑﺢ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪2 3 4 4‬‬ ‫‪‬‬ ‫‪1 5 6 7‬‬

‫‪aa1  ‬‬

‫}}‪{{2,3,4,4},{1,5,6,7‬‬ ‫وﺑﻧﻔس اﻟﺷﻛل ﻧﻛون اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪: aa2‬‬

‫‪2 1 1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪aa2  ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪5‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪6‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪‬‬ ‫‪‬‬ ‫}}‪{{2,1,1},{3,3,2},{5,2,1},{6,4,3‬‬ ‫وﻛﺑدﯾل وﺑﺻﯾﻐﺔ اﻻدﺧﺎل ﯾﻣﻛن ﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺔ‪ aa1‬واﻟﻣﺻﻔوﻓﺔ ‪ aa2‬ﺑﺎﻻواﻣر اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫}}‪aa1={{2,3,4,4},{1,5,6,7‬‬ ‫}}‪{{2,3,4,4},{1,5,6,7‬‬ ‫}}‪aa2={{2,1,1},{3,3,2},{5,2,1},{6,4,3‬‬ ‫}}‪{{2,1,1},{3,3,2},{5,2,1},{6,4,3‬‬ ‫اﻻن ﯾﻣﻛن ﺣﺳﺎب اﻟﻣﺻﻔوﻓﺔ ‪ AB‬اﻟﻣﺳﻣﺎه ‪ aaa‬ووﺿﻌﮭﺎ ﻓﻰ اﻟﺷﻛل اﻟﺗﻘﻠﯾدى ﻟﻠﻣﺻﻔوﻓﺔ ‪:‬‬ ‫‪aaa=aa1.aa2‬‬ ‫‪٢٢٧‬‬


‫}}‪{{57,35,24},{89,56,38‬‬ ‫]‪MatrixForm[aaa‬‬

‫‪57 35 24‬‬ ‫‪‬‬ ‫‪89 56 38‬‬

‫‪‬‬

‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻓﺎن اﻟﻣﺻﻔوﻓﺔ ‪ BA‬ﻻ ﺗﻌرف وﻧﺣﺻل ﻋﻠﻰ رﺳﺎﻟﺔ ﺧطﺎ ﻋﻧدﻣﺎ ﻧﺣﺎول ﺣﺳﺎﺑﻬﺎ ‪.‬‬ ‫‪bbb=aa2.aa1‬‬ ‫‪Dot ::dotsh  : ‬‬ ‫‪Tensors 2, 1, 1, 3, 3, 2, 5, 2, 1, 6, 4, 3 and‬‬ ‫‪2, 3, 4, 4, 1, 5, 6, 7 have incompatible‬‬ ‫…‪shapes . More‬‬ ‫}}‪{{2,1,1},{3,3,2},{5,2,1},{6,4,3}}.{{2,3,4,4},{1,5,6,7‬‬

‫اﻟﺣﺳﺎﺑﺎت ﻣﻊ اﻟﻣﺗﺟﻬﺎت ﺗﺗم ﺑﻧﻔس اﻟطرﯾﻘﺔ ‪.‬‬

‫ﺗﻌرﯾف ‪:‬‬ ‫اذا ﻛﺎن ﻟدﯾﻧﺎ ﻧﻘطﺔ ﻓﻰ ﻓراغ ﻟﮫ ‪ P‬ﻣن اﻻﺑﻌﺎد ‪.‬اى اذا ﻛﺎن ﻟدﯾﻧﺎ اﻟﻧﻘطﺔ ) ‪ P  (x1 , x 2 ,..., x p‬ﻓﺎن اﻟﻣﺳﺎﻓﺔ‬

‫ﺑﯾﻧﻬﺎ وﺑﯾن ﻧﻘطﺔ اﻻﺻل )‪0  (0,0,...,0‬‬

‫ﻫﻰ ‪:‬‬

‫‪d(0,P)  x12  x22 ,...,xp2‬‬ ‫وﺗﺳﻣﻰ اﻟﻣﺳﺎﻓﺔ اﻟﺧطﯾﺔ ) او اﻻﻗﻠﯾدﯾﺔ ( ‪.norm‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺗﺟﻬﺎت اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪ 2‬‬ ‫‪4‬‬ ‫‪ 3‬‬ ‫‪3‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪c‬‬ ‫‪, d=  ‬‬ ‫‪ 4‬‬ ‫‪2‬‬ ‫‪ ‬‬ ‫‪ ‬‬ ‫‪ 5‬‬ ‫‪ -1‬‬

‫‪d‬‬ ‫‪c‬‬ ‫‪,‬‬ ‫)أ( اﺣﺳب ‪) d  5c‬ب( ‪) dc‬ج(‬ ‫]‪d[0,d‬‬ ‫]‪d[0,c‬‬

‫‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫}‪c={2,3,4,5‬‬ ‫}‪{2,3,4,5‬‬ ‫‪٢٢٨‬‬


‫}‪d={4,3,2,1‬‬ ‫}‪{4,3,2,1‬‬ ‫‪d+5c‬‬ ‫}‪{14,18,22,26‬‬ ‫‪d.c‬‬ ‫‪30‬‬

‫‪‬‬

‫‪normx_ : x.x‬‬ ‫‪c‬‬ ‫‪aa1 ‬‬ ‫‪normc‬‬ ‫‪2‬‬ ‫‪2 ‬‬

‫‪‬‬

‫‪5‬‬ ‫‪3 ‬‬ ‫‪6‬‬

‫‪2‬‬ ‫‪‬‬

‫‪3‬‬

‫‪,‬‬

‫‪3‬‬

‫‪,‬‬

‫‪1‬‬ ‫‪‬‬ ‫‪6‬‬

‫‪3‬‬

‫‪,‬‬

‫‪d‬‬ ‫‪normd‬‬

‫‪3‬‬

‫‪‬‬

‫‪aa2 ‬‬

‫ﻟﺿرب اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﻓﻰ ﻧﻔﺳﻬﺎ ‪ n‬ﻣن اﻟﻣرات ﯾﺳﺗﺧدم اﻻﻣر ]‪ ..MarixPower[aa1,n‬وﯾﺟب اﻟﺗﻔرﯾق‬ ‫ﺑﯾن اﻣﺎ اﻟﺗﻌﺑﯾر ‪ (aa1)^n‬ﻓﻬو رﻓﻊ ﻛل ﻋﻧﺻر ﻓﻰ اﻟﻣﺻﻔوﻓﺔ اﻟﻰ اﻻس ‪ . n‬وﺳوف ﻧوﺿﺢ اﻟﻔرق ﺑﯾن‬ ‫اﻟﻌﻣﻠﯾﺗﯾن ﻻﻧﻪ ﯾﺣدث ﻟﺑس ﻓﯾﻬﻣﺎ وذﻟك ﻣن ﺧﻼل اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ‪:‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪3 4 1‬‬ ‫‪2 3 1‬‬ ‫‪‬‬ ‫‪3 4 1‬‬ ‫‪‬‬ ‫‪2 4 3‬‬

‫‪2‬‬ ‫‪5‬‬ ‫‪A‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪1‬‬

‫اﺣﺳب ‪ A2 ,A3‬ﺑﺎﻣرﯾن ﻣﺧﺗﻠﻔﯾن واﺣﺳب ‪(A) ^ 2,(A) ^ 3‬‬

‫وذﻟك ﻟﺗوﺿﯾﺢ اﻟﻔرق ﺑﯾﻧﻬﺎ ‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫}}‪aa1={{2,3,4,1},{5,2,3,1},{2,3,4,1},{1,2,4,3‬‬ ‫}}‪{{2,3,4,1},{5,2,3,1},{2,3,4,1},{1,2,4,3‬‬ ‫]‪MatrixForm[aa1.aa1‬‬ ‫‪28 26 37 12 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪27 30 42 13 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪28‬‬ ‫‪26‬‬ ‫‪37‬‬ ‫‪12‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 23 25 38 16 ‬‬ ‫]]‪MatrixForm[MatrixPower[aa1,2‬‬ ‫‪٢٢٩‬‬


‫‪28 26 37 12 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪27 30 42 13 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪28‬‬ ‫‪26‬‬ ‫‪37‬‬ ‫‪12‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 23 25 38 16 ‬‬ ‫]‪MatrixForm[aa1^2‬‬ ‫‪4 9 16 1 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪25 4 9 1 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪9‬‬ ‫‪16‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪16‬‬ ‫‪9‬‬ ‫‪‬‬ ‫‪‬‬ ‫]‪MatrixForm[aa1.aa1.aa1‬‬ ‫‪272 271 386 127 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪301 293 418 138 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪272‬‬ ‫‪271‬‬ ‫‪386‬‬ ‫‪127‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 263 265 383 134 ‬‬ ‫]]‪MatrixForm[MatrixPower[aa1,3‬‬ ‫‪272 271 386 127 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪301 293 418 138 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪272‬‬ ‫‪271‬‬ ‫‪386‬‬ ‫‪127‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪263‬‬ ‫‪265‬‬ ‫‪383‬‬ ‫‪134‬‬ ‫‪‬‬ ‫‪‬‬ ‫]‪MatrixForm[aa1^3‬‬

‫‪8 27 64 1 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪125 8 27 1 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪8‬‬ ‫‪27‬‬ ‫‪64‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪1‬‬ ‫‪8‬‬ ‫‪64‬‬ ‫‪27‬‬ ‫‪‬‬ ‫‪‬‬

‫)‪ (٤-٦-٤‬اﻟﻌﻼﻗﺎت اﻟﻣﺗﻛررة ‪Recursion‬‬ ‫ﻓﻰ اﻟﺣﻘﯾﻘﺔ اﺳﺗﺧدام ‪ recursion‬ﻓﻰ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻣﻔﯾدة ﺟدا‪ ،‬ﻓﻛﺛﯾر ﻣن اﻟﻌﻣﻠﯾﺎت ﻓﻰ اﻟﺑرﻧﺎﻣﺞ ﺗﺳﺧدﻣﻪ‪ .‬ﻓﻌﻠﻰ‬ ‫ﺳﺑﯾل اﻟﻣﺛﺎل ﻓﻰ اﻟﺗوزﯾﻌﺎت اﻻﺣﺗﻣﺎﻟﯾﺔ اﻟﻣﺗﻘطﻌﺔ ﻣﺛل ﺗوزﯾﻊ ذى اﻟﺣدﯾن واﻟﺗوزﯾﻊ اﻟﻬﻧدﺳﻰ اﻟزاﺋدى ﺗﺳﺗﺧدم‬ ‫‪ recursion‬ﻓﻰ ﺣﺳﺎب اﻻﺣﺗﻣﺎﻻت ﻟﻬذﻩ اﻟﺗوزﯾﻌﺎت وﻋﻣل اﻟﺟداول اﻻﺣﺻﺎﺋﯾﺔ اﻟﺗﻰ ﺗﺧص ﻫذﻩ اﻟﺗوزﯾﻌﺎت ﺣﯾث‬ ‫ﯾﺣﺳب ﻓﻘط اﺣﺗﻣﺎل ‪ x=0‬وﻣن ‪ recursion‬ﯾﻣﻛن ﺣﺳﺎب ‪ x=1‬واﺳﺗﺧداﻣﻬﺎ ﻓﻰ ﺣﺳﺎب ‪ x=2‬وﻫﻛذا ‪ .‬ﻓﻰ ﻫذا‬ ‫اﻟﺟزء ﺳوف ﻧﻘدم ﻋدد ﻣن اﻻﻣﺛﻠﺔ ﻋﻠﻰ ‪ recursion‬وﺷرح ﻛﯾف ﺗﻛﺗب اﻟدوال ‪.‬‬

‫اﻋداد ‪Fibonacci‬‬ ‫ﯾﻣﻛن ﺗﻌرﯾف اﻋداد ‪ Fibonacci‬ﻛﺎﻻﺗﻰ ‪ :‬ﻧﻛﺗب ‪ 0‬وواﺣد ﺻﺣﯾﺢ ﺛم ﻧﺳﺗﻣر ﻓﻰ ﻛﺗﺎﺑﺔ اﻻﻋداد ﺑﺎﺿﺎﻓﺔ ﻣﺟﻣوع‬ ‫اﺧر ﻋددﯾن ﺗم ﻛﺗﺎﺑﺗﻬم ‪:‬‬ ‫‪٢٣٠‬‬


‫‪8 13 21 ‬‬ ‫‪F6 F7 F8 ‬‬

‫‪5‬‬ ‫‪F5‬‬

‫‪1 1 2 3‬‬ ‫‪F1 F2 F3 F4‬‬

‫‪0‬‬ ‫‪F0‬‬

‫اﻗرب طرﯾق ﻟﺗﻌرﯾﻔﻪ ﯾﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪F0  0‬‬ ‫‪F1  1‬‬ ‫‪Fn  Fn 2  Fn 1 , n  1‬‬ ‫ﻋﻧدﻣﺎ ﻧﻔﻛر ﻓﻰ ﻫذﻩ اﻟﻣﺗﺗﺎﺑﻌﺔ ﻛداﻟﺔ ﻓﺎﻧﻧﺎ ﻧﻐﯾرﻫﺎ اﻟﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪F[0]  0‬‬ ‫‪F[1]  1‬‬ ‫‪F[n]  F[n  2]  F[n  1] , n  1‬‬ ‫ﺑﻬذا اﻟﺷﻛل ﯾﻣﻛن ﺗﺣوﯾل اﻟﺗﻌرﯾف اﻟﻰ ﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪F[0]:=0‬‬ ‫‪F[1]:=1‬‬ ‫‪F[n_]:=F[n-2]+F[n-1]/;n>1‬‬ ‫]‪F[6‬‬ ‫‪8‬‬

‫]}‪Table[F[i],{i,0,8‬‬ ‫}‪{0,1,1,2,3,5,8,13,21‬‬

‫)‪ (٥-٦-٤‬ﺣﺳﺎب اﻟﺣﻠول ﻻﻧظﻣﺔ ﺧطﯾﺔ ﻣن اﻟﻣﻌﺎدﻻت‬ ‫‪Calculation Solution of Linear of Systems of Equations‬‬ ‫ﻟﺣل ﻧظﺎم ﻣن اﻟﻣﻌﺎدﻻت اﻟﺧطﯾﺔ ‪ Ax  b‬ﺣﯾث ‪ A‬ﺗﻣﺛل ﻣﺻﻔوﻓﺔ اﻟﻣﻌﺎﻣﻼت و ‪ b‬ﺗﻣﺛل اﻟﻣﺗﺟﺔ اﻟﻣﻌرف‬

‫و ‪ x‬ﺗﻣﺛل اﻟﻣﺗﺟﻪ اﻟﻣﺟﻬول ‪ .‬اذا ﻛﺎﻧت ‪A1‬‬

‫ﻣوﺟودة ﻓﺎن ‪ A Ax  A b‬وﻋﻠﻰ ذﻟك ‪. x  A b‬‬ ‫‪1‬‬

‫ﻣﺛﺎل‬ ‫ﺣل ﻣﻌﺎدﻟﺔ اﻟﻣﺻﻔوﻓﺔ ‪: Matrix Equation‬‬

‫‪ 2 1 2  x  10 ‬‬ ‫‪ 3 2 2  y    1 ‬‬ ‫‪‬‬ ‫‪   ‬‬ ‫‪ 5 4 3  z   4 ‬‬ ‫‪‬‬ ‫‪   ‬‬ ‫‪٢٣١‬‬

‫‪1‬‬

‫‪1‬‬


‫اﻟﺣل ‪:‬‬ ‫اى ان اﻟﺣل ﻫو‪:‬‬ ‫‪1‬‬

‫‪ x   2 1 2  10 ‬‬ ‫‪ y  3 2 2   1 ‬‬ ‫‪  ‬‬ ‫‪  ‬‬ ‫‪ z  5 4 3   4 ‬‬ ‫‪  ‬‬ ‫‪  ‬‬ ‫ﺳوف ﻧﻌرف اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬واﻟﻣﺗﺟﻪ ‪ b‬وﺳوف ﻧﺳﺗﺧدم ﻣﻌﻛوس اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﻓﻰ ﺣﺳﺎب‬ ‫‪Inverse[aa1].b‬‬

‫}}‪aa1={{2,1,-2},{3,2,2},{5,4,3‬‬ ‫}}‪{{2,1,-2},{3,2,2},{5,4,3‬‬ ‫}‪b={10,1,4‬‬ ‫}‪{10,1,4‬‬ ‫‪{x,y,z}=Inverse[aa1].b‬‬ ‫}‪{1,2,-3‬‬

‫‪10 ‬‬ ‫‪ ‬‬ ‫ي ﯾﻣﻛن اﻟﺗﺣﻘق ﻣن ﺻﺣﺔ اﻟﺣل وذﻟك ﺑﺣﺳﺎب }‪ . aa1.{x,y,z‬وﻻن اﻟﻧﺗﯾﺟﺔ ﺗﺳﺎوى ‪ 1‬ﻓﺎﻧﻧﺎ ﻧﺳﺗﻧﺗﺞ ان‬ ‫‪ ‬‬ ‫‪4‬‬ ‫‪ ‬‬ ‫اﻟﺣل ﻟﻬذا اﻟﻧظﺎم ﻫو ‪:‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪ ‬‬ ‫‪ 3 ‬‬ ‫‪ ‬‬ ‫اﯨﺎى اى اى ان ‪:‬‬

‫}‪aa1.{x,y,z‬‬ ‫}‪{10,1,4‬‬

‫ﯾﻘدم اﻟﺑرﻧﺎﻣﺞ اواﻣر ﻋدﯾدة وذﻟك ﻟﺣل اﻧظﻣﺔ ﻣن اﻟﻣﻌدﻻت اﻟﺧطﯾﺔ واﻟﺗﻰ ﻻ ﺗﻌﺗﻣد ﻋﻠﻰ ﺣﺳﺎب اﻟﻣﻌﻛوس‬ ‫ﻟﻠﻣﺻوﻓﺔ ‪ . A‬اﻻﻣر ‪:‬‬

‫]}‪Solve[{eqn1,eqn2,...,eqnn},{var1, var 2,..., var n‬‬ ‫ﯾؤدى اﻟﻰ ﺣل ﻣﻌﺎدﻻت ﺧطﯾﺔ ) ﻣﻌﺎدﻻت ﻋددﻫﺎ ‪ n‬وﻣﺗﻐﯾرات ﻋددﻫﺎ ‪(n‬ﺣﯾث ﻛﻼ ﻣن اﻟﻣﻌﺎدﻻت واﻟﻣﺗﻐﯾرات‬ ‫ﺗدﺧل ﻓﻰ ﺻورة ﻗواﺋم ‪.‬‬

‫‪٢٣٢‬‬


‫ﻣﻌﺎدﻟﺔ اﻟﻣﺻﻔوﻓﺔ اﻟﺳﺎﺑﻘﺔ ﺗﻛﺎﻓﺊ اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪2x  y  2z  10‬‬ ‫‪‬‬ ‫‪3x  2y  2z  1‬‬ ‫‪5x  4y  3z  4‬‬ ‫‪‬‬ ‫واﻟﺗﻰ ﯾﻣﻛن ﺣﻠﻬﺎ ﺑﺎﻻﻣر ‪ Solve‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫]}‪Solve[{2x+y-2z10,3x+2y+2z1,5x+4y+3z4},{x,y,z‬‬ ‫}}‪{{x1,y2,z-3‬‬ ‫ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر اﻟﺗﺎﻟﻰ واﻟذى ﯾﻌطﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ ‪:‬‬ ‫]}‪Solve[{2x+y-2z,3x+2y+2z,5x+4y+3z}=={10,1,4‬‬ ‫}}‪{{x1,y2,z-3‬‬ ‫‪.‬وﯾﻣﻛن اﻟﺣل ﺑﺎﺳﻠوب اﺧر ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫}}‪aa1={{2,1,-2},{3,2,2},{5,4,3‬‬ ‫}}‪{{2,1,-2},{3,2,2},{5,4,3‬‬ ‫]‪Clear[x,y,z‬‬ ‫]}‪ss=Thread[aa1.{x,y,z}{10,1,4‬‬ ‫}‪{2 x+y-2 z10,3 x+2 y+2 z1,5 x+4 y+3 z4‬‬ ‫]‪Solve[ss‬‬ ‫}}‪{{x1,y2,z-3‬‬

‫اﺳﻠوب اﺧر ﯾﻌﺗﻣد ﻋﻠﻰ ﺷﻛل اﻟﻣﺻﻔوﻓﺔ ﻟﻧظﺎم اﻟﻣﻌﺎدﻻت )‪ . (Ax=b‬ﻫذا اﻟﻧظﺎم ﻣن اﻟﻣﻌﺎدﻻت ﯾﻛﺎﻓﺊ‬ ‫ﻣﻌﺎدﻟﺔ اﻟﻣﺻﻔوﻓﺔ ‪:‬‬

‫‪ 2 1 2  x  10 ‬‬ ‫‪ 3 2 2  y    1 ‬‬ ‫‪‬‬ ‫‪   ‬‬ ‫‪ 5 4 3  z   4 ‬‬ ‫‪‬‬ ‫‪   ‬‬ ‫اﻟﺣل ﯾﻛون ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪aa1={{2,1,‬‬‫‪2},{3,2,2},{5,4,3}};b={10,1,4};xx={x,y,z};Solve[aa1.xxb,‬‬ ‫]‪xx‬‬ ‫}}‪{{x1,y2,z-3‬‬ ‫ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ ذﻟك ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫]‪LinearSolve[A,b‬‬

‫‪٢٣٣‬‬


‫واﻟذى ﯾﺣﺳب اﻟﺣل ‪ x‬ﻟﻠﻧظﺎم ‪ .Ax=b‬ﻋﻣوﻣﺎ ﻫذا اﻻﻣر ﯾﺣﺳب اﻟﻧظﺎم اﺳرع ﻋن اﻻﻣر‪ Solve‬ﻛﻣﺎ ﻧرى‬

‫ﻓﻰ اﻟﺗﻌﻠﯾﻘﺎت ﻓﻰ ﻧﺎﻓذة ‪ Help Browser‬اﻟﺗﺎﻟﯾﺔ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ﻣن ﺛﻼث ﻣﻌﺎدﻻت ‪:‬‬

‫‪٢٣٤‬‬


2x  y  2z  10  3x  2y  2z  1 5x  4y  3z  4  :‫اﻟﺣل‬

. ‫ ﻟﺣل اﻟﻧظﺎم‬LinearSolve ‫ﺳوف ﻧﺳﺗﺧدم‬ aa1={{2,1,2},{3,2,2},{5,4,3}};b={10,1,4};xx={x,y,z};aa2=LinearSolve [aa1,b] {1,2,-3}

‫ﻣﺛﺎل‬ : ‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ﻣن ﺛﻼث ﻣﻌﺎدﻻت‬

 2 1 2  x  10   3 2 2  y    1        5 4 3  z   4       : ‫اﻟﺣل‬

: ‫ﺳوف ﻧﺣل ﻫذا اﻟﻣﺛﺎل ﺑﺎﺳﻠوﺑﯾن ﻣﺧﺗﻠﻔﯾن‬

Solve[{2x[1]+x[2]2x[3],3x[1]+2x[2]+2x[3],5x[1]+4x[2]+3x[3]}{10,1,4}] {{x[1]1,x[2]2,x[3]-3}} Clear[aa1] aa1= {{2,1.-2},{3,2,2},{5,4,3},b={10,1,4}} {{2,-1.},{3,2,2},{5,4,3},{10,1,4}} LinearSolve[aa1,b] {1,2,-3}

‫ﻣﺛﺎل‬ ٢٣٥


‫ﺣل ﻧظﺎم اﻟﻣﻌﺎدﻻت اﻟﺧطﯾﺔ اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪x‬‬ ‫‪ 1 3 4 2     5 ‬‬ ‫‪ 0 2 5 1  y    2 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ ‬‬ ‫‪ 0 1 3 0   z   4 ‬‬ ‫‪‬‬ ‫‪   ‬‬ ‫‪w‬‬

‫اﻟﺣل ‪:‬‬

‫}}‪aa1={{1,-3,4,-2},{0,2,5,1},{0,1,-3,0‬‬ ‫}}‪{{1,-3,4,-2},{0,2,5,1},{0,1,-3,0‬‬ ‫]}‪LinearSolve[aa1,{5,2,5‬‬

‫‪180 31‬‬ ‫‪8‬‬ ‫‪,‬‬ ‫‪,‬‬ ‫‪, 0‬‬ ‫‪11‬‬ ‫‪11‬‬ ‫‪11‬‬

‫‪‬‬

‫ﻧظﺎم اﻟﻣﻌﺎدﻻت ﻫﻧﺎ ﯾﺗﻛون ﻣن ﺛﻼث ﻣﻌﺎدﻻت ﻓﻰ ارﺑﻌﺔ ﻣﺟﺎﻫﯾل وﻟﻪ ﻋدد ﻻﻧﻬﺎﺋﻰ ﻣن اﻟﺣﻠول ﻟذﻟك ﺗم ﺣﺳﺎب‬ ‫ﺛﻼث ﻣﺟﺎﻫﯾل ﺑدﻻﻟﺔ اﻟﻣﺟﻬول اﻟراﺑﻊ وﻧﺎﺗﺞ اﻟﺣل ﯾﻣﺛل ﺣل ﻧظﺎم اﻟﻣﻌﺎدﻻت ﺑﻌد اﺧذ ﻗﯾﻣﺔ ﻋددﯾﺔ ﻟﻠﻣﺟﻬول اﻟراﺑﻊ‬

‫طرﯾﻘﺔ‬

‫‪Gauss-Jordan Elimination‬‬

‫ﺑﻔرض ﻣﻌﺎدﻟﺔ اﻟﻣﺻﻔوﻓﺔ ‪: matrix equation‬‬

‫‪ Ax‬ﺣﯾث ‪:‬‬

‫‪ x1 ‬‬ ‫‪ b1 ‬‬ ‫‪ ‬‬ ‫‪ ‬‬ ‫‪a 1n ‬‬ ‫‪ x2 ‬‬ ‫‪ b2 ‬‬ ‫‪‬‬ ‫‪ . ‬‬ ‫‪ . ‬‬ ‫‪a 2n ‬‬ ‫‪, x   , b   ‬‬ ‫‪ ‬‬ ‫‪ . ‬‬ ‫‪ . ‬‬ ‫‪‬‬ ‫‪ . ‬‬ ‫‪ . ‬‬ ‫‪a mn ‬‬ ‫‪ ‬‬ ‫‪ ‬‬ ‫‪ xn ‬‬ ‫‪ bm ‬‬ ‫اﻟﻣﺻﻔوﻓﺔ ‪ A‬ﻣن اﻟﺑﻌد‬

‫‪m n‬‬

‫‪‬‬ ‫‪‬‬

‫‪a 12‬‬ ‫‪a 22‬‬

‫‪‬‬

‫‪‬‬

‫‪a m2 ‬‬

‫‪ a 11‬‬ ‫‪a‬‬ ‫‪A   21‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪ a m1‬‬

‫ﺗﺳﻣﻰ ﻣﺻﻔوﻓﺔ اﻟﻣﻌﺎﻣﻼت ‪ Coefficient Matrix‬ﻟﻣﻌﺎدﻟﺔ اﻟﻣﺻﻔوﻓﺔ‬

‫‪ Ax  b‬واﻟﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد )‪m  (n  1‬‬

‫ﻫﻰ ‪:‬‬

‫‪٢٣٦‬‬


 a11 a (A | b)   21     a m1

a12

a 22

 a 2n

   a mn

a m2

a1n

b1  b2      bm 

‫( واﺳﺗﺧداﻣﻬﺎ ﻓﻰ اﯾﺟﺎد اﻟﺣل ﻟﻧظم اﻟﻣﻌﺎدﻻت ﻓﻰ‬A | b) ‫ﺳوف ﻧﺳﺗﺧدم اﻟﺣزم اﻟﺟﺎﻫزة ﻓﻰ اﯾﺟﺎد اﻟﻣﺻﻔوﻓﺔ‬ . ‫اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ‬

‫ﻣﺛﺎل‬ : ‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ﻣن ﺛﻼث ﻣﻌﺎدﻻت‬

 2 1 2  x  10   3 2 2  y    1        5 4 3  z   4       : ‫اﻟﺣل‬

(A | b) ‫اﻟﻣﺻﻔوﻓﺔ‬

‫ﺳوف ﻧﺧﺻل ﻋﻠﻰ‬

: ‫واﺳﺗﺧداﻣﻬﺎ ﻓﻰ اﻟﺣل ﻛﺎﻟﺗﺎﻟﻰ‬ <<LinearAlgebra`MatrixManipulation` aa1={{2,1,-2},{3,2,2},{5,4,3}};b={{10},{1},{4}}; aa2=AppendRows[aa1,b] {{2,1,-2,10},{3,2,2,1},{5,4,3,4}} MatrixForm[aa2] 2 1  2 10         3 2 2 1     5 4 3 4  ?RowReduce RowReducem gives the row

reduced form of the matrix m. More… RowReduce[aa2]//MatrixForm 1 0 0 1         0 1 0 2      0 0 1 3 

: ‫وﻣن اﻟﻧﺗﯾﺟﺔ اﻟﻧﻬﺎﺋﯾﺔ ﻧﺳﺗﻧﺗﺞ ان اﻟﺣل ﻫو‬

٢٣٧


‫‪x  1 ‬‬ ‫‪ y   2 ‬‬ ‫‪   ‬‬ ‫‪ z   3 ‬‬ ‫‪   ‬‬ ‫وﯾﻣﻛن اﻟﺗﺣﻘق ﻣن ﺻﺣﺔ اﻟﻧﺗﯾﺟﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪Clear[x,y,z‬‬ ‫}‪{2x+y-2z,3x+2y+2z,5x+4y+3z}/.{x1,y2,z-3‬‬ ‫}‪{10,1,4‬‬

‫طرﯾﻘﺔ‬

‫‪Gauss Elimination‬‬

‫ﻓﻰ ﻫذا اﻟﺟزء ﺳوف ﻧﺗﻌﻠم ﻛﯾف ﯾﻣﻛن ﻋﻣل ﺑرﻧﺎﻣﺞ ﻟﺣﺳﺎب اﻟﺣﻠول ﻻﻧظﻣﺔ ﺧطﯾﺔ ﻣن اﻟﻣﻌﺎدﻻت ‪ .‬وﻻن اﻻﻣر‬ ‫‪ Linear Solve‬ﻣﺛل اى اﻣر ﻟﻬذﻩ اﻟﻣﺷﻛﻠﺔ ﻟﯾس داﺋﻣﺎ ﯾﻌﻣل ‪.‬وﯾﻔﺷل ﻓﻰ اﯾﺟﺎد اﻟﺣل ‪.‬ﻓﻰ ﻫذا اﻟﺟزء ﺳوف ﻧﻘدم‬ ‫طرﯾﻘﺔ ﺑﺳﯾطﺔ وﺗﻘﻠﯾدﯾﺔ ﻟﺣل ﻣﺛل ﻫذا اﻟﻧظﺎم ﺗﺳﻣﻰ طرﯾﻘﺔ ‪. Gauss Elimination‬ﺑﻔرض اﻧﻧﺎ ﻧرﯾد ﺣل ﻧظﺎم‬ ‫ﺧطﻰ ‪ S‬وﺳوف ﻧﻧظﻣﻪ ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪ b1‬‬

‫‪E1 : a11x1   a1n x n‬‬

‫‪ b2‬‬ ‫‪‬‬

‫‪E 2 : a 21x1   a 2n x n‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪ bn‬‬

‫‪E n : a n1x1   a nn x n‬‬

‫ﺑﺎﺳﺗﺧدام اﺳﺎﺳﯾﺎت اﻟﺗﺗﺎﺑﻊ ‪ Recursion‬ﺳوف ﻧﻔﺗرض اﻧﻧﺎ ﻗﺎدرﯾن ﻋﻠﻰ ﺣل ﻧظﺎم اﺻﻐر وﻋﻠﻰ اﻻﺧص ‪n-1‬‬ ‫ﻓﻰ ‪ n-1‬ﻣن اﻟﻣﺟﺎﻫﯾل وﻧﺳﺎل اﻧﻔﺳﻧﺎ ﻛﯾف ﻧﺣل ﻫذا اﻟﻧظﺎم اﻻﺻﻐر وﻧﺳﺗﺧدﻣﻪ ﻓﻰ ﺣل اﻟﻧظﺎم ‪.‬‬ ‫اﻟﻔﻛرة ﻓﻰ طرﯾﻘﺔ ﺟﺎوس ﻫﻰ ﺣذف ﻛل ‪ x1‬ﻣن اﻟﻣﻌﺎدﻻت ‪ . E 2 ,E 2 ,...,E 2‬ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﺳوف‬ ‫ﻧوﺿﺢ ﻛﯾف ﯾﻣﻛن ﺣذف ‪ x1‬ﻣن ‪: E 2‬‬

‫‪ a 21 ‬‬ ‫)ا(ﯾﺗم ﺿرب ‪ E1‬ﻓﻰ ‪ ‬‬ ‫‪ a11 ‬‬

‫‪ a 21 ‬‬ ‫‪ a 21 ‬‬ ‫‪  (a11x1  a12 x 2  ...  a1n x n )    b1‬‬ ‫‪ a11 ‬‬ ‫‪ a11 ‬‬ ‫واﻟﺗﻰ ﺗﺑﺳط اﻟﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬

‫‪٢٣٨‬‬


‫‪a ‬‬ ‫‪a ‬‬ ‫‪a ‬‬ ‫‪(a 21x1   21  a12 x 2  ...   21  a1n x n )   21  b1‬‬ ‫‪ a11 ‬‬ ‫‪ a11 ‬‬ ‫‪ a11 ‬‬ ‫)ب(وﺑطرﺣﻬﺎ ﻣن اﻟﻣﻌﺎدﻟﺔ ‪: E 2‬‬

‫‪a 21x1  a 22 x 2  ...  a 2n x n  b 2‬‬ ‫‪a ‬‬ ‫‪a ‬‬ ‫‪a ‬‬ ‫‪(a 21x1   21  a 12 x 2  ...   21  a1n x n )   21  b1‬‬ ‫‪ a11 ‬‬ ‫‪ a11 ‬‬ ‫‪ a11 ‬‬ ‫ﻧﺣﺻل ﻋﻠﻰ ‪:‬‬

‫‪‬‬ ‫‪‬‬ ‫‪ a 21  ‬‬ ‫‪ a 21  ‬‬ ‫‪ a 21 ‬‬ ‫‪a‬‬ ‫‪x‬‬ ‫‪‬‬ ‫‪...‬‬ ‫‪‬‬ ‫‪a‬‬ ‫‪‬‬ ‫‪ a 22  ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 12 2‬‬ ‫‪‬‬ ‫‪ a1n  x n )  b 2  ‬‬ ‫‪ b1‬‬ ‫‪2n‬‬ ‫‪a‬‬ ‫‪a‬‬ ‫‪a‬‬ ‫‪‬‬ ‫‪11‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪11‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪11‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫وﺑﺎﻟﺗﺎﻟﻰ ﺳوف ﻧﺣﺻل ﻋﻠﻰ ﻣﻌﺎدﻟﺔ ﺑﻬﺎ ‪ n-1‬ﻣن اﻟﻣﺗﻐﯾرات ‪ .‬ﺳوف ﯾطﺑق ذﻟك ﻋﻠﻰ ﻛل ﻣﻌﺎدﻟﺔ ﺣﯾث ﻧﺣول ‪Ei‬‬ ‫‪a i1‬‬ ‫ﻟﺟﻣﯾﻊ ‪ i‬ﻣن ‪ i  2,..., n‬اﻟﻰ ‪ Ei  E i  ( )E1‬وﯾﺳﻣﻰ ﻫذا اﻟﻧظﺎم ‪ S‬ﺛم ﻧوﺟد اﻟﺣل ﻟﻬذا اﻟﻧظﺎم‬ ‫‪a11‬‬ ‫وﺑﻌد اﻟﺣﺻول ﻋﻠﻰ ﻗﯾم ‪ x 2 ,...,x n‬ﻧﺳﺗﺧدﻣﻬﺎ ﻓﻰ ﺣﺳﺎب ﻗﯾﻣﺔ ‪ x1‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫) ‪b1  (a12 x 2  ...  a 1n x n‬‬ ‫‪a11‬‬

‫‪x1 ‬‬

‫ﻓﻰ ﺑرﻣﺟﺔ ﺗﻠك اﻟطرﯾﻘﺔ ﻓﺎن اﻟﻧظﺎم ﯾﻣﺛل ﺑﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪ n  n‬ﻣن اﻟﻣﻌﺎﻣﻼت ﻣﻊ اﻟﻣﺗﺟﻪ ﻣن ﻗﯾم ‪. bi‬‬ ‫ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﯾﻛون ﻣن اﻟﻣﻼﺋم ﺗﻣﺛﯾل اﻟﻧظﺎم ﺑﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪ (n  1)  n‬ﺣﯾث ‪ bi‬ﻓﻰ اﻟﻌﻣود اﻻﺧﯾر‪.‬‬ ‫ﻋﻧد ﺗﻧﻔﯾذ اﻟﺑرﻧﺎﻣﺞ ﺳوف ﻧﻌرف]‪ t[S‬ﺣﯾث ‪ S‬ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪ (n  1)  n‬واﻟﺗﻰ ﺗﻌﯾد ﻗﯾم‬

‫‪ n‬ﻣن اﻟﻣﺟﺎﻫﯾل ‪:‬‬

‫‪t[S_]:=Module[{E1=First[S],‬‬ ‫‪x2toxn=h[elimx1[S]]},‬‬ ‫‪Module[{b1=Last[E1],‬‬ ‫‪a11=First[E1],‬‬ ‫‪a12toaln=Drop[Rest[E1],-1]},‬‬ ‫]]]‪Join[{(b1-a12toaln.x2toxn)/a11},x2toxn‬‬ ‫ﻣﺳﺑوﻗﺔ ﺑﺎﻟدوال اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]‪f[S_]:=Map[Last[#]&,S‬‬ ‫]‪g[S_]:=Map[Drop[#,-1]&,S‬‬ ‫]]‪h[S_]:=LinearSolve[g[S],f[S‬‬ ‫‪٢٣٩‬‬


. ‫ واﻟﺗﻰ ﺗﻧﺗﺞ اﻟﻧظﺎم اﻻﺻﻐر‬elimx1[S] ‫اﻻن ﻧﺣﺗﺎج اﻟﻰ ﺗﻌرﯾف اﻟداﻟﺔ‬ : ‫ﻣرة اﺧرى ﻋﻣﻠﯾﺔ اﻟﺣذف ﺗﺎﺧذ ﻛل ﺻف ﻣن اﻟﻣﺻﻔوﻓﺔ‬

a i1,a i2 ,...,a in ,bi : ‫وﺗﺣوﻟﻬﺎ اﻟﻰ‬

a i2  (

a i1 a a )a12 ,...,a in  ( i1 )a1n , bi  ( i1 )b1 a11 a11 a11

: ‫ﺑﺎﺳﺗﺧدام اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]]

substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, : ‫اﻻن اﻟﺑرﻧﺎﻣﺞ ﺳوف ﯾﻛون ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ‬ f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]] substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, Rest[Ei]-newE1]] elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]] t[S_]:=Module[{E1=First[S], x2toxn=h[elimx1[S]]}, Module[{b1=Last[E1], a11=First[E1], a12toaln=Drop[Rest[E1],-1]}, Join[{(b1-a12toaln.x2toxn)/a11},x2toxn]]]

‫ﻣﺛﺎل‬ : ‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ﻣن ﺛﻼث ﻣﻌﺎدﻻت‬

 x  2y  z  4  3x  2y  z  8 x  3y  5z  0  : ‫اﻟﺣل‬ ٢٤٠


f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]] substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, Rest[Ei]-newE1]] elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]] t[S_]:=Module[{E1=First[S], x2toxn=h[elimx1[S]]}, Module[{b1=Last[E1], a11=First[E1], a12toaln=Drop[Rest[E1],-1]}, Join[{(b1-a12toaln.x2toxn)/a11},x2toxn]]]; p‫( ﺑﺎﻟرﻣز‬A | b) ‫ﺳوف ﻧﻌرف اﻟﻣﺻﻔوﻓﺔ‬ p={{1,-2,1,-4},{3,2,-1,8},{-1,3,5,0}} {{1,-2,1,-4},{3,2,-1,8},{-1,3,5,0}}; ‫وﻧﻛﺗﺑﺎﻻﻣر‬t[p] t[p]

{{1,-2,1,-4},{3,2,-1,8},{-1,3,5,0}} {1,2,-1} {1,2,-1}‫اى ان اﻟﻨﺘﯿﺠﺔ‬

‫ﻣﺛﺎل‬ : ‫ﺣل اﻟﻧظﺎم اﻟﺗﺎﻟﻰ ﻣن ﻣﻌﺎدﻟﺗﯾن‬

 x  2y  3   4x  5y  6 : ‫اﻟﺣل‬

f[S_]:=Map[Last[#]&,S] g[S_]:=Map[Drop[#,-1]&,S] h[S_]:=LinearSolve[g[S],f[S]] substractE1[E1_,Ei_]:=Module[{z=Ei[[1]]/E1[[1]]}, Module[{newE1=z*Rest[E1]}, Rest[Ei]-newE1]] elimx1[S_]:= Map[substractE1[S[[1]],#]&,Rest[S]] t[S_]:=Module[{E1=First[S], ٢٤١


‫‪x2toxn=h[elimx1[S]]},‬‬ ‫‪Module[{b1=Last[E1],‬‬ ‫‪a11=First[E1],‬‬ ‫‪a12toaln=Drop[Rest[E1],-1]},‬‬ ‫]]]‪Join[{(b1-a12toaln.x2toxn)/a11},x2toxn‬‬ ‫}}‪p={{1,2,3},{4,5,6‬‬ ‫}}‪{{1,2,3},{4,5,6‬‬ ‫]‪t[p‬‬ ‫}‪{-1,2‬‬

‫اى ان اﻟﻨﺘﯿﺠﺔ}‪{-1,2‬‬

‫)‪ (٥-٦-٤‬اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة‬ ‫‪Eigenvalues and Eigenvectors‬‬ ‫ﻟﺗﻛن ‪A‬‬

‫ﻣﺻﻔوﻓﺔ ﻣن اﻟﺑﻌد ‪n  m‬‬

‫ﺑﻣﻛوﻧﺎت ﺣﻘﯾﻘﯾﺔ‪ .‬اﻟﻘﯾﻣﺔ ‪ ‬ﺗﺳﻣﻰ اﻟﻘﯾﻣﺔ اﻟﻣﻣﯾزة ﻟﻠﺻﻣﻔوﻓﺔ ‪ A‬اذا‬

‫وﺟد ﻣﺗﺟﻪ ﻏﯾر ﺻﻔرى ‪ v‬ﯾﺣﻘق اﻟﻣﻌﺎدﻟﺔ ‪ . Av  v‬ﻫذا اﻟﻣﺗﺟﻪ اﻟﻐﯾر ﺻﻔرى ﯾﺳﻣﻰ اﻟﻣﺗﺟﻪ اﻟﻣﻣﯾز‬

‫ﻟﻠﻣﺻﻔوﻓﺔ ‪ . A‬اﻟﻣﺻﻔوﻓﺔ اﻟﻣﻣﯾزة ‪ characteristic matrix‬ﻟﻠﻣﺻﻔوﻓﺔ ‪ A‬ﻫﻰ اﻟﻣﺻﻔوﻓﺔ ‪A  I‬‬ ‫ﺣﯾث ‪ I‬ﺗﻣﺛل ﻣﺻﻔوﻓﺔ اﻟوﺣدة ‪ .‬اﻟﻘﯾم اﻟﻣﻣﯾزة ﻫﻰ اﻟﺟذور ﻟﻠﻣﻌﺎدﻟﺔ اﻟﻣﻣﯾزة ‪Characteristic equation‬‬

‫‪| A  I | 0‬‬ ‫ﺣﯾث | ‪ | A  I‬ﻫو اﻟﻣﺣدد ﻟﻠﻣﺻﻔوﻓﺔ ‪ ، A  I‬وﻫذا اﻟﻣﺣدد ﯾﺳﻣﻰ ﻛﺛﯾرة اﻟﺣدود اﻟﻣﻣﯾزة‬

‫‪ . Characteristic polynomial‬اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﺗﻰ ﺗﻣﺛل ﺟذور اﻟﻣﻌﺎدﻟﺔ اﻟﺳﺎﺑﻘﺔ ﻋددﻫم ﻋﻠﻰ اﻻﻛﺛر‪. n‬‬

‫اﻻن ﺳوف ﻧﺑدا ﺑﻣﻧﺎﻗﺷﺔ اﻻواﻣر اﻟﺗﻰ ﺗﺳﺗﺧدم ﻓﻰ ﺣﺳﺎب اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة ‪.‬‬

‫اﻻﻣر ]‪CharacteristicPolynomial[A.x‬‬

‫واﻟذى ﯾﻌطﻰ | ‪| A  I‬‬

‫ﻟﻣﺻﻔوﻓﺔ ﻣرﺑﻌﺔ ‪ A‬ﻛﺛﯾرة اﻟﺣدود ﻓﻰ ‪. x‬‬

‫اﻻﻣر ]‪ Eigenvalues[A‬واﻟذى ﯾﻌطﻰ ﻗﺎﺋﻣﺔ ﺑﺎﻟﻘﯾم اﻟﻣﻣﯾزة ﻟﻠﻣﺻﻔوﻓﺔ اﻟﻣرﺑﻌﺔ ‪.A‬‬ ‫اﻻﻣر ]‪ Eigenvectors[A‬واﻟذى ﯾﻌطﻰ ﻗﺎﺋﻣﺔ ﺑﺎﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة ﻟﻠﻣﺻﻔوﻓﺔ اﻟﻣرﺑﻌﺔ ‪.A‬‬ ‫اﻻﻣر ]‪ Eigensystem[A‬واﻟذى ﯾﻌطﻰ ﻗﺎﺋﻣﺔ ﺑﺎﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة اﻟﻣﻘﺎﺑﻠﺔ ﻟﻬﺎ‬ ‫ﻟﻠﻣﺻﻔوﻓﺔ اﻟﻣرﺑﻌﺔ ‪. A‬‬

‫ﻣﺛﺎل‬ ‫‪٢٤٢‬‬


: ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ‬

 4 3 4  A   1 3 1   1 1 5    . ‫ واﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة‬A ‫اوﺟد ﻛﺛﯾرة اﻟﺣدود اﻟﻣﻣﯾزة ﻟﻠﻣﺻﻔوﻓﺔ‬

: ‫اﻟﺣل‬ ‫ وذﻟك ﺑﺣﺳﺎب‬A ‫ وﺑﻌد ذﻟك ﻧﺣﺳب ﻛﺛﯾرة اﻟﺣدود اﻟﻣﻣﯾزة ﻟﻠﻣﺻﻔوﻓﺔ‬. aa1 ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف اﻟﻣﺻﻔوﻓﺔ‬ Det ‫وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر‬

(33) ‫ ﻣﺻﻔوﻓﺔ اﻟوﺣدة ﻣن اﻟﺑﻌد‬I ‫ ﺣﯾث‬A  I ‫اﻟﻣﺣدد ﻟﻠﻣﺻﻔوﻓﺔ اﻟﻣﻣﯾزة‬ ‫ﺛم اﺳﺗﺧدام اﻻﻣر‬

Solve ‫ ﺛم اﺳﺗﺧدام اﻻﻣر‬.‫ ﻟﻠﺣﺻول ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ‬CharacteristicPolynomial : ‫ ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﻟﻠﺟذور اﻟﻣﻣﯾزة‬NSolve‫ﺛم اﻻﻣر‬ aa1={{4,-3,4},{1,-3,1},{-1,-1,5}} {{4,-3,4},{1,-3,1},{-1,-1,5}} Det[aa1- IdentityMatrix[3]] 54    6 2  3 p=CharacteristicPolynomial[aa1,] 54    6 2  3 Solve[p0]  13 180  28407  11   2   , 13   323 3 180  28407 

  2 

1  



3  180 

 13 28407 

2 323 11 1  



3

13 2 3 180   28407 

  2 

1  



3  180 

,

 13 28407 

2 323 11 1  



3

2 3 180   28407 

13



N[Solve[p0]] ٢٤٣


‫}}‪{{-2.46704},{4.23352 -1.99144 },{4.23352 +1.99144 ‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪1 5 1‬‬ ‫‪A   3 6 6 ‬‬ ‫‪ 4 1 7 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫اوﺟد اﻟﻘﯾم اﻟﻣﻣﯾزة اﻟﻣﺿﺑوطﺔ واﻟﺗﻘرﯾﺑﯾﺔ ‪.‬‬

‫اﻟﺣل ‪:‬‬

‫]‪Clear[aa1‬‬ ‫}}‪aa1={{1,5,1},{-3,6,-6},{-4,1,7‬‬ ‫}}‪{{1,5,1},{-3,6,-6},{-4,1,7‬‬ ‫]‪Eigenvalues[aa1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪Root294  80 #1  14 #1  #1 &, 1,‬‬

‫‪Root294  80 #1  14 #12  #13 &, 3,‬‬ ‫‪Root294  80 #1  14 #12  #13 &, 2‬‬ ‫]]‪Eigenvalues[N[aa1‬‬ ‫}‪{8.68668,2.65666 +5.17562 ,2.65666 -5.17562 ‬‬

‫ﻫذﻩ اﻟﻣﺻﻔوﻓﺔ ﻟﻬﺎ ﻗﯾﻣﺔ ﻣﻣﯾزة وﺣﯾدة ‪ 1  8.68668‬وزوج ﻣرﻛب ﻣرﺗﺑط ‪:‬‬

‫‪2,3  2.65666  5.17562i‬‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﯾﻼﺣظ ان اﻟﺑرﻧﺎﻣﺞ ﻟم ﯾﺗﻣﻛن ﻣن ﺣﺳﺎب اﻟﻘﯾم اﻟﻣﻣﯾزة ﻻن ﻋﻧﺎﺻر اﻟﻣﺻﻔوﻓﺔ اﻋداد ﺻﺣﯾﺣﺔ‬ ‫وﯾﻣﻛن اﻟﺗﻐﻠب ﻋﻠﻰ ﻫذﻩ اﻟﻣﺷﻛﻠﺔ ﻋن طرﯾﻘﺔ ﻛﺗﺎﺑﺔ اﻻﻋداد اﻟﻣوﺟودة ﻓﻰ اﻟﻣﺻﻔوﻓﺔ ﻓﻰ اﻟﺻورة اﻟﻌﺷرﯾﺔ ) ﻓﻣﺛﻼ‬ ‫ﯾﻛﺗب ‪ 4.0‬ﺑدﻻ ﻣن ‪. 4‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪٢٤٤‬‬


‫‪0 3 ‬‬ ‫‪A‬‬ ‫‪‬‬ ‫‪ 4 4 ‬‬ ‫اوﺟد اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة ﺑﺎﺳﺗﺧدام اﻻﻣر ‪.Eigensystem‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﻌرف اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﺛم ﻧﺳﺗﺧدم ‪ Eigensystem‬ﻟﺣﺳﺎب اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻘﺎﺑﻠﺔ ﻟﻬﺎ‬ ‫واﻟﻣﺳﻣﺎﻩ ‪.aa2‬‬ ‫}}‪aa1={{0,3},{4,-4‬‬ ‫}}‪{{0,3},{4,-4‬‬ ‫]‪aa2=Eigensystem[aa1‬‬ ‫}}}‪{{-6,2},{{-1,2},{3,2‬‬ ‫وﻋﻠﻰ ذﻟك اﻟﻘﯾم اﻟﻣﻣﯾزة ﻫﻣﺎ ‪ 1  6,  2  2‬واﻟﻤﺘﺠﮭﺎت اﻟﻤﻤﯿﺰة اﻟﻤﻘﺎﺑﻠﺔ ھﻤﺎ ‪:‬‬

‫‪ 1‬‬ ‫‪ 3‬‬ ‫‪v1    , v2   ‬‬ ‫‪2‬‬ ‫‪ 2‬‬ ‫اﻟﻘﯿﻢ اﻟﻤﻤﯿﺰة ﺗﻤﺜﻞ اﻟﻌﻨﺼﺮ اﻻول ﻣﻦ ‪aa2‬‬ ‫]]‪aa2[[1‬‬ ‫}‪{-6,2‬‬ ‫اﻟﻤﺘﺠﮭﺎت اﻟﻤﻤﯿﺰة ﺗﻤﺜﻞ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ ﻣﻦ ‪aa2‬‬ ‫]]‪aa2[[2‬‬ ‫}}‪{{-1,2},{3,2‬‬ ‫ﻟﻠﺗﺣﻘق ﻣن ﺻﺣﺔ اﻟﻧﺗﺎﺋﺞ ﺳوف ﻧﺛﺑت ان ‪ Av1  v1 ,Av2  v2‬اى ان ‪:‬‬

‫‪ 3  3‬‬ ‫‪A    2 ‬‬ ‫‪ 2  2‬‬

‫و‬

‫‪ 1‬‬ ‫‪ 1‬‬ ‫‪A    6  ‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫]]‪aa1.aa2[[2,1]]aa2[[1,1]]aa2[[2,1‬‬ ‫‪True‬‬ ‫]]‪aa1.aa2[[2,2]]aa2[[1,2]]aa2[[2,2‬‬ ‫‪True‬‬

‫‪٢٤٥‬‬


‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟﻣﺻﻔوﻓﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪ 3 5 4 ‬‬ ‫‪A   5 6 3 ‬‬ ‫‪ 3 2 2 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫اوﺟد ﺗﻘرﯾﺑﺎت ﻟﻠﻘﯾم اﻟﻣﻣﯾزة وﻟﻠﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﻌرف اﻟﻣﺻﻔوﻓﺔ ‪ aa1‬ﺛم ﻧﺳﺗﺧدم ‪ Eigensystem‬ﻟﺣﺳﺎب اﻟﻘﯾم اﻟﻣﻣﯾزة واﻟﻣﺗﺟﻬﺎت اﻟﻣﻘﺎﺑﻠﺔ ﻟﻬﺎ‬ ‫واﻟﻣﺳﻣﺎﻩ ‪.aa2‬‬ ‫}}‪aa1={{3,-5,-4},{-5,6,3},{-3,2,-2‬‬ ‫}}‪{{3,-5,-4},{-5,6,3},{-3,2,-2‬‬ ‫]]‪aa2=Eigensystem[N[aa1‬‬ ‫{{‪{{10.9879,-3.77071,-0.217222},‬‬‫‪0.601654,0.756787,0.255509},{0.505049,‬‬‫}}}‪0.00654559,0.863066},{0.651499,0.68315,-0.329933‬‬ ‫اﻟﻘﯾم اﻟﻣﻣﯾزة ﺗﺳﺗﺧﻠص ﻣن ‪ aa2‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]‪aa2[[1‬‬ ‫}‪{10.9879,-3.77071,-0.217222‬‬ ‫اﻟﻣﺗﺟﻬﺎت اﻟﻣﻣﯾزة ﺗﺳﺗﺧﻠص ﻣن ‪ aa2‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]‪aa2[[2‬‬ ‫‪{{-0.601654,0.756787,0.255509},{0.505049,‬‬‫}}‪0.00654559,0.863066},{0.651499,0.68315,-0.329933‬‬ ‫ﺳوف ﻧﺗﺣﻘق ان ﺗﻠك اﻟﻧﺗﺎﺋﺞ ﺗﻣﺛل اﻟﻘﯾم اﻟﺗﻘرﯾﺑﯾﺔ ﻟﻠﻘﯾم اﻟﻣﻣﯾزة وﻣﺗﺟﻬﺎﺗﻬﺎ اﻟﻣﻘﺎﺑﻠﺔ‪.‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧﺗﺣﻘق ان ‪:‬‬

‫‪Av1  v1‬‬ ‫وﺳوف ﻧﺛﺑت اﻧﻬﺎ ﺻﺣﯾﺣﺔ ‪:‬‬ ‫]]‪aa1.aa2[[2,1]]==aa2[[1,1]]aa2[[2,1‬‬ ‫‪True‬‬ ‫ﺛﺎﻧﯾﺎ ‪ :‬ﺳوف ﻧﺗﺣﻘق ان ‪:‬‬

‫‪Av2  v 2‬‬ ‫‪٢٤٦‬‬


: ‫وﺳوف ﻧﺛﺑت اﻧﻬﺎ ﻏﯾر ﺻﺣﯾﺣﺔ‬ aa1.aa2[[2,2]]==aa2[[1,2]]aa2[[2,2]] False

Av2  v 2 ‫ﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻧﺣﺳب اﻟﻣﻘدار‬ aa1.aa2[[2,2]]-aa2[[1,2]]aa2[[2,2]] 8.88178  1016, 1.58554  1015, 8.88178  1016 : ‫وﻗد وﺟدﻧﺎ ان اﻟﻔرق ﺻﻐﯾر ﺟدا وﯾﻘﺗرب ﻣن اﻟﺻﻔر وﯾﻣﻛن اﺛﺑﺎت ذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر‬ ?Chop Chopexpr replaces approximate

real numbers in expr that are close to zero by the exact integer 0. More… Chop[aa1.aa2[[2,2]]-aa2[[1,2]]aa2[[2,2]]] {0,0,0}

: ‫ ﺳوف ﻧﺗﺣﻘق ان‬: ‫ﺛﺎﻟﺛﺎ‬

Av3  v3 : ‫وﺳوف ﻧﺛﺑت اﻧﻬﺎ ﺻﺣﯾﺣﺔ‬ aa1.aa2[[2,3]]==aa2[[1,3]]aa2[[2,3]] True

٢٤٧


‫اﻟﻔﺻل اﻟﺧﺎﻣس‬ ‫اﻟﺗﻔﺎﺿل واﻟﺗﻛﺎﻣل‬

‫‪٢٤٨‬‬


‫ﻓﻰ ﻫذا اﻟﻔﺻل ﯾﻘدم ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ اﻻواﻣر اﻻزﻣﺔ ﻟﻼﺟراء ﻋﻣﻠﯾﺎت اﻟﺗﻔﺎﺿل واﻟﺗﻛﺎﻣل ﻟﻠدوال اﻟرﯾﺎﺿﯾﺔ‬ ‫اﻟﻣﺧﺗﻠﻔﺔ ﺳواء ﻓﻰ ﻣﺗﻐﯾر واﺣد او ﻓﻰ ﻣﺗﻐﯾرات ﻣﺗﻌددة ‪.‬‬

‫)‪ (١-٥‬ﺣﺳﺎب اﻟﻧﻬﺎﯾﺎت ‪Computing Limits‬‬ ‫واﺣد ﻣن اﻟﻣواﺿﯾﻊ اﻟرﺋﯾﺳﯾﺔ ﻓﻰ اﻟﺗﻔﺎﺿل واﻟﺗﻛﺎﻣل ھو اﻟﻧﮭﺎﯾﺎت ‪ .‬ﯾﺳﺗﺧدم اﻟﺑرﻧﺎﻣﺞ ﻟﻠﺣﺻول ﻋﻠﻰ اﻟﻧﮭﺎﯾﺎت ﺳواء ﻋددﯾﺎ‬

‫او ﺑﯾﺎﻧﯾﺎ ‪ .‬ﯾﺳﺗﺧدم اﻻﻣر ]‪Limit[f[x], x   a‬‬

‫ﻻﯾﺟﺎد ﻧﮭﺎﯾﺔ‬

‫)‪lim f(x‬‬ ‫‪x a‬‬

‫اى اﯾﺟﺎد اﻟﻧﮭﺎﯾﺔ ﻟﻠداﻟﺔ ) ‪f ( x‬‬ ‫( او ﻧﮭﺎﯾﺔ ﺳﺎﻟﺑﺔ ) ‪ .( ‬اﻟﺳﮭم‬

‫ﻋﻧدﻣﺎ ﺗؤول ‪ x‬اﻟﻰ اﻟﻘﯾﻣﺔ ‪ a‬ﺣﯾث ‪ a‬ﻗد ﺗﻛون ﻋدد ﻣﺣدود او ﻧﮭﺎﯾﺔ ﻣوﺟﺑﺔ ) ‪‬‬ ‫" ‪ "  ‬ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﮫ ﺑﻛﺗﺎﺑﺔ ﻋﻼﻣﺔ اﻟﺳﺎﻟب " ‪ "‬ﯾﺗﺑﻌﮭﺎ ﻋﻼﻣﺔ اﻛﺑر ﻣن " ‪. " ‬‬ ‫ﻣﺛﺎل‬ ‫اﺳﺗﺧدم اﻟرﺳم وﺟدول ﻣن اﻟﻘﯾم ﻓﻰ اﻻﺳﺗﻌﻼم ﻋن‬

‫‪sin 3x‬‬ ‫‪x‬‬

‫‪lim‬‬ ‫‪x 0‬‬

‫اﻟﺣل ‪:‬‬

‫ﺳوف ﻧﺳﻧﺧدم اﻻﻣر ‪ Clear‬ﻻزاﻟﺔ اى ﺗﻌرﯾﻔﺎت ﺳﺎﺑﻘﺔ ﻟـ ‪ f‬ﺛم ﻧﻌرف ‪:‬‬

‫‪sin 3x‬‬ ‫‪x‬‬

‫‪f (x) ‬‬

‫وﺑﻌد ذﻟك ﻧرﺳم ‪ f‬ﻓﻰ اﻟﻔﺗرة ]‪ [, ‬ﺑﺎﺳﺗﺧدام اﻻﻣر ‪. Plot‬‬

‫;]‪Clear[f‬‬

‫‪Sin3x‬‬ ‫;‬ ‫‪x‬‬

‫‪fx_ :‬‬

‫]}‪Plot[f[x],{x,-,‬‬

‫‪٢٤٩‬‬


‫‪3‬‬ ‫‪2.5‬‬ ‫‪2‬‬ ‫‪1.5‬‬ ‫‪1‬‬ ‫‪0.5‬‬ ‫‪3‬‬

‫‪1‬‬

‫‪2‬‬

‫‪-2‬‬

‫‪-1‬‬

‫‪-3‬‬

‫‪-0.5‬‬

‫‪Graphics‬‬

‫‪sin 3x‬‬ ‫ﯾﺗﺿﺢ ﻣن اﻟرﺳم ان ‪ 3‬‬ ‫‪x 0‬‬ ‫‪x‬‬ ‫‪sin 3x‬‬ ‫‪lim‬‬ ‫ﻋﻣوﻣﺎ ﻟﻠﺗﺎﻛد ﻣن ان ‪ 3‬‬ ‫‪x 0‬‬ ‫‪x‬‬ ‫‪lim‬‬

‫ﯾﺗم ﺣﺳﺎب ﻗﯾم )‪ f(x‬ﻟﻘﯾم ‪ x‬اﻟﻘرﯾﺑﺔ ﻣن اﻟﺻﻔر‪.‬‬

‫اﻻن ﺳوف ﻧﺳﺗﺧدم ‪ Random‬ﻟﺗﻌرﯾف ‪ aa1‬واﻟﺗﻰ ﺗﻣﺛل ﻗﺎﺋﻣﺔ ﻣن ﺳﺗﺔ اﻋداد ﺣﻘﯾﻘﯾﺔ ﻋﺷواﺋﯾﺔ ‪.‬‬ ‫اﻟﻌدد اﻻول ﯾﻘﻊ ﺑﯾن‪ -1,1‬واﻟﻌدد اﻟﺛﺎﻧﻰ ﯾﻘﻊ ﺑﯾن ‪ -1/10,1/10‬وﻫﻛذا ‪ .‬وﯾﺟب اﻟﺗذﻛﯾر ﻋﻧد ﺗوﻟﯾد ﻫذﻩ‬ ‫اﻻﻋداد ﻣرة اﺧرى ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم ﺳوف ﺗﺧﺗﻠف اﻟﻧﺗﺎﺋﺞ ﻻن ﻫذة اﻋداد ﺗم ﺗوﻟﯾدﻫﺎ ﻋﺷواﺋﯾﺎ ‪.‬‬

‫‪Sin3x‬‬ ‫‪x‬‬

‫‪fx_ :‬‬

‫‪aa1  TableRandomReal, 10 n, 10 n, n, 0, 5‬‬ ‫‪0.161466, 0.0148057, 0.0004633,‬‬ ‫‪0.000745624, 0.0000983324,  4.75616  106‬‬ ‫]‪aa2=Map[f,aa1‬‬ ‫}‪{2.88405,2.99901,3.,3.,3.,3.‬‬ ‫]}‪aa3=Table[{aa1[[i]],aa2[[i]]},{i,1,6‬‬ ‫‪0.161466, 2.88405,  0.0148057, 2.99901,‬‬ ‫‪0.0004633, 3., 0.000745624, 3.,‬‬ ‫‪0.0000983324, 3.,  4.75616  106, 3.‬‬ ‫]‪TableForm[aa3‬‬

‫‪2.88405‬‬ ‫‪2.99901‬‬ ‫‪3.‬‬ ‫‪3.‬‬ ‫‪3.‬‬ ‫‪3.‬‬

‫‪0.161466‬‬ ‫‪0.0148057‬‬ ‫‪0.0004633‬‬ ‫‪0.000745624‬‬ ‫‪0.0000983324‬‬ ‫‪4.75616  106‬‬ ‫‪٢٥٠‬‬


‫‪sin 3x‬‬ ‫ﻣن اﻟﺟدول ﯾﺗﺿﺢ ان ‪ 3‬‬ ‫‪x 0‬‬ ‫‪x‬‬ ‫‪sin 3x‬‬ ‫‪lim‬‬ ‫ﺑﺎﻟطﺑﻊ ﻫذﻩ اﻟﻧﺗﺎﺋﺞ ﻻ ﺗﺛﺑت ان ‪ 3‬‬ ‫‪x 0‬‬ ‫‪x‬‬ ‫‪sin 3x‬‬ ‫‪lim‬‬ ‫وﻟﻛن ﺗﺳﺎﻋدﻧﺎ ﻓﻰ اﻟﺣل ان ‪ 3‬‬ ‫‪x 0‬‬ ‫‪x‬‬ ‫‪lim‬‬

‫ﺑﻌض اﻟﻧﻬﺎﯾﺎت واﻟﺗﻰ ﺗﺧص اﻟدوال اﻟﻧﺳﺑﯾﺔ ﯾﻣﻛن ﺣﺳﺎﺑﻬﺎ وذﻟك ﻋن طرﯾق ﻓك ‪Factoring‬‬

‫اﻟﺑﺳط واﻟﻣﻘﺎم ‪.‬‬

‫ﻣﺛﺎل‬ ‫اﺣﺳب‬

‫‪x 2 1‬‬ ‫‪x  x 2‬‬ ‫‪2‬‬

‫‪lim‬‬ ‫‪x 1‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ ‪ :‬ﯾدوى‬

‫‪.‬‬

‫‪x 1‬‬ ‫‪x 2‬‬

‫‪ lim‬‬ ‫‪x 1‬‬

‫)‪(x 1)(x 1‬‬ ‫)‪(x  2)( x 1‬‬

‫‪ lim‬‬ ‫‪x 1‬‬

‫ﺳوف ﻧﻌرف ‪ aa1‬ﻟﯾﻣﺛل اﻟﺗﻌﺑﯾر‬

‫‪x 2 1‬‬ ‫‪x  x 2‬‬

‫‪x2 1‬‬ ‫‪x2  x  2‬‬

‫‪2‬‬

‫‪lim‬‬ ‫‪x 1‬‬

‫ﺳوف ﻧﺣﺎول ﺣﺳﺎب ﻗﯾﻣﺔ‬

‫‪x2 1‬‬ ‫‪x2  x  2‬‬

‫ﻋﻧد ‪ x=1‬وﻟﻛن ﺳوف ﻧﺟد اﻧﻬﺎ‬

‫ﻗﯾﻣﺔ ﻏﯾر ﻣﻌرﻓﺔ ‪.‬‬

‫‪x2  1‬‬ ‫‪aa1  2‬‬ ‫‪x  x 2‬‬ ‫‪aa1 . x  1‬‬ ‫‪ 1  x2‬‬ ‫…‪encountered . More‬‬

‫‪ 2  x  x2‬‬

‫‪1‬‬

‫‪expression‬‬

‫‪Power ::infy  :  Infinite‬‬

‫‪0‬‬

‫…‪encountered . More‬‬

‫‪0 ComplexInfinity‬‬

‫‪expression‬‬

‫‪::indet  : ‬‬ ‫‪Indeterminate‬‬

‫‪Indeterminate‬‬

‫ﺑﻔك اﻟﺑﺳط واﻟﻣﻘﺎم وذﻟك ﺑﺎﻻﻣر‪ Factor‬ﻟﺗوﺿﯾﺢ ﻛﯾف ﯾﻣﻛن ﺗﺑﺳﯾط اﻟﺗﻌﺑﯾر ﺛم ﻧﺳﺗﺧدم اﻻﻣر ‪Cancel‬‬ ‫ﻟﺗﺑﺳﯾط‬

‫‪x2 1‬‬ ‫‪x2  x  2‬‬

‫اﻟﻰ‬

‫‪x 1‬‬ ‫‪x 2‬‬

‫ﺳوف ﻧﻌطﻰ ﻟـ‬

‫‪x 1‬‬ ‫‪x 2‬‬

‫وﻧﺣﺳﺑﻪ ﻋﻧد ‪. x=1‬‬ ‫‪٢٥١‬‬

‫اﻻﺳم ‪aa2‬‬


x2  1 aa1  2 x  x 2  1  x2

 2  x  x2 Factor[Numerator[aa1]] (-1+x) (1+x) Factor[Denominator[aa1]] (-1+x) (2+x) aa2=Cancel[aa1] 1 x

2 x aa2/.x1 2 3

: Limit‫اﻻن ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‬

Limit[aa1,x1]

2 3

: ‫وﻋﻠﻰ ذﻟك ﯾﻣﻛن اﻟﻘول ان‬

lim x 1

x 2 1 x  x 2 2

2  . 3

‫ﻣﺛﺎل‬

lim x 

3x 2 5x 1 x 2 x 2

‫اﺣﺳب‬

: ‫اﻟﺣل‬ ‫ ﯾدوى‬: ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ‬

3x 2  5x  1 3x 2 5x 1 2 x  x  x  2

lim

 lim x 

x2  lim x 2  x  2 x  x2

3

5

1

x 2  3  3. 2 1 1  2 x x x 1

‫ﻓﻰ اﻟﻣﺛﺎل‬. ‫ ﻓﻰ اﻟﻣﻘﺎم‬x ‫ اﻋﻠﻰ اس ﻟـ‬n ‫ ﺣﯾث‬x ‫ﺑﺻورة ﻋﺎﻣﺔ ﯾﺗم ﻗﺳﻣﺔ اﻟﺑﺳط واﻟﻣﻘﺎم ﻟﻠﺗﻌﺑﯾر ﻋﻠﻰ‬ n

. n=2 ‫اﻟﺳﺎﺑق‬ ٢٥٢


: Limit ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬:‫ﺛﺎﻧﯾﺎ‬

Limit

3x2  5x  1 , x   x2  x  2

3

‫ﻣﺛﺎل‬

lim x 

‫اﺣﺳب‬

x 3 8 x 2 4

: ‫اﻟﺣل‬ ‫ ﯾدوى‬: ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ‬

(x 2  2x  4) 2

lim x 

x 3 8 x 2 4

(x  2x  4)(x  2)  lim x  x  (x  2)(x  2)

 lim

x (x  2) x

x2  lim x 

1

2

4 x  .

x

: Limit ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬: ‫ﺛﺎﻧﯾﺎ‬

Limit 

x3  8 , x   x2  4 ‫ﻣﺛﺎل‬

lim x 

x 2 1 x 1

‫اﺣﺳب‬

: ‫اﻟﺣل‬ ‫ ﯾدوى‬: ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ‬

lim x 

x 2 1 x 1

(x  1)(x  1)  lim(x  1)   . x  x  (x  1)

 lim

: Limit ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬: ‫ﺛﺎﻧﯾﺎ‬

٢٥٣


x2  1 Limit , x   x 1 

‫ﻣﺛﺎل‬

lim

x 

x 2 4 2x 2 5

‫اﺣﺳب‬

: ‫اﻟﺣل‬ ‫ ﯾدوى‬: ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ‬

x2  4 lim

x 

x 2 4 2x 2  5

x 2  lim x  2x 2  5 x 

 lim

x2

1

4

x2  1 . 5 2 2 2 x

: Limit ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬: ‫ﺛﺎﻧﯾﺎ‬

x2  4 Limit , x   2x2  5 1 2

‫ﻣﺛﺎل‬ x 3 7 2 5x 1 x 

lim

‫اﺣﺳب‬

: ‫اﻟﺣل‬ ‫ ﯾدوى‬: ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ‬

٢٥٤


x3  7 x 3 7 2 5x 1 x 

lim

x 2  lim x  5x 2  1 x 

x

 lim

x

2

5

7 x 2   . 1 x2 : Limit ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬: ‫ﺛﺎﻧﯾﺎ‬

x3  7 Limit , x   5x2  1 -

‫ﻣﺛﺎل‬

lim x 

‫اﺣﺳب‬

2x  5 3x 1

: ‫اﻟﺣل‬ ‫ ﯾدوى‬: ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ‬

2x  5 lim x 

2x 5 3x 1

 lim x 

x  lim 3x  1 x x

2

5

x 2 . 1 3 3 x

: Limit ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬: ‫ﺛﺎﻧﯾﺎ‬

Limit

2x  5 , x   3x  1

2 3

‫ﻣﺛﺎل‬ ٢٥٥


‫اﺣﺳب‬

‫‪x 2 1‬‬ ‫‪2x 3  x‬‬

‫‪lim‬‬ ‫‪x ‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﻘوم ﺑﺣل اﻟﻣﺛﺎل اوﻻ ‪ :‬ﯾدوى‬

‫‪1‬‬

‫‪‬‬

‫‪x2  1‬‬

‫‪1‬‬

‫‪x 3  lim x x 3  0 =0 .‬‬ ‫‪x  2x 3  x‬‬ ‫‪x‬‬ ‫‪1 2‬‬ ‫‪2 2‬‬ ‫‪x‬‬ ‫‪x3‬‬

‫‪ lim‬‬

‫‪x 2 1‬‬ ‫‪2x3  x‬‬

‫‪lim‬‬ ‫‪x ‬‬

‫ﺛﺎﻧﯾﺎ ‪ :‬ﺑﺎﺳﺗﺧدام اﻻﻣر ‪: Limit‬‬

‫‪x2  1‬‬ ‫‪Limit 3‬‬ ‫‪, x  ‬‬ ‫‪2x  x‬‬ ‫‪0‬‬

‫ﻣﺛﺎل‬ ‫اﺣﺳب‬

‫‪ex‬‬ ‫‪ lim x 5e x‬و ‪lim‬‬ ‫!‪x  x‬‬ ‫‪x ‬‬

‫اﻟﺣل ‪:‬‬ ‫‪Limitx5Expx, x  ‬‬ ‫‪0‬‬

‫‪Expx‬‬ ‫‪, x  ‬‬ ‫‪x‬‬

‫‪Limit‬‬ ‫‪0‬‬

‫اﻟﻧﻬﺎﯾﺎت ﻣن طرف واﺣد‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﺳﺗطﯾﻊ ﺣﺳﺎب اﻟﻧﻬﺎﯾﺔ ﻣن طرف واﺣد ‪ .‬اﻻﻣر ‪:‬‬ ‫]‪Limit[f[x],x->a,Direction->-1‬‬

‫واﻟذى ﯾﺣﺎول ﺣﺳﺎب )‪lim f(x‬‬

‫‪x a +‬‬

‫اي اﻟﻧﻬﺎﯾﺔ ﻣن اﻟﯾﻣﯾن ﺑﯾﻧﻣﺎ اﻻﻣر ‪:‬‬

‫]‪Limit[f[x],x->a,Direction->1‬‬

‫واﻟذى ﯾﺣﺎول ﺣﺳﺎب )‪lim f(x‬‬

‫‪x a -‬‬

‫‪٢٥٦‬‬


.‫اى اﻟﻧﻬﺎﯾﺔ ﻣن اﻟﯾﺳﺎر‬

‫اﻣﺛﻠﺔ‬ : ‫اﺣﺳب‬

lim-

x-1

x 1



Limit x 1, x  1, Direction  1 0

lim x

1-2x

1 2



Limit 1  2x , x 

1 , Direction  1 2

0

lim x

4-3x

4 3

4  Limit 4 3x , x  , Direction  1 3

0

lim

x -1

x+1



Limit x 1 , x  1, Direction  1 0

lim

1 x

lim

1 x

x 0

1 Limit , x  0, Direction  1 x - x 0

1 Limit , x  0, Direction  1 x 

٢٥٧


‫|‪|x‬‬ ‫‪x‬‬

‫‪lim‬‬

‫|‪|x‬‬ ‫‪x‬‬

‫‪lim-‬‬

‫‪x 0‬‬

‫‪Absx‬‬ ‫‪, x  0, Direction  1‬‬ ‫‪x‬‬

‫‪Limit‬‬ ‫‪1‬‬

‫‪x 0‬‬

‫‪Absx‬‬ ‫‪, x  0, Direction  1‬‬ ‫‪x‬‬

‫‪Limit‬‬ ‫‪-1‬‬

‫)‪ (٢-٥‬اﻟﺗﻔﺎﺿل ‪Differentiation‬‬ ‫ﯾﻣﻛن ﻟﻠﺑرﻧﺎج اﺟراء ﻋﻣﻠﯾﺎت اﻟﺗﻔﺎﺿل ﻟﻠدوال اﻟرﯾﺎﺿﯾﺔ اﻟﻣﺧﺗﻠﻔﺔ واﻟﺗﻌﺑﯾرات ‪ .‬ﻧﻌﻠم ﻣن اﻟﺗﻔﺎﺿل ان ﻣﺷﺗﻘﺔ ‪ f‬ﻋﻧد‬ ‫‪ x‬ﺗﻌطﻰ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫)‪f (x  h) f (x‬‬ ‫‪h‬‬

‫‪f (x)  lim‬‬ ‫‪h 0‬‬

‫ﺑﺷرط ان اﻟﻧﻬﺎﯾﺔ ﻣوﺟودة ‪ .‬اﻻﻣر‪ Limit‬ﻣﻊ اﻻﻣر ‪ Simplify‬ﯾﺳﺎﻋد ﻓﻰ ﺗﻘدﯾر اﻟﻣﺷﺗﻘﺔ ﻟداﻟﺔ‬ ‫ﺑﺎﺳﺗﺧدام ﺗﻌرﯾف اﻻﺷﺗﻘﺎق ‪.‬‬

‫ﻣﺛﺎل‬ ‫اﺣﺳب وﺑﺳط‬

‫)‪f (x  h) f (x‬‬ ‫‪h‬‬

‫واﺣﺳب‬

‫)‪f (x  h) f (x‬‬ ‫‪h‬‬

‫‪ lim‬اذا ﻛﺎﻧت‪g(x)  3x 2  7x  1‬‬ ‫‪h 0‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺑﻌد ﺗﻌرﯾف ‪ g‬ﻓﺎﻧﻧﺎ ﻧﺣﺳب وﻧﺑﺳط‬ ‫)‪g( x  h)g(x‬‬ ‫‪h‬‬

‫وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ ‪aa1‬‬ ‫]‪Clear[g‬‬

‫‪gx_ : 3x2  7x  1‬‬

‫‪٢٥٨‬‬


aa1  Simplify

gx  h  gx  h

-7+3 h+6 x

lim h 0

f (x  h) f (x) h

‫ ﻟﺣﺳﺎب‬Limit ‫ﯾﻠﻰ ذﻟك اﺳﺗﺧدام اﻻﻣر‬

g(x) ‫اﻟﻧﺗﯾﺟﺔ‬ aa2 ‫واﻟﻣﺳﻣﺎﻩ‬

g(x)‫ و‬g(x) ‫ﻟرﺳم‬ ‫ ﺑﺧطوط ﻣﺗﻘطﻌﺔ‬g(x) ‫ﺑﺎﻟﻠون اﻻﺳود واﻟرﺳم ﻟﻠداﻟﺔ‬

Plot ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‬

g(x) ‫ﺣﯾث اﻟرﺳم ﻟﻠداﻟﺔ‬

aa2=Limit[aa1,h0] -7+6 x Plot[{g[x],aa2},{x,-1,4},PlotStyle {GrayLevel[0],Dashing[{.01}]},PlotRange{8,20},AspectRatio1] 20

15

10

5

-1

1

2

3

4

-5

Graphics

‫ﻣﺛﺎل‬

g(x) 

x32 ‫ اذا ﻛﺎﻧت‬lim h 0 x2 1

f (x  h) f (x) h

‫واﺣﺳب‬

f (x  h) f (x) h

‫اﺣﺳب وﺑﺳط‬

: ‫اﻟﺣل‬ g( x  h)g(x) h

٢٥٩

‫ ﻓﺎﻧﻧﺎ ﻧﺣﺳب وﻧﺑﺳط‬g ‫ﺑﻌد ﺗﻌرﯾف‬


‫وﻧﺳﻣﻰ اﻟﻧﺎﺗﺞ ‪aa1‬‬

‫‪‬‬ ‫‪x 3 2‬‬

‫]‪Clear[g‬‬

‫‪gx_ :‬‬

‫‪x2  1‬‬ ‫‪gx  h  gx‬‬ ‫‪aa1  Together‬‬ ‫‪‬‬ ‫‪h‬‬

‫‪‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪2 ‬‬ ‫‪2 h  4 h x  3  x  h‬‬ ‫‪3 x  2hx 3 x ‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪x2 3  x  3  h  x  x2 3  h  x  ‬‬ ‫‪h 1  x2  1  h2  2 h x  x2‬‬

‫ﯾﻠﻰ ذﻟك اﺳﺗﺧدام اﻻﻣر ‪ Limit‬ﻟﺣﺳﺎب‬

‫و اﻟﻧﺗﯾﺟﺔ )‪g(x‬‬

‫)‪f (x  h) f (x‬‬ ‫‪h‬‬

‫‪lim‬‬ ‫‪h 0‬‬

‫واﻟﻣﺳﻣﺎﻩ ‪aa2‬‬ ‫]‪aa2=Limit[aa1,h0‬‬ ‫‪‬‬ ‫‪ 1  3 x2  4 x 3  2 3  x ‬‬

‫‪2 ‬‬ ‫‪3  x  1  x22‬‬ ‫ﻋﻧدﻣﺎ ﺗﻛون اﻟﻠداﻟﺔ ﻗﺎﺑﻠﺔ ﻟﻠﺗﻔﺎﺿل ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﻣﻛﻧﻪ ﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺑﺎﻛﺛر ﻣن طرﯾﻘﺔ‬ ‫وﺑﻣﺟرد ﺗﻌرﯾف اﻟداﻟﺔ ‪ .‬وﻓﯾﻣﺎ ﯾﻠﻰ اﻻواﻣر اﻟﺧﺎﺻﺔ ﺑﺎﻟﻣﺷﺗﻘﺎت ‪:‬‬

‫اﻻﻣر‬

‫]‪f  [x‬‬

‫ﯾﻘوم ﺑﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻣﺗﻐﯾر ‪. x‬‬ ‫اﻻﻣر ]‪D[f[x],x‬‬ ‫ﯾﻘوم ﺑﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻣﺗﻐﯾر ‪. x‬‬ ‫اﻻﻣر ]}‪D[f[x],{x,n‬‬ ‫ﯾﻘوم ﺑﺎﺷﺗﻘﺎق اﻟداﻟﺔ )‪ n f(x‬ﻣن اﻟﻣرات ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻣﺗﻐﯾر ‪. x‬‬ ‫اﻻﻣر ]‪D[ Expression ,Variable‬‬ ‫ﯾﻘوم ﺑﺎﺷﺗﻘﺎق‬

‫اﻟﺗﻌﺑﯾر ‪ Expression‬ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻣﺗﻐﯾر ‪. Variable‬‬

‫اﻻﻣر ] } ‪D[ Expression , {Variable ,n‬‬ ‫ﯾﻘوم ﺑﺎﺷﺗﻘﺎق‬

‫اﻟﺗﻌﺑﯾر‪ n Expression‬ﻣن اﻟﻣرات ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻣﺗﻐﯾر ‪. Variable‬‬

‫ﯾﻣﻛن اﺳﺗﺧدام ‪ HelpBrowser‬ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻔﺻﯾﻼت ﺗﺧص ‪ D‬وذﻟك ﻣن اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ‪.‬‬

‫‪٢٦٠‬‬


‫اﯾﺿﺎ ﯾﻣﻛن اﺳﺗﺧدام اﻟرﻣز ‪‬‬ ‫وﯾﺗم اﻟﺣﺻول ﻋﻠﻰ ﻫذا اﻟرﻣز ﺑﺎﻟﺿﻐط ﻋﻠﻰ‪ File‬ﺛم ﻋﻠﻰ ‪ Palettes‬ﺛم ‪BasicInput‬‬ ‫ﻛﻣﺎ ﯾﺗﺿﺢ ﻓﯾﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪٢٦١‬‬


‫ﻓﺗظﻬر اﻟﻘﺎﺋﻣﺔ اﻟﺗﺎﻟﯾﺔ ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ‬

‫‪٢٦٢‬‬


‫وﺑﺎﻟﺿﻐط ﻋﻠﻰ اﻟرﻣز‬

‫واﻟﻣوﺿﺢ ﻓﻰ اﻟﻘﺎﺋﻣﺔ اﻟﺳﺎﺑﻘﺔ واﻟﻣوﺿﺢ ﺑﺎﻟﺳﻬم وذﻟك ﻓﻰ ﻣﻛﺎن ادﺧﺎﻟﺔ ﻓﻰ ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﻧﺣﺻل ﻋﻠﻰ اﻟﻣطﻠوب ‪.‬‬

‫اﻣﺛﻠﺔ‬ ‫اﺣﺳب‪:‬‬

‫‪d‬‬ ‫‪4x 3  3x 2  7 ‬‬ ‫‪‬‬ ‫‪dx‬‬ ‫ﯾﻣﻛن اﻟوﺻول اﻟﻰ اﻟﺣل ﺑطرﯾﻘﺗﯾن ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪D4x3  3x2  7, x‬‬ ‫‪6 x  12 x2‬‬ ‫‪٢٦٣‬‬


x 4x3  3x2  7 6 x  12 x2 :‫اﺣﺳب‬

d  2 3  3u  2  du  u  : ‫ﯾﻣﻛن اﻟوﺻول اﻟﻰ اﻟﺣل ﺑطرﯾﻘﺗﯾن ﻛﺎﻟﺗﺎﻟﻰ‬

D3u2  

3 , u u2

6  6u u3

 u 3u2  

6  6u u3

3  u2

:‫اﺣﺳب‬

d 1   y   dy  y  : ‫ﯾﻣﻛن اﻟوﺻول اﻟﻰ اﻟﺣل ﺑطرﯾﻘﺗﯾن ﻛﺎﻟﺗﺎﻟﻰ‬

1  D y   , y y 

1 1  2 y32 2  y

 1     y  y       y  1 1   2 y32 2  y :‫اﺣﺳب‬

d 3x 4  (2x  1)2   dx ٢٦٤


‫ﯾﻣﻛن اﻟوﺻول اﻟﻰ اﻟﺣل ﺑطرﯾﻘﺗﯾن ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪D3x4  2x  12, x‬‬ ‫‪12 x3  4 1  2 x‬‬ ‫‪x 3x4  2x  12‬‬ ‫‪12 x3  4 1  2 x‬‬ ‫اﺣﺳب‪:‬‬

‫‪d  1‬‬ ‫‪t  ‬‬ ‫‪dt  t ‬‬ ‫ﯾﻣﻛن اﻟوﺻول اﻟﻰ اﻟﺣل ﺑطرﯾﻘﺗﯾن ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪1‬‬ ‫‪, t‬‬ ‫‪t‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪t‬‬ ‫اذا ﻛﺎﻧت ‪:‬‬

‫‪Dt‬‬

‫‪1‬‬ ‫‪t2‬‬

‫‪1‬‬

‫‪t t ‬‬

‫‪1‬‬ ‫‪t2‬‬

‫‪1‬‬

‫‪ f (x)   x 5e6x ‬اوﺟد )‪f (x‬‬ ‫ﻓﯾﻣﻛن اﻟﺣل ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪fx_ : x5Exp6x‬‬ ‫]‪D[f[x],x‬‬ ‫‪5 6x x4  6 6x x5‬‬

‫‪x fx‬‬ ‫‪5 6x x4  6 6x x5‬‬ ‫‪fx‬‬ ‫‪5 6x x4  6 6x x5‬‬ ‫وﻗد وﺟدﻧﺎ ان ﻧﻔس اﻟﻧﺗﯾﺟﺔ ﺣﺻﻠﻧﺎﻋﻠﯾﻬﺎ ﺑﺎﺳﺗﺧدام ﻛل اﻟطرق اﻟﺛﻼث اﻟﺳﺎﺑﻘﺔ ‪.‬‬ ‫ﻛﻣﺎ ﯾﻣﻛﻧﻧﺎ اﺳﺗﺧدام ﺻﯾﻐﺔ اﻻدﺧﺎل او اﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﻛﻣﺎ ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ‪:‬‬

‫اذا ﻛﺎﻧت ‪:‬‬

‫‪٢٦٥‬‬


‫‪90‬‬ ‫‪r‬‬

‫‪ g(r)  4r 2 ‬اوﺟد )‪g(r‬‬ ‫‪g[r_]:=4Pir^2+90Pi/r‬‬ ‫]‪D[g[r],r‬‬ ‫‪90 ‬‬ ‫‪‬‬

‫‪90‬‬ ‫‪r‬‬

‫‪r2‬‬ ‫‪r gr‬‬ ‫‪90 ‬‬ ‫‪‬‬ ‫‪r2‬‬ ‫‪‬‬ ‫‪g r‬‬ ‫‪90 ‬‬ ‫‪‬‬ ‫‪r2‬‬

‫‪gr_ : 4r2 ‬‬ ‫]‪D[g[r],r‬‬ ‫‪90 ‬‬ ‫‪‬‬

‫‪r2‬‬ ‫‪r gr‬‬ ‫‪90 ‬‬ ‫‪‬‬ ‫‪r2‬‬ ‫‪‬‬ ‫‪g r‬‬ ‫‪90 ‬‬ ‫‪‬‬ ‫‪r2‬‬

‫ﯾﻣﻛن اﻟﺗﻌرف ﻋﻠﻰ ﻗواﻧﯾن اﻟﺗﻔﺎﺿل اﻟﻣﺷﻬورة ﻣﺛل ﻗﺎﻋدة اﻟﺿرب واﻟﻘﺳﻣﺔ و‪...‬اﻟﺦ ﻣن اﻟﺑرﻧﺎﻣﺞ ‪ .‬ﻓﺑﻌد ازاﻟﺔ ﻛل‬

‫)‪f (x‬‬ ‫اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ان وﺟدت ﯾﻣﻛن ﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ ﻟﻛل ﻣن ))‪,(fg)(x)  f (g(x‬‬ ‫)‪g(x‬‬

‫‪f (x),‬‬

‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Together‬ﻓﻰ ﻗﺎﻋدة اﻟﻘﺳﻣﺔ ﺣﺗﻰ ﺗظﻬر اﻟﺻﯾﻐﺔ اﻟﻣﻌﺗﺎدة ﻟﻠﻘﺎﻋدة‪.‬‬ ‫]‪Clear[f,g‬‬

‫‪x fx gx‬‬ ‫‪gx fx  fx gx‬‬ ‫‪fx‬‬ ‫‪Togetherx‬‬ ‫‪‬‬ ‫‪gx‬‬ ‫‪gx fx  fx gx‬‬ ‫‪gx2‬‬ ‫‪x fgx‬‬ ‫‪fgx gx‬‬ ‫اﻻﻣﺛﻠﺔ اﻟﺗﺎﻟﯾﺔ ﺗﺑﺳط طرﯾﻘﺔ اﯾﺟﺎد اﻟدرﺟﺎت اﻟﻌﻠﯾﺎ ﻣن اﻟﻣﺷﺗﻘﺎت ‪:‬‬

‫‪٢٦٦‬‬


‫اﻣﺛﻠﺔ‬ :‫اﺣﺳب‬

d2 3x 4  7x 3  5x 2  8  2 dx D3x4  7x3  5x2  8, x, 2 10  42 x  36 x2 :‫اﺣﺳب‬

d2  (x  7)(2x  9  dx 2 D[(x-7)(2x-9),{x,2}] 4

d2 2  x  2cos(x)  dx 2 x,2 x2  2Cosx 2-2 Cos[x]

d3 2  x  2cos(x)  dx 3 x,3 x2  2Cosx 2 Sin[x]

‫اﻣﺛﻠﺔ‬ : ‫ ﻓﺎن‬g(y)  2 

g y_ : 2 

7 y2

gy 42 y4

7   y,2  2   2 y  

٢٦٧

7 ‫اذا ﻛﺎن‬ y2


‫‪42‬‬ ‫‪y4‬‬ ‫اﻟﻘﯾم اﻟﺣرﺟﺔ وﻧﻘط اﻻﻧﻘﻼب ‪Location Critical Points and Inflection Points‬‬ ‫وﻟﻣﺎ ﻛﺎﻧت ﻣﺷﺗﻘﺎت اﻟدوال ﺗﻣﺛل ﺗﻌﺑﯾرات ﻓﺎن اﻟﺑرﻧﺎﻣﺞ ﯾﻣﻛن اﺳﺗﺧداﻣﻪ ﻓﻰ اﯾﺟﺎد اﻟﻧﻘط اﻟﺣرﺟﺔ وﻧﻘط اﻻﻧﻘﻼب‪.‬‬ ‫اﻟﻧﻘط اﻟﺣرﺟﺔ ﺗﻣﺛل اﻟﻧﻘط ﻋﻠﻰ اﻟرﺳم ﻟﻠداﻟﺔ ‪ f‬اﻟﺗﻰ ﻋﻧدﻫﺎ ﺧط اﻟﻣﻣﺎس ﯾﻛون اﻓﻘﯾﺎ او راﺳﯾﺎ ‪ ،‬ﺑﯾﻧﻣﺎ ﻧﻘط اﻻﻧﻘﻼب‬ ‫ﺗﻣﺛل اﻟﻧﻘط اﻟﺗﻰ ﻋﻧدﻫﺎ اﻟرﺳم ﻟﻠداﻟﺔ ‪ f‬ﻣﻘﻌر اﻟﻰ اﻋﻠﻰ او اﻟﻰ اﺳﻔل ‪ .‬اﻻن ﺳوف ﻧوﺿﺢ ﺑﺎﻣﺛﻠﺔ ﻛﯾﻔﯾﺔ اﯾﺟﺎد اﻟﻧﻘط‬ ‫اﻟﺣرﺟﺔ وﻧﻘﺎط اﻻﻧﻘﻼب ﻟدوال ﻣﺧﺗﻠﻔﺔ اﻟﺗﺎﻟﯾﺔ‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪x2‬‬ ‫‪(x  5)2‬‬

‫‪f (x) ‬‬

‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﺣﺳﺎب )‪ f (x),f (x‬ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa1,aa2‬‬ ‫ﻋﻠﻰ اﻟﺗرﺗﯾب‪:‬‬ ‫]‪Clear[f‬‬

‫‪x 2‬‬ ‫‪x  52‬‬ ‫‪aa1  Togetherxfx‬‬ ‫‪fx_ :‬‬

‫‪1 x‬‬ ‫‪5  x3‬‬ ‫‪aa2  Togetherx,2fx ‬‬ ‫‪2  4  x‬‬ ‫‪5  x4‬‬

‫اﻻن ﻻﺑد ﻣن ﺣل اﻟﻣﻌﺎدﻟﺗﯾن ‪f (x)  0,f (x)  0‬‬ ‫]‪Solve[aa1==0‬‬ ‫}}‪{{x1‬‬ ‫]‪Solve[aa2==0‬‬ ‫}}‪{{x4‬‬

‫ﻣن اﻟﻧﺗﺎﺋﺞ ﻧﺟد ان اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬ ‫و اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ھﻮ ‪x  4‬‬

‫ھﻮ ‪x  1‬‬

‫اﻻن ﻧﺣﺳب ‪:‬‬

‫)‪f (1),f (4‬‬ ‫‪٢٦٨‬‬


‫}]‪{1,f[1‬‬

‫‪1‬‬ ‫‪‬‬ ‫‪12‬‬

‫‪1,‬‬

‫}]‪{4,f[4‬‬

‫‪2‬‬ ‫‪‬‬ ‫‪27‬‬

‫‪4,‬‬

‫ﻧﺳﺗﻧﺗﺞ ان ﻫﻧﺎك ﻧﻘطﺔ ﺣرﺟﺔ واﺣدة ﻟﻠداﻟﺔ ‪ f‬وﻫﻰ )‪ (1,1/12‬وﻧﻘطﺔ اﻧﻘﻼب واﺣدة وﻫﻰ )‪. (4,2/27‬‬

‫اﺳﺗﺧدام اﻟﻣﺷﺗﻘﺎت ﻓﻰ رﺳم اﻟدوال‬ ‫‪Using Derivatives in Graphics Functions‬‬

‫ﺗﺳﺎﻋد اﻟﻣﺷﺗﻘﺎت ﻣن اﻟدرﺟﺔ اﻻوﻟﻰ واﻟﺛﺎﻧﯾﺔ ﻓﻰ ﺗوﺻﯾف اﻟرﺳم ﻟﻠدوال ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ ‪ f‬ﻣﺗزاﯾدة ‪ increasing‬ﻫﻰ ﻧﻔﺳﻬﺎ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ )‪ f (x‬ﻣوﺟﺑﺔ‪.‬‬‫ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ ‪ f‬ﻣﺗﻧﺎﻗﺻﺔ ‪ decreasing‬ﻫﻰ ﻧﻔﺳﻬﺎ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ )‪ f (x‬ﺳﺎﻟﺑﺔ‬‫ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ ‪ f‬ﻣﻘﻌرة ﻣن اﻋﻠﻰ ‪ concave up‬ﻫﻰ ﻧﻔﺳﻬﺎ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ )‪ f (x‬ﻣوﺟﺑﺔ‬‫ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ ‪ f‬ﻣﻘﻌرة ﻣن اﺳﻔل ‪ concave down‬ﻫﻰ ﻧﻔﺳﻬﺎ ﻗﯾم ‪ x‬اﻟﺗﻰ ﻋﻧدﻫﺎ )‪ f (x‬ﺳﺎﻟﺑﺔ‬‫وذﻟك ﻛﻣﺎ ﯾﺗﺿﺢ ﻣن اﻻﻣﺛﻠﺔ اﻟﺗﺎﻟﯾﺔ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪f (x)  x 4  2x 3  72x 2  70x  24‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﺣﺳﺎب )‪ f (x),f (x‬ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa1,aa2‬‬ ‫ﻋﻠﻰ اﻟﺗرﺗﯾب ‪:‬‬

‫‪fx_ : x4  2x3  72x2  70x  24‬‬ ‫‪aa1  xfx‬‬ ‫‪70  144 x  6 x2  4 x3‬‬ ‫‪aa2  x,2fx ‬‬ ‫‪144  12 x  12 x2‬‬ ‫]‪Solve[aa1==0‬‬

‫‪٢٦٩‬‬


‫‪1‬‬ ‫‪, x  5‬‬ ‫‪2‬‬

‫‪x  7, x ‬‬ ‫]‪Solve[aa2==0‬‬ ‫}}‪{{x-4},{x3‬‬

‫ﻣن اﻟﻧﺗﺎﺋﺞ اﻟﺳﺎﺑﻘﺔ ﻧﺟد ان اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬ ‫و اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ھﻮ ‪. x  4, x  3‬‬

‫ھﻮ ‪x  7, x  1/ 2, x  5‬‬

‫اﻻن ﻧﺣﺳب ‪:‬‬

‫)‪f (7),f (1/ 2),f (5),f (4),f (3‬‬ ‫}]‪{-7,f[-7‬‬ ‫}‪{-7,-2279‬‬ ‫}]‪{1/2,f[1/2‬‬

‫‪1 661‬‬ ‫‪,‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪16‬‬

‫‪‬‬

‫}]‪{5,f[5‬‬ ‫}‪{5,-551‬‬ ‫}]‪{3,f[3‬‬ ‫}‪{3,-279‬‬ ‫}]‪{-4,f[-4‬‬ ‫}‪{-4,-1280‬‬ ‫ﻧﺳﺗﻧﺗﺞ ﻣن ذﻟك ان ﻫﻧﺎك ﺛﻼث ﻧﻘﺎط ﺣرﺟﺔ ﻟﻠداﻟﺔ ‪ f‬وﻫم )‪ (5,-551‬و)‪ (1/2,661/16‬و)‪(-7,-2279‬‬

‫وﻧﻘطﺗﯾن اﻧﻘﻼب وﻫﻣﺎ )‪ (-4,-1280‬و)‪ . (3,-279‬اﻻن ﻧرﺳم )‪ f (x‬ﻓﻰ اﻟﻔﺗرة ]‪ [ 8,6‬وﻧرﺳم )‪f (x‬‬ ‫ﻓﻰ اﻟﻔﺗرة ]‪ . [ 5, 4‬واﻟﻧﺗﺎﺋﺞ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪aa3=Plot[aa1,{x,-8,6},DisplayFunctionIdentity‬‬ ‫‪Graphics‬‬ ‫]‪aa4=Plot[aa2,{x,-5,4},DisplayFunctionIdentity‬‬ ‫‪Graphics‬‬ ‫]]}‪Show[GraphicsArray[{aa3,aa4‬‬ ‫‪100‬‬ ‫‪400‬‬ ‫‪50‬‬ ‫‪200‬‬ ‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬ ‫‪-50‬‬

‫‪-4‬‬ ‫‪6‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪-6‬‬

‫‪-8‬‬

‫‪-200‬‬

‫‪-100‬‬

‫‪-400‬‬

‫‪-150‬‬

‫‪GraphicsArray‬‬

‫ﻣن اﻟرﺳم )ﻋﻠﻰ اﻟﯾﺳﺎر( ﯾﺗﺿﺢ ان )‪ f (x‬ﻣوﺟﺑﺔ اذا ﻛﺎﻧت ‪ -7<x<1/2‬او ‪ x >5‬وﺳﺎﻟﺑﺔ اذا ﻛﺎﻧت ‪x<-7‬‬ ‫او ‪.1/2<x<5‬‬

‫‪٢٧٠‬‬


‫ﻣن اﻟرﺳم )ﻋﻠﻰ اﻟﯾﻣﯾن( ﯾﺗﺿﺢ ان )‪ f (x‬ﻣوﺟﺑﺔ اذا ﻛﺎﻧت ‪ x<-4‬او ‪ x >3‬و )‪ f (x‬ﺳﺎﻟﺑﺔ اذا ﻛﺎﻧت‬

‫‪ . - 4<x<3‬وﻋﻠﻰ ذﻟك ‪ f‬ﻣﺗﻧﺎﻗﺻﺔ ‪ decreasing‬وﻣﻘﻌرة ﻣن اﻋﻠﻰ ‪ concave up‬ﻓﻰ اﻟﻔﺗرة )‪(, 7‬‬ ‫و‪ f‬ﻣﺗزاﯾدة ‪ increasing‬وﻣﻘﻌرة ﻣن اﻋﻠﻰ ‪ concave up‬ﻓﻰ اﻟﻔﺗرة )‪ (-7,-4‬و‪ f‬ﻣﺗزاﯾدة وﻣﻘﻌرة ﻣن اﺳﻔل‬ ‫‪ concave down‬ﻓﻰ اﻟﻔﺗرة )‪ ( 4,1/ 2‬و‪ f‬ﻣﺗﻧﺎﻗﺻﺔ ‪ decreasing‬وﻣﻘﻌرة ﻣن اﺳﻔل ‪concave down‬‬ ‫ﻓﻰ اﻟﻔﺗرة )‪ (1/ 2,3‬و‪ f‬ﻣﺗﻧﺎﻗﺻﺔ وﻣﻘﻌرة ﻣن اﻋﻠﻰ ‪ concave up‬ﻓﻰ اﻟﻔﺗرة )‪ (3,5‬و‪ f‬ﻣﺗزاﯾدة وﻣﻘﻌرة‬ ‫ﻣن اﻋﻠﻰ ‪ concave up‬ﻓﻰ اﻟﻔﺗرة )‪. (5, ‬‬ ‫وﻓﻰ اﻟﻧﻬﺎﯾﺔ ﺳوف ﻧرﺳم اﻟداﻟﺔ ﻟﺗﺳﻬﯾل ﻫذﻩ اﻟﻣﻼﻣﺢ ‪:‬‬ ‫]}‪Plot[f[x],{x,-9,7‬‬ ‫‪5‬‬

‫‪-2.5‬‬

‫‪2.5‬‬

‫‪-5‬‬

‫‪-7.5‬‬

‫‪-500‬‬

‫‪-1000‬‬

‫‪-1500‬‬

‫‪-2000‬‬

‫‪Graphics‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪f (x)  2x 3  9x 2  24x  20‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﺣﺳﺎب )‪ f (x),f (x‬ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa1,aa2‬‬ ‫ﻋﻠﻰ اﻟﺗرﺗﯾب ‪:‬‬ ‫]‪Clear[f‬‬

‫‪fx_ : 2x3  9x2  24x  20‬‬ ‫‪aa1  xfx‬‬

‫‪٢٧١‬‬


‫‪24  18 x  6 x2‬‬ ‫‪aa2  x,2fx ‬‬ ‫‪-18+12 x‬‬ ‫]‪Solve[aa1==0‬‬ ‫}}‪{{x-1},{x4‬‬ ‫]‪Solve[aa2==0‬‬

‫ﻣن اﻟﻧﺗﺎﺋﺞ اﻟﺗﺎﻟﯾﺔ ﻧﺟد ان اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬ ‫و اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ھﻮ ‪x  3/ 2‬‬

‫‪3‬‬ ‫‪‬‬ ‫‪2‬‬

‫‪x ‬‬

‫ھﻮ ‪x  1,x  4‬‬

‫اﻻن ﻧﺣﺳب ‪:‬‬

‫‪3‬‬ ‫) ( ‪f (1),f (4),f‬‬ ‫‪2‬‬ ‫}]‪{-1,f[-1‬‬ ‫}‪{-1,33‬‬

‫}]‪{4,f[4‬‬ ‫}‪{4,-92‬‬ ‫}]‪{3/2,f[3/2‬‬

‫‪3‬‬ ‫‪59‬‬ ‫‪,‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪‬‬

‫ﻧﺳﺗﻧﺗﺞ ﻣن ذﻟك ان ﻫﻧﺎك ﻧﻘطﯾن ﺣرﺟﺗﯾن ﻟﻠداﻟﺔ ‪ f‬وﻫﻣﺎ )‪ (-1,33‬و)‪ (4,-92‬وﻧﻘطﺔ اﻧﻘﻼب واﺣدة وﻫﻰ‬ ‫)‪ . (3/2,-59/2‬اﻻن ﻧرﺳم )‪ f (x‬و )‪ f (x‬ﻓﻰ اﻟﻔﺗرة ) ‪ . (-2,6‬واﻟﻧﺗﺎﺋﺞ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪aa3=Plot[aa1,{x,-2,6},DisplayFunctionIdentity‬‬ ‫‪Graphics‬‬ ‫]‪aa4=Plot[aa2,{x,-2,6},DisplayFunctionIdentity‬‬ ‫‪Graphics‬‬ ‫]]}‪Show[GraphicsArray[{aa3,aa4‬‬ ‫‪80‬‬ ‫‪60‬‬ ‫‪40‬‬ ‫‪20‬‬

‫‪40‬‬ ‫‪20‬‬ ‫‪6‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-20‬‬ ‫‪-40‬‬

‫‪-2‬‬

‫‪6‬‬

‫‪-2 -20‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪-40‬‬ ‫‪GraphicsArray‬‬

‫ﻣن اﻟرﺳم ﯾﺗﺿﺢ ان )‪ f (x‬ﻣوﺟﺑﺔ اذا ﻛﺎﻧت ‪ x<-1‬او ‪ x >4‬وﺳﺎﻟﺑﺔ اذا ﻛﺎﻧت ‪ -1<x<3/2‬او ‪3/2<x<4‬‬ ‫ﺑﯾﻧﻣﺎ )‪ f (x‬ﻣوﺟﺑﺔ اذا ﻛﺎﻧت ‪ x>3/2‬او )‪ f (x‬ﺳﺎﻟﺑﺔ اذا ﻛﺎﻧت ‪ . x<3/2‬وﻋﻠﻰ ذﻟك ‪ f‬ﻣﺗزاﯾدة وﻣﻘﻌرة‬ ‫ﻣن اﺳﻔل ﻓﻰ اﻟﻔﺗرة )‪ ( , 1‬و‪ f‬ﻣﺗﻧﺎﻗﺻﺔ وﻣﻘﻌرة ﻣن ﻣن اﺳﻔل ﻓﻰ اﻟﻔﺗرة )‪ (-1,3/2‬وﻣﺗﻧﺎﻗﺻﺔ ‪ f‬وﻣﻘﻌرة‬ ‫ﻣن اﻋﻠﻰ ﻓﻰ اﻟﻔﺗرة )‪ (3/ 2,4‬و‪ f‬ﻣﺗزاﯾدة و ﻣﻘﻌرة ﻣن اﻋﻠﻰ ﻓﻰ اﻟﻔﺗرة )‪ (4, ‬وﻓﻰ اﻟﻧﻬﺎﯾﺔ ﺳوف ﻧرﺳم‬ ‫اﻟداﻟﺔ ﻟﺗﺳﻬﯾل ﻫذﻩ اﻟﻣﻼﻣﺢ ‪:‬‬ ‫‪٢٧٢‬‬


‫]}‪Plot[f[x],{x,-5,10‬‬ ‫‪200‬‬ ‫‪100‬‬

‫‪10‬‬

‫‪8‬‬

‫‪6‬‬

‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬

‫‪-4‬‬

‫‪-100‬‬ ‫‪-200‬‬ ‫‪-300‬‬

‫‪Graphics‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪f (x)  x 2  6x  7‬‬ ‫اﻟﺣل ‪:‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﺣﺳﺎب )‪ f (x),f (x‬ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa1,aa2‬‬ ‫ﻋﻠﻰ اﻟﺗرﺗﯾب‪:‬‬ ‫]‪Clear[f‬‬

‫‪fx_ : x2  6x  7‬‬ ‫‪aa1  xfx‬‬ ‫‪-6+2 x‬‬

‫‪aa2  x,2fx ‬‬ ‫‪2‬‬ ‫]‪Solve[aa1==0‬‬ ‫}}‪{{x3‬‬ ‫]‪Solve[aa2==0‬‬ ‫}{‬

‫ﻣن اﻟﻧﺗﺎﺋﺞ اﻟﺳﺎﺑﻘﺔ ﻧﺟد ان اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬ ‫وﻻ ﯾوﺟد ﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬

‫ھﻮ ‪x  3‬‬

‫اﻻن ﻧﺣﺳب ‪:‬‬

‫)‪f (3‬‬ ‫}]‪{3,f[3‬‬ ‫‪٢٧٣‬‬


‫}‪{3,-2‬‬ ‫ﻧﺳﺗﻧﺗﺞ ﻣن ذﻟك ان ﻫﻧﺎك ﻧﻘطﺔ ﺣرﺟﺔ واﺣدة ﻟﻠداﻟﺔ ‪ f‬وﻫﻰ )‪ (3,-2‬وﻻ ﯾوﺟد ﻧﻘطﺔ اﻧﻘﻼب ‪.‬‬ ‫اﻻن ﻧرﺳم )‪ f (x‬ﻓﻰ اﻟﻔﺗرة ]‪. [-1,4‬‬ ‫]}‪aa3=Plot[aa1,{x,-1,4‬‬

‫‪2‬‬

‫‪4‬‬

‫‪2‬‬

‫‪3‬‬

‫‪-1‬‬

‫‪1‬‬ ‫‪-2‬‬ ‫‪-4‬‬ ‫‪-6‬‬ ‫‪-8‬‬

‫‪Graphics‬‬ ‫ﯾﺗﺿﺢ ﻣن اﻟرﺳم ان اﻟداﻟﺔ ﻣوﺟﺑﺔ ﻟﻘﯾم ‪ x>3‬وﺳﺎﻟﺑﺔ ﻟﻘﯾم ‪ x<3‬وھذا ﯾﻌﻧﻰ ان)‪ f(x‬ﻣﺗزاﯾدة ﻟﻘﯾم ‪x>3‬‬

‫وﺗﻨﺎﻗﺼﯿﺔ ﻟﻘﯿﻢ ‪x<3‬‬

‫ﻛﻤﺎ ﯾﺘﻀﺢ ﻣﻦ رﺳﻢ اﻟﺪاﻟﺔ)‪ f(x‬ﻓﯾﻣﺎ ﯾﻠﻰ ‪:‬‬

‫]}‪Plot[f[x],{x,0,5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪5‬‬

‫‪3‬‬

‫‪4‬‬

‫‪2‬‬

‫‪1‬‬ ‫‪-1‬‬ ‫‪-2‬‬ ‫‪Graphics‬‬

‫وﻣن اﻟرﺳم ﯾﺗﺿﺢ ان اﻟداﻟﺔ ﻣﻘﻌرة ﻣن اﻋﻠﻰ وذﻟك ﻻن ‪ . f (x)  2  0‬ﻛﻣﺎ ﯾﺗﺿﺢ ﻣن اﻟرﺳم ان اﻟداﻟﺔ ﻟﻬﺎ‬ ‫ﻧﻘطﺔ ﺻﻐرى ﻋﻧد )‪(3,-2‬‬ ‫‪٢٧٤‬‬


‫اﯾﺿﺎ ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﻣﻛن اﻟﻘول ان اﻟداﻟﺔ ﺗﻘطﻊ اﻟﻣﺣور اﻻﻓﻘﻰ ﺗﻘرﯾﺑﺎ ﻋﻧد‬ ‫‪X=1.58579,x=4.41421‬‬

‫]]‪N[Solve[f[x]0‬‬

‫}}‪{{x1.58579},{x4.41421‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪f (x)  x 2  2x  1‬‬ ‫اﻟﺣل ‪:‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﺣﺳﺎب )‪ f (x),f (x‬ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa1,aa2‬‬ ‫ﻋﻠﻰ اﻟﺗرﺗﯾب‪:‬‬ ‫]‪Clear[f‬‬

‫‪fx_ : x2  2x  1‬‬ ‫‪aa1  xfx‬‬ ‫‪2-2 x‬‬ ‫]‪Solve[aa10‬‬ ‫}}‪{{x1‬‬

‫‪aa2  x,2fx ‬‬ ‫‪-2‬‬

‫ﻣن اﻟﻧﺗﺎﺋﺞ اﻟﺳﺎﺑﻘﺔ ﻧﺟد ان اﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬

‫ھﻮ ‪x  1‬‬

‫اﻻن ﻧﺣﺳب ‪:‬‬

‫)‪f (1‬‬ ‫}]‪{1,f[1‬‬ ‫}‪{1,2‬‬

‫ﻧﺳﺗﻧﺗﺞ ﻣن ذﻟك ان ﻫﻧﺎك ﻧﻘطﺔ ﺣرﺟﺔ واﺣدة ﻟﻠداﻟﺔ ‪ f‬وﻫﻰ )‪ (1, 2‬اﻻن ﻧرﺳم )‪ f (x‬ﻓﻰ اﻟﻔﺗرة ‪: -9,9‬‬

‫]}‪Plot[aa1,{x,-9,9‬‬

‫‪٢٧٥‬‬


‫‪20‬‬ ‫‪15‬‬ ‫‪10‬‬ ‫‪5‬‬ ‫‪5‬‬

‫‪7.5‬‬

‫‪-2.5‬‬

‫‪2.5‬‬

‫‪-5‬‬

‫‪-7.5‬‬

‫‪-5‬‬ ‫‪-10‬‬ ‫‪-15‬‬

‫‪Graphics‬‬ ‫ﯾﺗﺿﺢ ﻣن اﻟرﺳم ان اﻟداﻟﺔ ﺳﺎﻟﺑﺔ ﻟﻘﯾم ‪ x>1‬وﻣوﺟﺑﺔ ﻟﻘﯾم ‪ x<1‬وھذا ﯾﻌﻧﻰ ان)‪f(x‬‬ ‫و ﺗﻨﺎﻗﺼﯿﺔ ﻟﻘﯿﻢ ‪ x>1‬و ﺗزاﯾدﯾﺔ ﻟﻘﯾم ‪x<1‬‬

‫‪.‬‬

‫اﻻن ﻧرﺳم )‪ f (x‬ﻓﻰ اﻟﻔﺗرة ]‪[-9,9‬‬ ‫]}‪Plot[f[x],{x,-9,9‬‬ ‫‪7.5‬‬

‫‪5‬‬

‫‪-2.5‬‬

‫‪2.5‬‬

‫‪-5‬‬

‫‪-7.5‬‬

‫‪-20‬‬ ‫‪-40‬‬ ‫‪-60‬‬ ‫‪-80‬‬ ‫‪-100‬‬

‫‪Graphics‬‬ ‫ﯾﺗﺿﺢ ﻣن اﻟرﺳم ان اﻟداﻟﺔ ﺗﻧﺎﻗﺻﯾﺔ ﻟﻘﯾم ‪ x>1‬وﺗزاﯾدﯾﺔ ﻟﻘﯾم ‪x<1‬‬ ‫وﻣن اﻟرﺳم ﯾﺗﺿﺢ ان اﻟداﻟﺔ ﻣﻘﻌرة ﻣن اﺳﻔل وذﻟك ﻻن ‪ . f (x)  2  0‬ﻛﻣﺎ ﯾﺗﺿﺢ ﻣن اﻟرﺳم ان اﻟداﻟﺔ ﻟﻬﺎ‬ ‫ﻧﻘطﺔ ﻋظﻣﻰ ﻋﻧد )‪(1,2‬‬ ‫اﯾﺿﺎ ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ﯾﻣﻛن اﻟﻘول ان اﻟداﻟﺔ ﺗﻘطﻊ اﻟﻣﺣور اﻻﻓﻘﻰ ﺗﻘرﯾﺑﺎ ﻋﻧد ‪:‬‬ ‫‪X=.414214 , x=2.41421‬‬ ‫]]‪N[Solve[f[x]0‬‬

‫‪٢٧٦‬‬


‫}}‪{{x-0.414214},{x2.41421‬‬

‫رﺳم اﻟدوال واﻟﻣﺷﺗﻘﺎت ‪Graphing Functions and Derivatives‬‬ ‫ﯾﻣﻛن ﻟﻠﺑرﻧﺎﻣﺞ رﺳم اﻟداﻟﺔ واﻟﻣﺷﺗﻘﺎت ﻣﻌﺎ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ارﺳم اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪x‬‬ ‫‪x2  1‬‬

‫‪f (x) ‬‬

‫اﻟﺣل ‪:‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﺣﺳﺎب )‪ f (x),f (x‬ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa1,aa2‬‬ ‫ﻋﻠﻰ اﻟﺗرﺗﯾب‪:‬‬

‫‪x‬‬ ‫‪x2  1‬‬

‫]‪Clear[f‬‬

‫‪fx_ :‬‬

‫‪aa1  Togetherxfx‬‬ ‫‪1  x2‬‬ ‫‪1  x22‬‬

‫‪aa2  Togetherx,2fx ‬‬ ‫‪2  3 x  x3‬‬ ‫‪1  x23‬‬ ‫]‪Solve[aa1==0‬‬ ‫}}‪{{x-1},{x1‬‬ ‫]‪Solve[aa2==0‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪x  0, x   3 , x  3 ‬‬ ‫}]‪{3,f[3‬‬

‫‪3‬‬ ‫‪‬‬ ‫‪10‬‬

‫ﻣن اﻟﻧﺗﺎﺋﺞ اﻟﺳﺎﺑﻘﺔ ﯾﺗﺿﺢ ان ‪f (x)  0‬‬ ‫ﻋﻧدﻣﺎ ‪ x=1,x=-1‬وﻣن اﻟﻧﺗﺎﺋﺞ اﻟﺗﺎﻟﯾﺔ ﯾﺗﺿﺢ ان اﻟﻘﯾﻣﺔ اﻟﻌظﻣﻰ ﻋﻧد ‪x=1‬‬

‫وذﻟك ﻻن ‪f (1)  0‬‬ ‫واﻟﻘﯾﻣﺔ اﻟﺻﻐرى ﻋﻧد ‪x=-1‬‬ ‫وذﻟك ﻻن‬

‫‪f  (  1 )  0‬‬

‫‪٢٧٧‬‬

‫‪3,‬‬


‫‪aa2/.x1‬‬

‫‪1‬‬ ‫‪2‬‬

‫‪‬‬

‫‪aa2/.x-1‬‬

‫‪1‬‬ ‫‪2‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Plot‬ﻟرﺳم )‪ f (x),f (x‬ﻓﻰ اﻟﻔﺗرة ]‪ [-5,5‬ﺣﯾث اﻟرﺳم ﻟﻠداﻟﺔ )‪ f (x‬اﺳود واﻟرﺳم‬ ‫ﻟﻠداﻟﺔ )‪ f (x‬رﻣﺎدى ‪.‬‬ ‫‪Plot[{f[x],aa1},{x,‬‬‫]}]}‪5,5},PlotStyle{GrayLevel[0],Dashing[{0.01‬‬ ‫‪1‬‬ ‫‪0.8‬‬ ‫‪0.6‬‬ ‫‪0.4‬‬ ‫‪0.2‬‬ ‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬

‫‪-4‬‬

‫‪-0.2‬‬ ‫‪-0.4‬‬

‫‪Graphics‬‬

‫ﺗﻘرﯾﺑﺎت ﺑﺎﺳﺗﺧدام ‪FindRoot‬‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن اﻟﺣﺻول ﻋﻠﻰ ﺣل اﻟﻣﺿﺑوط ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ﯾﻛون ﺻﻌب ‪ .‬ﻓﻰ ﻫذﻩ اﻟﺣﺎﻟﺔ ﯾﻣﻛن‬ ‫اﺳﺧدام اﻻﻣر‪ FindRoot‬ﻟﻠﺣﺻول ﻋﻠﻰ ﺣﻠول ﺗﻘرﯾﺑﯾﺔ ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪0x‬‬

‫‪5‬‬ ‫‪f (x)  2sin 2 2x  cos 2 (x / 2) ,‬‬ ‫‪2‬‬

‫اوﺟد اﻟﻘﯾم اﻟﺗﻘرﯾﺑﯾﺔ واﻟﺗﻰ ﻋﻧﻬﺎ ﺧط اﻟﻣﻣﺎس ﯾﻛون اﻓﻘﯾﺎ ﻋﻧد رﺳم اﻟداﻟﺔ ‪f‬‬

‫اﻟﺣل ‪:‬‬ ‫‪٢٧٨‬‬


‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم رﺳﻣﻬﺎ ﻓﻰ اﻟﻔﺗرة ]‪ . [0, ‬ﯾﻼﺣظ ﻣن اﻟرﺳم ان ﺧط‬ ‫اﻟﻣﻣﺎس اﻓﻘﯾﺎ ﻋﻧد ﺛﻼث ﻧﻘﺎط‪.‬‬ ‫]‪Clear[f‬‬

‫‪5‬‬ ‫‪x 2‬‬ ‫‪Cos ‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪fx_ : 2Sin2x2 ‬‬

‫]}‪Plot[f[x],{x,0,‬‬ ‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬

‫‪3‬‬

‫‪2.5‬‬

‫‪2‬‬

‫‪1.5‬‬

‫‪1‬‬

‫‪0.5‬‬

‫‪Graphics‬‬

‫‪aa1  xfx‬‬ ‫‪5‬‬ ‫‪x‬‬ ‫‪x‬‬ ‫‪Cos  Sin   8 Cos2 x Sin2 x‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪‬‬

‫ﻟﺗﻘرﯾب ﻗﯾم ‪ x‬واﻟﺗﻰ ﻋﻧدﻫﺎ ﺧط اﻟﻣﻣﺎس اﻓﻘﯾﺎ ﻧﺣﺗﺎج اﻟﻰ ﺗﻘرﯾﺑﺎت ﻣﺑدﺋﯾﺔ ‪ .‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻫذﻩ اﻟﺗﻘرﯾﺑﺎت ﺳوف‬

‫ﻧﺳﺗﺧدم اﻻﻣر ‪ Findroot‬وذﻟك ﺑﻌد رﺳم )‪f (x‬‬ ‫]}‪Plot[aa1,{x,0,‬‬

‫‪٢٧٩‬‬


‫‪7.5‬‬ ‫‪5‬‬ ‫‪2.5‬‬ ‫‪3‬‬

‫‪2‬‬

‫‪2.5‬‬

‫‪1.5‬‬

‫‪1‬‬

‫‪0.5‬‬ ‫‪-2.5‬‬ ‫‪-5‬‬ ‫‪-7.5‬‬

‫‪Graphics‬‬

‫ﻣن اﻟرﺳﻣﺔ اﻟﺳﺎﺑﻘﺔ ﻧﺟد ان ﻫﻧﺎك ﻗﯾم ﯾﻣﻛن اﺳﺗﺧداﻣﻬم ﻛﻘﯾم ﻣﺑدﺋﯾﺔ وﻫم ‪ .863,1.63,2.25‬وﻫﻰ اﻟﻘﯾم ﺣﯾث‬ ‫)‪ f (x‬ﺗظﻬر ﻗرﯾﺑﺔ ﻣن اﻟﺗﻘﺎطﻊ ﻣﻊ اﻟﻣﺣور اﻻﻓﻘﻰ ‪.‬‬ ‫]}‪FindRoot[aa10,{x,.863‬‬ ‫}‪{x0.732751‬‬ ‫]}‪FindRoot[aa10,{x,1.23‬‬ ‫}‪{x3.14159‬‬ ‫]}‪FindRoot[aa10,{x,2.25‬‬ ‫}‪{x2.29725‬‬ ‫وﻛﺑدﯾل ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪ Map‬وذﻟك ﻣﻊ اﻻﻣر ‪ FindRoot‬ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾﺑﺎت اﻟﺳﺎﺑﻘﺔ ﻓﻰ اﻣر واﺣد ‪.‬‬

‫]}‪,{.863,1.23,2.25‬‬

‫&]}‪Map[FindRoot[aa10,{x,#‬‬

‫}}‪{{x0.732751},{x3.14159},{x2.29725‬‬

‫اذا ﻛﺎن اﻫﺗﻣﺎﻣﻧﺎ ﺑﻣﻌﺎدﻻت ﻛﺛﯾرة اﻟﺣدود ﻓﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪ NRoots‬وذﻟك ﻟﻠﺣﺻول ﻋﻠﻰ ﺣﻠول ﺗﻘرﯾﺑﺔ‬ ‫ﻟﻛﺛﯾرات اﻟﺣدود ‪.‬‬

‫ﻣﺛﺎل‬ ‫ﺑﻔرض اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪1‬‬ ‫‪25‬‬ ‫‪f (x)  x 6  2x 5  x 4  60x 3  150x 2  180x  25‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪٢٨٠‬‬


‫اوﺟد اﻟﻘﯾم اﻟﺗﻘرﯾﺑﯾﺔ واﻟﺗﻰ ﻋﻧﻬﺎ ﺧط اﻟﻣﻣﺎس ﯾﻛون اﻓﻘﯾﺎ ﻋﻧد رﺳم اﻟداﻟﺔ ‪f‬‬

‫اﻟﺣل ‪:‬‬ ‫اوﻻ ‪ :‬ﺳوف ﻧزﯾل ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟﻠداﻟﺔ )‪ f(x‬ﺛم ﻧرﺳم )‪ f (x),f (x‬ﻓﻰ اﻟﻔﺗرة ]‪ . [ 6,6‬رﺳم )‪f (x‬‬ ‫ﺳوف ﯾﻛون ﻋﻠﻰ ﺷﻛل ﺧطوط ﻣﺗﻘطﻌﺔ ‪.‬‬ ‫]‪Clear[f‬‬

‫‪1 6‬‬ ‫‪25 4‬‬ ‫‪x  2x5 ‬‬ ‫‪x  60x3  150x2  180x  25‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪aa1  xfx‬‬ ‫‪180  300 x  180 x2  50 x3  10 x4  3 x5‬‬ ‫‪fx_ :‬‬

‫‪Plot[{f[x],aa1},{x,-6,6},PlotStyle‬‬ ‫]‪{GrayLevel[0],Dashing[{.01}]},AspectRatio1‬‬ ‫‪5000‬‬

‫‪2500‬‬

‫‪6‬‬

‫‪4‬‬

‫‪-2‬‬

‫‪2‬‬

‫‪-4‬‬

‫‪-6‬‬

‫‪-2500‬‬

‫‪-5000‬‬

‫‪-7500‬‬

‫‪-10000‬‬

‫‪Graphics‬‬

‫اﻻن ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ NRoots‬ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾم ‪ x‬اﻟﺗﻰ ﺗﺣﻘق ‪ f (x)  0‬وﺳوف ﻧﺗﺟﺎﻫل اﻟﻘﯾم اﻟﺗﻰ‬ ‫ﺗﺣﺗوى ﻋﻠﻰ اﻟﻘﯾم اﻟﺗﺧﯾﻠﯾﺔ ‪.‬‬ ‫]‪NRoots[aa10,x‬‬ ‫‪x-4.44315||x-0.459096||x1.55293 -1.82277 ||x1.55293‬‬ ‫‪+1.82277 ||x5.12971‬‬

‫وﻋﻠﻰ ذﻟك ﯾﻣﻛن اﻟﻘول ان ﺗﻘرﯾﺑﺎت ﻗﯾم ‪ x‬واﻟﺗﻰ ﻋﻧدﻫﺎ ﺧط اﻟﻣﻣﺎس اﻓﻘﻰ ﻫم‬ ‫‪-.459096 , 5.12971 , -4.44315‬‬

‫ﺣﺳﺎب اﻟﻣﺷﺗﻘﺎت ﻟﻠدوال اﻟﻣﺳﻣﺎﻩ ‪Implicit Functions‬‬ ‫‪٢٨١‬‬


‫ﺑﻔرض ﻣﻌﺎدﻟﺔ ﻓﻰ ﻣﺗﻐﯾرﯾن ‪ ، x,y‬ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ اﯾﺟﺎد ‪ implicit derivative‬ﻟﻠﻣﻌﺎدﻟﺔ وذﻟك‬ ‫ﺑﺎﺳﺗﺧدام اﻻﻣر ]‪ Dt[equation,x‬ﺣﯾث ‪ equation‬ﺗﻔﺎﺿل ﺑﺎﻟﻧﺳﺑﺔ ﻟﻠﻣﺗﻐﯾر ‪ x‬و اﻟﻣﺻطﻠﺢ ]‪ Dt[y,x‬ﯾﻘﺎﺑل‬

‫اﻟﻣﺻطﻠﺢ ‪ dy/dx‬وﻋﻠﻰ ذﻟك اﻟﻣﺻطﻠﺢ ]‪ Dt[x,y‬ﯾﻘﺎﺑل اﻟﻣﺻطﻠﺢ ‪. dx/dy‬‬ ‫‪?Dt‬‬ ‫‪?Dt‬‬

‫‪Dtf, x gives the total derivative of f with respect‬‬ ‫‪to x. Dtf gives the total differential‬‬ ‫‪of f. Dtf, x, n gives the nth total‬‬ ‫‪derivative of f with respect to x. Dtf, x1,‬‬ ‫…‪x2, ...  gives a mixed total derivative. More‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد ﻣﻌﺎدﻟﺔ ﺧط اﻟﻣﻣﺎس ﻟرﺳم ‪:‬‬

‫‪2x 2  2xy  y2  x  2y  1  0‬‬ ‫ﻋﻧد اﻟﻧﻘﺎط )‪.(-3/2,-1) , (-3/2,-4‬‬

‫اﻟﺣل ‪:‬‬ ‫اﻟﻣﯾل ﻟﺧطوط اﻟﻣﻣﺎس ﻟرﺳم ‪ 2x 2  2xy  y2  x  2y  1  0‬ﻋﻧد اﻟﻧﻘﺎط‬ ‫)‪ (-3/2,-1) , (-3/2,-4‬ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﻣﺎ ﺑﺗﻘدﯾر اﻟﻣﺷﺗﻘﺔ ﻟﻠﻣﻌﺎدﻟﺔ ﻋﻧد ﻛل ﻧﻘطﺔ ﻣن ﺗﻠك اﻟﻧﻘﺎط ‪.‬‬ ‫ﻻﯾﺟﺎد اﻟﻣﺷﺗﻘﺔ ﺳوف ﻧﺳﺗﺧدم ‪. implicit derivatiation‬ﺑﻌد ازاﻟﺔ ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ‪ aa1‬ﺳوف ﻧﻌرف‬ ‫‪ aa1‬ﻟﻠﻣﻌﺎدﻟﺔ ‪. 2x  2xy  y  x  2y  1  0‬وﯾﺟب اﻻ ﻧﻧﺳﻰ ﺗرك ﻣﺳﺎﻓﺔ ﺑﯾن ‪ x,y‬واﯾﺿﺎ رﻣز‬ ‫‪2‬‬

‫‪2‬‬

‫اﻟﻣﺳﺎواة اﻟﺛﻧﺎﺋﻰ )==( ﺑﯾن اﻟﺟﺎﻧب اﻻﯾﺳر ةاﻻﯾﻣن ﻣن اﻟﻣﻌﺎدﻟﺔ ‪.‬اﻟﺟﺎﻧب اﻻﯾﺳر ﻣن اﻟﻣﻌﺎدﻟﺔ ﯾﻣﻛن اﻟﺣﺻول‬ ‫ﻋﻠﯾﻪ وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ]]‪aa1[[1‬‬

‫‪aa1  2x2  2x y  y2  x  2 y  1  0‬‬ ‫‪٢٨٢‬‬


‫‪1  x  2 x2  2 y  2 x y  y2  0‬‬ ‫]]‪aa1[[1‬‬ ‫‪1  x  2 x2  2 y  2 x y  y2‬‬

‫ﺑﺎﺳﺗﺧدام اﻟرﺳم ﻟـ ‪ aa1‬واﻟذى ﯾﻣﺛل ﻣﻧﺣﻧﻰ اﻟﻣﺳﺗوى ﻟﻠداﻟﺔ ‪f (x, y)  2x 2  2xy  y 2  x  2y  1‬‬ ‫ﺣﯾث ‪f (x, y)  0‬‬ ‫وﻋﻠﻰ ذﻟك ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ ContourPlot‬ﻟﺗوﻟﯾد ﻣﻧﺣﻧﻰ اﻟﻣﺳﺗوى اﻟﺧﺎص ‪ .‬اﻟﺧﯾﺎر}‪Contours->{0‬‬ ‫واﻟذى ﯾﺟﻌل اﻟﺑرﻧﺎﻣﺞ ﯾرﺳم ﻣﻧﺣﻧﻰ اﻟﻣﺳﺗوى ﻟﻠداﻟﺔ‬

‫)‪f (x, y‬‬

‫واﻟذى ﯾﺣﻘق اﻟﺷرط ان ‪:‬‬

‫‪f (x, y)  0‬‬ ‫اﻟﺧﯾﺎر‬

‫‪ContourShading->False‬‬

‫وذﻟك ﻟﻌدم اﻟﺗظﻠﯾل ‪ .‬اﻟﺧﯾﺎر ‪:‬‬

‫‪ PotPoints->60‬وذﻟك ﻟﺟﻌل اﻟرﺳم ﻧﺎﻋم ‪ .‬اﻟﺧﯾﺎر‬

‫‪Frame->False‬‬

‫وذﻟك ﻟﻌدم وﺿﻊ اطﺎر ﺣول اﻟرﺳم ‪.‬اﻟﺧﯾﺎر ‪:‬‬

‫‪ Axes->Automatic‬وذﻟك ﻟﺟﻌل اﻟرﺳم ﺑﻣﺣﺎور ‪ .‬اﻟﺧﯾﺎر ‪:‬‬ ‫}‪ AxesOrigin->{0,0‬وذﻟك ﻟﺟﻌل ﻧﻘطﺔ ﺗﻘﺎطﻊ اﻟﻣﺣورﯾن ﻋﻧد اﻟﻧﻘطﺔ )‪.(0,0‬‬

‫‪aa2  ContourPlot2x2  2x y y2  x  2 y  1,‬‬ ‫‪x, 6, 1, y, 6, 1, Contours  0,‬‬ ‫‪ContourShading  False, PlotPoints  60,‬‬ ‫‪Frame  False, Axes  Automatic, AxesOrigin  0, 0‬‬

‫‪٢٨٣‬‬


‫‪1‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-4‬‬

‫‪-3‬‬

‫‪-5‬‬

‫‪-6‬‬

‫‪-1‬‬

‫‪-2‬‬

‫‪-3‬‬

‫‪-4‬‬

‫‪-5‬‬

‫‪-6‬‬

‫‪ContourGraphics‬‬

‫ﯾﺗﺿﺢ ان اﻟرﺳم ﻟـ‬

‫‪2x 2  2xy  y2  x  2y  1  0‬‬

‫ـﯾﻣﺛل ﻗطﻊ ﻧﺎﻗص ‪ . ellipse‬اﻟﺧطوة اﻟﺗﺎﻟﯾﺔ ﻫﻰ اﺟراء ‪ implicit derivatiation‬ﻟﻠﻣﻌﺎدﻟﺔ ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ ‪. x‬‬ ‫اﻟﻣﺧرج ﺳوف ﯾﺳﻣﻰ ‪ ، aa3‬ﺛم ﯾﻠﻰ اﺳﺗﺧدام ‪ Solve‬ﻟﺣل اﻟﻣﻌﺎدﻟﺔ ‪ aa3‬ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ‬ ‫]‪ Dt[y,x‬وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ ‪. aa4‬‬ ‫]‪aa3=Dt[aa1,x‬‬ ‫‪1+4 x-2 y+2 Dt[y,x]-2 x Dt[y,x]+2 y Dt[y,x]0‬‬ ‫]]‪aa4=Solve[aa3,Dt[y,x‬‬ ‫‪1 4x2y‬‬ ‫‪Dty, x ‬‬ ‫‪‬‬ ‫‪2  1  x  y‬‬

‫اى ان اﻻﺷﺗﻘﺎق ﻟـ ‪2x 2  2xy  y2  x  2y  1  0‬‬ ‫ھﻮ ‪:‬‬

‫‪dy 1  4x  2y‬‬ ‫‪‬‬ ‫)‪dx 2(1  x  y‬‬

‫واﻟذى ﯾﻣﻛن اﺳﺗﺧﻼﺻﺔ ﻣن ‪ aa4‬ﺑﺎﺳﺗﺧدام ]]‪aa4[[1,1,2‬‬ ‫]]‪aa4[[1,1,2‬‬ ‫‪1  4 x 2 y‬‬

‫‪2  1  x  y‬‬ ‫ﻻﯾﺟﺎد اﻟﻣﯾل ﻟﺧط اﻟﻣﻣﺎس ﻓﺎﻧﻧﺎ ﻧﻘدر ‪ dy/dx‬ﻋﻧد ﻛل ﻧﻘطﺔ ‪ .‬ﺳوف ﻧﻘدر ﻗﯾﻣﺔ ]]‪aa4[[1,1,2‬‬ ‫ﻋﻧد اﻟﻧﻘﺎط)‪ (-3/2,-1),(-3/2,-4‬وﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺋﺞ ‪aa5,aa6‬ﻋﻠﻰ اﻟﺗواﻟﻰ ‪.‬ﻓﻰ ﻛل ﺣﺎﻟﺔ‬ ‫‪٢٨٤‬‬


. 1 ‫ﻓﺎن اﻟﻣﯾل ﻟﺧط اﻟﻣﻣﺎس ھو‬

1  4x 2 y 3 aa5  . x   , y  1 21  x  y 2 1

aa6 

1  4x 2 y 3 . x   , y  4 21  x  y 2

1

‫ ﻟن‬aa8 ‫ وﯾﺟب ان ﻧﺗذﻛر ان‬. aa8 ‫ وﺑﺎﻻﺳم‬Plot ‫ﺳوف ﻧرﺳم ﺧطوط اﻟﻣﻣﺎس ﻟﺗﻠك اﻟﻧﻘﺎط ﺑﺎﺳﺗﺧدام اﻻﻣر‬ ListPlot ‫ ﻟﻣﺷﺎﻫدة ﻛل ﻧﻘطﺔ ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‬. DisplayFunction->Identity ‫ﯾظﻬر وذﻟك ﻧﺗﯾﺟﺔ ﻟﻠﺧﯾﺎر‬ ‫ ﯾﻛﺑر‬PlotStyle->PointSizes[.03] ‫ اﻟﺧﯾﺎر‬. aa9 ‫( واﺳم اﻟﻧﺗﯾﺟﺔ‬-3/2,-1),(-3/2,-4) ‫ﻟرﺳم اﻟﻧﻘﺎط‬ ‫ ﯾﺳﺗﺧدم ﻟرؤﯾﺔ اﻟﻘطﻊ ﻣﻊ‬Show ‫وﻓﻰ اﻟﻧﻬﺎﯾﺔ ﻓﺎن اﻻﻣر‬. ‫اﻟﻧﻘطﺗﯾن ﺑﺣﯾث ﯾظﻬران ﺑوﺿوح ﻓﻰ اﻟرﺳم اﻟﻧﻬﺎﺋﻰ‬ . ‫ﺧطوط اﻟﺗﻣﺎس ﻣﻊ اﻟﻧﻘﺎط‬

aa6 

1  4x 2 y 3 . x   , y  4 21  x  y 2

1

3 3   1, aa6x    4, x, 6, 1, 2 2 DisplayFunction  Identity; 3 3 aa9  ListPlot , 1,  , 4, 2 2 PlotStyle  PointSize0.03, DisplayFunction  Identity; aa8  Plotaa5x 

Show[aa2,aa8,aa9,PlotRange{{-6,1},{-6,1}}]

٢٨٥


‫‪1‬‬

‫‪-1‬‬

‫‪1‬‬

‫‪-2‬‬

‫‪-3‬‬

‫‪-4‬‬

‫‪-5‬‬

‫‪-6‬‬

‫‪-1‬‬

‫‪-2‬‬

‫‪-3‬‬

‫‪-4‬‬

‫‪-5‬‬

‫‪-6‬‬

‫‪Graphics‬‬

‫ﻓﻰ اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ﺳوف ﻧوﺟد ‪ implicity differentiate‬ﻟﻣﻌﺎدﻟﺔ ﺑﺣﯾث ان اﻟﺟﺎﻧب اﻻﯾﻣن ﻣن اﻟﻣﻌﺎدﻟﺔ ﻟﯾس‬ ‫ﺻﻔر‬

‫ﻣﺛﺎل‬ ‫اوﺟد ‪:‬‬

‫‪dy‬‬ ‫‪dx‬‬

‫‪ y ‬اذا ﻛﺎﻧت ‪cos(x  sin y)  sin y‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺑﻌد ازاﻟﺔ ﻛل اﻟﺗﻌرﯾﻔﺎت اﻟﺳﺎﺑﻘﺔ ﻟـ ‪ aa1‬ﺳوف ﻧﻌرف‬

‫‪ aa1‬ﻟﻠﻣﻌﺎدﻟﺔ ‪cos(x  sin y)  sin y‬‬

‫‪.‬‬ ‫]‪Clear[aa1‬‬

‫;]‪aa1=Cos[x+Sin[y]]Sin[y‬‬

‫‪٢٨٦‬‬


‫اﻟﺧطوة اﻟﺗﺎﻟﯾﺔ ﻫو اﺳﺗﺧدام ‪ Dt‬ﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ ﻟـ ‪aa1‬‬

‫ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ ‪ x‬وﺗﺳﻣﯾﺔ اﻟﻧﺗﯾﺟﺔ ‪aa3‬‬

‫‪dy‬‬ ‫‪‬‬ ‫‪y‬‬ ‫‪‬‬ ‫وﯾﺟب ان ﻧﺗذﻛر ان اﻟﺻﯾﻐﺔ ]‪ Dt[y,x‬ﺗﻣﺛل‬ ‫‪.‬‬ ‫‪dx‬‬ ‫]‪aa3=Dt[aa1,x‬‬ ‫]‪(-1-Cos[y] Dt[y,x]) Sin[x+Sin[y]]Cos[y] Dt[y,x‬‬ ‫واﺧﯾ ار ﺳوف ﻧﺳﺗﺧدم ‪ Solve‬ﻟﺣل ‪ aa4‬ﻓﻰ ]‪Dt[y,x‬‬ ‫]]‪aa4=Solve[aa3,Dt[y,x‬‬ ‫‪Secy Sinx  Siny‬‬ ‫‪Dty, x  ‬‬ ‫‪‬‬ ‫‪1  Sinx  Siny‬‬ ‫اﻟﻨﺘﯿﺠﺔ ‪:‬‬

‫‪dy‬‬ ‫)‪sec(y)sin(x  sin(y‬‬ ‫‪‬‬ ‫‪dx‬‬ ‫)‪1  sin(x  sin(y‬‬

‫‪y ‬‬

‫وﻫذﻩ اﻟﺻﯾﻐﺔ اﺳﺗﺧﻠﺻت ﻣن ‪ aa4‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]‪aa4[[1,1,2‬‬ ‫‪Secy Sinx  Siny‬‬ ‫‪‬‬ ‫‪1  Sinx  Siny‬‬

‫ﻓﻰ اﻟﻧﻬﺎﯾﺔ ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪ Contour‬ﻟرﺳم اﻟﻣﻌﺎدﻟﺔ ‪ cos(x  sin y)  sin y‬اوﻻ ﺳوف ﻧﻌﯾد‬ ‫ﻛﺗﺎﺑﺗﻬﺎ ﻓﻰ اﻟﺷﻛل ‪ . cos(x  sin y)sin y  0‬رﺳم ‪ cos(x  sin y)sin y  0‬ﯾﻌﻧﻰ رﺳم‬ ‫ﻣﻧﺣﻧﻰ اﻟﻣﺳﺗوى ﻟـ ‪ cos(x  sin y)sin y‬اﻟﻣﻘﺎﺑﻠﺔ ﻟﺻﻔر ‪.‬وﻋﻠﻰ ذﻟك اﻟطرﯾﻘﺔ ﻫﻰ ﻧﻔﺳﻬﺎ اﻟطرﯾﻘﺔ ﻓﻰ اﻟﻣﺛﺎل‬ ‫اﻟﺳﺎﺑق ‪.‬اﻟرﺳم اﻟﻧﺎﺗﺞ ﺳوف ﯾﻛون ﻓﻰ اﻟﻔﺗرة ]‪. [4,4‬‬ ‫‪٢٨٧‬‬


aa5=ContourPlot[Cos[x+Sin[y]]-Sin[y],{x,-4,4},{y,4,4},Contours{0},ContourShadingFalse,PlotPoints160,F rameFalse,AxesAutomatic,AxesOrigin{0,0}]

10

5

-10

-5

5

10

-5

-10

aa5=ContourPlot[Cos[x+Sin[y]]-Sin[y],{x,-4,4},{y,4,4},Contours{0},ContourShadingFalse,PlotPoints160,F rameFalse,AxesAutomatic,AxesOrigin{0,0}]

‫ﻣﺛﺎل‬ ‫ ﻣﻊ اﻟﻌﺎﺋﻠﺔ ﻣن اﻟﻣﻧﺣﻧﯾﺎت‬orthogonal ‫ﻣﺗﻌﺎﻣدة‬

x 2  2xy  y 2  C

‫اﺛﺑت ان ﻋﺎﺋﻠﺔ اﻟﻣﻧﺣﻧﯾﺎت ﻟﻠﻣﻌﺎدﻟﺔ‬

y2  2xy  x 2  C : ‫اﻟﺣل‬

y2  2xy  x 2  C ‫ و‬x 2  2xy  y 2  C ‫ ﻟﻠﻣﻌﺎدﻟﺗﯾن‬aa1,aa2 ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف‬ C ‫ ﺣﺗﻰ ﻻ ﯾﺗﻌﺎرض ﻣﻊ اﻟﺣرف‬c ‫وﺳوف ﻧﺳﺗﺧدم اﻟﺣرف‬ Clear[aa1,aa2]

aa1  x2  2x y y2  c; aa2  y2  2x y  x2  c; ٢٨٨


‫ ﺗﻣﺛل ﺛﺎﺑت و‬C ‫ وﻻن‬. ‫ ﻟﻛل ﻧﻌﺎدﻟﺔ‬y 

dy ‫ وذﻟك ﻻﯾﺟﺎد‬Dt , Solve ,Simplify ‫وﺳوف ﻧﺳﺗﺧدم اﻻواﻣر‬ dx

. ‫ ﺑﺻﻔر‬Dt[c,x] ‫ وذﻟك ﻻﺣﻼل ﻛل وﺟود ﻟـ‬ReplaceAll(/.) ‫ ﻓﺎﻧﻧﺎ ﺳوف ﻧﺳﺗﺧدم‬y 

dy (C)  0 dx

aa4=Simplify[Solve[Dt[aa1,x],Dt[y,x]]]/.Dt[c,x]0 Dt y, x   x y  x y xy Dty, x    xy

aa5=Simplify[Solve[Dt[aa2,x],Dt[y,x]]]/.Dt[c,x]0

Dty, x 

2x 2y  2 x  y : ‫وﻻن اﻟﻣﺷﺗﻘﺎت ﺳﺎﻟﺑﺔ اﻟﻣﻘﻠوب ﺣﯾث‬

y 

xy xy  1/ x  y xy : ‫وھذا ﯾﻌﻧﻰ ان اﻟﻌﺎﺋﻠﺔ ﻣﺗﻌﺎﻣدة ﻛﻣﺎ ﯾﺗﺿﺢ ﻣﻣﺎ ﯾﻠﻰ‬

aa6  ContourPlotx2  2x y y2, x, 5, 5,  y, 5, 5, ContourShading  False, PlotPoints  120, Frame  False, DisplayFunction  Identity ContourGraphics

aa7  ContourPlotx2  2x y  y2, x,  5, 5, y, 5, 5, ContourShading  False, PlotPoints  120, Frame  False, DisplayFunction  Identity ContourGraphics Show[aa5,aa6,DisplayFunction$DisplayFunction,FrameFalse ,Axes->Automatic,AxesOrigin{0,0}]

٢٨٩


4

2

-4

-2

2

4

-2

-4

. Graphics

Implicit Functions ‫طرق اﺧرى ﻻﯾﺟﺎد اﻟﻣﺷﺗﻘﺎت ﻟﻠدوال اﻟﻣﺳﻣﺎﻩ‬

‫ ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‬. x ‫ داﻟﺔ ﻓﻰ‬y ‫ اذا وﺿﺣﻧﺎ ان‬D ‫ﯾﻣﻛن ﺣﺳﺎب اﻟﻣﺷﺗﻘﺎت ﻟﻠدوال اﻟﻣﺳﻣﺎﻩ ﺑﺎﺳﺗﺧدام‬

(x 2  y2 ) 2  a 2 (x 2  y2 ) ‫ ﻟـ‬implicitly differentiate ‫ﻻﯾﺟﺎد‬

.aa1 ‫ اﻻن ﺳوف ﻧﻌرف‬. ‫ ﺛﺎﺑت‬a ‫ ﺣﯾث‬Lemniscate of Bernunlli ‫واﻟﻣﺳﻣﺎﻩ‬ Clear[aa1] 2

aa1  x2  yx2  a2x2  yx2; aa2 ‫ وﻧﻌطﯾﮫ اﻻﺳم‬X ‫ ﻻﺟراء اﻟﺗﻔﺎﺿل ﻟـ ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ‬Dt ‫ﺛﻢ ﻧﺴﺘﺨﺪم‬ aa3=Dt[aa1,x] 2 x2  yx2 2 x  2 yx yx 

2 a Dta, x x2  yx2  a2 2 x  2 yx yx .y'[x]‫ وذﻟك ﻟﺣل اﻟﻣﺷﺗﻘﺔ ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ‬Solve ‫وﻓﻰ اﻟﻨﮭﺎﯾﺔ ﻧﺴﺘﺨﺪم‬ aa4=Solve[aa3,y'[x]]

y x 

a2 x  2 x3  a x2 Dta, x  2 x yx2  a Dta, x yx2  yx a2  2 x2  2 yx2

٢٩٠


‫طرﯾﻘﺔ ﻧﯾوﺗن ‪ Newton's Method‬ﻻﯾﺟﺎد ﺟذور داﻟﺔ ﺑﺎﻻﺳﺗﻔﺎدة ﻣن اﻟﺗﻔﺎﺿل‬ ‫ﺗﻌﺗﺑر طرﯾﻘﺔ ﻧﯾوﺗن واﺣدة ﻣن اﺷﻬر اﻟطرق طرﯾﻘﺔ اﻟﺗﻘﻠﯾدﯾﺔ ﻓﻰ اﯾﺟﺎد ﺟذر ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ﺑطرﯾﻘﺔ‬ ‫اﻟﺗﻛ اررات ‪ .‬ﻟﻘد ﻧﺎﻗﺷﻧﺎ ﺳﺎﺑﻘﺎ ﻛﯾف ﯾﻣﻛن اﯾﺟﺎد ﺟذر ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ﺑطرﯾﻘﺔ ﺑﺳﯾطﺔ ﺑﺎﺳﺗﺧدام اﻻﻣر‬ ‫‪.FindRoot‬‬ ‫اﻟﺳؤال اﻻن ﻟﻣﺎذا ﻻ ﺑد ﻣن ﺗﻌﻠم ﺑرﻣﺟﺔ اﯾﺟﺎد اﻟﺟذر ؟ ﻟﻧﻔس اﻟﺳﺑب ﻛﻣﺎ ﺗﻌﻠﻣﻧﺎ ﻣن ﻗﺑل ﺣل ﻧظﺎم ﻣن اﻟﻣﻌﺎدﻻت‬ ‫اﻟﺧطﯾﺔ وذﻟك ﻻن ﺗﻠك اﻻواﻣر ﻻ ﺗﻌﻣل داﺋﻣﺎ وﻋﻠﻰ ذﻟك ﻓﺎﻟطرﯾق اﻟوﺣﯾد ھو ﺗﻌﻠم اﻟﺑرﻣﺟﺔ ﺣﺗﻰ ﯾﻣﻛن اﯾﺟﺎد‬ ‫‪1‬‬

‫ﺟذر ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ﺑطرﯾﻘﺔ ﺗﻘرﯾﺑﯾﺔ ‪.‬‬

‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ﻟﻠداﻟﺔ ‪: f (x)  x 3‬‬ ‫‪1‬‬

‫‪FindRootx 3  0, x, .1‬‬ ‫‪FindRoot ::lstol  : ‬‬ ‫‪The line search decreased the step size to within tolerance‬‬ ‫‪specified by AccuracyGoal‬‬ ‫‪and PrecisionGoal‬‬ ‫‪but was‬‬ ‫‪unable to find a sufficient decrease in the merit‬‬ ‫‪function . You may need more than MachinePrecision‬‬ ‫‪digits‬‬ ‫…‪of working precision to meet these tolerances . More‬‬

‫‪x  0.000405502  2.29133  1015 ‬‬ ‫ﻟم ﻧﺳﺗطﻊ اﻟوﺻول اﻟﻰ ﺣل ‪.‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﻟﻣﺛﺎل اﻟﺗﺎﻟﻰ ﻟﺷرح طرﯾﻘﺔ ﻧﯾوﺗن ﻓﻰ اﯾﺟﺎد ﺟذر ﻟﻠﻣﻌﺎدﻟﺔ‬ ‫ﺑﻔرض اﻟداﻟﺔ ‪ x  50 :‬واﻟﺗﻰ ﺟذرﻫﺎ اﻟﺟذر اﻟﺗرﺑﯾﻌﻰ ﻟـ‪ 50‬وﺑﺎﺳﺗﺧدام اﻻﻣر ‪ FindRoot‬ﺳوف ﻧﺣﺻل ﻋﻠﻰ‬ ‫‪2‬‬

‫ﻗﯾﻣﺔ ﻗرﯾﺑﺔ ﺟدا ﻣن اﻟﺟذر اﻟﺗرﺑﯾﻌﻰ ﻟـ‪ 50‬ﻛﻣﺎ ﺳﻧرى ‪:‬‬

‫‪FindRootx2  50  0, x, 50‬‬ ‫}‪{x7.07107‬‬

‫ﺣﯿﺚ ‪ 50‬ﻓﻰ }‪ {x,50‬ھﻰ ﻗﯾﻣﺔ ﻣﺑدﺋﯾﺔ ﺗﺧﻣﯾﻧﯾﺔ ﻟﻠﺟذر ‪.‬‬ ‫ﺑﻔرض اﻟداﻟﺔ ‪ f‬وﻟﮭﺎ اﻟﻣﺷﺗﻘﺔ ‪ f ‬ﻓﺎن طرﯾﻘﮫ ﻧﯾوﺗن ﺗﻘدم طرﯾﻘﺔ ﻋددﯾﺔ ﻻﯾﺟﺎد ﺟذر ﻟﻠﻣﻌﺎدﻟﺔ ‪ f (x)  0‬ﻣﺑﺗدﺋﺎ‬

‫ﻣن ﻧﻘطﺔ اﻟﺑداﯾﺔ ‪ a 0‬وﺑﻣﻌﻠوﻣﯾﺔ اﻟﻣﺷﺗﻘﺔ )‪ f (x‬ﯾﺗم اﻟﺣﺻول ﻋﻠﻰ ﻣﺗﺗﺎﺑﻌﺔ ﻣن اﻓﺿل اﻟﺗﻘدﯾرات ‪a1 ,a 2 ,...‬‬ ‫واﻟﺗﻰ ﻧﺣﺻل ﻋﻠﯾﮭﺎ ﻣن اﻟﻌﻼﻗﺔ اﻟﺗﻛرارﯾﺔ اﻟﺗﺎﻟﯾﺔ‪:‬‬

‫) ‪f (a i‬‬ ‫) ‪f (a i‬‬

‫‪a i1  a i ‬‬

‫‪٢٩١‬‬


‫ﺳوف ﻧﺷرح ﻻﺣﻘﺎ اﻟﻘﯾﻣﺔ ‪ a n‬ﻓﻰ اﻟﻣﺗﺗﺎﺑﻌﺔ واﻟﺗﻰ ﻧﺗوﻗف ﻋﻧدھﺎ وﺗﻛون ﺗﻘدﯾر ﻟﻠﺟذر ‪.‬ﻓﻰ اﻟرﺳم اﻟﺗﺎﻟﻰ وﻟﻣﺛﺎﻟﻧﺎ‬ ‫ﯾﻼﺣظ ان اﻟﺗﻘدﯾرات ﺗﻘﺗرب اﻛﺛر واﻛﺛر ﻣن اﻟﺟذر ‪.‬‬

‫)‪f (x‬‬ ‫)‪f (x‬‬ ‫ﺣﯾث‬ ‫‪‬‬ ‫)‪f (x) / dx f (x‬‬

‫‪dx ‬‬ ‫‪2‬‬

‫اﻟطرﯾﻘﺔ ﻣوﺿﺣﺔ ﻓﻰ اﻟرﺳم اﻟﺗﺎﻟﻰ ﻟﻣﺛﺎﻟﻧﺎ ﺣﯾث ‪ f (x)  x  50‬و ‪. a 0  50‬‬ ‫‪ .‬ﻟﮭذه اﻟداﻟﺔ اﻟﻣﺷﺗﻘﺔ ﻟﮭﺎ ھﻰ ‪. f (x)  2x‬‬

‫‪٢٩٢‬‬


‫‪fx_ : x2  50‬‬ ‫‪a0=50‬‬ ‫‪50‬‬ ‫]]‪a1=N[a0-f[a0]/f'[a0‬‬ ‫‪25.5‬‬ ‫]]‪a2=N[a1-f[a1]/f'[a1‬‬ ‫‪13.7304‬‬ ‫]]‪a3=N[a2-f[a2]/f'[a2‬‬ ‫‪8.68597‬‬ ‫]]‪a4=N[a3-f[a3]/f'[a3‬‬ ‫‪7.22119‬‬ ‫]]‪a5=N[a4-f[a4]/f'[a4‬‬ ‫‪7.07263‬‬ ‫ﻛﻣﺎ ﻫو ﻣﺷﺎﻫد ان اﻟﻘﯾم ﺗﻘﺗرب وﺗﻘﺗرب ﻣن ﺟذر‪ 50‬وﻫو ﺗﻘرﯾﺑﺎ ﯾﺳﺎوى‪ .7.7107‬اﻟﺳؤال اﻻن‬ ‫ﻣﺗﻰ ﻧﻘرر اﻻﻧﺗﻬﺎء ‪ ،‬ﺑﻔرض اﻧﻧﺎ ﻗررﻧﺎ اﻻﻧﺗﻬﺎء ﻋﻧد ‪ a 5‬ﻓﺎن اﻟﻘﯾم اﻟﺳﺎﺑﻘﺔ واﻟﺗﻰ ﺣﺳﺑﻧﺎﻫﺎ ﻻ ﯾﻛون ﻟﻬﺎ اﻫﻣﯾﺔ ‪.‬‬

‫وﻟذﻟك ﺳوف ﻧﺳﻣﻰ ﺟﻣﯾﻊ اﻟﻘﯾم ‪. a‬‬ ‫وﯾﻛون اﻟﺑرﻧﺎﻣﺞ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪fx_ : x2  50‬‬ ‫‪a=50‬‬ ‫‪50‬‬ ‫]]‪a=N[a0-f[a0]/f'[a0‬‬ ‫‪25.5‬‬ ‫]]‪a=N[a1-f[a1]/f'[a1‬‬ ‫‪13.7304‬‬ ‫‪٢٩٣‬‬


a=N[a2-f[a2]/f'[a2]] 8.68597 a=N[a3-f[a3]/f'[a3]] 7.22119 a=N[a4-f[a4]/f'[a4]] 7.07263 :‫ﯾﻣﻛن اﺧﺗﺻﺎر اﻟﺑرﻧﺎﻣﺞ ﺑﺗﻌرﯾف داﻟﺔ ﻛﺎﻟﺗﺎﻟﻰ‬

fx_ : x2  50 next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50 50 a=next[a,f] 25.5 a=next[a,f] 13.7304 a=next[a,f] 8.68597 a=next[a,f] 7.07263 : ‫ ﻛﺎﻟﺗﺎﻟﻰ‬Do‫ﺑﻔرض اﻧﻧﺎ ﻗررﻧﺎ ان ﻧﻧﻬﻰ اﻟﺣﺳﺎب ﺑﻌد ﻋﺷر ﻣرات ﻓﺎﻧﻪ ﯾﻣﻛﻧﻧﺎ اﺳﺗﺧدام اﻻﻣر‬

fx_ : x2  50 next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50;Do[a=next[a,f],{10}] a 7.07107 : ‫ﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ طﺑﺎﻋﺔ ﻛل ﺗﻘرﯾب ورﻗﻣﻪ وﻗﯾﻣﺗﺔ ﺳوف ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ‬ next[x_,fun_]:=N[x-fun[x]/fun'[x]] a=50;Do[a=next[a,f];Print["approximateion", i ," " ,a],{i,1,10}] approximateion 1 25.5 approximateion 2 13.7304 approximateion 3 8.68597 approximateion 4 7.22119 approximateion 5 7.07263 approximateion 6 7.07107 approximateion 7 7.07107 approximateion 8 7.07107 approximateion 9 7.07107 approximateion 10 7.07107 a 7.07107

‫ ﻟﻠداﻟﺔ‬.‫ ﻫل ﻋﺷرة ﺗﻛﻔﻰ وﻟﻛن ﻻ ﺗﻛون داﺋﻣﺎ ﻓﻰ اﺣوال ﻛﺛﯾرة ﻣرات ﻛﺎﻓﯾﺔ‬. ‫اﻟﺳؤال اﻻن ﻣﺗﻰ ﻧوﻗف اﻟﺗﻛرار‬ .‫ ﻓﺎن ﻋﺷرة ﻣرات ﻛﺎﻓﯾﺔ‬f (x)  x  50 2

: ‫ﺑﻔرض اﻟداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

٢٩٤


‫]‪g[x_]:=x-Sin[x‬‬ ‫]‪g[0‬‬ ‫‪0‬‬ ‫ﻓﺎن ﻋﺷرة ﺗﻛ اررات ﺗﻛون ﻏﯾر ﻛﺎﻓﯾﺔ ﻟﻠﺣﺻول ﻋﻠﻰ ﺟذر ﻗرﯾب ﻣن اﻟﺻﻔر وﻗد ﯾﻛون‪25‬‬ ‫ﺗﻛ اررات اﻓﺿل ‪:‬‬ ‫]‪f[x_]:=x-Sin[x‬‬ ‫]]‪next[x_,fun_]:=N[x-fun[x]/fun'[x‬‬ ‫]}‪a=1.0;Do[a=next[a,f],{25‬‬ ‫‪a‬‬ ‫‪0.0000384172‬‬ ‫ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﻓﺎﻧﻧﺎ ﻧرﻏب ﻓﻰ اﺳﺗﻣرار اﻟﻌﻣﻠﯾﺔ اﻟﺗﻛ اررﯾﺔ ﺣﺗﻰ اﻟﺣﺻول ﻋﻠﻰ ﺗﻘدﯾر ﻗرﯾب ﻣن اﻟﻘﯾم اﻟﺻﺣﯾﺣﺔ ‪ .‬ﻗرﯾﺑﺔ‬ ‫طرق ﻛﺛﯾرة وﻻ واﺣدة ﻣﻧﻬم اﻻﻓﺿل وﺳوف ﻧﺗﻧﺎول اﻻﺳﻬل ﻋﻧدﻣﺎ ﺗﻛون ﻗرﯾﺑﺔ ) ‪ f (a i‬ﻣن اﻟﺻﻔر‬ ‫ﯾﻛون ﻟدﯾﻧﺎ رﻗم ﻗرﯾب ﻣن اﻟﺻﻔر ‪:‬‬

‫‪‬‬ ‫ﻓﺳوف ﺗﺳﺗﻣر اﻟﻌﻣﻠﯾﺔ اﻟﺗﻛ اررﯾﺔ ﺣﺗﻰ ‪:‬‬

‫‪| f (a i ) | ‬‬ ‫اﻟﺳؤال اﻻن ﻛﯾف ﻧﻛﺗب اﻟﺣﻠﻘﺔ واﻟﺗﻰ ﺗﻘف ﻋﻧد اﺧﺗﺑﺎر ﻫذا اﻟﺷرط ؟ ﻋﻧد اﺳﺗﺧدام اﻻﻣر‪ Do‬ﻓﺎن‬ ‫ﻋدد ﻣرات اﻟﺗﻛ اررات ﺗﻛون ﺛﺎﺑﺗﺔ ﻋﻧدﻣﺎ ﺗﺑدا اﻟﺣﻠﻘﺔ ‪.‬ﻧﺣن ﻧﺣﺗﺎج اﻟﻰ اﻣر ﺟدﯾد وﻫو‪While‬‬

‫واﻟذى ﺳﺑق ان ﺗﻧﺎوﻟﻧﺎﻩ‪.‬‬ ‫‪2‬‬

‫‪fx_ : x  50‬‬ ‫‪epsilon=.001‬‬ ‫‪0.001‬‬ ‫]]‪next[x_,fun_]:=N[x-fun[x]/fun'[x‬‬ ‫]]‪a=50;While[Abs[f[a]]>epsilon,a=next[a,f‬‬ ‫‪a‬‬ ‫‪7.07107‬‬ ‫وﯾﻣﻛن اﺧﺗﺻﺎر اﻟﺑرﻧﺎﻣﺞ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪fx_ : x2  50‬‬ ‫=‪findRoot[fun_,init_,eps_]:‬‬ ‫‪Module[{a=init},While[Abs[fun[a]]>eps,‬‬ ‫]]‪a=N[a-fun[a]/fun'[a‬‬ ‫;]‬ ‫]‪a‬‬ ‫]‪findRoot[f,50,.001‬‬ ‫‪7.07107‬‬ ‫ﺑﻔرض اﻧﻧﺎ ﻧرﻏب ﻓﻰ ﻣﻌرﻓﺔ ﻛم ﻋدد اﻟﺗﻛ اررات اﻟﺗﻰ ﻧﺣﺗﺎﺟﻬﺎ ﻟﻠﺣﺻول ﻋﻠﻰ اﻻﺟﺎﺑﺔ ‪ .‬واﺣد ﻣن اﻟطرق ﻫو ادﺧﺎل‬ ‫اﻻﻣر ‪ Print‬ﻟﻣﻌرﻓﺔ اﻟﻘﯾﻣﺔ ﻓﻰ ﻛل ﻣرة ﺧﻼل اﻟﺣﻠﻘﺔ ‪.‬‬ ‫‪٢٩٥‬‬


‫‪fx_ : x2  50‬‬ ‫=‪findRoot[fun_,init_,eps_]:‬‬ ‫‪Module[{a=init},While[Abs[fun[a]]>eps,‬‬ ‫;]‪Print["a=",a‬‬ ‫]]‪a=N[a-fun[a]/fun'[a‬‬ ‫;]‬ ‫]‪a‬‬ ‫]‪findRoot[f,50,.001‬‬ ‫‪50‬‬ ‫‪25.5‬‬ ‫‪13.7304‬‬ ‫‪8.68597‬‬ ‫‪7.22119‬‬ ‫‪7.07263‬‬

‫=‪a‬‬ ‫=‪a‬‬ ‫=‪a‬‬ ‫=‪a‬‬ ‫=‪a‬‬ ‫=‪a‬‬

‫‪7.07107‬‬ ‫ﺑﺣﺳﺎب ﻋدد اﻟﺧطوط ﻧﺟد ان اﻟداﻟﺔ ﺗﻘﺗرب ﺑﻌد ﺳﺗﺔ ﺗﻛرارات )ﺗذﻛر ان اﻟﻘﯾﻣﺔ اﻟﻣﺑدﺋﯾﺔ ﻟـ‪ a‬ﻓﻰ اﻟﺳطر اﻻول(‬ ‫ﻻﺧﺗﺻﺎر اﻛﺑر ﻟﻠﺑرﻧﺎﻣﺞ ووﺿﻊ ﻋدد اﻟطرق ﻓﻘط ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪2‬‬

‫‪fx_ : x  50‬‬

‫=‪findRoot[fun_,init_,eps_]:‬‬ ‫‪Module[{a=init,count=0},While[Abs[fun[a]]>eps,‬‬ ‫;‪count=count+1‬‬ ‫]]‪a=N[a-fun[a]/fun'[a‬‬ ‫;]‬ ‫]}‪{a,count‬‬ ‫]‪findRoot[f,50,.001‬‬ ‫}‪{7.07107,6‬‬ ‫‪7.07107‬‬ ‫وﻻﯾزال ﻫﻧﺎك ﻣﺷﻛﻼت ﻓﻰ ﻋﻧد ﺗطﺑﯾق طرﯾﻘﺔ ﻧﯾﺗوﺗن ﻓﺎﻟﻣﺷﻛﻠﺔ اﻻوﻟﻰ ﻫﻰ ان ﻫﻧﺎك اﻣﻛﺎﻧﯾﺔ اﻟﺣﺻول ﻋﻠﻰ‬

‫ﻣﺷﺗﻘﺔ ﻟﻠداﻟﺔ ﻣﺳﺎوﯾﺔ ﻟﻠﺻﻔر وﻫﻧﺎ ﻧﺣﺻل ﻋﻠﻰ رﺳﺎﻟﺔ ﺧطﺎ ‪ .‬واﻟﻣﺷﻛﻠﺔ اﻟﺛﺎﻧﯾﺔ واﻟـﺗﻰ ﺗﺣدث ﻋﻧد اﯾﺟﺎد اﻟﺟذر‬

‫ان اﻟﻣﺷﺗﻘﺔ ﻟﻠداﻟﺔ ﺻﻌﺑﺔ او ﻣن اﻟﺻﻌب ﺣﺳﺎﺑﻬﺎ ‪ .‬اﻟﻣﺛﺎل اﻟﺑﺳﯾط ﺟدا ﻟذﻟك ﻫو ﻓﻰ اﻟداﻟﺔ| ‪ |x+3‬وﻫو‬ ‫ﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ ﻟﻬﺎ ‪ .‬واﺣد ﻣن اﻟطرق ﻟﺣل ﻫذﻩ اﻟﻣﺷﻛﻠﺔ ﻫو اﺳﺗﺧدام اﻻﺷﺗﻘﺎق اﻟﻌددى ﺣﯾث ﯾﺗم ﺣﺳﺎب اﻟﻣﺷﺗﻘﺔ‬ ‫ﻣن اﻟﺻﯾﻐﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫) ‪f (a k )  f (a k 1‬‬ ‫‪a k  a k 1‬‬

‫وﯾﺗم ﺣﺳﺎب ﺟذر اﻟﻣﻌﺎدﻟﺔ ‪f (x)  0‬‬ ‫ﺑﺎﺳﺗﺧدام طرﯾﻘﺔ اﻟﻘﺎطﻊ‪ secant‬ﻣن اﻟﻌﻼﻗﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪a i1  a i  f (aai )i fai(a1i 1 ) f (a i ),i  1, 2,...‬‬

‫‪٢٩٦‬‬


. ‫ ﻗﯾم اﺑﺗداﺋﯾﺔ ﯾﺗم ﺗﺣدﯾدﻫﺎ‬x 0 , x1 ‫ﺣﯾث‬

f (x) | x  3 | ‫ﺑﻔﺮض اﻧﻨﺎ ﻧﺮﻏﺐ ﻓﻰ اﯾﺠﺎد اﻟﺠﺬر ﻟﻠﺪاﻟﺔ‬ -3‫واﻟﺗﻰ ﺟذرﻫﺎ ﻫو‬ :‫ﺑﺎﺳﺗﺧدام اﻻﺳﻠوب اﻟﺳﺎﺑق ﻓﻰ طرﯾﻘﺔ ﻧﯾوﺗن‬ f[x_]:=Abs[x+3] findRoot[fun_,init_,eps_]:= Module[{a=init},While[Abs[fun[a]]>eps, a=N[a-fun[a]/fun'[a]] ]; a] findRoot[f,-1.8,10^(-10)] General ::spell1  :  Possible spelling error : new symbol name "findRoot " is similar to existing symbol "FindRoot ". More…

1.8 

1.2 Abs1.2

:‫ اﻻن ﺳوف ﻧﺳﺗﺧدم اﻟﺻﯾﻐﺔ اﻟﺗﻘرﯾﺑﯾﺔ ﻟﻣﺷﺗﻘﺔ اﻟداﻟﺔ‬. ‫اى اﻧﻧﺎ ﻟم ﻧﺣﺻل ﻋﻠﻰ اﺟﺎﺑﺔ وﺗم ارﺳﺎل رﺳﺎﻟﺔ‬ f[x_]:=Abs[x+3] secant[f_,a_,b_]:= Module[{x1=a,x2=b}, While[Abs[f[x2]]>10^-10, df=(f[x2]-f[x1])/(x2-x1); {x1,x2}={x2,x2-f[x2]/df} ]; x2] N[secant[f,-3.1,-1.8]]

-3. .-3 ‫اى اﻋطت ﻗﯾﻣﺔ اﻟﺟذر‬ : ‫ اﻻن ﺳوف ﻧطﺑق اﻟطرﯾﻘﺔ ﻋﻠﻰ ﻣﺛﺎﻟﻧﺎ‬:‫ﺗطﺑﯾق اﻟطرﯾﻘﺔ ﻋﻠﻰ اﻟداﻟﺔ‬

f (x)  x 2  50 . ‫وﻗد ﺣﺻﻠن ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﺎﺋﺞ اﻟﺳﺎﺑﻘﺔ‬ findRoot[f,50,.001] {7.07107,6}

fx_ : x2  50 secant[f_,a_,b_]:= Module[{x1=a,x2=b}, While[Abs[f[x2]]>10^-10, ٢٩٧


‫;)‪df=(f[x2]-f[x1])/(x2-x1‬‬ ‫}‪{x1,x2}={x2,x2-f[x2]/df‬‬ ‫;]‬ ‫]‪x2‬‬ ‫]]‪N[secant[f,40,50‬‬

‫‪7.07107‬‬

‫)‪ (٣-٥‬اﻟﺗﻛﺎﻣل ‪Integratio‬‬

‫ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ﺣﺳﺎب اﻧواع ﻋدﯾدة ﻣن اﻟﺗﻛﺎﻣﻼت ﻟدوال او ﺗﻌﺑﯾرات ﻣﺛل ﻛﺛﯾرات اﻟﺣدود واﻟدوال‬ ‫اﻻﺳﯾﺔ واﻟﻠوﻏﺎرﯾﺗﻣﯾﺔ واﻟﻣﺛﻠﺛﯾﺔ ‪...‬اﻟﺦ وﻛذﻟك اﻟﺗﻛﺎﻣﻼت اﻟﻣﺣدودة ﺳواء ﻛﺎن ﺣدود اﻟﺗﻛﺎﻣل اﻋداد ﺛﺎﺑﺗﺔ او دوال ‪.‬‬ ‫ﯾﺗم ذﻟك ﺑﺎﻻﻣر ]‪ Integrate[f[x,]x‬واﻟذى ﯾﺣﺳب‬

‫‪b‬‬

‫‪ f (x) dx‬‬

‫وﯾﻣﻛن اﺳﺗﺧدام اﻟرﻣزﯾن‬

‫‪ f (x) dx‬‬

‫ﺑﯾﻧﻣﺎ اﻻﻣر ]}‪ Integrate[f[x,],{x,a,b‬ﯾﺣﺳب‬

‫وذﻟك ﻣن اﻟﻘﺎﺋﻣﺔ ‪BasicInput‬‬

‫‪a‬‬

‫واﻟﺗﻰ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ وذﻟك ﺑﺎﻟذﻫﺎب اﻟﻰ اﻟﻘﺎﺋﻣﺔ ‪ File‬ﻣن ﻧﺎﻓذة اﻟﺑرﻧﺎﻣﺞ ﺛم اﺧﺗﯾﺎر ‪ palette‬وﻣﻧﻬﺎ‬ ‫ﻧﺧﺗﺎر ‪ BasicInput‬ﻛﻣﺎ ﻫو ﻣوﺿﺢ ﻓﯾﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪٢٩٨‬‬


‫ﻓﻧﺣﺻل ﻋﻠﻰ اﻟﻘﺎﺋﻣﺔ ‪ BasicInput‬ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫‪٢٩٩‬‬


‫ﻋﻣوﻣﺎ اذا ﻛﺎن اﻟﻣﺗﻐﯾر اﻟﻣﺳﺗﻘل ﻏﯾر ‪ x‬ﻓﺎن اﻣر اﻟﺗﻛﺎﻣل ﺳوف ﯾﺻﺑﺢ ]‪Integrate[expression,variable‬‬ ‫ﺣﯾث ﯾﺣﺎول اﻟﺑرﻧﺎﻣﺞ اﯾﺟﺎد اﻟﺗﻛﺎﻣل ﻟـ‪ expression‬ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ ‪. variable‬‬

‫اﻣﺛﻠﺔ‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪x dx‬‬

‫‪‬‬

‫ﻫو ‪:‬‬ ‫‪‬‬

‫‪x x‬‬ ‫‪٣٠٠‬‬

‫‪‬‬


2 x32 3 ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ﻫو‬

1 dx x

1

  x x  2 x

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ ﻫو‬ x 7 +7x  7  x  7x 

x 7  dx 7 x

x 7   x 7 x

25 x2 x8   7 Logx 7 8

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ﻫو‬

2

 x (x+

2 ) dx x

2    2 x x    x      x  4 x52 x4  5 4

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ﻫو‬

٣٠١

x 2  3x  x 2  4x  5 dx


‫‪x2  3x‬‬ ‫‪x‬‬ ‫‪ 2‬‬ ‫‪x  4x  5‬‬ ‫‪1‬‬ ‫‪Log5  4 x  x2‬‬ ‫‪2‬‬

‫‪x  3 ArcTan2  x ‬‬

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪  (sin 2 y+1) dy‬ﻫو ‪:‬‬ ‫‪2‬‬

‫‪ Sin  y  1 y‬‬

‫‪Sin2 y2‬‬ ‫‪y‬‬ ‫‪2‬‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪  cos 2 y-1 dy‬ﻫو ‪:‬‬ ‫‪2‬‬

‫‪ Cos  y  1 y‬‬

‫‪Cos2 y2‬‬ ‫‪y ‬‬ ‫‪2‬‬

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ ‫‪t‬‬

‫‪dt‬‬

‫‪t‬‬

‫‪e‬‬

‫‪‬‬

‫ﻫو ‪:‬‬ ‫‪‬‬

‫‪t‬‬

‫‪e‬‬

‫‪   t‬‬

‫‪t‬‬

‫‪‬‬ ‫‪t‬‬

‫‪2e‬‬ ‫‪Loge‬‬ ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن ﻻ ﯾﻌطﻰ اﻟﺑرﻧﺎﻣﺞ ﻗﯾﻣﺔ ﺻرﯾﺣﺔ ﻟﻠﺗﻛﺎﻣل ﻛﻣﺎ ﻓﻰ اﻻﻣﺛﻠﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫‪٣٠٢‬‬


‫اﻣﺛﻠﺔ‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ﻫو‬ 

 sin

1 dx x+2

2

1 x Sinx2  2 3 Tanx ArcTan 2

 6 ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ ﻫو‬ sin x lnx dx Sin[x]Log[x]x

CosIntegral[x]-Cos[x] Log[x] : ‫ ( ﺣﯾث‬cosine integral function)Ci(z) ‫ واﻟﺗﻰ ﺗظﻬر ﻓﻰ اﻟﻣﺧرج ﺗﻣﺛل اﻟداﻟﺔ‬CosIntegral[x] ‫اﻟداﻟﺔ‬ z

cot cos t  1 Ci(z)   dt    ln z   dt t t 0 : ‫ﺣﯾث‬

 ‫ ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ﺗﻌرﯾف‬. 0.577216 ‫ واﻟذى ﺗﻘرﯾﺑﺎ ﯾﺳﺎوى‬Euler's constant ‫ﺗﻣﺛل‬ . EulerGamma(Eulerconstant) ? EulerGamma ?EulerGamma

٣٠٣


EulerGamma is Euler's constant gamma, with numerical value approximately equal to 0.577216. More… ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ﻫو‬

1  2+sin x dx

1  x 2  Sinx

2 ArcTan

12Tan x  2   3

 3

aa1  

x  x; Sinx  2

Short[aa1]  ArcTan 1    1 1

 3 . ‫ وذﻟك ﻟﻠﺣﺻول ﻋﻠﻰ ﺟزء ﻣن اﻟﻧﺗﺎﺋﺞ‬Short ‫اﻟﺗﻛﺎﻣل طوﯾل ﻓﻰ ﻫذا اﻟﻣﺛﺎل وﻟذﻟك اﺳﺗﺧدم اﻻﻣر‬ : ‫اﯾﺿﺎ اﻟﺑرﻧﺎﻣﺞ ﻗﺎدر ﻋﻠﻰ ﺣﺳﺎب اﻟﺗﻛﺎﻣل اﻟﻣﺣدود وذﻟك ﺑﺎﻻﻣر‬ ‫ ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ‬expression ‫ واﻟذى ﯾﻛﺎﻣل‬Integrate[expression,{variable,lowerlimit,uperlimit}]

. uperlimit ‫ اﻟﻰ‬lowerlimit ‫ واﻟﺗﻘدﯾر ﻣن‬Variable

‫اﻣﺛﻠﺔ‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

: ‫ﻫو‬

2

 1

2

1

1 dx 1+(x-1)2

1 x 1  x  12

4 ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ ٣٠٤


‫‪6‬‬

‫‪  eu du‬ﻫو ‪:‬‬ ‫‪4‬‬

‫‪6‬‬

‫‪ Expu u‬‬ ‫‪4‬‬

‫‪4  1  2‬‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ ‫‪20‬‬

‫ﻫو ‪:‬‬

‫‪2‬‬

‫‪ (x-x )dx‬‬ ‫‪10‬‬

‫‪20‬‬

‫‪x  x2 x‬‬

‫‪10‬‬

‫‪6550‬‬ ‫‪3‬‬

‫‪‬‬

‫‪‬‬

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ ‫‪20‬‬

‫‪1‬‬

‫‪ (2y-1) dy‬‬

‫ﻫو ‪:‬‬

‫‪10‬‬

‫‪1‬‬ ‫‪ y‬‬ ‫‪2 y 1‬‬

‫‪20‬‬

‫‪‬‬

‫‪10‬‬

‫‪1‬‬ ‫‪39‬‬ ‫‪Log‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪19‬‬

‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ ‫‪20‬‬

‫‪dx‬‬

‫‪2-5x‬‬

‫‪e‬‬

‫ﻫو ‪:‬‬

‫‪0‬‬

‫‪20‬‬

‫‪Exp2  5xx‬‬

‫‪0‬‬

‫‪ 1  100‬‬

‫‪5 98‬‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪٣٠٥‬‬

‫‪‬‬


‫‪1‬‬

‫‪  sin(2x+1) dx‬ﻫو ‪:‬‬ ‫‪0‬‬

‫‪1‬‬

‫‪ Sin2x  1 x‬‬ ‫‪0‬‬

‫‪2 Cos1 Sin12‬‬

‫ﺗﻘرﯾﺑﺎت ﻟﻠﺗﻛﺎﻣل اﻟﻣﺣدود‬ ‫ﻓﻰ ﺣﺎﻟﺔ ﻣﺎ اذا ﻛﺎن اﻟﺗﻛﺎﻣل اﻟﻣﺣدود ﻏﯾر ﺿرورى او ﻣن اﻟﻣﺳﺗﺣﯾل اﻟﺣﺻول ﻋﻠﯾﻪ ﯾﻣﻛن ﺣﺳﺎب ﺗﻘرﯾﺑﺎت‬ ‫ﻟﻠﺗﻛﺎﻣل اﻟﻣﺣدود ﺑﺎﺳﺗﺧدام اﻻﻣر ]}‪ NIntegralse[f[x],{x,a,b‬او اﺳﺗﺧدام ‪ N‬اذا ﻛﺎن اﻟﺗﻛﺎﻣل ﻓﻰ اﻟﺻﯾﻐﺔ‬ ‫اﻟﻘﯾﺎﺳﯾﺔ ‪.‬‬

‫اﻣﺛﻠﺔ‬ ‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬

‫‪9x 3  13‬‬ ‫‪dx‬‬ ‫‪x5‬‬

‫‪2‬‬

‫‪‬‬

‫ﻫو ‪:‬‬

‫‪1‬‬

‫‪ x‬‬

‫‪‬‬ ‫‪9x3  13‬‬

‫‪x5‬‬

‫‪1‬‬

‫‪‬‬ ‫‪‬‬ ‫‪60 3916   3  32‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ Gamma 1  Gamma 7  ‬‬ ‫‪‬‬ ‫‪6‬‬ ‫‪3‬‬

‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪9‬‬ ‫‪,  , ,‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪3 13‬‬

‫‪‬‬

‫‪13 Hypergeometric2F1‬‬

‫‪1 5 11 13 ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪, ,‬‬ ‫‪,‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2 6‬‬ ‫‪6‬‬ ‫‪72 ‬‬

‫‪‬‬

‫‪1‬‬ ‫‪260‬‬

‫‪65 ‬‬

‫‪‬‬

‫‪2 Hypergeometric2F1‬‬

‫‪2‬‬

‫‪39‬‬

‫‪‬‬

‫اﻟﺘﻘﺮﯾﺐ ﺳﻮف ﯾﺘﻢ اﻟﺤﺼﻮل ﻋﻠﯿﮫ ﺑﺎﺳﺘﺨﺪام ‪. N‬‬

‫‪ x‬‬

‫‪‬‬ ‫‪1 9x3  13‬‬

‫‪x5‬‬

‫‪N‬‬

‫‪0‬‬

‫‪0.415279 +0.139897 ‬‬

‫‪٣٠٦‬‬


‫اﻟﺗﻛﺎﻣل ﻟﻠداﻟﺔ اﻟﺗﺎﻟﯾﺔ‬ ‫‪‬‬

‫‪  e x 2cosx 3dx‬ﻫو ‪:‬‬ ‫‪0‬‬

‫‪‬‬

‫‪2‬‬ ‫‪3‬‬ ‫‪ Expx Cosx x‬‬

‫‪Cosx3 x‬‬

‫‪ x2‬‬

‫‪0‬‬

‫‪ ‬‬ ‫‪0‬‬

‫ﻧﻼﺣظ ان اﻟﺑرﻧﺎﻣﺞ اﺧرج اﻟﻣدﺧل ﻛﻣﺎ ﻫو اى ﻟم ﻧﺣﺻل ﻋﻠﻰ ﻧﺗﯾﺟﺔ ‪ .‬اﻻن ﺳوف ﻧرﺳم اﻟداﻟﺔ ‪e  x 2cosx 3‬‬ ‫ﻓﻰ اﻟﻔﺗرة )‪(0, ‬‬ ‫ﻧﻼﺣظ ان اﻟداﻟﺔ ﻧﺎﻋﻣﺔ وﻋﻠﻰ ذﻟك ﻓرﺻﺔ اﻟﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﺟﯾد ﻟﻠﺗﻛﺎﻣل ﻛﺑﯾر وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر‪. N‬‬

‫‪PlotExpx2Cosx3, x, 0, , PlotRange  All‬‬ ‫‪1‬‬ ‫‪0.8‬‬ ‫‪0.6‬‬ ‫‪0.4‬‬ ‫‪0.2‬‬

‫‪3‬‬

‫‪2‬‬

‫‪2.5‬‬

‫‪1.5‬‬

‫‪1‬‬

‫‪0.5‬‬

‫‪Graphics‬‬ ‫‪‬‬

‫‪N Expx2Cosx3x‬‬ ‫‪0‬‬

‫‪0.694053‬‬

‫ﺗﻘرﯾﺑﺎت ﻟﻠﺗﻛﺎﻣل ﺑﺎﺳﺗﺧدام اﻟﺣزم اﻟﺟﺎﻫزة‬ ‫ﯾﻣﻛن ﺑﺎﺳﺗﺧدام اﻟﺣزم اﻟﺟﺎﻫزة اﻟﺣﺻول ﻋﻠﻰ ﺗﻘرﯾﺑﺎت ﻟﻠﺗﻛﺎﻣﻼت اﻟﺗﻰ ﺻﻌب اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﺑﺎﻻواﻣر اﻟﺳﺎﺑق ‪.‬‬ ‫وﻻﺟراء ذﻟك ﻧﻘوم ﺑﺗﺣﻣﯾل اﻟﺣزﻣﺔ ‪NumericalMathGaussianQuadrature‬‬

‫وﺗﻌﺗﻣد اﻟﻔﻛرة ﻋﻠﻰ اﻟﺣﺻول ﻣن اﻟﺑرﻧﺎﻣﺞ ﻋﻠﻰ ازواج اﻟﻘﯾم ) ‪(x1 , w1 ),(x 2 , w 2 ),...,(x n , w n‬‬ ‫ﺑﺣﯾث ان ‪:‬‬ ‫‪n‬‬

‫‪b‬‬

‫) ‪ f (x)dx   w f (x‬‬ ‫‪i‬‬

‫‪i‬‬

‫‪i 1‬‬

‫‪٣٠٧‬‬

‫‪a‬‬


‫ﺣﯾث ‪ n‬ﺗﺧﺗﺎر ﻣن ﻗﺑل اﻟﻣﺳﺗﺧدم ﻛﻣﺎ ﯾﻌطﻰ اﻟﺑرﻧﺎﻣﺞ اﻟدﻗﺔ ﻓﻰ اﻟﺣﺳﺎب ‪.‬‬

‫‪7‬‬

‫‪2‬‬

‫ﺳوف ﻧﺷرح ﺧطوات ﻋﻣل اﻟﺑرﻧﺎﻣﺞ ﻣن ﺧﻼل ﺣﺳﺎب اﻟﺗﻛﺎﻣل ‪ x dx  3‬‬ ‫‪2‬‬

‫‪1‬‬

‫وﺳوف ﻧرى اﻧﻧﺎ ﺳوف ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ ﺑﺎﻟﺿﺑط ﻟﻛن ﻫذا ﻻ ﯾﺣدث داﺋﻣﺎ ‪.‬‬ ‫وﻓﯾﻣﺎ ﯾﻠﻰ ﺧطوت اﻟﺑرﻧﺎﻣﺞ ‪:‬‬ ‫ﻧﻘوم ﺑﺗﺣﻣﯾل اﻟﺣزﻣﺔ ‪ NumericalMathGaussianQuadrature‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫`‪<<NumericalMath`GaussianQuadrature‬‬ ‫ﺛم ﻧﻘوم ﺑﺗﻌرﯾف اﻟداﻟﺔ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪2‬‬

‫‪fx_ : x‬‬

‫ﺛم ﻧﺣﺻل ﻋﻠﻰ ازواج اﻟﻘﯾم ‪:‬‬

‫) ‪(x1 , w1 ),(x 2 , w 2 ),...,(x n , w n‬‬ ‫ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ واﻟذى اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻪ ﻫو‪:‬‬ ‫]‪GaussianQuadratureWeights[n, a, b‬‬

‫ﻟﻣﺛﻠﻧﺎ ﺳوف ﻧﻌطﻰ ﻟﻬذا اﻻﻣر اﻻﺳم ‪ aa1‬ﺣﯾث ﺣدود اﻟﺗﻛﺎﻣل ‪ a,b‬و ‪a  1, b  2, n  5‬‬

‫]‪aa1=GaussianQuadratureWeights[5, 1, 2‬‬ ‫‪{{1.04691,0.118463},{1.23077,0.239314},{1.5,0.284444},{1.‬‬ ‫}}‪76923,0.239314},{1.95309,0.118463‬‬ ‫اﻻﻣر اﻟﺗﺎﻟﻰ واﻟذى اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻪ ﻫو ‪:‬‬ ‫]‪GaussianQuadratureError[n, f, a, b‬‬ ‫و ﯾﻌطﻰ ﻟﻧﺎ اﻟﺧطﺎ ﻣن اﺳﺗﺧدام اﻟﺗﻘرﯾب ‪:‬‬ ‫ﺣﯾث ‪ f‬اﻟداﻟﺔ اﻟﻣطﻠوب اﻟﺗﻛﺎﻣل ﻋﻠﯾﻬﺎ ‪.‬‬ ‫ﻓﻰ ﻣﺛﺎﻟﻧﺎ ﻫذا اﻻﻣر ﯾﻛون ﻋﻠﻰ اﻟﺷﻛل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]‪GaussianQuadratureError[5, f, -3, 7‬‬ ‫)&‪-0.0394497 (0‬‬ ‫ﻧﺣول اﻻزواج ) ‪ (x1 , w 1 ),(x 2 , w 2 ),...,(x n , w n‬واﻟﻣﺳﻣﺎﻩ ‪ aa1‬ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪٣٠٨‬‬


‫اﻟﻰ اﻟﺻورة اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫}} ‪{{x1 , x 2 ,..., x n },{w1 , w 2 ,..., w n‬‬ ‫ﺗﺣت ﻣﺳﻣﻰ ‪ aa2‬ﺣﯾث ‪:‬‬

‫]‪aa2=Transpose[aa1‬‬ ‫‪{{1.04691,1.23077,1.5,1.76923,1.95309},{0.118463,0.239314‬‬ ‫}}‪,0.284444,0.239314,0.118463‬‬ ‫ﻧﺳﺗﺧﻠص } ‪ {x1 , x 2 ,..., x n‬ﻣن ‪ aa2‬ﺣﯾث ﺗﻣﺛل اﻟﻌﻧﺻر اﻻول ﻓﻰ اﻟﻘﺎﺋﻣﺔ‪ aa2‬وذﻟك‬

‫ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫]]‪aa2[[1‬‬ ‫}‪{1.04691,1.23077,1.5,1.76923,1.95309‬‬ ‫ﻧﺳﺗﺧﻠص } ‪ {w 1 , w 2 ,..., w n‬ﻣن ‪ aa2‬ﺣﯾث ﺗﻣﺛل اﻟﻌﻧﺻر اﻟﺛﺎﻧﻰ ﻓﻰ اﻟﻘﺎﺋﻣﺔ‪ aa2‬وذﻟك‬

‫ﻣن اﻻﻣر اﻟﺗﺎﻟﻰ ‪:‬‬

‫]]‪aa2[[2‬‬ ‫}‪{0.118463,0.239314,0.284444,0.239314,0.118463‬‬

‫اﻻﻣر اﻟﺗﺎﻟﻰ واﻟﻣﺳﻣﻰ ‪ ff‬ﻟﺣﺳﺎب ‪:‬‬

‫) ‪f (x1 ),f (x 2 ),...,f (x n‬‬ ‫]]]‪ff=Map[f,aa2 [[1‬‬ ‫}‪{1.09602,1.51478,2.25,3.13019,3.81456‬‬ ‫اﻻﻣر اﻟﺗﺎﻟﻰ واﻟﻣﺳﻣﻰ ‪ aa4‬ﻟﺣﺳﺎب ‪:‬‬

‫) ‪w1f (x1 ),f (x 2 )w 2 ,..., w n f (x n‬‬ ‫‪aa4=aa2[[2]]*ff‬‬ ‫}‪{0.129838,0.362509,0.64,0.7491,0.451886‬‬ ‫ﻟﺣﺳﺎب ‪:‬‬

‫اﻻﻣر اﻟﺗﺎﻟﻰ‬ ‫‪n‬‬

‫) ‪ w f (x‬‬ ‫‪i‬‬

‫‪i‬‬

‫‪i1‬‬

‫اوﻻ ‪ :‬ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ‪:‬‬ ‫]‪Apply[Plus,aa4‬‬ ‫‪2.33333‬‬ ‫ﺛﺎﻧﯾﺎ‪ :‬ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ‪:‬‬ ‫‪٣٠٩‬‬


‫‪2 2‬‬

‫‪ x x‬‬ ‫‪1‬‬

‫‪7‬‬ ‫‪3‬‬

‫]‪N[%‬‬ ‫‪2.33333‬‬

‫وﯾﻼﺣظ ان اﻟﻧﺗﯾﺟﺗﯾن ﻣﺗﺳﺎوﯾﺗﯾن ﻓﻰ ﻫذا اﻟﻣﺛﺎل ﺣﯾث ‪:‬‬ ‫‪n‬‬

‫‪b‬‬

‫) ‪ f (x)dx   w if (x i‬‬ ‫‪i 1‬‬

‫‪a‬‬

‫وﻟﯾس ﺷرط ان ﯾﺗﺳﺎوﯾﺎن ﻓﻰ ﻛل اﻻﺣوال وﯾﺟب ﻣﻼﺣظﺔ ان ‪ n‬اﺧﺗﯾﺎرﯾﺔ ‪ .‬وﺗﻔﯾد ﻫذﻩ اﻟطرﯾﻘﺔ ﻓﻰ اﺑﺣﺎث‬ ‫اﻟﻣﺎﺟﺳﺗﯾر واﻟدﻛﺗوراﻩ ﻓﻰ اﻟﺣﺻول ﻋﻠﻰ ﻧﺗﺎﺋﺞ ﺗﻘرﯾﺑﯾﻪ ﻟﻛﺛﯾر ﻣن اﻟﺗﻛﺎﻣﻼت اﻟﺗﻰ ﻣن اﻟﺻﻌب اﻟﺣﺻول ﻋﻠﻰ ﻗﯾﻣﺔ‬ ‫ﻣﺿﺑوطﺔ ﻟﻬﺎ وﻗد ﺟرﺑﺗﻬﺎ ﻋن ﻧﻔﺳﻰ ﻓﻰ اﺑﺣﺎث ﻛﺛﯾرة ‪.‬‬ ‫وﻟﻠﺣﺻول ﻋﻠﻰ ﻣﻌﻠوﻣﺎت اﻛﺛر ﯾﻣﻛن اﻟذﻫﺎب اﻟﻰ ‪ Help Browser‬ﻣن ‪ Help‬ﻣن اﻟﻘﺎﺋﻣﺔ اﻟرﺋﯾﺳﯾﺔ ﻟﻠﺑرﻧﺎﻣﺞ‬ ‫واﻟﺣﺻول ﻋﻠﻰ اﻟﻧﺎﻓذة اﻟﺗﺎﻟﯾﺔ وﺳوف ﻧﻌرف اﻛﺛر ﻣﻊ اﻣﺛﻠﺔ ﻛﺛﯾرة ‪.‬‬

‫‪٣١٠‬‬


‫ﺣﺳﺎب اﻟﻣﺳﺎﺣﺎت ‪Estimating Areas‬‬ ‫ﺑﻔرض ان )‪ y  f (x‬داﻟﺔ ﻣوﺟﺑﺔ وﻣﺗﺻﻠﺔ ﻓﻰ اﻟﻔﺗرة ]‪ [a, b‬وﺑﻔرض ‪ n‬ﻋدد ﺻﺣﯾﺢ ﻣوﺟب ‪.‬‬ ‫ﻓﺎذا ﻗﻣﻧﺎ ﺑﺗﻘﺳﯾم ]‪ [a, b‬اﻟﻰ ‪ n‬ﻣن اﻟﻔﺗرات اﻟﺟزﯾﺋﯾﺔ ﺑطول ﻣﺗﺳﺎوى وﺑﻔرض ان ] ‪ [x k 1 , x k‬ﻫو طول اﻟﻔﺗرة‬

‫‪ba‬‬ ‫اﻟﺟزﺋﯾﺔ رﻗم ‪. k‬اﻟطول ﻟﻛل ﻓﺗرة ﺟزﺋﯾﺔ ﯾﺳﺎوى ‪ [b  a]/ n‬و‬ ‫‪n‬‬ ‫رﺳم ‪ y  f (x), x  a, x  b‬ﻋﻠﻰ اﻟﻣﺣور اﻟراﺳﻰ ﯾﻣﻛن ﺗﻘرﯾﺑﻬﺎ ﺑﺎﻟﻣﺟﻣوع اﻟﺗﺎﻟﻰ ‪.‬‬

‫‪ . x k  a  k‬اﻟﻣﺳﺎﺣﺔ اﻟﻣﺣددة ﻓﻰ‬

‫‪ba n‬‬ ‫‪ba n‬‬ ‫‪f‬‬ ‫‪(x‬‬ ‫‪),S‬‬ ‫‪‬‬ ‫) ‪f (x k‬‬ ‫‪ k1 light n ‬‬ ‫‪n k 1‬‬ ‫‪k 1‬‬

‫‪Sleft ‬‬

‫اذا ﻛﺎﻧت )‪ f (x‬داﻟﺔ ﻣﺗزاﯾدة ﻓﻰ اﻟﻔﺗرة ]‪ [a, b‬ﻓﺎن ‪ Slift‬ﺳوف ﯾﻛون اﻟﺣد اﻻدﻧﻰ ﻟﻠﺗﻘرﯾب و ‪ Sright‬ﺳوف‬ ‫ﯾﻛون اﻟﺣد اﻻﻋﻠﻰ ﻟﻠﺗﻘرﯾب واﻟﻌﻛس ﺻﺣﯾﺢ اذا ﻛﺎﻧت اﻟداﻟﺔ ﻣﺗﻧﺎﻗﺻﺔ ‪.‬‬

‫اﻣﺛﻠﺔ‬ ‫ﺑﻔرض ‪:‬‬

‫‪f (x)   x 2  12x  1‬‬ ‫اوﺟد ﺗﻘرﯾب ﻟﻠﻣﺳﺎﺣﺔ ﺗﺣت اﻟﻣﻧﺣﻧﻰ ﻟﻠداﻟﺔ ‪ f (x), x  2, x  5‬وذﻟك ﺑﺎﺳﺗﺧدام ‪ n=100‬ﺛم اوﺟد اﻟﻘﯾﻣﺔ‬ ‫اﻟﻣﺿﺑوطﺔ ﻟﻠﻣﺳﺎﺣﺔ ‪.‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف اﻟداﻟﺔ ‪ f‬ورﺳﻣﻬﺎ ﻓﻰ اﻟﻔﺗرة ]‪[-1,13‬‬

‫‪fx_ : x2  12x  1‬‬ ‫]}‪Plot[f[x],{x,-1,13‬‬

‫‪٣١١‬‬


‫‪30‬‬ ‫‪20‬‬

‫‪10‬‬

‫‪12‬‬

‫‪8‬‬

‫‪10‬‬

‫‪6‬‬

‫‪4‬‬

‫‪2‬‬ ‫‪-10‬‬

‫‪Graphics‬‬

‫‪‬‬ ‫اﻟﻣﺷﺗﻘﺔ اﻻوﻟﻰ ﻟﻠداﻟﺔ )‪ f(x‬ﻫﻰ )‪ f (x)  2(6  x‬وﻫﻰ ﻣوﺟﺑﺔ ﻓﻰ اﻟﻔﺗرة ‪:‬‬ ‫]‪ [2,5‬وﻋﻠﻰ ذﻟك اﻟداﻟﺔ ﺗزاﯾدﯾﺔ ﻓﻰ اﻟﻔﺗرة ]‪ . [2,5‬وﻋﻠﻰ ذﻟك ﺗﻘرﯾب ﻟﻠﻣﺳﺎﺣﺔ ﺗﺣت اﻟﻣﻧﺣﻧﻰ ﻓﻰ‬ ‫اﻟﻔﺗرة اﻟﻣﺷﺎر اﻟﯾﻬﺎ ﺣﯾث ‪ n=100‬ﻫو ‪:‬‬

‫‪3 99‬‬ ‫‪3‬‬ ‫‪3 100‬‬ ‫‪3‬‬ ‫‪f‬‬ ‫‪(2‬‬ ‫‪‬‬ ‫‪k‬‬ ‫‪),S‬‬ ‫‪‬‬ ‫‪f (2  k‬‬ ‫)‬ ‫‪‬‬ ‫‪‬‬ ‫‪light‬‬ ‫‪100 k 0‬‬ ‫‪100‬‬ ‫‪100 k 1‬‬ ‫‪100‬‬

‫‪Sleft ‬‬

‫وﻛل ﻣﺟﻣوع ﯾﻣﻛن ﺣﺳﺎﺑﺔ اﻣﺎ ﺑﺻﯾﻐﺔ اﻻدﺧﺎل ‪ Sum‬او ﺑﺎﻟﺻﯾﻐﺔ اﻟﻘﯾﺎﺳﯾﺔ ﺛم ﺗﻘرﯾب اﻟﻧﺗﯾﺟﺔ ﺑﺎﺳﺗﺧدام‬ ‫اﻻﻣر ‪. N‬‬ ‫‪99‬‬

‫‪3‬‬ ‫‪3‬‬ ‫‪ f2  k‬‬ ‫‪‬‬ ‫‪100 k0‬‬ ‫‪100‬‬ ‫‪1795491‬‬ ‫‪20000‬‬ ‫]‪N[%‬‬ ‫‪89.7746‬‬ ‫]}‪3/100*Sum[f[2+(k*3)/100],{k,0,99‬‬

‫‪1795491‬‬ ‫‪20000‬‬ ‫]‪N[%‬‬ ‫‪89.7746‬‬

‫‪3 100‬‬ ‫‪3‬‬ ‫‪ f2  k‬‬ ‫‪‬‬ ‫‪100 k1‬‬ ‫‪100‬‬ ‫‪1804491‬‬ ‫‪20000‬‬ ‫]‪N[%‬‬ ‫‪90.2246‬‬ ‫]}‪3/100*Sum[f[2+(k*3)/100],{k,1,100‬‬ ‫‪٣١٢‬‬


‫‪1804491‬‬ ‫‪20000‬‬ ‫]‪N[%‬‬ ‫‪90.2246‬‬

‫ﻋﻣوﻣﺎ ﯾﻣﻛن ﺗﻌرﯾف اﻟداﻟﺔ ‪ f1,f2‬واﻟﺗﻰ ﺗﺣﺳب اﻟﻣﺟﻣوع‪:‬‬

‫‪(b  a) n 1‬‬ ‫)‪(b  a‬‬ ‫‪(b  a) n‬‬ ‫)‪(b  a‬‬ ‫‪f‬‬ ‫‪(a‬‬ ‫‪‬‬ ‫‪k‬‬ ‫‪),S‬‬ ‫‪‬‬ ‫‪f (a  k‬‬ ‫)‬ ‫‪‬‬ ‫‪‬‬ ‫‪light‬‬ ‫‪n k 0‬‬ ‫‪n‬‬ ‫‪n k 1‬‬ ‫‪n‬‬

‫‪Sleft ‬‬

‫ﻋﻠﻰ اﻟﺗواﻟﻰ ﻟﻘﯾم ﻣﺧﺗﻠﻔﺔ ﻣن ‪: f,a,b,n‬‬ ‫]}‪f1[f_,{a_,b_},n]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1‬‬ ‫]}‪f2[f_,{a_,b_},n]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n‬‬ ‫ﻓﻌﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل ‪:‬‬

‫‪fx_ : x2  12x  1.‬‬ ‫وﻗد ﺗم وﺿﻊ ﻧﻘطﺔ ﺑﻌد ‪ 1‬ﻓﻰ اﻟﻣﻌﺎدﻟﺔ اﻟﺳﺎﺑﻘﺔ ﺣﺗﻰ ﻻ ﻧﺣﺻل ﻋﻠﻰ اﻟﻧﺗﺎﺋﺞ اﻟﻧﻬﺎﺋﯾﺔ ﻓﻰ ﺻورة ﻛﺳور ‪.‬‬

‫‪fx_ : x2  12x  1.‬‬ ‫]‪f1[f,{2,5},100‬‬ ‫‪89.7746‬‬ ‫]‪f2[f,{2,5},100‬‬ ‫‪90.2246‬‬

‫اى ﺣﺻﻠﻧﺎ ﻋﻠﻰ ﻧﻔس اﻟﻧﺗﯾﺟﺔ اﻟﺳﺎﺑﻘﺔ ‪.‬‬

‫ﺳوف ﻧﺳﺗﺧدم اﺳﻠوب اﺧر ﻓﻰ اﻟﺣﺳﺎب ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫ﺳوف ﻧﻌرف اﻟداﻟﺔ ‪:‬‬

‫‪fx_ : x2  10x  2.‬‬ ‫ﺛم‬

‫ﻧﺳﺗﺧدم ‪ f1,f2‬ﻓﻰ ﺣﺳﺎب ‪:‬‬

‫‪(b  a) n 1‬‬ ‫)‪(b  a‬‬ ‫‪(b  a) n‬‬ ‫)‪(b  a‬‬ ‫‪‬‬ ‫‪f (a  k‬‬ ‫‪),Slight ‬‬ ‫‪f (a  k‬‬ ‫)‬ ‫‪‬‬ ‫‪‬‬ ‫‪n k 0‬‬ ‫‪n‬‬ ‫‪n k 1‬‬ ‫‪n‬‬ ‫ﻟﻘﯿﻢ ‪n  2,4,8,24 ,...,29  512‬‬

‫‪٣١٣‬‬

‫‪Sleft‬‬


f1[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1}] f2[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n}] ‫ اﻟﻛﺑﯾرة‬n ‫ ﯾﺗﻘﺎرﺑﺎن ﻟﻘﯾم‬f1,f2 ‫ﺳوف ﻧرى ان اﻟﺣد اﻻدﻧﻰ واﻟﺣد اﻻﻋﻠﻰ اﻟﺗﻘرﯾﺑﯾﯾن واﻟﻣﺣﺳوﺑﯾن ﻣن‬ : : ‫وذﻟك ﻣن اﻟﺟدول اﻟﺗﺎﻟﻰ‬ 2

fx_ : x  12x  1. f1[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,0,n-1}] f2[f_,{a_,b_},n_]:=(b-a)/n*Sum[f[a+k*(b-a)/n],{k,1,n}]

aa2  Table2n, f1f, 2, 5, 2n, f2f, 2, 5, 2n, n, 1, 9; TableFormaa2, TableHeadings  None, "n", "Lower", "Upper" n 2 4 8 16 32 64 128 256 512

Lower 77.625 84.0938 87.1172 88.5762 89.2925 89.6473 89.8239 89.912 89.956

Upper 100.125 95.3438 92.7422 91.3887 90.6987 90.3505 90.1755 90.0878 90.0439 : ‫ﺳوف ﻧﺛﺑت ان‬

3 n 1 3 3 n 3 lim   f (2  k )  lim   f (2  k )  90 n  n k 0 n n n k 1 n

aa4 

3 n1 3  f2  k   Simplify n k0 n

9  1  5 n  20 n2 2 n2

3 n 3 aa5   f2  k   Simplify n k1 n

٣١٤


9  1  5 n  20 n2 2 n2 Limit[aa4,n->] 90 Limit[aa5,n->] 90

. x=5 ‫ اﻟﻰ‬x=2 ‫ ﻣن‬f(x) ‫ ﻫو اﻟﻘﯾﻣﺔ اﻟﺣﻘﯾﻘﯾﺔ ﻟﻠﻣﺳﺎﺣﺔ ﺗﺣت اﻟﻧﻣﺣﻧﻰ ﻟﻠداﻟﺔ‬90 ‫اى ان‬ : ‫وﯾﻣﻛن ﺗﻌرﯾف اﻟﺑرﻧﺎﻣﺞ ﺑﺎﺳﻠوب اﺧر وذﻟك ﺑﺎﺳﺗﺧدام اﻟﺻﯾﻎ اﻟﻘﯾﺎﺳﯾﺔ‬

fx_ : x2  12x  1  b  a n1 b  a f1f_, a_, b_, n_ : N  fa  k 

n

f2f_, a_, b_, n_ : N

k0  b  a n

n

 fa  k k1

n

b  a

n



aa2  Table2n, f1f, 2, 5, 2n, f2f, 2, 5, 2n, n, 1, 9; TableFormaa2, TableHeadings  None, "n", "Lower", "Upper" n 2 4 8 16 32 64 128 256 512

Lower 77.625 84.0938 87.1172 88.5762 89.2925 89.6473 89.8239 89.912 89.956

Upper 100.125 95.3438 92.7422 91.3887 90.6987 90.3505 90.1755 90.0878 90.0439

Area Between Curves ‫ﺣﺳﺎب اﻟﻣﺳﺎﺣﺔ ﺑﯾن ﻣﻧﺣﻧﯾﯾن‬

‫ ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر‬.‫ واﻟذي ﯾؤدى اﻟﻰ ﺗظﻠﯾل اﻟﻣﺳﺎﺣﺎت ﺑﯾن اﻟﻧﻣﺣﻧﯾﺎت‬FilledPlot ‫ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر‬ ‫ اﯾﺿﺎ ﻓﻰ ﺗﻠك اﻟﻣﺷﺎﻛل ﺳوف‬. ‫ ﻟﺗﺣدﯾد اﻟﻣﺳﺎﺣﺔ ﺑﯾن ﻣﻧﺣﻧﯾﯾن او اﻛﺛر‬NIntegrate ‫ واﻻﻣر‬Integrate . Plot , NRoots , FindRoot ‫ﻧﺳﺗﺧدم اواﻣر اﺧرى ﻣﺛل‬

٣١٥


‫اﻣﺛﻠﺔ‬

‫اوﺟد ﺑﺎﻟﺗﻘرﯾب اﻟﻣﺳﺎﺣﺔ اﻟﻣﺣﺻورة ﺑﯾن اﻟرﺳﻣﺗﯾن ‪ sin x,cos x‬ﻓﻰ اﻟﻔﺗرة ]‪[0,2‬‬ ‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧرﺳم ‪ y  cosx , y=sin x‬ﻓﻰ اﻟﻔﺗرة ]‪ . [0,2‬اﻟرﺳم ﻟﻠداﻟﺔ ‪ y  sin x‬ﺳوف ﯾﻛون ﺑﺧطوط‬ ‫ﻣﺗﻘطﻌﺔ ‪.‬‬ ‫‪Plot[{Sin[x],Cos[x]},{x,0,2},PlotStyle{Dashing[{0.01}],‬‬ ‫]}]‪GrayLevel[.01‬‬ ‫‪1‬‬

‫‪0.5‬‬

‫‪6‬‬

‫‪4‬‬

‫‪5‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬ ‫‪-0.5‬‬

‫‪-1‬‬

‫‪Graphics‬‬ ‫وﻛﺑدﯾل ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪FilliedPlot‬واﻟﻣوﺟود ﻓﻰ اﻟﺣزم اﻟﺟﺎﻫزة ‪ FilledPlot‬ﻓﻰ اﻟدﻟﯾل ‪‬‬ ‫‪ Graphics‬واﻟذي ﯾؤدى اﻟﻰ ﺗظﻠﯾل اﻟﻣﺳﺎﺣﺎت ﺑﯾن اﻟﻣﻧﺣﻧﯾﺎت ‪ .‬ﺑﻌد ﺗﺣﻣﯾل اﻟﺣزم اﻟﺟﺎﻫزة ﻓﺎن اﻻﻣر‬ ‫‪ FilledPlot‬ﯾﺳﺗﺧدم ﻟﺗظﻠﯾل اﻟﻣﺳﺎﺣﺎت ﺑﯾن اﻟرﺳﻣﺗﯾن ‪ .‬ﻫﻧﺎ اﺳﺗﺧدﻣﻧﺎ اﻻﻣر ‪FilledPlot‬‬

‫ﻟرﺳم ‪y  cosx , y=sin x‬‬

‫ﻓﻰ اﻟﻔﺗرة ]‪. [0,2‬‬

‫وﯾﻣﻛن وﺿﻊ ﺧﯾﺎر ﻟﻠون اﻟﺗظﻠﯾل واذا ﻟم ﯾوﺿﻊ ﯾﺿﻊ اﻟﺑرﻧﺎﻣﺞ ﻟون ازرق ﻻﻣﻊ ‪.‬‬

‫`‪<< Graphics`FilledPlot‬‬ ‫‪FilledPlot[{Sin[x],Cos[x]},{x,0,2},PlotStyle{Dashing[{0‬‬ ‫]}‪.01}],GrayLevel[.01],Fills->GrayLevel‬‬

‫‪٣١٦‬‬


1

0.5

1

2

3

4

5

6

-0.5

-1

Graphics

sin x  cos x ‫ﻻﯾﺟﺎد اﻟﺣد اﻻدﻧﻰ واﻟﺣد اﻻﻋﻠﻰ ﻟﻠﺗﻛﺎﻣل ﻻ ﺑد ﻣن ﺣل اﻟﻣﻌﺎدﻟﺔ‬ ‫ اﻋطت ﺣﻠﯾن واﺣد ﻓﻰ اﻟﻔﺗرة اﻟﻣطﻠوﺑﺔ واﻻﺧر ﺧﺎرج اﻟﻔﺗرة وﻟذﻟك ﺳوف ﻧﺎﺧذ‬Solve ‫ ﺳوف ﻧﺟد ان‬. x ‫ﻓﻰ‬

 4 ‫اﻟﺣل اﻟذي ﻓﻰ اﻟﻔﺗرة وﻫو‬  4

: 4, 5

‫ﻫﻣﺎ‬

[0,2]

‫ﻓﻰ اﻟﻔﺗرة‬

sin x  cos x ‫ﺳوف ﻧﺟد ان‬

Solve[Sin[x]Cos[x],x] Solve ::ifun  :  Inverse functions are being used by Solve , so some solutions may not be found ; use Reduce for complete solution information . More…

x  

Sin

4

3  , x   4 4

  Cos

4

: ‫ﺳوف ﻧﺛﺑت ذﻟك ﻣﻣﺎ ﯾﺎﺗﻰ‬

True

Sin

5 5   Cos  4 4

True : ‫وﻋﻠﻰ ذﻟك اﻟﻣﺳﺎﺣﺔ اﻟﻣطﻠوﺑﺔ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﻛﺎﻟﺗﺎﻟﻰ‬

/ 4

5 / 4

 (cos(x)  sin(x))dx   0

2

(sin(x)  cos(x))dx 

/ 4

 5 / 4

٣١٧

(cos(x)  sin(x))dx


0  x  / 2

‫ﻓﻰ اﻟﻔﺗرة‬

 / 2  x  4 /5

‫ﻓﻰ اﻟﻔﺗرة‬

aa1  IntegrateCosx  Sinx, x, 0, 1 



4

sin x  cos x ‫و‬



2

aa2  IntegrateSinx  Cosx, x, 2

cos x  sin x ‫ﺣﯾث‬



4

,

5  4

2

aa3  IntegrateCosx  Sinx, x, 1



5 , 2 4

2

: ‫وﻓﯾﻣﺎ ﯾﻠﻰ اﻟﻣﺳﺎﺣﺔ اﻟﻣﺣﺳوﺑﺔ‬ aa1+aa2+aa3

4



2

‫اﻣﺛﻠﺔ‬ : ‫ﺑﻔرض‬

f (x) 

3 5 x  3x 4  11x 3  18x 2  12x  1 10

g(x)  4x 3  28x 2  56x  32 f (x),g(x) ‫اوﺟد ﺗﻘرﯾب ﻟﻠﻣﺳﺎﺣﺔ اﻟﻣﺣﺻورة اﻟﻣﺣﺻورة ﺑﯾن اﻟرﺳﻣﺗﯾن‬ : ‫اﻟﺣل‬ ‫ وذﻟك ﻻﯾﺟﺎد ﻧﻘط اﻟﺗﻘﺎطﻊ ﻟﻠرﺳﻣﺗﯾن وﻟﻛن ﯾﻣﻛن‬NRoots ‫ﺑﻌد ﺗﻌرﯾف اﻟداﻟﺗﯾن ورﺳﻣﻬم ﺳوف ﻧﺳﺗﺧدم ﻫﻧﺎ اﻻﻣر‬ . ‫ اذا اﻣﻛن ﻟﻠﺣﺻول ﻋﻠﻰ ﺣل ﻣﺿﺑوط‬Solve ‫ﻓﻰ ﺑﻌض اﻻﺣﯾﺎن اﺳﺗﺧدام اﻻﻣر‬ Clear[f,g]

fx_ : 3 x5  3x4  11x3  18x2  12x  1 10 gx_ : 4x3  28x2  56x  32 ٣١٨


‫‪Plot[{f[x],g[x]},{x,‬‬‫]}]}‪1,5},PlotStyle{GrayLevel[0],Dashing[{0.01‬‬ ‫‪20‬‬ ‫‪15‬‬ ‫‪10‬‬ ‫‪5‬‬ ‫‪5‬‬

‫‪3‬‬

‫‪4‬‬

‫‪2‬‬

‫‪-1‬‬

‫‪1‬‬ ‫‪-5‬‬ ‫‪-10‬‬ ‫‪-15‬‬

‫]‪aa4=NRoots[f[x]g[x],x‬‬ ‫‪x0.772058||x1.5355 -3.57094 ||x1.5355 +3.57094‬‬ ‫‪||x2.29182||x3.86513‬‬ ‫ﻣن اﻟﻣﺧرج اﻟﺳﺎﺑق ﯾوﺟد ﺣﻠﯾن ﺑﻬﻣﺎ ﺟزء ﺗﺧﯾﻠﻰ ﺳوف ﻧﻬﻣﻠﻬم ‪ .‬اﻟﺣﻠول اﻟﺣﻘﯾﻘﯾﺔ ﺳوف ﻧﺳﺗﺧﻠﺻﻬم ﻣن ‪aa4‬‬ ‫ﺗﺣت اﻻﺳﻣﺎء ‪aa5,aa6,aa7‬‬ ‫]]‪aa5=aa4[[1,2‬‬ ‫‪0.772058‬‬ ‫]]‪aa5=aa4[[4,2‬‬ ‫‪2.29182‬‬ ‫]]‪aa5=aa4[[5,2‬‬ ‫‪3.86513‬‬ ‫ﺑﺎﺳﺗﺧدام ﺟذور اﻟﻣﻌﺎدﻟﺔ )‪ f(x)=g(x‬واﻟرﺳم ﻧﺟد ان )‪ f(x)>g(x‬ﻋﻧدﻣﺎ ‪:‬‬

‫‪0.772958  x  2.29182‬‬ ‫و )‪ g(x)>f(x‬ﻋﻧدﻣﺎ ‪:‬‬

‫‪2.29182  x  3.86513‬‬

‫وﻋﻠﻰ ذﻟك ﺗﻘرﯾب ﻟﻠﻣﺳﺎﺣﺔ ﺗﺣت اﻟﻣﻧﺣﻧﻰ ﺑﯾن اﻟرﺳﻣﺗﯾن ‪ f,g‬ﯾﻣﻛن‬

‫اﻟﺣﺻول ﻋﻠﯾﻪ ﺑﺎﻟﺗﻛﺎﻣل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪3.865‬‬

‫‪(g[x]  f[x])dx‬‬

‫‪‬‬ ‫‪2.29182‬‬

‫‪2.29182‬‬

‫‪‬‬

‫‪(f[x]  g[x])dx ‬‬

‫‪0.772958‬‬

‫ﻫذا اﻟﺗﻛﺎﻣل ﺳوف ﯾﺣﺳب ﺑﺎﻻﻣر ‪ Integrate‬او اﻻﻣر ‪ . NIntegrate‬ﻓﻰ ﻛﻼ اﻟﺣﺎﻟﺗﯾن اﻟﻧﺗﯾﺟﺔ واﺣدة‬ ‫]}‪aa6=Integrate[(f[x]-g[x]),{x,.772058,2.29182‬‬ ‫‪5.26912‬‬ ‫]}‪aa7=Integrate[(g[x]-f[x]),{x,2.29182,3.86513‬‬ ‫‪6.92599‬‬ ‫‪aa6+aa7‬‬ ‫‪12.1951‬‬

‫]]}‪aa8=N[Integrate[(f[x]-g[x]),{x,.772058,2.29182‬‬ ‫‪٣١٩‬‬


‫‪5.26912‬‬ ‫]]}‪aa9=N[Integrate[(g[x]-f[x]),{x,2.29182,3.86513‬‬ ‫‪6.92599‬‬ ‫‪aa6+aa7‬‬ ‫‪12.1951‬‬

‫اﻻن ﺳوف ﻧذﻛر اﻟﺣﺎﻟﺔ اﻟﺗﻰ ﻓﯾﻬﺎ اﻟدوال ﻟﯾﺳت ﻛﺛﯾرة اﻟﺣدود ‪.‬‬

‫اﻣﺛﻠﺔ‬ ‫ﺑﻔرض ‪:‬‬

‫)‪,g(x)  4cos(x  2‬‬

‫‪Cos x‬‬

‫‪2‬‬

‫)‪f (x)  e (x 2‬‬

‫اوﺟد ﺗﻘرﯾب ﻟﻠﻣﺳﺎﺣﺔ اﻟﻣﺣﺻورة ﺑﯾن اﻟرﺳﻣﺗﯾن )‪ f (x),g(x‬ﻓﻰ اﻟﻔﺗرة ]‪[0,4‬‬ ‫اﻟﺣل ‪:‬‬ ‫ﺗﻠك اﻟدوال ﻟﯾﺳت ﻛﺛﯾرة اﻟﺣدود وﻋﻠﻰ ذﻟك ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ FindRoot‬ﺑدﻻ ﻣن ‪ NRoot‬وذﻟك‬ ‫ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﻟﻧﻘﺎط اﻟﺗﻘﺎطﻊ ﻟﻠرﺳﻣﺗﯾن واﻟﺗﻰ ﺗﺣﻘق اﻟﻣﻌﺎدﻟﺔ )‪ . f(x)=g(x‬ﻣرة اﺧرى ﺳوف ﻧﺣﺗﺎج اﻟﻰ‬ ‫ﻧﻘﺎط ﻣﺑدﺋﯾﺔ ﻟﺣل اﻟﻣﻌﺎدﻟﺔ ‪ .‬ﻟذﻟك ﻧﺣﺗﺎج اﻟﻰ رﺳم اﻟداﻟﺗﯾن ﻟﻠﺣﺻول ﻋﻠﻰ ﻗﯾم ﺗﻘرﯾﺑﯾﺔ ﻟﻠﻧﻘﺎط اﻟﺗﻰ ﺗﺗﻘﺎطﻊ ﻋﻧدﻫﺎ‬ ‫اﻟداﻟﺗﯾن ‪.‬‬

‫‪fx_ : Expx  22Cos  x‬‬ ‫]‪g[x_]:=4Cos[x-2‬‬ ‫‪Plot[{f[x],g[x]},{x,0,4},PlotStyle{GrayLevel[0],GrayLeve‬‬ ‫]}]‪l[.5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬ ‫‪-1‬‬

‫‪Graphics‬‬

‫ﺑﻣﺟرد اﻟﺣﺻول ﻋﻠﻰ اﻟﻘﯾم اﻟﻣﺑدﺋﯾﺔ ﻣن اﻟرﺳم ﻧﺳﺗﺧدم اﻻﻣر ‪ FindRoot‬ﻟﻠﺣﺻول ﻋﻠﻰ ﺗﻘرﯾب ﻟﺣل ﻟﻠﻣﻌﺎدﻟﺔ‬ ‫‪٣٢٠‬‬


‫)‪ f(x)=g(x‬واﻟﻧﺗﯾﺟﺔ ﻓﻰ ‪ aa3,aa4‬ﻋﻠﻰ اﻟﺗواﻟﻰ ‪.‬‬ ‫وﺗﺳﻣﻰ ‪aa5,aa6‬‬ ‫‪aa3,aa4‬‬ ‫اﻟﻘﯾم ﺳوف ﺗﺳﺗﺧﻠص ﻣن‬ ‫وﺳوف ﻧﺣﺻل ﻋﻠﻰ ﺗﻘرﯾب ﻟﻠﻣﺳﺎﺣﺔ ﺑﺎﺳﺗﺧدام اﻻﻣر ‪. NIntegrate‬‬ ‫]}‪aa3=FindRoot[f[x]g[x],{x,1.06‬‬ ‫}‪{x1.06258‬‬ ‫]}‪aa4=FindRoot[f[x]g[x],{x,2,93‬‬ ‫}‪{x2.93742‬‬ ‫]]‪aa5=aa3[[1,2‬‬ ‫‪1.06258‬‬ ‫]]‪aa6=aa4[[1,2‬‬ ‫‪2.93742‬‬ ‫ﻣن اﻟرﺳم ﻧﺟد ان اﻟﻣﻧﺣﻧﻰ اﻟﺧﺎص ﺑﺎﻟداﻟﺔ )‪ g(x‬ﻓوق اﻟﻣﻧﺣﻧﻰ اﻟﺧﺎص ﺑﺎﻟداﻟﺔ )‪ . f(x‬وﻋﻠﻰ‬ ‫ذﻟك اﻟﻣﺳﺎﺣﺔ اﻟﺗﻘرﯾﺑﯾﺔ ﺳوف ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﻣن اﻟﺗﻛﺎﻣل اﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪2.937‬‬

‫‪‬‬

‫‪(g[x]  f[x])dx‬‬

‫‪1.063‬‬

‫واﻟﺗﻰ ﯾﺗم ﺣﺳﺎﺑﺔ ﺑﺎﺳﺗﺧدام ‪ NIntergrate:‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪NIntegrate[g[x]-f[x],{x,aa5,aa6‬‬ ‫‪4.17413‬‬

‫اﻟﺗﻛﺎﻣﻼت اﻟﺛﻧﺎﺋﯾﺔ ‪Double Integrals‬‬ ‫ﯾﺳﺗﺧدم اﻻﻣر ]}‪ Integrate[f[x,y],{x,a,b},{y,c,d‬ﻟﺣﺳﺎب‬

‫‪b d‬‬

‫‪  f (x, y)dydx‬‬

‫‪ .‬وﯾﻣﻛن ﺣل اﻟﺗﻛﺎﻣل‬

‫‪a c‬‬

‫اﻟﺳﺎﺑق ﻋددﯾﺎ ﺑﺎﺳﺗﺧدام اﻻﻣر ]]}‪. N[Integrate[f[x,y],{x,a,b},{y,c,d‬‬

‫اﻣﺛﻠﺔ‬ ‫اﺣﺳب اﻟﺗﻛﺎﻣﻼت اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫‪5 10‬‬

‫‪dxdy‬‬

‫‪ x y‬‬ ‫‪5 10‬‬ ‫‪  x  y x y‬‬

‫‪x6 y11‬‬ ‫‪66‬‬ ‫‪٣٢١‬‬


12 20 6

2

6

2

  y x dxdy 5 3

12

5

20 6 2

y x x y

3

40723444937 3

N[%]

1.35745  1010

12 y

4

  y x dxdy 5 y2

y4 6 2   2 y x x y 5 y 12

1384412570338355646802 247 N[%]

5.60491  1018

/ 4 / 2

  (ysin x  xsin y)dydx 0

4

0

0

2

 ySinx  xSiny yx

0

1  3  2 2  2 32

‫ﻋﻧد اﻟرﻏﺑﺔ ﻓﻰ اﻟﺣﺻول ﻋﻠﻰ ﻗﯾم ﺗﻘرﯾﺑﯾﺔ ﻟﻠﺗﻛﺎﻣل او ﻋﻧد ﻋدم ﻣﻘدرة اﻟﺑرﻧﺎﻣﺞ ﻋﻠﻰ اﯾﺟﺎد اﻟﻘﯾﻣﺔ اﻟﻣﺿﺑوطﺔ ﯾﻣﻛن‬ : ‫اﺳﺗﺧدام اﻻﻣر‬ N[Integrate[f[x,y],{x,a,b},{y,c,d}]

٣٢٢


‫اﻣﺛﻠﺔ‬ : ‫اوﺟد اﻟﺗﻛﺎﻣﻼت اﻟﺗﺎﻟﯾﺔ‬  

  cos(x

2

 y2 )dydx

0 0

 

 

0

Cosx2  y2

 yx

0

1  2  2  FresnelC 2   FresnelS 2   2

: ‫ ﻋﻠﻰ اﻟﺗواﻟﻰ‬Fresnel ‫ ﻋﺑﺎرة ﻋن ﺗﻛﺎﻣﻼت‬FresnelC ‫ و‬CresnelS ‫اﻟﻣﺻطﻠﺣﺎن‬

x

x

1 1 C(x)   cos( t 2 )dt,S(x)   sin( t 2 )dt 2 2 0 0 ?FresnelC

FresnelCz gives the Fresnel integral Cz. More… ?FresnelS FresnelSz gives the Fresnel integral Sz. More… : ‫ﺗﻘرﯾب اﻟﺗﻛﺎﻣل ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻪ ﻛﺎﻟﺗﺎﻟﻰ‬ N[%] 1.24012

1 1

 sin(e

xy

)dydx

0 0

1

1

  SinExpx y 0

 yx

0

1 SinIntegral1  SinIntegralx

0

x

 x

SineIntegral ‫ واﻟذى ﯾظﻬر ﻓﻰ اﻟﻧﺗﯾﺟﺔ ﯾﻣﺛل‬SinIntegral ‫اﻟﻣﺻطﻠﺢ‬ x

sin t dt t 0

?SinIntegral

٣٢٣


‫‪SinIntegralz gives the‬‬ ‫…‪sine integral function Siz. More‬‬ ‫]]}‪N[Integrate[Sin[Exp[x y]],{x,0,1},{y,0,1‬‬ ‫‪0.917402‬‬

‫اﻟﺗﻛﺎﻣﻼت اﻟﺛﻼﺛﯾﺔ‬ ‫ﯾﺳﺗﺧدم اﻻﻣر ]}‪ Integrate[f[x,y,z],{x,a,b},{y,c,d},{z,e,r‬ﻟﺣﺳﺎب‬

‫‪r d b‬‬

‫‪  f (x, y,z)dxdydz‬‬

‫‪ .‬وﯾﻣﻛن‬

‫‪e c a‬‬

‫ﺣل اﻟﺗﻛﺎﻣل اﻟﺳﺎﺑق ﻋددﯾﺎ ﺑﺎﺳﺗﺧدام اﻻﻣر ]}‪.N[ Integrate[f[x,y,z],{x,a,b},{y,c,d},{z,e,r‬‬

‫اﻣﺛﻠﺔ‬ ‫اﺣﺳب اﻟﺗﻛﺎﻣﻠل اﻟﺗﺎﻟﻲ ‪:‬‬ ‫‪8 5 1‬‬ ‫‪4 6 5‬‬

‫‪ x y z dxdydz‬‬ ‫‪3 2 0‬‬

‫‪1‬‬

‫‪5‬‬

‫‪8‬‬

‫‪4 6 5‬‬ ‫‪   x  y z  x y z‬‬ ‫‪0‬‬

‫‪2‬‬

‫‪3‬‬

‫‪194186531‬‬ ‫‪2‬‬

‫]‪N[%‬‬

‫‪9.70933  107‬‬

‫)‪ (٤-٥‬اﻟﻣﺗﺳﻠﺳﻼت ‪Series‬‬ ‫ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ اﺧﺗﺑﺎر اﻟﻣﺗﺳﻠﺳﻠﺔ ﻫﻠﻰ ﻫﻰ ﺗﻘﺎرﺑﯾﺔ ام ﻻ ﺑطرق ﻣﺧﺗﻠﻔﺔ ﺑﻣﺎ ﻓﯾﻬﺎ اﻟرﺳم ‪ .‬ﻋﻣوﻣﺎ‬ ‫اﻻﻣر ‪:‬‬ ‫‪n2‬‬

‫]‬

‫‪2‬‬

‫‪ Sum[f[x],n ...n‬ﯾﺣﺎول ﺣﺳﺎب اﻟﻣﺟﻣوع )‪ f (k‬‬ ‫‪1‬‬

‫‪k n1‬‬

‫‪٣٢٤‬‬

‫ﺣﯾث ‪ n 2‬ﻣن اﻟﻣﻣﻛن ان ﺗﻛون ‪. ‬‬


‫ﻣﺛﺎل‬ : Converges ‫اﺧﺗﺑر اﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﺗﺎﻟﯾﺔ ﻣن ﻧﺎﺣﯾﺔ اﻟﺗﻘﺎرب‬ 

k

2

k

k 1

: ‫اﻟﺣل‬ ‫ ﺳوف ﻧﺑدا‬. ‫ﺗﻘﺎرﺑﯾﺔ ام ﻻ‬

k

2

k

‫ ﻟﺗﻘدﯾر ﻣﺎ اذا ﻛﺎﻧت اﻟﻣﺗﺳﻠﺳﻠﺔ‬Integral test ‫ﺳوف ﻧﺳﺗﺧدم اﺧﺗﺑﺎر اﻟﺗﻛﺎﻣل‬

k 1

: ‫ﺑﺣﺳﺎب اﻟﺗﻛﺎﻣل‬ Simplify ‫ ﺑﺎﺳﺗﺧدام اﻻﻣر‬aa1 ‫ ﺛم ﺗﺑﺳﯾط‬aa1 ‫ وﺗﺳﻣﯾﺔ اﻟﻧﺗﺎﺗﺞ‬Integrate ‫وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر‬

n

1

k dk 2k

. aa2 ‫وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ‬

aa1  

n

1

k  k 2k

Ifn  1,

21n  2  2n 1  Log2  n Log4 , Log22

Integrate2k k, k, 1, n, Assumptions  n  1 aa2=Simplify[aa1] 21n  2  2n 1  Log2  n Log4 Ifn  1, , Log22

Integrate2k k, k, 1, n, Assumptions  n  1

Lim . n 

n

1

k dk ‫اﻻن ﯾﺗم ﺣﺳﺎب‬ 2k

: ‫ﺳوف ﻧﺟد ان‬

Lim n 

n

1

k 1  ln 2 dk   1.76203. k 2 2(ln 2)2

Limit[aa2,n] 1  Log2

2 Log22 N[%] 1.76203

٣٢٥


‫اﻻن ﺳوف ﯾﺗم ﺣﺳﺎب‬

‫‪k‬‬ ‫‪dk‬‬ ‫‪2k‬‬

‫‪‬‬

‫‪‬‬

‫‪1‬‬

‫‪k‬‬ ‫‪k‬‬ ‫‪2k‬‬

‫‪‬‬

‫‪1‬‬

‫‪aa3  ‬‬

‫‪1  Log2‬‬ ‫‪2 Log22‬‬ ‫وﻋﻠﻰ ذﻟك ﻣن اﺧﺗﺑﺎر اﻟﺗﻛﺎﻣل ﯾﻣﻛن اﻟﻘول ان اﻟﻣﺗﺳﻠﺳﻠﺔ‬

‫‪‬‬

‫‪k‬‬ ‫‪k‬‬

‫‪2‬‬

‫ﺗﻘﺎرﺑﯾﺔ ‪.‬‬

‫‪k 1‬‬

‫اﻻن ﺳوف ﻧﺳﺗﺧدم اﻻﻣر ‪ Sum‬ﻓﻰ ﺗﻘرﯾب اﻟﻘﯾﻣﺔ ﻟﻠﺗﻣﺳﻠﺳﻠﺔ وذﻟك ﺑﺣﺳﺎب‬

‫‪k‬‬ ‫‪k‬‬

‫‪1000‬‬

‫‪2‬‬ ‫‪k 1‬‬

‫‪k‬‬ ‫‪‬‬ ‫‪2k‬‬

‫‪1000‬‬

‫‪N ‬‬ ‫‪k1‬‬

‫‪2.‬‬ ‫ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﻓﺎﻧﻧﺎ ﻗﺎدرﯾن ﻋﻠﻰ ﺣﺳﺎب اﻟﻘﯾﻣﺔ اﻟﺣﻘﯾﻘﯾﻰ ﻟـ‬

‫‪k‬‬ ‫‪k‬‬

‫‪‬‬

‫‪2‬‬ ‫‪k 1‬‬

‫‪‬‬

‫‪k‬‬ ‫‪k‬‬ ‫‪k1 2‬‬

‫‪‬‬ ‫‪2‬‬

‫ﻣﺛﺎل‬ ‫اﺧﺗﺑر اﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﺗﺎﻟﯾﺔ ﻣن ﻧﺎﺣﯾﺔ اﻟﺗﻘﺎرب ‪: Converges‬‬

‫‪10n‬‬ ‫‪‬‬ ‫!‪k 1 n‬‬ ‫‪‬‬

‫اﻟﺣل‬

‫‪10n‬‬ ‫‪ a n ‬ﺛم ﻧﺳﺗﺧدم اﻻﻣر ‪ Table‬ﻟﺣﺳﺎب ﻗﺎﺋﻣﺔ ﻣن اﻟﻘﯾم ‪:‬‬ ‫ﺳوف ﻧﻌرف‬ ‫!‪n‬‬ ‫‪ a1 ,a 2 ,...,a 24 ,a 25‬وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ‪: aa1‬‬

‫‪٣٢٦‬‬


Clear[a]

10n an_ : n

aa1=Table[a[n],{n,1,25}]; . aa1 ‫ ﻟرﺳم اﻟﻘﺎﺋﻣﺔ ﻣن اﻻﻋداد‬ListPlot ‫ﺳوف ﻧﺳﺗﺧدم اﻻﻣر‬

?ListPlot

ListPloty1, y2, ...  plots a list of values. The x coordinates for each point are taken to be 1, 2, ... . ListPlotx1, y1, x2, y2, ...  plots a list of values with specified x and y coordinates. More…

ListPlot[aa1]

2500 2000 1500 1000 500

5

10

15

20

25

Graphics Limit ‫ﺛم اﺳﺗﺧدام اﻻﻣر‬

a n 1 an

‫ اوﻻ ﻧﺣﺳب‬. ‫ﻟﺗﻘدﯾر ﻓﯾﻣﺎ اذا ﻛﺎﻧت اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﻘﺎرﺑﯾﺔ ام ﻻ ﺳوف ﻧﺳﺗﺧدم اﺧﺗﺑﺎر اﻟﻧﺳﺑﺔ‬

. ‫وﺳوف ﻧﺛﺑت ان اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﻘﺎرﺑﯾﺔ وﺗؤؤول اﻟﻰ ﺻﻔر‬

an  1 an 10 n  1  n  an  1 Limit , n   an 0

٣٢٧

a n 1 n  a n

lim

‫ﻟﺣﺳﺎب‬


‫او ﻛﺑدﯾل ﻓﺎن اﻟﺗﻌﺑﯾر‬

‫!‪a n 1 10n 1 n‬‬ ‫‪10‬‬ ‫‪‬‬ ‫‪. n‬‬ ‫‪a n (n  1)! 10‬‬ ‫‪n 1‬‬

‫ﯾﺑﺳط اﻟﻰ‬

‫‪10‬‬ ‫‪n 1‬‬

‫ﺑﺎﺳﺗﺧدام اﻻﻣر ‪FullSimplify‬‬

‫ﺑدﻻ ﻣن اﻻﻣر ‪ . Simplify‬وﻋﻠﻰ ذﻟك ‪:‬‬

‫‪a n 1‬‬ ‫!‪10n 1 n‬‬ ‫‪10‬‬ ‫‪lim‬‬ ‫‪ lim‬‬ ‫‪. n  lim‬‬ ‫‪0‬‬ ‫‪n  a‬‬ ‫‪n  (n  1)! 10‬‬ ‫‪n  n  1‬‬ ‫‪n‬‬ ‫وﻋﻠﻰ ذﻟك ﺑﺎﺳﺗﺧدام اﺧﺗﺑﺎر اﻟﻧﺳﺑﺔ ﻓﺎﻧﻧﺎ ﺳوف ﻧﺛﺑت ان اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﻘﺎرﺑﯾﺔ ‪.‬‬

‫‪an  1‬‬ ‫‪ FullSimplify‬‬ ‫‪an‬‬ ‫‪10‬‬ ‫‪1 n‬‬ ‫]‪Limit[aa5,n‬‬ ‫‪0‬‬

‫‪10n‬‬ ‫ﻓﻰ اﻟﺣﻘﯾﻘﺔ ﯾﻣﻛن ﻟﻠﺑرﻧﺎﻣﺞ ﺣﺳﺎب اﻟﻘﯾﻣﺔ اﻟﺣﻘﯾﻘﯾﺔ ﻟﻠﻣﺗﺳﻠﺳﻠﺔ‬ ‫‪‬‬ ‫‪k‬‬ ‫‪2‬‬ ‫‪k‬‬ ‫‪‬‬ ‫‪1‬‬ ‫ﺑﺎﺳﺗﺧدام ‪ Sum‬ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬ ‫‪‬‬

‫‪‬‬

‫‪10n‬‬ ‫‪‬‬ ‫‪n1 n‬‬ ‫‪1  10‬‬ ‫ﻣﺛﺎل‬ ‫اﺧﺗﺑر اﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﺗﺎﻟﯾﺔ ﻣن ﻧﺎﺣﯾﺔ اﻟﺗﻘﺎرب ‪: Converges‬‬ ‫‪‬‬

‫‪sin k‬‬ ‫‪k‬‬ ‫‪k 1‬‬

‫‪‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف‬

‫‪sin k‬‬ ‫‪k‬‬

‫‪ a k ‬ﺛم اﺳﺗﺧدام اﻻﻣر ‪ Table‬وذﻟك ﻟﺣﺳﺎب ﻗﺎﺋﻣﺔ ﻣن اﻟﻘﯾم ‪a1 ,a 2 ,...,a 999 ,a 2000‬‬

‫وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ ‪ aa1‬ﺛم ﻧﺳﺗﺧدم اﻻﻣر ‪ ListPlot‬ﻟرﺳم اﻟﻘﺎﺋﻣﺔ ﻣن اﻻﻋداد ‪ ، aa1‬اى اﺳﺗﺧدام اﻻﻣر ‪ ListPlot‬ﻟرﺳم‬

‫اﻟﻧﻘﺎط ‪ 1,2,...,2000‬‬

‫‪. (k,a k ),k‬‬

‫]‪Clear[a‬‬

‫‪٣٢٨‬‬


ak_ :

Sink k

aa1=Table[a[k],{k,1,2000}]; ListPlot[aa1,AxesNone,Frame->True,PlotStylePointSize[0.01]] 0.003 0.002 0.001 0 -0.001 -0.002 -0.003 0

500

1000

1500

2000

 Graphics 1000

sin k  k k 1

‫ ﺳوف ﻧﺣﺳب‬. ‫ﺗﻘﺎرﺑﯾﺔ ام ﻻ‬

sin k k k 1

‫ﻧﻼﺣظ ان اﻟرﺳم ﻟم ﯾﺳﺎﻋد ﻓﻰ ﺗﻘدﯾر ﻣﺎ اذا ﻛﺎﻧت اﻟﻣﺗﺳﻠﺳﻠﺔ‬

N ‫ﻣﻊ ﺗﻘرﯾﺑﺔ ﺑﺎﻻﻣر‬ 10000

N  k1

Sink  k

1.07087 

sin k k k 1

‫وذﻟﻚ ﻟﺤﺴﺎب ﻗﯿﻤﺔ ﺗﻘﺮﯾﺒﯿﺔ ﻟﻠﻤﺘﺴﻠﺴﻠﺔ‬

: ‫ ﯾﻣﻛن ﺣﺎﺳب اﻟﻘﯾﻣﺔ ﺑﺎﻟﺿﺑط ﻟﻠﻣﺗﺳﻠﺳﻠﺔ ﻛﻣﺎ ﯾﻠﻰ‬. (n=10000) n ‫ﺣﯾث ﺗم اﺳﺗﺧدام ﻗﯾﻣﺔ ﻛﺑﯾرة ﻣن‬ 

Sink k k1

 

1    Log1     Log1    2 : N ‫ ﺛم ﺑﺎﺳﺗﺧدام‬ComplexExpand ‫اﻟﺗﻘرﯾب اﻟﻌددى ﻟﻠﻧﺗﯾﺟﺔ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﮫ ﺑﺎﺳﺗﺧدام‬ 

Sink k k1

aa2   

1    Log1     Log1    2

aa3=ComplexExpand[aa2]

٣٢٩


‫‪Sin1‬‬ ‫‪‬‬ ‫‪1  Cos1‬‬

‫‪ArcTan‬‬ ‫]‪N[aa3‬‬ ‫‪1.0708‬‬

‫ﺗﻘدﯾر اﻟﻔﺗرة اﻟﺗﻰ ﺗﺗﻘﺎرب ﻓﯾﻬﺎ ﻣﺗﺳﻠﺳﻠﺔ‪‬اﻟﻘوى ‪‬‬ ‫‪ Determinig the Interval of Convergence of a Power Series‬‬ ‫‪‬‬

‫ﺑﻔرض ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى‪   a n (a  x 0 )n ‬اﻟﻣﺷﻛﻠﺔ ﻓﻰ اﯾﺟﺎد ﻓﺗرة اﻟﺗﻘﺎرب ﻟﻣﺳﻠﺳﻠﺔ اﻟﻘوى اﻟﻣﻌطﺎﻩ ‪ .‬‬ ‫‪n 0‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد ﻓﺗرة اﻟﺗﻘﺎرب ﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى اﻟﻣﻌطﺎﻩ ‪:‬‬

‫‪x 2n 1‬‬

‫‪‬‬

‫‪1‬‬

‫‪n‬‬

‫)‪ (5‬‬ ‫‪n 0‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﺧﺗﺑﺎر اﻟﺟذر ‪ Root test‬واﻟذى ﯾﻧص ﻋﻠﻰ اﻧﻪ اذا ﻛﺎﻧت‬

‫وﻛﺎن ‪a n‬‬

‫‪n‬‬

‫‪n‬‬

‫‪a‬‬

‫ﻣﺗﺳﻠﺳﻠﺔ ﺑﺣدود ﻣوﺟﺑﺔ‬

‫‪  lim‬‬ ‫‪n ‬‬

‫ﻓﺎن ‪:‬‬

‫) ا ( ) اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﺗﻘﺎرب اذا ﻛﺎﻧت ‪  1‬‬ ‫) ب( اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﺗﺑﺎﻋد اذا ﻛﺎﻧت ‪  1‬‬ ‫)ج ( ﻻ ﺗﻌﻠﯾق اذا ﻛﺎﻧت ‪  1‬‬ ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف ‪ a n‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪1‬‬ ‫‪x 2n 1‬‬ ‫‪n‬‬ ‫)‪(5‬‬

‫ﺛم ﺣﺳﺎب وﺗﺑﺳﯾط‬

‫‪1‬‬ ‫‪x 2n 1‬‬ ‫‪n‬‬ ‫)‪(5‬‬

‫‪n‬‬

‫‪ .‬وﻗد وﺟد ان اﻻﻣر ‪Simplify‬‬

‫ﻟم ﯾﺑﺳط اﻟﺗﻌﺑﯾر ﻛﻣﺎ ﻧرﻏب وﻟذﻟك ﺳوف ﯾﺳﺗﺧدم اﻻﻣر ‪ PowerExpand‬ﻟﺗﺑﺳﯾط اﻟﻧﺎﺗﺞ‬ ‫وﺳوف ﻧﺳﻣﻰ اﻟﻧﺎﺗﺞ ‪: aa1‬‬

‫‪1‬‬ ‫‪n‬‬ ‫‪fn_ : ‬‬ ‫‪x2 n1‬‬ ‫‪n‬‬ ‫‪ 5‬‬ ‫‪f[n]//Simplify‬‬ ‫‪٣٣٠‬‬


1

5n x12n n aa1=f[n]//PowerExpand//Simplify 

1 2 1 x n 5

: ‫ ﺗؤول اﻟﻰ ﻣﺎﻻ ﻧﻬﺎﯾﺔ ﺣﯾث‬n ‫ ﻋﻧدﻣﺎ‬aa1 ‫اﻻن ﻧﻘوم ﺑﺣﺳﺎب اﻟﻧﻬﺎﯾﺔ ﻟـ‬

lim

n 

n

1 1 2 1/ n x 2n 1  lim x x n n  ( 5) (5)

Limit[aa1,n]

x2  5

1 | x 2 | <1 ‫ﺗﺗﻘﺎرب ﻣطﻠﻘﺎ اذا ﻛﺎﻧت‬ 5

n

1 x 2n 1 ‫اﻟﻧﺗﯾﺟﺔ ﺗﻌﻧﻰ ان‬ n (5) . ‫ﺳوف ﻧﺣل ﻫذﻩ اﻟﻣﺗﺑﺎﯾﻧﺔ ﻻﺣﻘﺎ‬

Solve

x2 5

 1, x

  x   5 , x  5 

x2 Plot1, , x,  3, 3, 5 PlotStyle  GrayLevel.5, GrayLevel0 1.75 1.5 1.25 1 0.75 0.5 0.25 -3

-2 -1 Graphics

1

2

3

: ‫وﻋﻠﻰ ذﻟك ﯾﻣﻛن اﺳﺗﻧﺗﺎج ان‬ n

.

1 x 2n 1 n (5)

 5  x  5 ‫ﺗﺗﻘﺎرب ﻣطﻠﻘﺎ اذا ﻛﺎﻧت‬  1 x 2n 1 ‫اﻻن ﺳوف ﻧﻔﺣص اﻟﺗﻘﺎرب ﻟـ‬ . ‫ ﻣﻧﻔﺻﻠﯾن‬x   5 or x  5 ‫ ﻋﻧدﻣﺎ‬ n n 0 ( 5) ٣٣١


‫‪ x   5‬ﻓﻰ ‪a n‬‬

‫اﻻن ﺳوف ﻧﻌوض‬

‫وﺳوف ﻧﺛﺑت اﻧﻬﺎ ﻟﯾﺳت ﺗﻘﺎرﺑﯾﺔ ‪ .‬ﻧﻔس اﻟﻛﻼم‬

‫ﺑﺎﻟﻧﺳﺑﺔ اﻟﻰ ‪x  5‬‬

‫‪‬‬

‫‪PowerExpandaa1n . x   5   Simplify‬‬ ‫‪3n ‬‬

‫‪‬‬

‫‪5   Simplify‬‬

‫‪ 1‬‬

‫‪5‬‬

‫‪PowerExpandaa1n .x ‬‬ ‫‪n ‬‬

‫‪1‬‬

‫‪5‬‬

‫وﻋﻠﻰ ذﻟك ﯾﻣﻛن اﺳﺗﻧﺗﺎج ان اﻟﻔﺗرة اﻟﺗﻰ ﺗﺗﻘﺎرب ﻓﯾﻬﺎ اﻟﻣﺗﺳﻠﺳﻠﺔ ‪x 2n 1‬‬

‫‪1‬‬

‫‪n‬‬

‫‪‬‬

‫)‪ (5‬‬ ‫‪n 0‬‬

‫ﻫﻰ ‪:‬‬

‫) ‪. ( 5 , 5‬‬

‫ﻣﺛﺎل‬

‫اوﺟد ﻓﺗرة اﻟﺗﻘﺎرب ﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى اﻟﻣﻌطﺎﻩ ‪:‬‬

‫‪42n‬‬ ‫‪(x  3)n‬‬ ‫‪‬‬ ‫‪n 0 n  1‬‬ ‫‪‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺳوف ﻧﺳﺗﺧدم اﺧﺗﺑﺎر ‪ Ratio test‬واﻟذى ﯾﻧص ﻋﻠﻰ اﻧﻪ اذا ﻛﺎﻧت‬

‫‪a n+1‬‬ ‫وﻛﺎن‬ ‫‪an‬‬

‫‪n‬‬

‫‪a‬‬

‫ﻣﺗﺳﻠﺳﻠﺔ ﺑﺣدود ﻣوﺟﺑﺔ‬

‫‪  lim‬‬ ‫‪n ‬‬

‫ﻓﺎن ‪:‬‬

‫) ا ( ) اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﺗﻘﺎرب اذا ﻛﺎﻧت ‪  1‬‬ ‫) ب( اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﺗﺑﺎﻋد اذا ﻛﺎﻧت ‪  1‬‬ ‫)ج ( ﻻ ﺗﻌﻠﯾق اذا ﻛﺎﻧت ‪  1‬‬ ‫ﺳوف ﻧﺑدا ﺑﺗﻌرﯾف ‪ a n‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬

‫‪4 2n‬‬ ‫‪(x  3) n‬‬ ‫‪ a n ‬ﺛم ﺣﺳﺎب وﺗﺑﺳﯾط‬ ‫‪n 1‬‬

‫‪a n 1‬‬ ‫‪an‬‬

‫‪.‬‬

‫ﺳوف ﯾﺳﺗﺧدم اﻻﻣر ‪ Simplify‬ﻟﺗﺑﺳﯾط اﻟﻧﺎﺗﺞ واﻟﻣﺧرج ﺳوف ﯾﻌطﻰ ﻟﻪ اﻻﺳم ‪. aa2‬‬

‫‪42 nx  3n‬‬

‫‪fn_ :‬‬

‫‪n 1‬‬ ‫‪fn  1‬‬ ‫‪aa2 ‬‬ ‫‪ Simplify‬‬ ‫‪fn‬‬ ‫‪16 1  n 3  x‬‬ ‫‪2n‬‬

‫‪٣٣٢‬‬


‫‪n+1‬‬ ‫اﻻن ﻧﻘوم ﺑﺣﺳﺎب )‪(x  3‬‬ ‫‪n+1‬‬

‫‪lim 16‬‬ ‫‪n ‬‬

‫ﻣﻊ ﺗﺳﻣﯾﺔ اﻟﻣﺧرج ‪aa3‬‬

‫]‪aa3=Limit[aa2,n‬‬ ‫)‪16 (-3+x‬‬

‫‪42n‬‬ ‫اﻟﻧﺗﯾﺟﺔ ﺗﻌﻧﻰ ان ‪(x  3)n‬‬ ‫‪‬‬ ‫‪n 0 n  1‬‬ ‫‪‬‬

‫ﺗﺗﻘﺎرب ﻣطﻠﻘﺎ اذا ﻛﺎﻧت ‪|16x  48| <1‬‬

‫ﺳوف ﻧﺣل ﻫذﻩ اﻟﻣﺗﺑﺎﯾﻧﺔ وﺳوف ﻧﺛﺑت ان ‪:‬‬

‫‪47‬‬ ‫‪49‬‬ ‫‪or x ‬‬ ‫اﻟﻣﺗﺳﻠﺳﻠﺔ ﺗﺗﻘﺎرب ﻋﻧد‬ ‫‪16‬‬ ‫‪16‬‬

‫‪x‬‬ ‫]‪Solve[aa31,x‬‬

‫‪49‬‬ ‫‪‬‬ ‫‪16‬‬

‫‪x ‬‬

‫]‪Solve[aa3-1,x‬‬

‫‪49‬‬ ‫‪ Simplify‬‬ ‫‪16‬‬ ‫‪47‬‬ ‫‪ Simplify‬‬ ‫‪16‬‬

‫‪47‬‬ ‫‪‬‬ ‫‪16‬‬

‫‪x ‬‬

‫‪fn . x ‬‬ ‫‪1‬‬ ‫‪1 n‬‬

‫‪fn . x ‬‬ ‫‪ 1n‬‬

‫‪1 n‬‬

‫‪(1)n‬‬ ‫اﻟﻣﺗﺳﻠﺳﻠﺔ‬ ‫‪‬‬ ‫‪n 0 n  1‬‬ ‫‪‬‬

‫ﺗﺗﻘﺎرب ﺑﺎﺧﺗﺑﺎر اﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﺑدﯾل‬

‫‪1‬‬

‫‪‬‬

‫و‪ n 1‬‬ ‫‪n 0‬‬

‫ﻟﯾﺳت ﺗﻘﺎرﺑﯾﺔ ‪ .‬وﻋﻠﻰ ذﻟك ﯾﻣﻛن اﻟﻘول ان اﻟﻔﺗرة اﻟﺗﻰ ﺗﺗﻘﺎرب ﻓﯾﻬﺎ اﻟﻣﺗﺳﻠﺳﻠﺔ‬

‫‪4 2n‬‬ ‫‪(x  3) n‬‬ ‫‪‬‬ ‫‪n 0 n  2‬‬ ‫‪47 49‬‬ ‫ﻫﻰ ‪[ , ) :‬‬ ‫‪16 16‬‬ ‫‪.‬‬ ‫‪‬‬

‫‪٣٣٣‬‬


‫ﺣﺳﺎب ﻣﺗﺳﻠﺳﻼت اﻟﻘوى ‪Computing power series‬‬ ‫ﻣﻔﻛوك ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ )‪ f(x‬ﺣول اﻟﻧﻘطﺔ‬

‫‪xa‬‬

‫ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﮫ ﻣن اﻟﺻﯾﻐﺔ اﻟﺗﺎﻟﯾﺔ ‪:‬‬

‫)‪f (n) (a‬‬ ‫‪(x  a) n‬‬ ‫‪‬‬ ‫!‪n‬‬ ‫‪n 0‬‬ ‫‪‬‬

‫ﺗﺣت ﺷرط ان اﻟداﻟﺔ ﻗﺎﺑﻠﺔ ﻟﻠﺗﻔﺎﺿل ‪.‬‬ ‫ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ﺣﺳﺎب ﻣﻔﻛوك ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ )‪ f(x‬ﺣول اﻟﻧﻘطﺔ‬

‫‪xa‬‬

‫وﺣﺗﻰ اﻟدرﺟﺔ ‪ n‬وذﻟك‬

‫ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Series‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Series[f{x},{x,a,n‬‬

‫ﻣﻌﻠوﻣﺎت ﻋن ﻫذا اﻻﻣر ‪ Series‬ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﯾﻬﺎ ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫‪?Series‬‬

‫‪Seriesf, x, x0, n generates a power‬‬ ‫‪series expansion for f about the point x ‬‬ ‫‪x0 to order x  x0^n. Seriesf, x, x0,‬‬ ‫‪nx, y, y0, ny successively finds series‬‬ ‫…‪expansions with respect to y, then x. More‬‬ ‫اﻟرﻣز )‪ x  [x  a] ^ (n  1‬واﻟذى ﯾظﻬر ﻓﻰ اﻟﻣﺧرج اﻟﻧﺎﺗﺞ ﻣن اﻻﻣر ‪Series‬‬ ‫ﯾﻣﺛل اﻟﺟزء اﻟﺑﺎﻗﻰ اﻟﻣﺣذوف ﻣن اﻟﻣﺗﺳﻠﺳﻠﺔ )ﺣد اﻟﺑﺎﻗﻰ ( وﯾﻣﻛن اﻟﻐﺎء ھذا اﻟﺣد وﻛﺗﺎﺑﺔ اﻟﻣﻔﻛوك ﻓﻰ اﻟﺷﻛل اﻟﻌﺎدي‬

‫وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪. Normal‬‬

‫اﻣﺛﻠﺔ‬

‫ﻟﺣﺳﺎب ﻣﻔﻛوك ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ ‪ex‬‬

‫ﺣول اﻟﻧﻘطﺔ ‪ x=0‬ﺣﺗﻰ اﻟﺣدود ﻣن اﻟدرﺟﺔ اﻟﺧﺎﻣﺳﺔ ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Series[Exp[x],{x,0,5‬‬

‫‪x2 x3 x4‬‬ ‫‪x5‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ Ox6‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪24 120‬‬

‫‪1 x ‬‬

‫وﯾﻣﻛن اﻟﻐﺎء ﺣد اﻟﺑﺎﻗﻰ وﻛﺗﺎﺑﺔ اﻟﻣﻔﻛوك ﻓﻰ اﻟﺷﻛل اﻟﻌﺎدى وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Normal‬ﻛﻣﺎ ﯾﻠﻰ ‪:‬‬

‫]}‪Series[Exp[x],{x,0,5‬‬ ‫‪٣٣٤‬‬


‫‪x2 x3 x4‬‬ ‫‪x5‬‬ ‫‪1 x ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ Ox6‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪24 120‬‬ ‫]‪Normal[%‬‬

‫‪x2 x3 x4‬‬ ‫‪x5‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪24 120‬‬

‫‪1 x ‬‬

‫ﻟﺣﺳﺎب ﻣﻔﻛوك ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ ‪ cos x‬ﺣول اﻟﻧﻘطﺔ ‪ x=0‬ﺣﺗﻰ اﻟﺣدود ﻣن اﻟدرﺟﺔ اﻟﺳﺎدﺳﺔ ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Series[Cos[x],{x,0,6‬‬

‫‪x2‬‬ ‫‪x4‬‬ ‫‪x6‬‬ ‫‪7‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ Ox‬‬ ‫‪2‬‬ ‫‪24 720‬‬ ‫ﻟﺣﺳﺎب ﻣﻔﻛوك ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ ‪ ln x‬ﺣول اﻟﻧﻘطﺔ ‪ x=0‬ﺣﺗﻰ اﻟﺣدود ﻣن اﻟدرﺟﺔ اﻟﺳﺎدﺳﺔ ﻧﺗﺑﻊ اﻟﺗﺎﻟﻰ ‪:‬‬ ‫]}‪Series[Log[x],{x,1,6‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪x  12 ‬‬ ‫‪x  13 ‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪x  14 ‬‬ ‫‪x  15 ‬‬ ‫‪x  16  Ox  17‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬

‫‪x  1 ‬‬

‫ﺑرﻧﺎﻣﺞ اﻟﻣﺎﺛﯾﻣﺎﺗﯾﻛﺎ ﻗﺎدر ﻋﻠﻰ ﺣﺳﺎب اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻣﻔﻛوك ﻟﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ )‪ . y(x‬اﻟﻧﺗﯾﺟﺔ‬ ‫ﻧﺣﺻل ﻋﻠﯾﻬﺎ ﻣن اﻻواﻣر اﻟﺗﺎﻟﯾﺔ ‪:‬‬ ‫]}‪Series[y[x],{x,0,3‬‬

‫‪1 ‬‬ ‫‪1‬‬ ‫‪y 0 x2  y3 0 x3  Ox4‬‬ ‫‪2‬‬ ‫‪6‬‬

‫‪y0  y0 x ‬‬

‫]}‪Series[y[x],{x,a,3‬‬

‫‪1 ‬‬ ‫‪y a x  a2 ‬‬ ‫‪2‬‬

‫‪ya  ya x  a ‬‬

‫‪1 3‬‬ ‫‪y a x  a3  Ox  a4‬‬ ‫‪6‬‬ ‫ﺣﯾث ﻧﺣﺻل ﻋﻠﻲ ﻣﻔﻛوك ﻣﺗﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ )‪ y(x‬ﺣول اﻟﻧﻘطﺔ ‪ x=0 , x=a‬ﻋﻠﻰ اﻟﺗواﻟﻰ ﻣن اﻟدرﺟﺔ‬ ‫اﻟﺛﺎﻟﺛﺔ ‪.‬‬ ‫اﻟﻧﺗﺎﺋﺞ ﻣن ادﺧﺎل اﻻﻣر ‪ Series‬ﻟﯾس داﻟﺔ ﺑﺣﯾث ﯾﻣﻛن ﺗﻘدﯾرﻫﺎ ﻋﻧد ﻗﯾﻣﺔ ﺧﺎﺻﺔ ‪. x‬‬

‫وﯾﻣﻛن اﻟﻐﺎء ﺣد اﻟﺑﺎﻗﻰ وﻛﺗﺎﺑﺔ اﻟﻣﻔﻛوك ﻓﻰ اﻟﺷﻛل اﻟﻌﺎدى وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Normal‬ﻛﺎﻟﺗﺎﻟﻰ ‪:‬‬ ‫]]}‪Normal[Series[f[x],{x,a,n‬‬

‫ﻣﺛﺎل‬

‫‪٣٣٥‬‬


‫اوﺟد ‪ Maclaurin Polynomial‬ﻣن اﻟدرﺟﺔ اﻟﺧﺎﻣﺳﺔ‬

‫ﻟﻠداﻟﺔ ‪tan 1 x‬‬ ‫ﺛم ﻗﺎرن رﺳم ‪tan 1 x‬‬

‫ﻣﻊ ‪. Polynomial‬‬

‫اﻟﺣل ‪:‬‬ ‫اذا ﻛﺎﻧت )‪ f(x‬داﻟﺔ وﻟﻬﺎ ‪ n‬ﻣن اﻟﻣﺷﺗﻘﺎت ﻋﻧد ‪ 0‬ﻓﺎن ‪ Maclaurin Polynomial‬ﻣن اﻟدرﺟﺔ ‪ n‬ﻟﻠداﻟﺔ )‪f(x‬‬ ‫ﻫو ‪:‬‬

‫‪f (k) (0) k‬‬ ‫‪x‬‬ ‫‪‬‬ ‫!‪k‬‬ ‫‪k 0‬‬ ‫‪‬‬

‫ﺳوف ﻧﻌرف ﻣﻔﻛوك ﻣﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ ‪x‬‬

‫‪1‬‬

‫‪ f (x)  tan‬ﺣول اﻟﺻﻔر ﻣن اﻟدرﺟﺔ اﻟﺧﺎﻣﺳﺔ ‪.‬‬

‫ﻟﺗوﺿﯾﺢ ان اﻟﻣﺧرج ﻟﯾس داﻟﺔ ﺳوف ﻧﺣﺎول ﺗﻘدﯾرﻩ ﻋﻧد ‪ . x=1‬وﺳوف ﺗظﻬر رﺳﺎﻟﺔ ﺧطﺎ‪.‬‬ ‫]}‪aa1=Series[ArcTan[x],{x,0,5‬‬

‫‪x3 x5‬‬ ‫‪‬‬ ‫‪ Ox6‬‬ ‫‪3‬‬ ‫‪5‬‬

‫‪x‬‬

‫‪aa1/.x1‬‬ ‫‪SeriesData ::ssdn  : Attempt to evaluate a series‬‬ ‫…‪at the number 1; returning Indeterminate . More‬‬ ‫‪Indeterminate‬‬

‫وﯾﻣﻛن اﻟﻐﺎء ﺣد اﻟﺑﺎﻗﻰ وﻛﺗﺎﺑﺔ اﻟﻣﻔﻛوك ﻓﻰ اﻟﺷﻛل اﻟﻌﺎدى وذﻟك ﺑﺎﺳﺗﺧدام اﻻﻣر ‪ Normal‬ﺛم ﺣﺳﺎب اﻟﻧﺎﺗﺞ ﻋﻧد ‪: x=1‬‬

‫]}‪aa1=Series[ArcTan[x],{x,0,5‬‬

‫‪x3 x5‬‬ ‫‪x‬‬ ‫‪‬‬ ‫‪ Ox6‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫]‪aa2=Normal[aa1‬‬

‫‪x3 x5‬‬ ‫‪‬‬ ‫‪3‬‬ ‫‪5‬‬

‫‪x‬‬

‫‪aa2/.x1‬‬

‫‪13‬‬ ‫‪15‬‬

‫واﺧﯾ ار ﯾﻣﻛن ﻣﻘﺎرﻧﺔ اﻟرﺳم ﻟـ ‪ aa2‬و ‪ . f (x)  tan 1 x‬اﻟرﺳم اﻟﺧﺎص ﺑـ ‪x‬‬

‫‪1‬‬

‫‪ f (x)  tan‬ﺳوف‬

‫ﯾﻛون ﺑﺧطوط ﻣﺗﻘطﻌﺔ واﻟرﺳم اﻟﺧﺎص ﺑـ ‪ aa2‬ﺳوف ﯾﻛون اﺳود ‪ .‬وﯾﺟب ان ﻧﺗذﻛر ان ‪ aa2‬ﺗظﻬر ﺗﻘرﯾب ﻟـ ‪f‬‬ ‫ﺟﯾدا ﻓﻰ اﻟﻔﺗرة اﻟﺗﻰ ﺗﺣﺗوى ﻋﻠﻰ ﺻﻔر ‪.‬‬

‫‪٣٣٦‬‬


‫‪3 3‬‬ ‫‪, ,‬‬ ‫‪2 2‬‬ ‫‪PlotStyle  Dashing0.01, GrayLevel0‬‬

‫‪Plot ArcTanx, aa2, x, ‬‬

‫‪1.5‬‬ ‫‪1‬‬ ‫‪0.5‬‬ ‫‪1.5‬‬

‫‪1‬‬

‫‪-0.5‬‬

‫‪0.5‬‬

‫‪-1‬‬

‫‪-1.5‬‬

‫‪-0.5‬‬ ‫‪-1‬‬ ‫‪-1.5‬‬

‫‪ Graphics‬‬

‫ﯾﻣﻛن اﺳﺗﺧدام اﻻﻣر ‪ Series‬وذﻟك ﻟﺣﺳﺎب ‪ .Taylor Polynomial‬اذا ﻛﺎﻧت )‪ f(x‬داﻟﺔ ﻟﻬﺎ ‪ n‬ﻣن اﻟﻣﺷﺗﻘﺎت‬ ‫ﻋﻧد ‪ x=a‬ﻓﺎن ‪ Taylor Polynomial‬ﻣن اﻟدرﺟﺔ ‪ n‬ﻟﻠداﻟﺔ )‪ f(x‬ﻋﻧد ‪ x=a‬ﻫو ‪:‬‬

‫)‪f (k) (a‬‬ ‫‪(x  a) k‬‬ ‫‪‬‬ ‫!‪k‬‬ ‫‪k 0‬‬ ‫‪‬‬

‫ﻣﺛﺎل‬ ‫اوﺟد ‪Taylor Polynomial‬‬ ‫ﻟﻠداﻟﺔ‬

‫‪(x 1)2‬‬

‫‪2‬‬

‫ﻣن اﻟدرﺟﺔ اﻟﺛﺎﻣﻧﺔ‬

‫)‪e (x 1‬‬

‫ﺣول ‪ x=1‬وﻗﺎرن اﻟرﺳم ﻟﻛﺛﯾرة اﻟﺣدود ﻣﻊ)‪. f(x‬‬

‫اﻟﺣل ‪:‬‬ ‫ﺑﻌد ازاﻟﺔ ﻛل اﻟﺗﻌرﯾﻔﺎت ﻟﻠداﻟﺔ )‪ f(x‬ﻧﻌرف اﻟرﺳم ﻟﻠداﻟﺔ )‪ f(x‬واﻟﻧﺗﯾﺟﺔ ﻧﻌطﯾﻬﺎ اﻻﺳم ‪ aa1‬واﻟرﺳم ﻟن ﯾظﻬر وذﻟك‬ ‫ﻟوﺟود اﻻﻣر ‪ . DisplayFunction->Identity‬اﻟﺧﯾﺎر }‪ AxesOrigin->{0,0‬ﯾﺄﻛد ﻋﻠﻰ ان ﯾﺷﻣل اﻟرﺳم‬ ‫ﻋﻠﻰ اﻟﻧﻘطﺔ )‪ .(0,0‬اﻟﺧﯾﺎر ]}‪ PlotStyle->Dashing[{.01‬ﯾﺄﻛد ان اﻟﻧﺗﯾﺟﺔ ﺗظﻬر ﻋﻠﻰ ﺷﻛل ﺧطوط ﻣﺗﻘطﻌﺔ‬ ‫]‪Clear[f‬‬ ‫‪fx_ : Expx  12x  12‬‬ ‫‪aa2=Plot[f[x],{x,-1.75,1.75},PlotStyle‬‬

‫‪٣٣٧‬‬


Dashing[{.01}],AxesOrigin{0,0},DisplayFunctionIdentity ]; ‫ ﺛم ازاﻟﺔ اﻟﺟزء‬، ‫ ﻣن اﻟدرﺟﺔ اﻟﺛﺎﻣﻧﺔ‬x=1‫ ﺣول اﻟﻧﻘطﺔ‬f(x) ‫ ﻟﺗﻣﺳﻠﺳﻠﺔ اﻟﻘوى ﻟﻠداﻟﺔ‬aa3 ‫اﻟﺧطوة اﻟﺗﺎﻟﯾﺔ ﺗﻌرﯾف‬ aa4 ‫ وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ‬Normal ‫اﻟﺑﺎﻗﻰ ﺑﺎﺳﺗﺧدام اﻻﻣر‬ Polynomial ‫واﻟذى ﯾﻣﺛل‬

e (x 1)

2

(x 1)2

‫ﻟﻠداﻟﺔ‬

. x=1 ‫ﺣول‬

aa3=Series[f[x],{x,1,8}] 1  4 x  12  4 x  13  7 x  14  16 x  15 

4 6 7 173 8 9 x  1  28 x  1  x  1  Ox  1 3 6 aa4=Normal[aa3] 1  4  1  x2  4 1  x3  7  1  x4 

16 1  x5 

4 173  1  x6  28 1  x7   1  x8 3 6

‫ ﻣﻌﺎ‬aa2 , aa5‫ ﻻظﻬﺎر‬Show ‫ ﺛم اﺳﺗﺧدام اﻻﻣر‬aa5 ‫وﺗﺳﻣﯾﺔ اﻟﻧﺎﺗﺞ‬

aa4 ‫ﺛم ﯾﻠﻰ ذﻟك رﺳم‬

.‫ وﺑدوﻧﻪ ﻻ ﯾظﻬر اﻟرﺳم‬$DisplayFunction->Identity ‫وﯾﺟب ظﻬور اﻻﻣر‬

aa5=Plot[aa4,{x,-1.5,1.75},DisplayFunction->Identity];

3 , 2 DisplayFunction  $DisplayFunction;

Showaa2, aa5, PlotRange  2, 1.5 1 0.5 -1.5

-1

-0.5

0.5 -0.5 -1 -1.5 -2

٣٣٨

1

1.5


٣٣٩


‫اﻟﻣراﺟـﻊ‬ REFERENCES ‫ اﻟﻤﺮاﺟﻊ اﻟﻌﺮﺑﻴﺔ‬: ً‫أوﻻ‬ ‫ اﺳ ﺗﺧدام ﺑرﻧ ﺎﻣﺞ ﻣﺎﺛﯾﻣﺎﺗﯾﻛ ﺎ ﻛﻠﻐ ﺔ ﺑرﻣﺟ ﺔ ﻓ ﻰ‬، (٢٠١٢) ، ‫ ﺛ روت ﻣﺣﻣ د ﻋﺑ د اﻟﻣ ﻧﻌم‬-١ ‫ﻣﺟ ﺎل اﻻﺳ ﺗدﻻل اﻻﺣﺻ ﺎﺋﻰ – ﻣﻧﺗ دى اﻻﺣﺻ ﺎﺋﯾﯾن اﻟﻌ رب ﻓ ﻰ اﻟﻛﺗ ب واﻟﻣراﺟ ﻊ‬ . ‫اﻟﻌرﺑﯾﺔ‬ – ‫ ﻣﺎﺛﯾﻣﺎﺗﯾﻛ ﺎ اﻟرﯾﺎﺿ ﯾﺎت ﺑﺎﺳ ﺗﺧدام اﻟﻛوﻣﺑﯾ وﺗر‬، (٢٠٠٠) ، ‫ راﻓ ت رﯾ ﺎض رزق ﷲ‬-٢ . ‫ اﻟﻘﺎھرة – ﺟﻣﮭورﯾﺔ ﻣﺻر اﻟﻌرﺑﯾﺔ‬- ‫اﻟﻣﻛﺗﺑﺔ اﻻﻛﺎدﯾﻣﯾﺔ‬

‫ اﻟﻤﺮاﺟﻊ اﻷﺟﻨﺒﻴﺔ‬: ‫ﺛﺎﻧﻴﺎ‬

1- Abell, M. L . Braselton,J. P. (1992) The Mathema ca Handbook, Academic Press, New York.

2- Abell, M. L . Braselton,J. P. (1997) Mathematica by Example, Second Addition, Academic Press, New York.

3- Abell, M. L . et.al. (1999) Sta s cs with Mathema ca, Academic Press, New York.

4- Gaylord, R. J . et.al. (1993) Introduction to Programming with Mathematica, Springer Verlag, New York.

5-Wolfram,S. (1991) Mathematica : A System for Doing Mathematicas by Computer,Second Addition , Addision Wesley.

6-Wolfram, S. (1994) Mathematica : The Student Book,Addison Wesley.

٣٤٠


٣٤١


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.