Anda di halaman 1dari 146

‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﻤﺎﺗﻼب‬ ‫‪-‬‬

‫‪٢-‬ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﻤﺤﺎآﺎة‪Simulink‬‬
‫‪٣-‬أﻧﻈﻤﺔ اﻟﺘﺤﻜﻢ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‪Control System Using the Matlab‬‬
‫‪٤-‬ﺗﻄﺒﻴﻘﺎت اﻷﺷﺎرة ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‪Signal Application Using Matlab‬‬
‫‪٥-‬ﻋﻤﻠﻴﺎت اﻹﺷﺎرة اﻟﺮﻗﻤﻴﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Digital Signal Processing Using‬‬
‫‪Matlab‬‬
‫‪٦-‬اﻟﻨﻈﺮﻳﺎت اﻟﺮﻳﺎﺿﻴﺔ اﻟﺘﻘﺮﻳﺒﻴﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Numerical Application Using‬‬
‫‪Matlab‬‬
‫‪٧-‬ﺗﻄﺒﻴﻘﺎت ﻣﻌﺎﻟﺠﺔ اﻟﺼﻮر ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Image Processing Applications‬‬
‫‪Using Matlab‬‬
‫‪٨-‬ﺗﻄﺒﻴﻘﺎت ﻣﻮﺟﺎت اﻟﺮادﻳﻮ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Radio Frequency Applications‬‬
‫‪Using Matlab‬‬
‫‪٩-‬اﻟﺘﻄﺒﻴﻘﺎت اﻟﻤﻴﻜﺎﻧﻴﻜﻴﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Mechanical Applications Using‬‬
‫‪Matlab‬‬
‫‪١٠-‬ﺗﻄﺒﻴﻘﺎت اﻟﺮادار ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‪Radar Applications Using Matlab‬‬
‫‪١١-‬ﺗﻄﺒﻴﻘﺎت اﻟﺮوﺑﻮت ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‪Robots Applications Using Matlab‬‬
‫‪١٢-‬اﻟﺘﻄﺒﻴﻘﺎت اﻹﻟﻜﺘﺮوﻧﻴﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Electronics Applications Using‬‬
‫‪Matlab‬‬
‫‪١٣-‬ﺗﻄﺒﻴﻘﺎت أﺷﺒﺎﻩ اﻟﻤﻮﺻﻼت ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Semiconductors Applications‬‬
‫‪Using Matlab‬‬
‫‪١٤-‬اﻟﺘﻄﺒﻴﻘﺎت اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﺻﻨﺎﻋﺔ اﻟﺴﻴﺎرات ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Automotive‬‬
‫‪Applications Using Matlab‬‬
‫‪١٥-‬اﻟﺘﻄﺒﻴﻘﺎت اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻋﻠﻮم اﻟﻔﻀﺎء واﻟﺪﻓﺎع اﻟﺠﻮي ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Aerospace‬‬
‫‪and Defense Applications Using Matlab‬‬
‫‪١٦-‬ﺗﻄﺒﻴﻘﺎت اﻹﺗﺼﺎﻻت ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪Communication Applications Using‬‬
‫‪Matlab‬‬
‫آﻤﺎ ﺗﺮوا إﺧﻮاﻧﻲ اﻟﻜﺮام ﻓﺈن اﻟﻤﺸﻮار ﻃﻮﻳﻞ‪ ,‬وأﺳﺄل اﷲ أن ﻳﻌﻴﻨﻨﺎ ﻋﻠﻰ إﺳﺘﻜﻤﺎل هﺬا اﻟﻤﺸﻮار‬
‫إﻟﻰ ﺁﺧﺮ‬
‫وﺳﻜﻮن هﻨﺎﻟﻚ ﺛﻼﺛﺔ ﻣﻮاﺿﻴﻊ ﻻﺑﺪ ﻣﻦ أﺧﺬﻩ ﻗﺒﻞ اﻟﺸﺮوع ﻓﻲ اﻟﺘﻄﺒﻴﻖ وهﻤﺎ‬
‫‪١-‬ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫‪٢-‬ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﻤﺤﺎآﺎة‬
‫‪٣-‬أﻧﻈﻤﺔ اﻟﺘﺤﻜﻢ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‬

‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﻤﺎﺗﻼب ﺳﻨﺘﻨﺎول ﺑﺈذن اﷲ ﻓﻲ اﻟﺘﺎﻟﻲ‪:‬‬


‫ﺗﻌﺮﻳﻒ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب وﻣﺆﺳﺴﻪ ‪1-‬‬
‫واﺟﻬﺔ اﻟﺒﺮﻧﺎﻣﺞ ‪2-‬‬
‫ﺑﻌﺾ اﻷواﻣﺮ اﻷﺳﺎﺳﻴﺔ ‪3-‬‬
‫ﺗﻌﺮﻳﻒ اﻟﻌﻤﻠﻴﺎت اﻷﺳﺎﺳﻴﺔ ‪4-‬‬
‫ﺗﻌﺮﻳﻒ ﺑﻌﺾ اﻟﻤﺘﻐﻴﺮات ‪5-‬‬
‫اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ ‪6-‬‬
‫اﻟﻤﺼﻔﻮﻓﺎت ‪7-‬‬
‫‪D Plotting‬اﻟﺮﺳﻢ ﻓﻲ ﻧﻈﺎم اﻹﺣﺪاﺛﻲ اﻟﺜﻨﺎﺋﻲ ‪8- ٢‬‬
‫‪D Plotting‬اﻟﺮﺳﻢ ﻓﻲ ﻧﻈﺎم اﻹﺣﺪاﺛﻲ اﻟﺜﻼﺛﻲ اﻷﺑﻌﺎد ‪9- ٣‬‬
‫اﻟﺒﺮﻣﺠﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ‪10-‬‬

‫ﺑﺈذن اﷲ اﻟﺘﺎﻟﻲ ) ‪ 7/04/2006‬إﻟﻰ ‪ (1/04/2006‬وﺳﻨﺘﻨﺎول ﻓﻲ هﺬا اﻷﺳﺒﻮع‬


‫اﻟﺘﻌﺮﻳﻒ ﺑﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب وﻣﺆﺳﺴﻪ ‪1-‬‬
‫واﺟﻬﺔ اﻟﺒﺮﻧﺎﻣﺞ ‪2-‬‬
‫ﺗﻌﺮﻳﻒ اﻟﻌﻤﻠﻴﺎت اﻷﺳﺎﺳﻴﺔ ‪3-‬‬
‫ﺑﻌﺾ اﻷواﻣﺮ اﻷﺳﺎﺳﻴﺔ ‪4-‬‬
‫ﺗﻌﺮﻳﻒ ﺑﻌﺾ اﻟﻤﺘﻐﻴﺮات ‪5-‬‬
‫اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ ‪6-‬‬

‫أوﻻ‪ :‬ﺗﻌﺮﻳﻒ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬


‫وﺗﻤﺜﻴﻞ اﻟﺒﻴﺎﻧﺎت ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب هﻮ ﺑﺮﻧﺎﻣﺞ هﻨﺪﺳﻲ )وﻟﻪ ﻣﺠﺎﻻت أﺧﺮى( ﻳﻘﻮم ﺑﻌﻤﻠﻴﺎت ﺗﺤﻠﻴﻞ‬
‫ﻼ ﻳﺴﺘﻄﻴﻊ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻤﻞ ﻣﻦ ﺧﻼل ﻣﻌﺎﻟﺠﺔ ﺗﻠﻚ اﻟﺒﻴﺎﻧﺎت ﺗﺒﻌًﺎ ﻟﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‬ ‫اﻟﺨﺎﺻﺔ ﺑﻪ‪ ,‬ﻓﻤﺜ ً‬
‫و آﺬﻟﻚ ﻳﻘﻮم ﺑﺤﻞ اﻟﻤﻌﺎدﻻت اﻟﺠﺒﺮﻳﺔ ‪ Integration‬واﻟﺘﻜﺎﻣﻞ ‪ differentiation‬اﻟﺘﻔﺎﺿﻞ‬
‫ذات اﻟﺮﺗﺐ ‪ Differential Equations‬اﻟﻤﻌﺎدﻻت اﻟﺘﻔﺎﺿﻠﻴﺔ وآﺬﻟﻚ ‪Algebric Equations‬‬
‫ﺗﺼﻞ ﻣﻦ اﻟﺼﻌﻮﺑﺔ ﻣﺎ ﺗﺼﻞ‪ ,‬ﻟﻴﺲ ﻓﻘﻂ ذﻟﻚ ﺑﻞ ﻳﺴﺘﻄﻴﻊ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻤﻞ اﻟﺘﻔﺎﺿﻞ اﻟﻌﻠﻴﺎ واﻟﺘﻲ ﻗﺪ‬
‫واﻟﺘﻲ ﺗﺴﺘﻠﺰم وﻗﺘًﺎ ﺑﺴﻬﻮﻟﺔ وﻳﺴﺮ ‪ Partial fraction‬اﻟﺠﺰﺋﻲ‪ ,‬وﻳﻘﻮم ﺑﻌﻤﻞ ﻋﻠﻴﺎت اﻟﻜﺴﺮ اﻟﺠﺰﺋﻲ‬
‫اﻷآﺎدﻳﻤﻴﺔ‪ ,‬أﻣﺎ ﻣﻦ اﻟﻨﺎﺣﻴﺔ اﻟﺘﻄﺒﻴﻘﻴﺔ ﻓﻴﺴﺘﻄﻴﻊ آﺒﻴﺮًا ﻟﻌﻤﻠﻬﺎ ﺑﺎﻟﻄﺮق اﻟﺘﻘﻠﻴﺪﻳﺔ‪ ,‬هﺬا ﻣﻦ اﻟﻨﺎﺣﻴﺔ‬
‫وﻓﻲ ﻣﺠﺎل ‪ Control System,‬اﻟﻤﺠﺎﻻت اﻟﻬﻨﺪﺳﻴﺔ ﻣﺜﻞ أﻧﻈﻤﺔ اﻟﺘﺤﻜﻢ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻌﻤﻞ ﻓﻲ ﺟﻤﻴﻊ‬
‫وﺻﻨﺎﻋﺔ اﻟﺴﻴﺎرات ‪ Electronics‬وآﺬﻟﻚ ﻣﺤﺎآﺔ اﻹﻟﻜﺘﺮوﻧﻴﺎت ‪ Mechanical Field,‬اﻟﻤﻴﻜﺎﻧﻴﻜﺎ‬
‫‪ Aerospace and‬وآﺬﻟﻚ ﻣﺠﺎل اﻟﻄﻴﺮان واﻟﺪﻓﺎع اﻟﺠﻮي ‪Automotive Industry,‬‬
‫‪.‬واﻟﻜﺜﻴﺮ ﻣﻦ اﻟﺘﻄﺒﻴﻘﺎت اﻟﻬﻨﺪﺳﻴﺔ ‪Defense,‬‬
‫وﻗﺖ اﻟﺘﻄﻮﻳﺮ ﺑﺘﺨﻔﻴﺾ ‪ Nissan‬وﺣﺘﻰ أؤآﺪ ﻟﻠﺠﻤﻴﻊ ذﻟﻚ‪ ,‬ﻗﺎﻣﺖ ﺷﺮآﺔ اﻟﺴﻴﺎرات اﻟﻤﺮﻣﻮﻗﺔ ﻧﻴﺴﺎن‬
‫إﻟﻰ ‪ Paper Model Based Design‬إﻟﻰ ‪ %٥٠‬ﻋﻨﺪﻣﺎ ﻗﺎﻣﺖ ﺑﺈﺳﺘﺒﺪال اﻟﺘﺼﻤﻴﻢ ﻋﻠﻰ اﻷوراق‬
‫ﻳﻘﻮل اﻟﻤﺪﻳﺮ اﻟﻤﺴﺎﻋﺪ ‪ Model Based Design,‬اﻷداة اﻟﻤﺘﻄﻮرة ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب وهﻮ‬
‫)ﻧﻈﺎم اﻟﻤﺤﺮك ﻟﺸﺮآﺔ ﻧﻴﺴﺎن )ﺷﺮآﺔ ﻣﺤﺪودة ﺷﻴﺠﺎﻳﺎآﻲ آﺎآﻴﺰاآﻲ ﻓﻲ ﻣﺠﻤﻮﻋﺔ هﻨﺪﺳﺔ إدارة‬
‫‪Without MathWorks tools for Model-Based Design, Nissan would not‬‬
‫‪have become the first company to meet the CARB PZEV standard‬‬
‫‪CARB= California Air Resources Board‬‬
‫‪PZEV= Partial Zero Emission Vehicle‬‬
‫ﻳﻤﻜﻨﻜﻢ ﻣﺘﺎﺑﻌﺔ هﺬا اﻟﺘﻘﺮﻳﺮ ﻣﻦ ﺧﻼل اﻟﺮاﺑﻂ‬
‫‪http://www.mathworks.com/company/use...ml?by=industry‬‬

‫ﻓﻤﻊ اﻟﺘﻘﺪم اﻟﺴﺮﻳﻊ ﻓﻲ اﻟﺘﻜﻨﻮﻟﻮﺟﻴﺎ أﺻﺒﺤﺖ اﻟﺤﺎﺟﺔ ﻣﻠﺤﺔ ﻋﻠﻰ ﺗﻌﻠﻢ ﻣﺜﻞ هﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺣﺘﻰ ﻧﺼﺒﺢ‬
‫ﻓﻲ ﺳﺒﺎق اﻟﺘﻨﺎﻓﺲ اﻟﺼﻨﺎﻋﻲ‪.‬‬

‫ﺛﺎﻧﻴﺎً‪ :‬واﺟﻬﺔ اﻟﺒﺮﻧﺎﻣﺞ‬


‫ﺣﻴﺚ ﻳﺘﻢ ﺗﻘﺴﻴﻢ ﻣﻨﺎﻃﻖ اﻟﻌﻤﻞ إﻟﻰ ﺛﻼث واﺟﻬﺔ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻟﺴﻬﻮﻟﺔ ﻓﻲ اﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ‪ ,‬ﺑﻬﺎ ﺗﺘﺴﻢ‬
‫اﻟﻌﻤﻞ و ﻣﻨﻄﻘﺔ ‪ Command Window‬ﻣﻨﺎﻃﻖ رﺋﻴﺴﻴﺔ‪ ,‬وهﻲ آﺎﻟﺘﺎﻟﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ‬
‫‪ Command History.‬ﺗﺎرﻳﺦ اﻷواﻣﺮ و ‪Workspace‬‬
‫إﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ‪,‬‬

‫وﻳﻌﻤﻞ ‪ Commands,‬واﻷواﻣﺮ ‪ Inputs‬ﺣﻴﺚ ﻳﺘﻢ إدﺧﺎل اﻟﻤﺪﺧﻼت ‪ Command Window:‬ﻧﺎﻓﺬة اﻷواﻣﺮ‬


‫ﻋﻠﻰ اﻟﻨﺘﺎﺋﺞ ﻓﻲ ﺗﺤﻠﻴﻞ ﺗﻠﻚ اﻟﺒﻴﺎﻧﺎت وﻣﺪى ﻣﻄﺎﺑﻘﺔ اﻟﻤﺪﺧﻼت ﻟﻠﻮﻇﻴﻔﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻣﻨﻪ‪ ,‬ﺣﺘﻰ ﺗﺤﺼﻞ اﻟﻤﺎﺗﻼب ﻋﻠﻰ‬
‫‪.‬ﻧﻔﺲ اﻟﺸﺎﺷﺔ‬
‫ﻓﻲ هﺬﻩ ‪ Outputs‬واﻟﻤﺨﺮﺟﺎت ‪ Inputs‬ﺣﻴﺚ ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺘﺴﺠﻴﻞ اﻟﻤﺪﺧﻼت ‪ Workspace:‬ﻣﻨﻄﻘﺔ اﻟﻌﻤﻞ‬
‫‪.‬اﻟﺸﺎﺷﺔ‬
‫إﺿﻐﻂ ﺑﺰر اﻟﻔﺄرة وﺣﺘﻰ ﺗﻈﻬﺮ ‪ Workspace ,‬ﻋﻨﺪ ﺑﺪء اﻟﻌﻤﻞ ﻋﻠﻰ اﻟﻤﺎﺗﻼب ﻷول ﻣﺮة‪ ,‬ﻻﺗﻈﻬﺮ ﻧﺎﻓﺬة ‪:‬ﻣﻼﺣﻈﺔ‬
‫آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ‪ Workspace‬ﻋﻠﻰ آﻠﻤﺔ‬
‫ﻳﺘﻢ ﺗﺴﺠﻴﻞ آﻞ ﻣﺎ ﻳﻘﻮم ﺑﻪ اﻟﻤﺴﺘﺨﺪم ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ﻓﻲ هﺬﻩ ‪ Command History:‬ﻧﺎﻓﺬة ﺗﺴﺠﻴﻞ اﻷواﻣﺮ‬
‫اﻟﻨﺎﻓﺬة‪ .‬إﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻓﻲ اﻟﻤﺮاﺣﻞ اﻟﻤﺘﻘﺪﻣﺔ ﺗﺴﺘﺨﺪم هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻟﻠﻮﺻﻮل إﻟﻰ اﻟﺘﻄﺒﻴﻖ اﻟﻤﺮاد ﺗﻨﻔﻴﺬﻩ‪ ,‬ﺗﺴﺘﺨﺪم هﺬﻩ اﻟﻘﺎﺋﻤﺔ ‪ Start:‬ﻗﺎﺋﻤﺔ إﺑﺪأ‬
‫ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‪ ,‬إﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﺑﻌﺾ اﻷﺳﺎﺳﻴﺎت اﻟﻬﺎﻣﺔ ﻟﻤﺴﺘﺨﺪﻣﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬


‫‪.‬ﺳﻨﺘﻌﺮف ﺑﺈذن اﷲ ﻋﻠﻰ اﻟﻘﻮاﺋﻢ‪ ,‬وﻣﺎ ﻳﻘﻮم ﺑﻪ آﻞ إﺧﺘﻴﺎر‬
‫‪ File‬ﻗﺎﺋﻤﺔ ﻣﻠﻒ‬
‫ﺗﺘﻜﻮن هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻣﻦ اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﺨﻴﺎرات‪ ,‬واﻟﺘﻲ ﺗﻨﻔﺬ آﻞ ﻣﻨﻬﺎ وﻇﻴﻔﺔ ﻣﺤﺪدة ﺑﺎﻗﻲ اﻟﺒﺮاﻣﺞ‬
‫‪ Edit‬ﻗﺎﺋﻤﺔ اﻟﺘﻌﺪﻳﻞ‬
‫وﻟﻜﻦ هﻨﺎﻟﻚ ‪ Find),‬ﺑﺤﺚ ‪ Paste,‬ﻟﺼﻖ ‪ Cut,‬ﻗﺺ ‪ Copy,‬ﻓﻜﻤﺎ ﺗﻌﻮدﻧﺎ ﻓﻲ ﺗﻠﻚ اﻟﻘﺎﺋﻤﺔ أن ﻧﺠﺪ أواﻣﺮ ) ﻧﺴﺦ‬
‫ﺛﻼث أدوات هﺎﻣﺔ ﺑﻬﺎ وهﻢ‬

‫‪Clear Command Window‬‬

‫‪Clear Command History‬‬

‫‪Clear Workspace‬‬

‫ﺣﻴﺚ ﺗﻌﻤﻞ ﺗﻠﻚ اﻷدوات ﻋﻠﻰ ﻣﺴﺢ ﺟﻤﻴﻊ اﻟﻤﺪﺧﻼت واﻟﻨﺘﺎﺋﺞ ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ‬

‫أﻧﻈﺮ اﻟﺼﻮرة‬

‫‪ Debug‬ﻗﺎﺋﻤﺔ‬
‫‪.‬هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﺧﺎﺻﺔ ﺑﻤﻌﺎﻟﺠﺔ اﻟﺒﻴﺎﻧﺎت‪ ,‬واﻟﻄﺮﻳﻘﺔ اﻟﻤﺘﺒﻌﺔ ﻣﻦ ﻗﺒﻞ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ﻓﻲ ﻣﻮاﺟﻬﺔ اﻷﺧﻄﺎء‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫ﻼ ﻗﻢ ﺑﺈﺧﺘﻴﺎر‬
‫…‪ Stop If Errors/Warnings‬ﻓﻤﺜ ً‬
‫ﺳﺘﻼﺣﻆ ﻇﻬﻮر ﻧﺎﻓﺬة‪ ,‬ﺗﻌﻄﻴﻚ ﺣﺮﻳﺔ اﻹﺧﺘﻴﺎر ﻓﻲ ﺗﺼﺮف ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ﻋﻨﺪ ﺣﺪوث أﺧﻄﺎء أو ﺗﺤﺬﻳﺮات‪ ,‬أﻧﻈﺮ‬
‫اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫‪.‬ﻣﻼﺣﻈﺔ‪ :‬ﻳﺮﺟﻰ ﺗﺮك هﺬﻩ اﻟﻨﺎﻓﺬة دون ﺗﻐﻴﻴﺮ‪ ,‬ﻓﻠﺴﻨﺎ ﺑﺤﺎﺟﺔ ﻟﻬﺎ اﻵن‬

‫‪ Desktop:‬ﻗﺎﺋﻤﺔ‬
‫ﻼ ﻳﻤﻜﻨﻨﺎ إﻇﻬﺎر ﻧﺎﻓﺬة ﻓﻲ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻳﺘﻢ اﻟﺘﺤﻜﻢ‬
‫اﻷواﻣﺮ أو إﺧﻔﺎﺋﻬﺎ ﺑﻤﺤﺘﻮى اﻟﻮاﺟﻬﺔ اﻟﺨﺎﺻﺔ ﺑﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‪ ,‬ﻓﻤﺜ ً‬
‫)ﻃﺒﻌًﺎ ﻟﻮ أﺧﻔﻴﻨﺎهﺎ ﻣﺶ ﺣﻨﻌﺮف ﻧﺸﺘﻐﻞ(‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة‬

‫‪:‬ﻣﻌﻠﻮﻣﺔ هﺎﻣﺔ‬
‫ﺗﻜﻮن اﻟﻨﻮاﻓﺬ ﻓﻲ أﺣﺪ اﻟﻮﺿﻌﻴﻦ‬
‫‪.‬ﺣﻴﺚ ﺗﻜﻮن اﻟﻨﺎﻓﺬة ﻏﻴﺮ ﻗﺎﺑﻠﺔ ﻟﻠﺘﺤﺮﻳﻚ ﻣﻦ ﻣﻜﺎﻧﻬﺎ ‪1- Docked:‬‬
‫ﺣﻴﺚ ﺗﻜﻮن اﻟﻨﺎﻓﺬة ﻗﺎﺑﻠﺔ ﻟﻠﺘﺤﺮﻳﻚ وﺗﻌﺪﻳﻞ ﻣﻘﺎﺳﻬﺎ أﻳﻀًﺎ ‪2- Undocked:‬‬
‫أﻧﻈﺮ اﻟﺼﻮر‬

‫ﻳﺘﺒﻘﻰ ﻟﺪﻳﻨﺎ ﻗﺎﺋﻤﺘﺎن هﻤﺎ‬


‫‪ Window:‬ﻗﺎﺋﻤﺔ‬
‫‪ Command Window‬ﺣﻴﺚ ﻳﻤﻜﻨﻚ اﻟﺘﻨﻘﻞ ﺑﻴﻦ ﻣﻠﻔﺎت اﻟﻤﺎﺗﻼب اﻟﻤﺨﺘﻠﻔﺔ‪ ,‬وآﺬﻟﻚ اﻟﻨﻮاﻓﺬ ﻣﺜﻞ ﻧﺎﻓﺬة اﻷواﻣﺮ‬
‫‪.‬وﻏﻴﺮهﺎ اﻟﻜﺜﻴﺮ‬

‫‪ Help:‬ﻗﺎﺋﻤﺔ‬
‫وﺁﺧﺮ ‪,‬ﺑﺘﻮﻓﻴﺮ اﻟﻤﺴﺎﻋﺪات اﻟﻀﺮورﻳﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ‪ ,‬ووﺳﺎﺋﻞ اﻹﺗﺼﺎل ﺑﺎﻟﺸﺮآﺔ اﻟﻤﺼﻨﻌﺔ ‪,‬ﺣﻴﺚ ﺗﻘﻮم ﺗﻠﻚ اﻟﻘﺎﺋﻤﺔ‬
‫اﻟﺘﺤﺪﻳﺜﺎت‪ ,‬وآﺬﻟﻚ ﺗﻌﻠﻢ اﻟﻤﺎﺗﻼب ﺑﺎﻟﻠﻐﺔ اﻹﻧﺠﻠﻴﺰﻳﺔ‬

‫‪:‬ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ‬
‫"‪ "+‬ﺗﺄﺧﺬ ﻋﻼﻣﺔ اﻟﺠﻤﻊ ﻓﻲ اﻟﻤﺎﺗﻼب اﻟﺮﻣﺰ اﻟﻤﻌﺮوف ﻟﻠﺠﻤﻊ وهﻮ‬
‫ﻼ إذا ﻗﻤﻨﺎ ﺑﺠﻤﻊ ‪ ٢+٣‬ﺳﻴﻘﻮم اﻟﻤﺎﺗﻼب ﺑﻮﺿﻊ اﻹﺟﺎﺑﺔ ﻓﻲ ﺻﻮرة أرﻗﺎم وهﻮ ‪ ,٥‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫ﻓﻤﺜ ً‬

‫ﺣﻠﺖ ﻣﺤﻞ ﻧﺎﻓﺬة اﻷواﻣﺮ وﻗﻢ ﺑﺎﻟﻨﻘﺮ ﺑﺎﻟﻤﺎوس ﺑﻘﺮة ﻣﺰدوﺟﺔ‪ ,‬ﺳﺘﻼﺣﻆ ﻇﻬﻮر ﻧﺎﻓﺬة ‪ Workspace‬إﻟﻰ ﻧﺎﻓﺬة إذهﺐ‬
‫وأﺻﺒﺤﺖ ﻧﺎﻓﺬة اﻷواﻣﺮ ﻓﻲ اﻷﺳﻔﻞ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة‬
‫ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻗﻤﻨﺎ ﺑﺘﻐﻴﻴﺮ اﻟﻨﺎﺗﺞ ‪ ٥‬إﻟﻰ ‪ ,٣‬ﻗﻢ ﺑﺈﻏﻼق ﻧﺎﻓﺬة ﺗﻌﺪﻳﻞ اﻟﻨﺘﺎﺋﺞ‪ ,‬آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ‪ ,‬ﺳﺘﻼﺣﻆ ﻇﻬﻮر اﻟﻨﺎﺗﺞ ﺑﺎﻟﻘﻴﻤﺔ ‪ ans‬ﺳﺘﻼﺣﻆ ﻋﻮدة ﻧﺎﻓﺬة اﻷواﻣﺮ ﻟﻮﺿﻌﻬﺎ اﻷﺳﺎﺳﻲ‪ ,‬ﻗﻢ ﺑﻜﺘﺎﺑﺔ‬
‫اﻟﺠﺪﻳﺪة وهﻲ ‪ ,٣‬أﻧﻈﺮ اﻟﺼﻮرة‬
‫‪:‬ﻋﻤﻠﻴﺔ اﻟﻄﺮح‬
‫ﻼ ‪ ,١=٢-٣‬أﻧﻈﺮ اﻟﺼﻮرة‬
‫ﺗﺄﺧﺬ ﻋﻤﻠﻴﺔ اﻟﻄﺮح رﻣﺰ ) ‪ ( -‬ﻓﻲ اﻟﻤﺎﺗﻼب‪ ,‬ﻓﻤﺜ ً‬

‫ﻋﻤﻠﻴﺔ اﻟﻀﺮب‬
‫ﻼ ‪ ,١٨٠ =١٢*١٥‬أﻧﻈﺮ اﻟﺼﻮرة‬
‫ﺗﺄﺧﺬ ﻋﻤﻠﻴﺔ اﻟﻀﺮب رﻣﺰ ) * (‪ ,‬ﻓﻤﺜ ً‬
‫‪:‬ﻋﻤﻠﻴﺔ اﻟﻘﺴﻤﺔ‬
‫ﻼ ‪ ١٢‬ﻋﻠﻰ ‪ ٣‬ﺗﺴﺎوى ‪ ,٤‬أﻧﻈﺮ اﻟﺼﻮرة ﻟﻠﺘﺘﺄآﺪ‬
‫ﺗﺄﺧﺬ ﻋﻤﻠﻴﺔ اﻟﻘﺴﻤﺔ رﻣﺰ ) ‪ ,( /‬ﻓﻤﺜ ً‬
‫‪:‬ﻋﻤﻠﻴﺔ وﺿﻊ اﻷس‬
‫ﻓﻲ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ‪ Shift + 6 ,‬ﻳﺄﺧﺬ رﻣﺰ اﻷس ) ^ (‪ ,‬ﻳﻤﻜﻦ اﻟﺤﺼﻮل ﻋﻠﻰ هﺬا اﻟﺮﻣﺰ ﻣﻦ ﺧﻼل اﻟﻀﻐﻂ ﻋﻠﻰ‬
‫ﻼ ‪ ,١٤٤=٢^١٢‬أﻧﻈﺮ اﻟﺼﻮرة‬‫ﻓﻤﺜ ً‬

‫‪:‬أﺧﺬ اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻲ‬


‫ﻼ اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻲ ﻟﻠﺮﻗﻢ ‪ ١٤٤‬ﻳﺴﺎوي ‪ ١٢‬أﻧﻈﺮ ‪ sqrt,‬ﻳﺘﻢ أﺧﺬ اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻲ ﻷي رﻗﻢ ﻋﻦ ﻃﺮﻳﻖ آﺘﺎﺑﺔ اﻷﻣﺮ‬
‫ﻓﻤﺜ ً‬
‫اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫وﺿﻊ ﻋﻨﺎوﻳﻦ أﺛﻨﺎء اﻟﺒﺮﻣﺠﺔ‬
‫وﻏﻴﺮهﺎ اﻟﻜﺜﻴﺮ ﻣﻦ ﺑﺮاﻣﺞ اﻟﺒﺮﻣﺠﺔ‪ ,‬ﻓﻴﺘﻢ وﺿﻊ ﻋﻨﺎوﻳﻦ ﻟﻤﺎ ﻧﻘﻮم ﺑﻪ ﺣﻴﺚ ‪ C++‬و ‪ Qbasic‬آﻤﺎ ﺗﻌﻮدﻧﺎ ﻓﻲ ﺑﺮاﻣﺞ‬
‫‪.‬ﺗﻜﻮن ﻣﺜﻞ اﻟﻤﺮﺟﻊ ﻟﻨﺎ ﻓﻲ ﻣﻌﺮﻓﺔ ﻣﺎ ﻧﻘﻮم ﺑﻪ ﻓﻲ ﺟﺰء ﻣﺎ ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻓﻔﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ﻟﻮﺿﻊ ﻋﻨﻮان ﻣﺎ‪ ,‬ﻻﺑﺪ ﻣﻦ أن ﻧﺒﺪأ ﺑﻮﺿﻊ ﻋﻼﻣﺔ ﻣﺌﻮﻳﺔ ) ‪ ,( %‬ﺛﻢ ﻧﻜﺘﺐ ﻣﺎﻧﺮﻳﺪﻩ ﺑﻌﺪهﺎ‪,‬‬
‫ﻻﺣﻆ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻓﻘﻂ‪ ,‬وذﻟﻚ ﻷن آﻞ اﻟﻨﺘﺎﺋﺞ ﺣﻴﺚ أﻧﻬﺎ ﺳﺠﻠﺖ ﺁﺧﺮ ﻗﻴﻤﺔ ‪ Workspace,‬آﻤﺎ ﺗﻼﺣﻈﻮن ﻓﻬﻨﺎﻟﻚ ﻣﺸﻜﻠﺔ ﻓﻲ ﻧﺎﻓﺬة وﻟﻜﻦ‬
‫رﻣﺰًا‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة ﺣﻴﺚ اﻧﻨﺎ ﻟﻢ ﻧﺠﻊ ﻟﻬﺎ ‪ ans‬اﻷرﺑﻌﺔ ﺗﺄﺧﺬ رﻣﺰ‬
‫ﻳﺘﻢ ﺗﻌﺮﻳﻒ اﻟﻨﺘﺎﺋﺞ ﺑﺤﺮوف‪ ,‬ﺑﺤﻴﺚ ﻳﺄﺧﺬ اﻟﺤﺮف اﻟﻘﻴﻤﺔ اﻟﺘﻲ ﻳﺪﺧﻠﻬﺎ اﻟﻤﺴﺘﺨﺪم ﻟﻪ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة‬
‫‪.‬آﻤﺎ ﺗﺮون ﻓﺎﻟﻤﺸﻜﻠﺔ ﻗﺪ إﻧﺘﻬﺖ ﺗﻤﺎﻣﺎً‪ ,‬ﺣﻴﺚ ﺗﺄﺧﺬ آﻞ ﻗﻴﻤﺔ ﺣﺮف ﻣﻌﻴﻦ‬
‫ﻳﻘﻮم ﺑﺈﻇﻬﺎر آﻠﻤﺎ أدﺧﻠﻨﺎ ﻗﻴﻤﺔ‪ ,‬أو ﺣﺼﻠﻨﺎ ﻋﻠﻰ ﻧﺘﻴﺠﺔ ﺗﻜﻮن هﻨﺎﻟﻚ ﻣﺸﻜﻠﺔ‪ ,‬هﻮ أن اﻟﻤﺎﺗﻼب اﻟﻤﺸﻜﻠﺔ اﻟﺘﺎﻟﻴﺔ‪ ,‬هﻮ أﻧﻨﺎ‬
‫آﺒﺮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﻜﺘﻮب ﻓﻲ ﺣﻴﻦ أﻧﻪ ﻳﺆدي ﺷﺊ اﻟﻘﻴﻤﺔ اﻟﻤﺪﺧﻠﺔ وآﺬﻟﻚ اﻟﻨﺘﻴﺠﺔ ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ‪ ,‬ﻣﻤﺎ ﻳﺆدي إﻟﻰ‬
‫ﺑﺴﻴﻂ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫ﻼ ﺗﺘﻢ ﻳﺘﻢ أﺧﻔﺎء اﻟﻘﻴﻤﺔ اﻟﻤﺪﺧﻠﺔ‬
‫ﺑﺸﻜﻞ ﻃﺒﻴﻌﻲ وآﺬﻟﻚ اﻟﻨﺘﻴﺠﺔ ﻣﻦ اﻟﻈﻬﻮر ) وﻟﻜﻦ ﻋﻤﻠﻴﺔ إدﺧﺎل اﻟﻨﺘﻴﺠﺔ واﻟﺠﻤﻊ ﻣﺜ ً‬
‫ﺑﻌﺪ آﻞ ﻗﻴﻤﺔ ﻣﺪﺧﻠﺔ أو ﺑﻌﺪ ﻃﻠﺐ ﻧﺘﻴﺠﺔ ﻣﺎ ) ; ( وﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺘﻨﻔﻴﺬ ﻣﺎ ﻳﺄﻣﺮﻩ اﻟﻤﺴﺘﺨﺪم( ﻋﻦ ﻃﺮﻳﻖ وﺿﻊ ﻋﻼﻣﺔ‬
‫ﻼ ( وﻳﺘﻢ إﻇﻬﺎر‬‫اﻟﻤﺪﺧﻼت أو اﻟﻨﺘﻴﺠﺔ أو اﻟﻘﻴﻢ اﻟﻤﺪﺧﻠﺔ إذا ﻃﻠﺐ اﻟﻤﺴﺘﺨﺪم ذﻟﻚ ‪ ,‬ﻋﻦ ﻃﺮﻳﻖ وﺿﻊ ﺣﺮف )اﻟﺠﻤﻊ ﻣﺜ ً‬
‫اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ اﻟﻨﺘﻴﺠﺔ اﻟﻤﻄﻠﻮﺑﺔ دون إﺳﺘﺨﺪام اﻟﺮﻣﺰ اﻟﺮﻣﺰ اﻟﻤﺬآﻮر ) ; ( اﻧﻈﺮ‬
‫‪:‬ﺑﻌﺾ اﻟﻤﺘﻐﻴﺮات اﻟﻤﻌﺮﻓﺔ ﻣﺴﺒﻘًﺎ ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب واﻟﻤﻌﺮوﻓﺔ‬

‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬


‫اﻟﻜﺘﺎﺑﺔ ﻓﻮق ﻗﻴﻤﺔ اﻟﻌﺪد اﻟﻤﺮآﺐ‬
‫ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ ﻳﻈﻬﺮ اﻟﺘﺎﻟﻲ ) ‪ ( i‬ﺗﻌﻠﻤﻨﺎ أﻧﻪ إذا آﺘﺒﻨﺎ‬

‫آﻤﺎ ﻳﻤﻜﻨﻨﺎ اﻟﻜﺘﺎﺑﺔ ﻓﻮق هﺬﻩ اﻟﻘﻴﻤﺔ‪ ,‬أي ﺗﻐﻴﻴﺮ ﻗﻴﻤﺘﻪ‪ ,‬ﺣﻴﺚ ﺳﻨﻘﻮم ﺑﻮﺿﻊ ﻗﻴﻤﺔ ﻟﻬﺬا اﻟﺮﻣﺰ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫إﻟﻐﺎء اﻟﻘﻴﻢ اﻟﻤﺪﺧﻠﺔ واﻟﻨﺘﺎﺋﺞ‬
‫ﺑﻜﺘﺎﺑﺘﻪ‪ ,‬اﻟﻤﺪﺧﻠﺔ واﻟﻨﺘﺎﺋﺞ ) واﻟﺘﻲ ﺗﺴﺠﻞ ﻓﻲ ﻧﺎﻓﺬة ﺗﺴﺠﻴﻞ اﻟﻨﺘﺎﺋﺞ(‪ ,‬دون ﻣﺴﺢ ﻣﺎ ﻗﻤﺖ ﻳﻤﻜﻦ ﻟﻠﻤﺎﺗﻼب ﻣﺴﺢ اﻟﻘﻴﻢ‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ‪ Clear,‬وذﻟﻚ ﺑﺈﺳﺘﺨﺪام أﻣﺮ‬

‫‪ Clear‬وﻟﻜﻦ ﺑﻌﺪ ﺗﻨﻔﻴﺬ أﻣﺮ‬


‫وﻟﻠﺘﺄآﺪ ﻗﻢ ﺑﻮﺿﻊ أي ﺣﺮف ﻣﻦ اﻟﺤﺮوف اﻟﺘﻲ ﻗﻤﺖ ﺑﺘﻌﺮﻳﻔﻬﺎ ﻣﺴﺒﻘًﺎ ﻟﻠﻤﺎﺗﻼب‪ ,‬ﺳﺘﻼﺣﻆ ان اﻟﻤﺎﺗﻼب ﻻ ﻳﺘﻌﺮف‬
‫ﻋﻠﻴﻬﺎ اﻵن‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة‬

‫‪:‬ﻋﻤﻠﻴﺔ اﻟﻤﺴﺢ اﻟﺠﺰي ﻟﻠﻤﺘﻐﻴﺮات‬


‫آﺘﺎﺑﺔ ﻣﺴﺢ آﻠﻲ ﻟﻜﻞ اﻟﺒﺮﻧﺎﻣﺞ‪ ,‬ﺑﻞ ﻣﻦ اﻟﻤﻤﻜﻦ ﻋﻤﻞ ﻣﺴﺢ ﻟﻤﺘﻐﻴﺮ واﺣﺪ ﻓﻘﻂ‪ ,‬ﻋﻦ ﻃﺮﻳﻖ ﻟﻴﺲ ﺷﺮﻃًﺎ أن ﻧﻘﻮم ﺑﻌﻤﻠﻴﺔ‬
‫ﻼ ﻣﻦ ‪ Clear‬أﻣﺮ‬ ‫آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ )‪ (a) & (b‬ﺛﻢ إﺳﻢ اﻟﻤﺘﻐﻴﺮ‪ ,‬ﻓﻔﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻟﺪﻳﻨﺎ ﻗﻴﻢ ﻟﻜ ً‬
‫ﻓﻘﻂ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة ﺗﺎﻟﻴﺔ )‪ (a‬ﺛﻢ ﺳﻨﻘﻮم ﺑﻤﺴﺢ ﻗﻴﻤﺔ‬
‫‪ Trigonometric functions‬اﻟﺪوال اﻟﻤﺜﻠﺜﻴﺔ‬
‫‪ Inverse Trigonometric functions‬اﻟﺪوال اﻟﻤﺜﻠﺜﻴﺔ اﻟﻌﻜﺴﻴﺔ‬
‫‪ Hyperbolic Functions‬اﻟﺪوال اﻟﺰاﺋﺪﻳﺔ‬
‫‪ Inverse Hyperbolic functions‬اﻟﺪوال اﻟﺰاﺋﺪﻳﺔ اﻟﻌﻜﺴﻴﺔ‬
‫‪ Trigonometric Functions‬أوﻻً‪ :‬اﻟﺪوال اﻟﻤﺜﻠﺜﻴﺔ‬

‫‪ Radian‬ﻣﻼﺣﻈﺔ‪ :‬ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﻘﻴﺎس اﻟﺰواﻳﺎ ﺑﺎﻟﺘﻘﺪﻳﺮ اﻟﺪاﺋﺮي‬


‫ﻻﺣﻆ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫‪:‬اﻟﺪوال اﻟﻤﺜﻠﺜﻴﺔ اﻟﻌﻜﺴﻴﺔ‬

‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻟﺘﺮى ﻣﺪى ﻗﺎﺑﻠﻴﺔ اﻟﻤﺎﺗﻼب ﻋﻠﻰ ﺣﻞ ﺗﻠﻚ اﻷﺟﺰاء ﺑﺴﻬﻮﻟﺔ ﺗﺎﻣﺔ‬

‫ﺑﻨﻔﺲ اﻟﻄﺮﻳﻘﺔ ﻟﻜﻞ اﻟﺪوال اﻟﻤﺜﻠﺜﻴﺔ اﻟﻌﻜﺴﻴﺔ‬


‫ اﻟﺪوال اﻟﺰاﺋﺪﻳﺔ‬Hyperbolic functions
‫ﺑﻌﺾ اﻟﻌﻼﻗﺎت اﻟﻬﺎﻣﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺪوال اﻟﺰاﺋﺪﻳﺔ‬

‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻟﻠﺘﺤﻘﻖ ﻣﻦ اﻟﻨﺘﻴﺠﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‬


‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻟﻠﺘﺤﻘﻖ ﻣﻦ اﻟﻨﺘﻴﺠﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‬
‫‪ Inverse Hyperbolic Functions‬اﻟﺪوال اﻟﺰاﺋﺪﻳﺔ اﻟﻌﻜﺴﻴﺔ‬

‫ﺑﻌﺾ اﻟﻘﻮاﻧﻴﻦ اﻟﻬﺎﻣﺔ ﻟﻠﺪوال اﻟﺰاﺋﺪﻳﺔ اﻟﻌﻜﺴﻴﺔ‬


‫ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﻣﻦ ﺧﻼل اﻟﺘﻌﻮﻳﺾ ﺑﺎﻟﻤﺘﻐﻴﺮ )‪ (z‬ﻓﻲ اﻟﻤﻌﺎدﻻت اﻟﻤﻮﺿﺤﺔ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺪوال اﻟﺰاﺋﺪﻳﺔ اﻟﻌﻜﺴﻴﺔ‬

‫‪ Exponential Function‬اﻟﺪوال اﻷﺳﻴﺔ‬


‫‪ Complex numbers and their Processes‬اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ وﻋﻤﻠﻴﺎﺗﻬﺎ‬
‫‪ Natural Logarithm‬اﻟﻠﻐﺮﺗﻤﺎت اﻟﻄﺒﻴﻌﻴﺔ‬
‫‪ Absolute Value‬اﻟﻘﻴﻤﺔ اﻟﻤﻄﻠﻘﺔ‬
‫‪ Approximation Processes‬اﻟﻌﻤﻠﻴﺎت اﻟﺘﻘﺮﻳﺒﻴﺔ‬

‫‪ Exponential Function‬اﻟﺪاﻟﺔ اﻷﺳﻴﺔ‬


‫اﻟﺪاﻟﺔ اﻷﺳﻴﺔ ﺗﺄﺧﺬ اﻟﺼﻴﻐﺔ اﻟﺮﻳﺎﺿﻴﺔ اﻟﺘﺎﻟﻴﺔ‬

‫‪ exp‬أﻣﺎ ﻓﻲ اﻟﻤﺎﺗﻼب ﻓﺘﺨﺘﺼﺮ ﻓﻲ‬


‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫‪ Complex Numbers‬اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ‬


‫وﺟﺰء اﻟﻌﺪد اﻟﺘﺨﻴﻠﻲ ‪ Real number‬ﺗﺄﺧﺬ اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ ﺻﻴﻐﺔ واﺣﺪة وهﻲ ﺗﻮاﺟﺪ ﺟﺰء ﻟﻸﻋﺪد اﻟﺤﻘﻴﻘﻲ‬
‫وﺗﻜﻮن ﻓﻲ اﻟﺼﻴﻐﺔ اﻟﺘﺎﻟﻴﺔ ‪Imaginary Numbers,‬‬

‫وﻳﺘﻢ ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻌﻤﻠﻴﺎت واﻟﺘﻲ ﺗﺘﻢ ﻓﻲ اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ ﻣﺜﻞ‬
‫إﺧﺘﻴﺎر اﻟﻌﺪد اﻟﺤﻘﻴﻘﻲ ﻓﻘﻂ‬
‫إﺧﺘﻴﺎر اﻟﻌﺪد اﻟﺘﺨﻴﻠﻲ ﻓﻘﻂ‬
‫وﻳﺘﻢ اﻟﺤﺼﻮل ﻋﻠﻴﻬﺎ ﻣﻦ ﺧﻼل اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﻴﺔ ‪ Phase Angle,‬إﻳﺠﺎد اﻟﺰاوﻳﺔ‬
‫إﻳﺠﺎد اﻟﻘﻴﻤﺔ اﻟﻤﻄﻠﻘﺔ‪ :‬وﻳﺘﻢ اﻟﺤﺼﻮل ﻋﻠﻴﻬﺎ ﻣﻦ ﺧﻼل اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﻴﺔ‬

‫ﺟﻤﻊ ﻋﺪدﻳﻦ ﻣﺮآﺒﻴﻦ‪ :‬وﻳﺘﻢ ذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ ﺟﻤﻊ اﻷﻋﺪاد اﻟﺤﻘﻴﻘﻴﺔ ﻣﻊ ﺑﻌﻀﻬﺎ‪ ,‬وﺟﻤﻊ اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ ﻣﻊ ﺑﻌﻀﻬﺎ‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻣﺸﺎهﺪة ﺗﻠﻚ اﻟﻌﻤﻠﻴﺎت‬

‫ﻣﻼﺣﻈﺔ‪ :‬ﺗﺘﻢ ﺟﻤﻴﻊ اﻟﻌﻤﻠﻴﺎت اﻟﺤﺴﺎﺑﻴﺔ )اﻟﺠﻤﻊ واﻟﻄﺮح وﻏﻴﺮهﺎ( ﻋﻠﻰ اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ أﻳﻀ ًﺎ‬
‫ﺣﻴﺚ ﻳﺘﻢ )‪ angle(z‬ﻹﻳﺠﺎد زاوﻳﺔ اﻟﻄﻮر ﻋﻦ ﻃﺮﻳﻖ آﺘﺎﺑﺔ ‪ angle‬آﻤﺎ رأﻳﻨﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ إﺳﺘﺨﺪام اﻷﻣﺮ‬
‫‪ atan2‬ﻓﻲ هﺬا اﻷﻣﺮ‪ ,‬ﻳﻤﻜﻨﻨﺎ أﻳﻀ ًﺎ ﺗﻨﻔﻴﺬ ذﻟﻚ ﺑﺈﺳﺘﺨﺪام أﻣﺮ ﺁﺧﺮ وهﻮ ‪ z‬وﺿﻊ رﻣﺰ اﻟﻌﺪد اﻟﻤﺮآﺐ‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫‪ Natural Logarithm‬اﻟﻠﻮﻏﺎرﻳﺘﻤﺎت اﻟﻄﺒﻴﻌﻴﺔ‬


‫)‪ log(x‬ﻳﺮﻣﺰ اﻟﻤﺎﺗﻼب ﻟﻠﻮﻏﺎرﻳﺘﻤﺎت اﻟﻄﺒﻴﻌﻴﺔ ﺑﺎﻟﺮﻣﺰ‬

‫اﻟﻌﻤﻠﻴﺎت اﻟﺘﻘﺮﻳﺒﻴﺔ ﻷﻋﺪاد واﻗﻌﺔ ﺑﻴﻦ رﻗﻤﻴﻦ‬


‫أي رﻗﻢ ﻋﺸﺮي ﻳﻤﺘﺎز ﺑﺄﻧﻪ واﻗﻊ ﺑﻴﻦ رﻗﻤﻴﻦ ﺻﺤﻴﺤﻴﻦ‪ ,‬ﻓﺎﻟﻤﺎﺗﻼب ﻟﻪ اﻟﻘﺪرة ﻋﻠﻰ إﺧﺘﻴﺎر أﺣﺪ هﺬﻳﻦ اﻟﺮﻗﻤﻴﻦ‬
‫ﻹﺧﺘﻴﺎر اﻟﺮﻗﻢ اﻷﺻﻐﺮ ‪ Floor‬ﻹﺧﺘﻴﺎر اﻟﺮﻗﻢ اﻷآﺒﺮ‪ ,‬واﻷﻣﺮ ‪ Ceil‬ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮﻳﻦ‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫‪ Matrices‬اﻟﻤﺼﻔﻮﻓﺎت‬

‫وﻧﺘﻨﺎول اﻟﻤﻮاﺿﻴﻊ آﺎﻟﺘﺎﻟﻲ‬


‫ﻣﺎهﻲ اﻟﻤﺼﻔﻮﻓﺎت‬
‫آﻴﻔﻴﺔ آﺘﺎﺑﺔ اﻟﻤﺼﻔﻮﻓﺎت ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫اﻟﻌﻤﻠﻴﺎت اﻟﺤﺴﺎﺑﻴﺔ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺎت‬
‫ﻣﺼﻔﻮﻓﺎت ﺧﺎﺻﺔ‬
‫إﺳﺘﺨﺮاج ﻋﻨﺼﺮ ﻣﺤﺪد ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ‬
‫ﺗﻐﻴﻴﺮ ﻋﻨﺼﺮ ﻣﺎ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ‬

‫‪:‬ﻣﺎهﻲ اﻟﻤﺼﻔﻮﻓﺔ‬
‫هﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﻴﺎﻧﺎت واﻟﺘﻲ ﻳﺘﻢ وﺿﻌﻬﺎ ﻓﻲ ﺻﻮرة ﺻﻔﻮف وأﻋﻤﺪة‪ ,‬وﺗﺄﺧﺬ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫وﻓﻲ ﺣﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻤﻌﺎدﻻت‪ ,‬آﻤﺎ ﺳﻴﺘﻢ ‪ Polynomials,‬وﺗﺴﺘﺨﺪم اﻟﻤﺼﻔﻮﻓﺎت ﻓﻲ ﺣﻞ آﺜﻴﺮات اﻟﺤﺪود‬


‫‪.‬ﺷﺮﺣﻪ ﻻﺣﻘًﺎ ﻓﻲ هﺬا اﻹﺳﺒﻮع ﺑﺈذن اﷲ‬

‫‪:‬آﻴﻔﻴﺔ آﺘﺎﺑﺔ اﻟﻤﺼﻔﻮﻓﺎت ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬


‫‪.‬ﻳﺘﻢ إدﺧﺎل اﻟﻤﺼﻔﻮﻓﺔ ﺑﻜﺘﺎﺑﺔ ﻋﻨﺎﺻﺮ اﻟﺼﻒ اﻷول‪ ,‬ﺛﻢ اﻟﺜﺎﻧﻲ وهﻜﺬا‬
‫ﻼ آﺘﺎﺑﺔ ﻣﺼﻔﻮﻓﺔ ﻣﺜﻞ اﻟﺘﺎﻟﻴﺔ‬
‫ﻓﻤﺜ ً‬

‫ﺑﻴﻦ أرﻗﺎم اﻟﺘﺎﻟﻴﺔ‪ ,‬ﻋﻠﻰ اﻟﺠﻤﻴﻊ أن ﻳﻌﻠﻢ ﺑﺄﻧﻪ ﻳﺘﻢ آﺘﺎﺑﺔ ﻋﻨﺎﺻﺮ اﻟﺼﻒ اﻷول‪ ,‬وﻳﺘﻢ اﻟﻔﺼﻞ وﻟﻜﻦ ﻗﺒﻞ إدﺧﺎل اﻟﻘﻴﻢ‬
‫اﻷرﻗﺎم‪ ,‬ﺑﻌﺪ إدﺧﺎل ﻗﻴﻢ اﻟﺼﻒ اﻷول ﻳﺘﻢ ﺑﻴﻦ ‪ Space‬أو ﺑﻌﻤﻞ ﻣﺴﺎﻓﺔ )‪ Comma (,‬اﻟﺼﻒ اﻷول إﻣﺎ ﺑﻔﺎﺻﻠﺔ‬
‫‪ Enter‬اﻟﺼﻒ اﻟﺜﺎﻧﻲ ) اﻟﺬي ﺳﻴﺘﻢ إدﺧﺎل ﻗﻴﻤﻪ( إﻣﺎ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎح ﻓﺼﻞ ﻋﻨﺎﺻﺮ اﻟﺼﻒ اﻷول ﻋﻦ ﻋﻨﺎﺻﺮ‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ‪ Semicolon ( ; ),‬ﺑﺈﺳﺘﺨﺪام اﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮﻃﺔ أو‬

‫ﻓﻜﻤﺎ ﻧﺮى أﺳﺎﻟﻴﺐ ﻣﺘﻌﺪدة ﻹدﺧﺎل ﻗﻴﻢ اﻟﻤﺼﻔﻮﻓﺎت واﻟﺸﻜﻞ واﺣﺪ ﻓﻲ ﺟﻤﻴﻊ اﻟﻄﺮق‪.‬‬
‫اﻟﻌﻤﻠﻴﺎت اﻷﺳﺎﺳﻴﺔ اﻟﺘﻲ ﺗﺘﻢ ﻋﻠﻰ اﻟﻤﺼﻔﻮﻓﺎت؟‬
‫اﻟﺠﻤﻊ ‪1-‬‬
‫اﻟﻄﺮح ‪2-‬‬
‫اﻟﻀﺮب ‪3-‬‬
‫اﻟﻘﺴﻢ ‪4-‬‬
‫اﻟﻤﺼﻔﻮﻓﺔ اﻷﺳﻴﺔ ‪5-‬‬
‫‪:‬اﻟﺠﻤﻊ‬
‫ﻻ أن ﻧﺬآﺮ ﺷﺮط ﺟﻤﻊ ﻣﺼﻔﻮﻓﺘﻴﻦ‬
‫‪.‬ﻗﺒﻞ اﻟﺒﺪء ﻓﻲ اﻟﺸﺮوع ﺑﺒﺪء إﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب ﻳﺠﺐ أو ً‬
‫‪:‬ﺷﺮط ﺟﻤﻊ ﻣﺼﻔﻮﻓﺘﻴﻦ‬
‫وآﺬﻟﻚ ﻧﻔﺲ ‪ m,‬ﻓﺸﺮط ﺟﻤﻌﻬﻤﺎ أن ﻳﻜﻮن آﻼهﻤﺎ ﻟﻪ ﻧﻔﺲ ﻋﺪد اﻟﺼﻔﻮف ‪ A & B,‬ﻟﻨﻔﺘﺮض أن ﻟﺪﻳﻨﺎ ﻣﺼﻔﻮﻓﺘﻴﻦ‬
‫‪ n.‬ﻋﺪد اﻷﻋﻤﺪة‬
‫ﻼ اﻟﻤﺼﻔﻮﻓﺘﺎن اﻟﺘﺎﻟﻴﺘﺎن ﻳﻤﻜﻦ ﺟﻤﻌﻬﻤﺎ ﻷﻧﻬﺎ ﻳﺤﻤﻼن ﻧﻔﺲ ﻋﺪد اﻟﺼﻔﻮف واﻷﻋﻤﺪة‬
‫ﻓﻤﺜ ً‬

‫‪:‬آﻴﻒ ﺗﺘﻢ ﻋﻤﻠﻴﺔ ﺟﻤﻊ ﻣﺼﻔﻮﻓﺘﻴﻦ‬


‫ﻼ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ اﻷوﻟﻰ وﻣﺎ ﻳﻨﺎﻇﺮﻩ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ ﺗﺘﻢ ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ ﺑﺠﻤﻊ اﻟﻌﻨﺼﺮ‬‫اﻟﺜﺎﻧﻴﺔ‪ ,‬اﻷول ﻟﻠﺼﻒ اﻷول ﻣﺜ ً‬
‫‪.‬وﺑﺎﻟﺘﺎﻟﻲ ﻧﻜﻮن ﻗﺪ ﺟﻤﻌﻨﺎ اﻟﻌﻨﺼﺮ اﻷول ﻟﻠﺼﻒ اﻷول‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﻧﻜﻮن ﻗﺪ ﺟﻤﻌﻨﺎ‬
‫‪1+7=8‬‬
‫اﻷوﻟﻰ وﻣﺎ ﻳﻨﺎﻇﺮﻩ ﻓﻲ اﻟﺼﻒ اﻷول اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻲ‪ :‬ﻧﺠﻤﻊ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻲ ﻟﻠﺼﻒ اﻷول ﻓﻲ اﻟﻤﺼﻔﻮﻓﻮ ﺟﻤﻊ‬
‫اﻟﻤﺼﻔﻮﻓﺔ اﻟﺜﺎﻧﻴﺔ‪ ,‬وﺑﺎﻟﺘﺎﻟﻲ ﻧﻜﻮن ﻗﺪ ﺟﻤﻌﻨﺎ‬
‫‪2+8=10‬‬
‫وﻧﺴﺘﻤﺮ هﻜﺬا ﺣﺘﻰ إﺗﻤﺎم آﺎﻣﻞ اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬وﻳﻤﻜﻦ ﺗﻠﺨﻴﺺ اﻟﻌﻤﻠﻴﺔ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫اﻟﺠﻤﻊ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫ﻻ آﺘﺎﺑﺔ اﻟﻤﺼﻔﻮﻓﺘﻴﻦ‬
‫آﻤﺎ ﺗﻌﻠﻤﻨﺎ ﺳﺎﺑﻘًﺎ ‪ A&B,‬ﻳﺠﺐ أو ً‬
‫ﺛﻢ إﺳﺘﺨﺪام رﻣﺰ اﻟﺠﻤﻊ )‪ (+‬ﻟﻠﺘﺘﻢ ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻃﺮح اﻟﻤﺼﻔﻮﻓﺎت‬
‫ﻓﻤﺎ هﻮ ﺷﺮط ﻃﺮح اﻟﻤﺼﻔﻮﻓﺎت؟‬
‫ﺣﻘﻴﻘﺔ هﻲ ﻧﻔﺲ ﺷﺮط اﻟﺠﻤﻊ‪ ,‬ﺣﻴﺚ ﻳﺸﺘﺮط أن ﺗﻜﻮن اﻟﻤﺼﻔﻮﻓﺎت اﻟﺘﻲ ﻳﺘﻢ ﺟﻤﻌﻬﺎ أو ﻃﺮﺣﻬﺎ ﻟﻬﺎ ﻧﻔﺲ اﻟﻘﻮة‬

‫ﺣﻴﺚ ‪ m‬هﻲ ﻋﺪد اﻟﺼﻔﻮف‬


‫وﺣﻴﺚ ‪ n‬ﺧﻲ ﻋﺪد اﻷﻋﻤﺪة‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫ﺿﺮب اﻟﻤﺼﻔﻮﻓﺎت‬

‫ﻣﺎ هﻮ ﺷﺮط ﺿﺮب اﻟﻤﺼﻔﻮﻓﺎت؟‬


‫ﺷﺮط ﺿﺮب أي ﻣﺼﻔﻮﻓﺘﻴﻦ هﻮ أن ﻳﻜﻮن ﻋﺪد أﻋﻤﺪة اﻟﻤﺼﻔﻮﻓﺔ اﻷوﻟﻰ ‪ n١‬ﻣﺴﺎوﻳًﺎ ﻟﻌﺪد اﻟﺼﻔﻮف ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ‬
‫اﻟﺜﺎﻧﻴﺔ‪m٢‬‬
‫أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫ﻗﺴﻤﺔ اﻟﻤﺼﻔﻮﻓﺎت‬

‫ﻗﺪ ﻳﺴﺘﻐﺮب اﻟﺒﻌﺾ ﻣﻦ وﺟﻮد آﻠﻤﺔ اﻟﻘﺴﻤﺔ ﻟﻠﻤﺼﻔﻮﻓﺎت‪ ,‬وﻟﻜﻦ اﻟﺤﻘﻴﻘﺔ أﻧﻬﺎ ﻣﻮﺟﻮدة وﻣﺴﺘﺨﺪﻣﺔ ﺑﻜﺜﻴﺮة وﻟﻜﻨﻨﺎ ﻻ‬
‫ﻧﻨﺘﺒﻪ ﻟﻮﺟﻮدهﺎ‪ ,‬ﻓﺒﻬﺬﻩ اﻟﻘﺴﻤﺔ ﻧﻘﻮم ﺑﺤﻞ اﻟﻤﻌﺎدﻻت واﻟﺘﻲ ﺳﻴﺘﻢ ﺷﺮﺣﻬﺎ ﻻﺣﻘًﺎ ﺑﺈذن اﷲ‬
‫وﻗﺒﻞ أن أﺷﺮح ﻟﻜﻢ آﻴﻔﻴﺔ ﻋﻤﻞ اﻟﻘﺴﻤﺔ‪ ,‬ﻻﺑﺪ ﻣﻦ ﺷﺮح آﻴﻔﻴﺔ ﺣﻞ اﻟﻤﻌﺎدﻻت آﺜﻴﺮة اﻟﺤﺪود‬
‫ﻟﻨﻔﺘﺮض أن ﻟﺪﻳﻨﺎ ﻣﻌﺎدﻟﺘﺎن آﺎﻵﺗﻲ‬

‫وآﻠﺘﺎ اﻟﻤﻌﺎدﻟﺘﺎن ﻳﻤﻜﻦ ﺣﻠﻬﻤﺎ ﻟﻴﻜﻮن اﻟﻨﺎﺗﺞ‬


‫‪X=-٢‬‬
‫‪Y=٣‬‬
‫ﻓﻜﻴﻒ ﻳﺘﻢ ذﻟﻚ؟‬
‫ﻳﻤﻜﻦ وﺿﻊ اﻟﻤﻌﺎدﻟﺘﺎن ﻓﻲ ﺻﻮرة ﻣﺼﻔﻮﻓﺔ آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫]‪[LINE]hr[/LINE‬‬
‫وهﻨﺎ ﻧﺬآﺮ أن هﻨﺎﻟﻚ ﻃﺮﻳﻘﺘﺎن ﻟﺤﻞ اﻟﻤﻌﺎدﻟﺘﺎن‬
‫‪١-‬ﻃﺮﻳﻘﺔ اﻟﺤﺬف‬
‫‪٢-‬ﻗﺴﻤﺔ اﻟﻤﺼﻔﻮﻓﺎت‬
‫وﺳﺄذآﺮ ﺳﺮﻳﻌًﺎ ﻃﺮﻳﻘﺔ اﻟﺤﺬف‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫أﻣﺎ اﻟﻄﺮﻳﻘﺔ اﻟﺜﺎﻧﻴﺔ هﻲ ﻗﺴﻤﺔ اﻟﻤﺼﻔﻮﻓﺎت‬


‫ﻟﻨﻌﻮد إﻟﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻣﺮة أﺧﺮى‬
‫ﻓﺈذا ﻗﻤﻨﺎ ﺑﻜﺘﺎﺑﺔ اﻟﻤﻌﺎدﻟﺘﻴﻦ ﻓﻲ اﻟﻤﺎﺗﻼب آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ‬

‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺼﻔﻮﻓﺎت واﻟﻤﺘﺠﻬﺎت‬

‫ﻣﺎ اﻟﻔﺮق ﺑﻴﻦ اﻟﻤﺘﺠﻬﺎت واﻟﻤﺼﻔﻮﻓﺎت؟‬


‫اﻟﻤﺘﺠﻬﺎت هﻲ ﻣﺼﻔﻮﻓﺔ وﻟﻜﻦ إﻣﺎ ﺑﻌﻤﻮد واﺣﺪ ‪ Column Vector‬أو ﺻﻒ واﺣﺪ‪Row Vector‬‬
‫ﻼ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻟﻤﺘﺠﻪ ﺻﻔﻲ‬
‫ﻓﻤﺜ ً‬
‫!‬

‫وهﺬﻩ ﺻﻮرة ﻟﻤﺘﺠﻪ ﻋﻤﻮدي‬


‫أﻣﺎ اﻟﻤﺼﻔﻮﻓﺔ ﻓﻬﻲ اﻟﺘﻲ ﻳﺰﻳﺪ ﻋﺪد ﺻﻔﻮﻓﻬﺎ وأﻋﻤﺪﺗﻬﺎ ﻋﻦ ﺻﻒ واﺣﺪ أو ﻋﻤﻮد واﺣﺪ‬
‫ﻻ ﺛﻢ اﻟﻤﺼﻔﻮﻓﺎت‬
‫وﺳﻨﺘﻨﺎول اﻟﻌﻤﻠﻴﺎت اﻟﺘﻲ ﺗﺘﻢ ﻋﻠﻰ اﻟﻤﺘﺠﻬﺎت أو ً‬

‫ﻣﺎهﻲ اﻟﻌﻤﻠﻴﺎت اﻟﺸﺎﺋﻌﺔ ﻋﻠﻰ اﻟﻤﺘﺠﻬﺎت؟‬


‫‪١-‬ﻃﻮل اﻟﻤﺘﺠﻪ‬
‫‪٢-‬إﺿﺎﻓﺔ ﻋﻨﺼﺮ‬
‫‪٣-‬إﺳﺘﺒﺪال ﻋﻨﺼﺮ‬
‫‪٤-‬ﻋﻤﻠﻴﺔ ﺣﺬف ﻋﻨﺼﺮ‬
‫‪٥-‬ﻧﺪاء ﻋﻨﺼﺮ‬
‫‪٦-‬ﻧﺪاء ﻋﺪد ﻋﻨﺎﺻﺮ‬
‫‪٧-‬إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ‬
‫‪٨-‬إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ‬
‫‪٩-‬إﻳﺠﺎد ﺣﺎﺻﻞ ﺿﺮب اﻟﻌﻨﺎص‬

‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺘﺠﻬﺎت‬

‫ﻟﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ ﻣﺘﺠﻪ ﺻﻔﻲ ﻟﺪى اﻟﻤﺎﺗﻼب آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫واﻵن ﻧﻘﻮم ﺑﺎﻟﻌﻤﻠﻴﺔ اﻷوﻟﻰ وهﻲ‬

‫ﻃﻮل اﻟﻤﺼﻔﻮﻓﺔ‬
‫‪!Error‬‬
‫إﺿﺎﻓﺔ ﻋﻨﺼﺮ‬

‫ﻟﻨﻘﻮم ﺑﻮﺿﻊ ﻣﺘﺠﻪ ﻋﻤﻮدي ﻓﻲ اﻟﻤﺎﺗﻼب‪ ,‬آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫آﻤﺎ هﻮ واﺿﺢ‪ ,‬أن ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬا اﻟﻤﺘﺠﻪ هﻮ ‪ ,١٠‬وﻟﻠﺘﺄآﺪ ﻗﻢ ﺑﻌﻤﻞ اﻷﻣﺮ ‪ length‬ﻓﻲ ﻧﺎﻓﺬة‬
‫اﻷواﻣﺮ ﻟﻠﻤﺎﺗﻼب‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻟﻨﻘﻞ أﻧﻨﺎ ﻧﺮﻳﺪ إﺿﺎﻓﺔ اﻟﺮﻗﻢ ‪ ١٢٠‬ﻓﻲ اﻟﺨﺎﻧﺔ اﻟﺤﺎدﻳﺔ ﻋﺸﺮة‪ ,‬أي اﻟﺨﺎﻧﺔ اﻟﺘﺎﻟﻴﺔ ﻟﻠﺨﺎﻧﺔ اﻟﻌﺎﺷﺮة‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫اﻟﺨﺎﻧﺔ رﻗﻢ ‪ ,١٣‬ﻓﻤﺎذا ﺳﺘﻜﻮن ﻗﻴﻤﺔ اﻟﺨﺎﻧﺔ ‪ ١٢‬اﻟﺘﻲ ﻟﻢ ﻳﺘﻢ إﺿﺎﻓﺔ أي ﻋﻨﺼﺮ ﻟﻬﺎ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫إﺿﺎﻓﺔ أآﺜﺮ ﻣﻦ ﻋﻨﺼﺮ ﻣﺘﺘﺎﻟﻲ‬

‫ﻻ ﻣﻦ إدﺧﺎل آﻞ‬
‫ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻧﺮﻳﺪ إﺿﺎﻓﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ اﻟﻤﺘﺘﺎﻟﻴﺔ ﻓﻲ اﻟﺨﺎﻧﺎت ‪١١‬و ‪ ١٢‬و ‪ ١٣‬وﻳﻤﻜﻦ ﺑﺪ ً‬
‫رﻗﻢ ﻋﻠﻰ ﺣﺪى‪,‬آﻤﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫إﺳﺘﺒﺪال ﻋﻨﺼﺮ‬

‫ﻋﻤﻠﻴﺔ إﺳﺘﺒﺪال ﻋﻨﺼﺮ ﺗﺘﻄﻠﺐ ﻋﺪة ﺷﺮوط‬


‫‪١-‬أن ﻳﻜﻮن اﻟﻌﻨﺼﺮ ﻣﻮﺟﻮدًا ﺑﺎﻟﻔﻌﻞ‬
‫‪٢-‬أن ﺗﺤﺪد ﻣﻜﺎن هﺬا اﻟﻌﻨﺼﺮ‬
‫ﻻ ﻣﻦ اﻟﺮﻗﻢ ‪ ٣‬إﻟﻰ اﻟﺮﻗﻢ ‪١٥‬‬
‫ﻓﻔﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ أردﻧﺎ أن ﺗﺴﺘﺒﺪل اﻟﻌﻨﺼﺮ اﻟﺜﺎﻟﺚ ﺑﺪ ً‬
‫آﻞ ﻣﺎ ﻋﻠﻴﻨﺎ ﻓﻌﻠﻪ هﻮ آﺘﺎﺑﺔ اﻟﺘﺎﻟﻲ‬
‫‪A(٣)=١٥‬‬
‫ﺣﻴﺚ ‪ A‬هﻲ اﻟﻤﺘﺠﻪ اﻟﺬي ﻳﺤﺘﻮى اﻟﻌﻨﺼﺮ اﻟﺬي ﺗﺮﻳﺪ ﺗﻐﻴﻴﺮﻩ‬
‫إﺳﺘﺒﺪال ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ ﻣﺘﺘﺎﻟﻴﺔ‬

‫آﻤﺎ ﺷﺮﺣﻨﺎ آﻴﻔﻴﺔ إﺿﺎﻓﺔ ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ ﻣﺘﺘﺎﻟﻴﺔ‪ ,‬ﺳﻨﻘﻮم ﺑﺈﺳﺘﺒﺪال ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ ﻣﺘﺘﺎﻟﻴﺔ آﻤﺎ ﻓﻲ اﻟﺼﻮرة‬
‫اﻟﺘﺎﻟﻴﺔ‬

‫ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ اﻟﻤﺘﺠﻪ‬

‫ﻟﺘﻘﻮم ﺑﺤﺬف ﻋﻨﺼﺮ ﻣﻦ اﻟﻤﺘﺠﻪ ﻳﺠﺐ أن ﻳﺘﻮﻓﺮ اﻟﺸﺮﻃﺎن اﻟﺘﺎﻟﻴﺎن‬


‫‪١-‬ﺗﺤﺪﻳﺪ اﻟﻌﻨﺼﺮ اﻟﺬي ﺗﺮﻳﺪ ﺣﺬﻓﻪ‬
‫‪٢-‬وﺿﻊ أﻗﻮاص ﻣﺮﺑﻌﺔ ‪ Square Brackets‬ﺧﺎﻟﻴﺔ ﻣﻦ أي رﻗﻢ‬
‫ﻓﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ أﻧﻨﺎ ﻧﺮﻳﺪ ﺣﺬف اﻟﻌﻨﺼﺮ ﻓﻲ اﻟﺨﺎﻧﺔ اﻟﻌﺎﺷﺮة‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﺣﺬف ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ ﻣﺘﺘﺎﻟﻴﺔ‬


‫ﻟﺤﺬف ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ ﻣﺘﺘﺎﻟﻴﺔ‪ ,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻧﺪاء ﻋﻨﺼﺮ‬

‫ﻧﺪاء ﻋﻨﺼﺮ اﻟﻤﻘﺼﻮد ﺑﻪ هﻮ اﻟﺤﺼﻮل ﻋﻠﻰ ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ ﻓﻲ أي ﻣﻜﺎن ﻣﻦ اﻟﻤﺘﺠﻪ‬


‫وﻳﻤﻜﻦ ذﻟﻚ ﻣﻦ ﺧﻼل آﺘﺎﺑﺔ اﻟﺘﺎﻟﻲ‬

‫ﻧﺪاء أآﺜﺮ ﻣﻦ ﻋﻨﺼﺮ‬


‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻗﻴﻢ ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﺻﺮ ﻣﺤﺪدة ﻣﻦ ﻣﺘﺠﻪ‪ ,‬ﻗﻢ ﺑﻌﻤﻞ اﻵﺗﻲ ﻋﻠﻰ ﻧﺎﻓﺬة اﻷواﻣﺮ‪Command Window‬‬

‫إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻓﻲ اﻟﻤﺘﺠﻪ‬

‫ﻹﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻓﻲ ﻣﺘﺠﻪ‪ ,‬ﻳﺘﻢ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ max,‬ﺣﻴﺚ ﻳﻤﻜﻦ إﻳﺘﺨﺪاﻣﻪ ﻓﻲ اﻟﻤﺎﺗﻼب ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬
‫إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ ﻓﻲ اﻟﻤﺘﺠﻪ‬

‫ﻹﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ ﻓﻲ اﻟﻤﺘﺠﻪ‪ ,‬ﻳﺠﺐ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ min‬وهﻲ إﺧﺘﺼﺎر ﻟﺪى اﻟﻤﺎﺗﻼب وهﻲ إﺧﺘﺼﺎر ﻟﻜﻠﻤﺔ‬
‫‪minimum‬أي اﻷﻗﻞ‬
‫وﻹﻳﺠﺎد اﻟﻌﺪد اﻷﺻﻐﺮ داﺧﻞ اﻟﻤﺘﺠﻪ ﻓﻲ اﻟﻤﺎﺗﻼب ﻗﻢ ﺑﻌﻤﻞ اﻵﺗﻲ‬

‫إﻳﺠﺎد ﻣﺠﻤﻮع ﻋﻨﺎﺻﺮ اﻟﻤﺘﺠﻪ‬


‫ﺣﻴﺚ أن هﺬا اﻷﻣﺮ ﻻﺑﺪ أن ﻳﺄﺧﺬ ﻃﺮﻳﻘﺔ ﻓﻲ ﺗﻨﻔﻴﺬﻩ ﻓﻴﺠﺐ ‪ sum‬ﻳﻤﻜﻦ ﺟﻤﻊ ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮ اﻟﻤﺘﺠﻪ‪ ,‬ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ‬
‫أن ﻳﻨﻔﺬ ﺑﺎﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫وﻓﺎﻟﻨﻘﻮم ﺑﻌﻤﻞ ﻣﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب اﻵن‬

‫إﻳﺠﺎد ﺣﺎﺻﻞ ﺿﺮب اﻟﻌﻨﺎﺻﺮ ﻓﻲ اﻟﻤﺘﺠﻪ‬


‫‪ product‬وهﻮ إﺧﺘﺼﺎر ‪ prod‬ﻳﻮﻓﺮ اﻟﻤﺎﺗﻼب ﺧﺎﺻﻴﺔ ﺿﺮب ﻋﻨﺎﺻﺮ اﻟﻤﺘﺠﻪ‪ ,‬وذﻟﻚ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ‬
‫وﻳﺠﺐ أن ﻳﺄﺧﺬ هﺬا اﻷﻣﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻓﻲ آﺘﺎﺑﺘﻪ‬
‫ﻻ ﺗﻄﺒﻴﻘﻴًﺎ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫واﻵن ﻟﻨﺄﺧﺬ ﻣﺜﺎ ً‬

‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺼﻔﻮﻓﺎت‬


‫ﻻ ﻳﺠﺐ ﺗﻌﺮﻳﻒ أﻧﻮاع اﻟﻤﺼﻔﻮﻓﺎت‪ ,‬ﻓﻬﻨﺎﻟﻚ ﻧﻮﻋﺎن ﻣﻦ اﻟﻤﺼﻔﻮﻓﺎت‬ ‫أو ً‬
‫‪١-‬ﻣﺼﻔﻮﻓﺔ ﻏﻴﺮ ﻣﻨﺘﻈﻤﺔ‬
‫‪٢-‬ﻣﺼﻔﻮﻓﺔ ﻣﻨﺘﻈﻤﺔ أو ﻣﺮﺑﻌﺔ‬
‫أﻣﺎ اﻟﻌﻤﻠﻴﺎت اﻟﺘﻲ ﺳﻮف ﺗﺘﻢ ﻋﻠﻰ اﻟﻤﺼﻔﻮﻓﺎت ﻓﻬﻲ‬
‫‪١-‬ﻃﻮل اﻟﻤﺘﺠﻪ‬
‫‪٢-‬إﺿﺎﻓﺔ ﻋﻨﺼﺮ‬
‫‪٣-‬إﺳﺘﺒﺪال ﻋﻨﺼﺮ‬
‫‪٤-‬ﻋﻤﻠﻴﺔ ﺣﺬف ﺻﻒ أو ﻋﻤﻮد ﺑﺄآﻤﻠﻪ‬
‫‪٥-‬ﻧﺪاء ﻋﻨﺼﺮ‬
‫‪٦-‬ﻧﺪاء ﻋﺪد ﻋﻨﺎﺻﺮ‬
‫‪٧-‬إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ‬
‫‪٨-‬إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ‬
‫‪٩-‬إﻳﺠﺎد ﻣﺠﻤﻮع ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ‬
‫‪١٠-‬إﻳﺠﺎد ﺣﺎﺻﻞ ﺿﺮب اﻟﻌﻨﺎﺻﺮ‬
‫‪١١-‬إﻳﺠﺎد ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ‪Diagonal‬‬
‫‪١٢-‬اﻟﻤﺼﻔﻮﻓﺔ اﻟﺴﺤﺮﻳﺔ‬

‫إﻳﺠﺎد ﺣﺠﻢ اﻟﻤﺼﻔﻮﻓﺔ‬


‫ﻹﻳﺠﺎد ﺣﺠﻢ اﻟﻤﺼﻔﻮﻓﺔ أو دﻋﻮﻧﺎ ﻧﻘﻮل ﻹﻳﺠﺎد ﻋﺪد اﻟﺼﻔﻮف واﻷﻋﻤﺪة ﻟﻤﺼﻔﻮﻓﺔ ‪,‬ﻳﺠﺐ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ size,‬ﺣﻴﺚ‬
‫ﻻ ﻳﺼﻠﺢ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ length,‬ﻓﺄﻣﺮ ‪ length‬ﻳﺴﺘﺨﺪم ﻓﻲ اﻟﻤﺘﺠﻬﺎت وﻟﻴﺲ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺎت‪ ,‬وﻟﺘﻮﺿﻴﺢ اﻷﻣﺮ‬
‫ﻻ ﻟﻨﻘﻮم ﺑﻌﻤﻞ ﻣﺼﻔﻮﻓﺔ ﻏﻴﺮ ﻣﻨﺘﻈﻤﺔ ) أي أن ﻋﺪد اﻟﺼﻔﻮف ﻻ‬
‫دﻋﻮﻧﺎ ﻧﻘﻮم ﺑﻌﻤﻞ ﻣﺜﺎل ﻣﺒﺴﻂ ﻟﺸﺮح هﺬا اﻷﻣﺮ‪ ,‬أو ً‬
‫ﻳﺴﺎوي ﻋﺪد اﻷﻋﻤﺪة( آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫واﻵ ﻟﻨﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻷﻣﺮ ‪ size‬ﻟﻤﻌﺮﻓﺔ ﺣﺠﻢ اﻟﻤﺼﻔﻮﻓﺔ‬


‫إﺿﺎﻓﺔ ﻋﻨﺼﺮ إﻟﻰ اﻟﻤﺼﻔﻮﻓﺔ‬
‫وداﺋﻤًﺎ ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ ‪,‬ﻋﻤﻠﻴﺔ إﺿﺎﻓﺔ ﻋﻨﺼﺮ أو ﻋﺪة ﻋﻨﺎﺻﺮ هﻲ ﻣﻦ اﻟﻌﻤﻠﻴﺎت اﻟﻬﺎﻣﺔ ﺟﺪًا داﺧﻞ اﻟﻤﺎﺗﻼب‬
‫ﺑﻌﺪ‪ ,‬وﻟﺘﻮﺿﻴﺢ ذﻟﻚ اﻷﻣﺮ ﻳﺠﺐ أن ﻧﻘﻮم ﺑﺈﻋﻄﺎء ﻣﺜﺎل ﺣﺘﻰ ﺗﺼﻞ اﻟﻜﺜﻴﺮ ﻣﻦ اﻟﺒﺮاﻣﺞ اﻟﻤﺘﻘﺪﻣﺔ آﻤﺎ ﺳﻴﺘﻀﺢ ﻓﻴﻤﺎ‬
‫اﻟﺘﺎم ﻟﻬﺎ ﻣﺮﺣﻠﺔ اﻟﻔﻬﻢ‬
‫ﻻ ﺑﺘﻌﺮﻳﻒ ﻣﺼﻔﻮﻓﺔ ﻓﻲ اﻟﻤﺎﺗﻼب‬ ‫ﻟﻨﻘﻮم أو ً‬

‫ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻧﺮﻳﺪ أن ﻧﻘﻮم ﺑﻮﺿﻊ رﻗﻢ ‪ ٤٢‬ﻓﻲ اﻟﺼﻒ اﻟﺜﺎﻧﻲ واﻟﻌﻤﻮد اﻟﺨﺎﻣﺲ‪ ,‬ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻟﺘﺎﻟﻲ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫إﺳﺘﺒﺪال ﻋﻨﺼﺮ‬
‫ﻗﺪ ﺗﻜﻮن هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻧﺎدرًا ﻣﺎ ﻳﺘﻢ إﺳﺘﺨﺪاﻣﻬﺎ‪ ,‬وﻟﻜﻨﻬﺎ هﺎﻣﺔ ﺟﺪًا‪ ,‬ﺣﻴﺚ ﺗﻮﻓﺮ إﻣﻜﺎﻧﻴﺔ إﺳﺘﺒﺪال ﻋﻨﺼﺮ أو ﻋﺪة ﻋﻨﺎﺻﺮ داﺧﻞ‬
‫اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬وﻟﺘﻮﺿﻴﺢ هﺬﻩ اﻟﺨﺎﺻﻴﺔ‪ ,‬ﺳﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ ﻣﺼﻔﻮﻓﺔ آﻤﺎ ذآﺮﻧﺎ ﻣﺴﺒﻘﺎً‬

‫وﻟﻨﻘﻮم ﺑﺈﺳﺘﺒﺪال اﻟﻌﻨﺼﺮ ﻓﻲ اﻟﺼﻒ اﻟﺜﺎﻟﺚ واﻟﻌﻤﻮد اﻷول إﻟﻰ اﻟﺮﻗﻢ ﺻﻔﺮ‬
‫وإذا أردﻧﺎ إﺳﺘﺒﺪال ﻋﺪة ﻋﻨﺎﺻﺮ‪ ,‬ﻳﻤﻜﻦ ذﻟﻚ ﺑﻌﻤﻞ ﻣﺜﺎل ﺑﺴﻴﻂ‪ ,‬ﻟﻨﻘﻞ أﻧﻨﺎ ﻧﺮﻳﺪ أن ﻧﺴﺘﺒﺪل اﻟﺼﻒ اﻷول واﻟﺜﺎﻧﻲ واﻟﻌﻤﻮدﻳﻦ‬
‫ﻣﻦ اﻷول إﻟﻰ اﻟﺜﺎﻟﺚ ﺑﻘﻴﻤﺔ ﺻﻔﺮ‬

‫ﺣﺬف أآﺜﺮ ﻣﻦ ﻋﻨﺼﺮ‬


‫ﻻﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﻌﻤﻠﻴﺔ ﺣﺬف ﻟﻌﻨﺼﺮ واﺣﺪ ﻓﻘﻂ ﻓﻲ ﻣﺼﻔﻮﻓﺔ‪ ,‬ﺣﻴﺚ أﻧﻪ ﻣﻦ ﻏﻴﺮ اﻟﻤﻌﻘﻮل ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ داﺧﻞ‬
‫اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬وﺑﻘﻴﺔ اﻟﺼﻒ واﻟﻌﻤﻮد ﺑﻬﻢ ﻗﻴﻢ‪ ,‬وﻟﻜﻦ إذا أردت أن ﺗﻘﻮم ﺑﺤﺬف ﺻﻒ آﺎﻣﻞ أو ﻋﻤﻮد آﺎﻣﻞ ﻓﻴﻤﻜﻦ ذﻟﻚ ﺑﻌﻤﻞ‬
‫اﻟﺘﺎﻟﻲ‬
‫ﻧﻘﻮم أو ًﻻ ﺑﻌﻤﻞ ﻣﺼﻔﻮﻓﺔ ﻟﻠﻌﻤﻞ ﻋﻠﻴﻬﺎ‬

‫ﻟﻨﻘﻞ اﻧﻨﺎ ﻧﺮﻳﺪ ﺣﺬف اﻟﺼﻒ اﻟﺜﺎﻟﺚ آﻠﻪ‬


‫وﻟﺤﺬف اﻟﻌﻤﻮد اﻟﺮاﺑﻊ آﻠﻪ‪ ,‬ﻗﻢ ﺑﻌﻤﻞ اﻟﺘﺎﻟﻲ‬

‫ﻧﺪاء ﻋﻨﺼﺮ‬
‫ﻋﻤﻠﻴﺔ ﻧﺪاء ﻋﻨﺼﺮ ﻣﻦ أآﺜﺮ اﻟﻌﻤﻠﻴﺎت هﺎﻣﺔ ﺟﺪًا داﺧﻞ اﻟﻤﺎﺗﻼب‪ ,‬أي أﻧﻪ ﻧﻮد اﻟﺤﺼﻮل ﻋﻠﻰ ﻋﻨﺼﺮ وﺣﻴﺪ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ‪,‬‬
‫وذﻟﻚ ﺑﺬآﺮ رﻗﻢ اﻟﺼﻒ ورﻗﻢ اﻟﻌﻤﻮد اﻟﺬي ﺑﻪ هﺬا اﻟﻌﻨﺼﺮ‪ ,‬وﻟﺘﻮﺿﻴﺢ هﺬا اﻷﻣﺮ ‪,‬ﻧﻘﻮم ﺑﻌﻤﻞ ﻣﺜﺎل ﺑﺴﻴﻂ‪ ,‬ﻣﻌﺘﻤﺪﻳﻦ ﻋﻠﻰ‬
‫ﻧﻔﺲ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﻲ ﺗﻢ ذآﺮهﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ‬

‫ﻟﻨﻘﻞ اﻧﻨﺎ ﻧﺮﻳﺪ اﻟﻌﻨﺼﺮ ﻓﻲ اﻟﺼﻒ اﻷول واﻟﻌﻤﻮد اﻟﺜﺎﻟﺚ‬

‫ﻼ ﺑﻨﺪاء اﻟﺼﻒ اﻟﺜﺎﻧﻲ وﻣﻦ اﻟﻌﻤﻮد اﻟﺜﺎﻧﻲ إﻟﻰ اﻟﺮاﺑﻊ‬


‫وﻟﻨﺪاء أآﺜﺮ ﻣﻦ ﻋﻨﺼﺮ‪ ,‬ﻧﻘﻮم ﻣﺜ ً‬
‫ﻼ‬
‫هﺬا ﻓﻲ ﺣﺎﻟﺔ أﻧﻨﺎ ﻧﻌﺮف ﺣﺠﻢ اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬وﻟﻜﻦ ﻣﺎذا إذا ﻟﻢ ﻧﻜﻦ ﻧﻌﺮف ﺣﺠﻤﻬﺎ‪ ,‬وﻧﺮﻳﺪ أن ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻷﺧﻴﺮ ﻣﺜ ً‬
‫ﻣﻦ اﻟﺼﻒ اﻟﺜﺎﻧﻲ‬

‫وﺳﻨﻘﻮم ﺑﻌﺪ ﻋﻤﻠﻴﺔ اﻟﺸﺮح ﺗﻤﺎﻣ ًﺎ ﺑﺎﻟﻌﺪﻳﺪ واﻟﻌﺪﻳﺪ ﻣﻦ اﻷﻣﺜﻠﺔ اﻟﺘﻲ ﺗﺰﻳﺪ ﻣﻦ ﺳﺮﻋﺘﻚ وﻣﻬﺎرﺗﻚ ﻓﻲ اﻟﻤﺎﺗﻼب‬

‫إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ‬


‫ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺈﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻋﻦ ﻃﺮﻳﻖ اﻟﻌﻤﻞ ﻋﻠﻰ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺸﻜﻞ ﻣﺨﺘﻠﻒ‪ ,‬ﻓﻜﻴﻒ ﻳﺒﺤﺚ ﻋﻦ اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻓﻲ‬
‫اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻓﻲ آﻞ ﻋﻤﻮد ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬وﺑﻌﺪﻣﺎ ﻳﻘﻮم ﺑﻌﻤﻞ ذﻟﻚ ‪,‬ﻳﻘﻮم ﺑﻌﻤﻞ‬
‫ﻣﺘﺠﻪ ﺑﻪ اﻟﺮﻗﻢ اﻷآﺒﺮ ﻣﻦ آﻞ ﻋﻤﻮد‪ ,‬أﻧﻈﺮ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻟﻠﺘﻮﺿﻴﺢ‬
‫ﻟﺪﻳﻨﺎ اﻵن ﻣﺼﻔﻮﻓﺔ ﺗﻢ إﻧﺸﺎﺋﻬﺎ ﻋﻠﻰ اﻟﻤﺎﺗﻼب‬

‫وﻟﻨﻘﻢ ﺑﻜﺘﺎﺑﺔ اﻷﻣﺮ ‪ max‬آﻤﺎ ذآﺮﻧﺎ ﻣﺴﺒﻘﺎً‬

‫آﻤﺎ ﺗﻼﺣﻆ ﻓﻠﻘﺪ ﻗﺎم اﻟﻤﺎﺗﻼب ﺑﺈﺧﺘﻴﺎر اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻣﻦ آﻞ ﻋﻤﻮد‪ ,‬وﻹﺧﺘﻴﺎر اﻟﺮﻗﻢ اﻷآﺒﺮ ﺑﻴﻨﻬﻢ ﻳﺠﺐ آﺘﺎﺑﺔ ﻧﻔﺲ اﻷﻣﺮ‬
‫ﻟﻠﻨﺎﺗﺞ اﻟﺨﺎرج‪ ,‬وﺑﺎﻟﺘﺎﻟﻲ ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﺮﻗﻢ اﻷآﺒﺮ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ آﻜﻞ‬
‫إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ‬
‫هﺬﻩ اﻟﻌﻤﻠﻴﺔ أﻳﻀًﺎ آﺜﻴﺮة اﻹﺳﺘﺨﺪام ﻓﻲ اﻟﺘﻄﺒﻴﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ‪ ,‬وهﻲ ﻧﻔﺲ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻖ ذآﺮهﺎ ﻓﻲ إﻳﺠﺎد اﻟﻌﻨﺼﺮ اﻷآﺒﺮ‬
‫وﻟﻜﻦ ﻳﺘﻢ إﺳﺘﺨﺪام اﻷﻣﺮ‪min‬‬
‫وإﻟﻴﻜﻢ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬

‫إﻳﺠﺎد ﻣﺠﻤﻮع اﻟﻌﻨﺎﺻﺮ‬


‫ﻹﻳﺠﺎد اﻟﻤﺠﻤﻮع آﻤﺎ ﺗﻌﻠﻤﻨﺎ ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ sum‬وﻟﻜﻦ ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺈﻳﺠﺎد ﺟﻤﻊ آﻞ ﻋﻤﻮد ﻋﻠﻰ‬
‫ﺣﺪى وﺗﻮﺿﻊ ﻓﻲ ﺻﻮرة ﻣﺘﺠﻪ‪ ,‬آﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬
‫إﻳﺠﺎد ﺣﺎﺻﻞ ﺿﺮب اﻟﻌﻨﺎﺻﺮ‬
‫ﻳﻤﻜﻦ ﺿﺮب ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬وﻟﻜﻦ ﻓﻲ اﻟﻤﺎﺗﻼب ﻋﻤﻠﻴﺔ اﻟﻀﺮب ﺗﻜﻮن ﻟﻜﻞ ﻋﻤﻮد ﻋﻠﻰ ﺣﺪى وﻳﺘﻢ وﺿﻊ اﻟﻨﺎﺗﺞ ﻓﻲ‬
‫ﻣﺘﺠﻪ‪ ,‬وإذا ﺗﻢ إﺳﺘﺨﺪام اﻷﻣﺮ ﻣﺮة أﺧﺮى ﻳﺘﻢ ﺿﺮب ﻋﻨﺎﺻﺮ اﻟﻤﺘﺠﻪ ﺟﻤﻴﻌﻬﺎ‪ ,‬ﻟﻴﻨﺘﺞ ﺣﺎﺻﻞ اﻟﻀﺮب اﻟﻤﺼﻔﻮﻓﺔ ﺟﻤﻴﻌﻬﺎ‪,‬‬
‫أﻧﻈﺮ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬

‫إﻳﺠﺎد ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ‬


‫هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻗﺪ ﺗﻜﻮن ذات إﺳﺘﺨﺪام أآﺎدﻳﻤﻲ‪ ,‬وﻟﻜﻨﻬﺎ هﺎﻣﺔ ﺟﺪًا‪ ,‬وﺧﺼﻮﺻ ًﺎ أن ﺗﻠﻚ اﻟﺨﺎﺻﻴﺔ ﺗﺨﺪم اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‬
‫ﻋﺪد اﻟﺼﻔﻮف ﻳﺴﺎوي ﻋﺪد اﻷﻋﻤﺪة(‪ ,‬وﻳﺘﻢ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ diag,‬وهﺬا ﻣﺜﺎل ﻟﺬﻟﻚ‬
‫ﻼ ﻧﺮﻳﺪ اﻟﺤﺼﻮل ﻋﻠﻰ ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ ﻟﻌﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ‬
‫ﻳﻤﻜﻨﻨﺎ اﻵن ﻋﻤﻞ اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ‪ ,‬ﻓﻤﺜ ً‬

‫أو أﻧﻨﺎ ﻧﺮﻳﺪ اﻟﺤﺼﻮل ﻋﻠﻰ ﺣﺎﺻﻞ ﺿﺮب ﺗﻠﻚ اﻟﻌﻨﺎﺻﺮ‬


‫اﻟﻤﺼﻔﻮﻓﺔ اﻟﺴﺤﺮﻳﺔ‬
‫ﺣﻘ ًﺎ آﻠﻤﺔ ﻗﺪ ﻳﺴﺘﻐﺮﺑﻬﺎ اﻟﺒﻌﺾ‪ ,‬وﻟﻜﻨﻬﺎ ﺣﻘﻴﻘﺔ ﻓﺤﻘ ًﺎ إﻧﻬﺎ ﺳﺤﺮﻳﺔ‪ ,‬ﺣﻴﺚ أن اﻟﻤﺎﺗﻼب ﻟﺪﻳﻪ اﻟﻘﺪرة ﻋﻠﻰ إﻧﺘﺎج ﻣﺼﻔﻮﻓﺔ‬
‫ﻣﺮﺑﻌﺔ ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺈﺧﺘﻴﺎر أرﻗﺎﻣﻬﺎ ﺑﺸﻜﻞ ﻋﺸﻮاﺋﻲ‪ ,‬آﻞ ﻣﺎ ﻋﻠﻴﻚ إﻻ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ magic‬وﺗﺤﺪﻳﺪ ‪ N‬ﺣﻴﺚ اﻧﻬﺎ ﺗﻤﺜﻞ‬
‫ﻋﺪد اﻟﺼﻔﻮف اﻟﻤﺴﺎوي ﻟﻌﺪد اﻷﻋﻤﺪة‪ ,‬هﺬﻩ اﻟﻤﺼﻔﻮﻓﺔ ﻣﻬﻤﺔ ﺟﺪًا وﺧﺼﻮﺻﺎً ﻓﻲ ﻋﻤﻠﻴﺎت إﺧﺘﺒﺎر اﻷﻧﻈﻤﺔ‪ ,‬آﻤﺎ ﺳﻨﺘﺤﺪث‬
‫ﻻﺣﻘ ًﺎ ﺑﺈذن اﷲ ﻓﻲ اﻟﺸﺒﻜﺎت اﻟﻌﺼﺒﻴﺔ‪.‬‬
‫وﻟﻨﺄﺧﺬ ﻣﺜﺎ ًﻻ ﻣﺒﺴﻄ ًﺎ‬
‫‪M-File‬‬
‫هﻲ وﺳﻴﻠﺔ ﻹدﺧﺎل اﻷواﻣﺮ وﻟﻜﻦ ﻟﻴﺲ ﻣﻦ ﺧﻼل ﻧﺎﻓﺬة اﻷواﻣﺮ‪ ,‬وﻟﻜﻦ ﻣﺎذا ﻗﺪ ﻳﺨﺘﻠﻒ ﻓﻲ هﺬﻩ اﻟﻮﺳﻴﻠﺔ اﻟﺠﺪﻳﺪة ﻓﻲ إدﺧﺎل‬
‫اﻷواﻣﺮ؟‬
‫‪١-‬ﻓﻲ ﻋﻤﻠﻴﺔ إدﺧﺎل اﻷواﻣﺮ اﻟﺘﻲ آﻨﺎ ﻧﺴﺘﺨﺪﻣﻬﺎ‪ ,‬إذا أردﻧﺎ ﺗﻌﺪﻳﻞ ﻋﻨﺼﺮ أو أآﺜﺮ آﺎن ﻳﺠﺐ إﻋﺎدة إدﺧﺎل اﻷﻣﺮ ﻣﻦ ﺟﺪﻳﺪ‪.‬‬
‫‪٢-‬إذا وﺟﺪ ﺧﻄﺄ‪ ,‬ﻓﻴﺠﺐ آﺘﺎﺑﺔ اﻷﻣﺮ ﻣﻦ ﺟﺪﻳﺪ‬
‫‪٣-‬إذا آﺘﺒﻨﺎ ﺑﺮﻧﺎﻣﺞ آﺒﻴﺮ‪ ,‬وأردﻧﺎ إﻋﺎدة اﻟﻌﻤﻠﻴﺔ ﻣﺮة أﺧﺮى ﻳﺠﺐ إدﺧﺎل ﺟﻤﻴﻊ اﻷواﻣﺮ ﻣﻦ ﺟﺪﻳﺪ وﺑﻨﻔﺲ اﻟﺘﺮﺗﻴﺐ‪.‬‬
‫‪٤-‬إذا ﺣﺪث ﺧﻄﺄ ﻓﻲ ﺗﺮﺗﻴﺐ اﻷواﻣﺮ ﻟﻬﺬا اﻟﺒﺮﻧﺎﻣﺞ اﻟﻜﺒﻴﺮ ﺳﺘﻘﻮم ﺑﺈﻋﺎدة اﻹدﺧﺎل اﻷواﻣﺮ ﻣﻦ اﻟﺒﺪاﻳﺔ ﻣﺮة إﺧﺮى‪.‬‬
‫‪٥-‬ﻳﺼﻌﺐ ﻋﻤﻞ ﻋﻤﻠﻴﺔ ﺗﺼﺤﻴﺢ ﻟﻸﺧﻄﺎء‪Debugging‬‬
‫وهﺬا ﺑﺎﻟﻄﺒﻊ ﻳﺴﺘﻐﺮق وﻗﺘ ًﺎ آﺒﻴﺮاً هﺬا ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ اﻟﻤﻠﻞ اﻟﺬي ﻳﺤﺪث ﻟﻠﻤﺴﺘﺨﺪم‬
‫ﻼ أو ًﻻ ﺑﺪون ﺗﺸﻐﻴﻞ‪,‬‬
‫ﻼ ﻟﻬﺬﻩ اﻟﻤﺸﻜﻠﺔ‪ ,‬ﺗﻢ ﻋﻤﻞ ﺑﻤﺎ ﻳﺴﻤﻰ ‪ M-File‬واﻟﺘﻲ ﺗﻌﻄﻲ اﻟﻘﺪرة ﻋﻠﻰ آﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ آﺎﻣ ً‬ ‫وﻃﺒﻌ ًﺎ ﺣ ً‬
‫وﺑﻌﺪ اﻹﻧﺘﻬﺎء ﻣﻨﻪ ﻳﺘﻢ ﺗﺸﻐﻴﻠﻪ‪ ,‬هﺬﻩ اﻟﺨﺎﺻﻴﺔ ﺗﻌﻄﻲ اﻟﻘﺪرة ﻋﻠﻰ ﺗﻌﺪﻳﻞ اﻟﻘﻴّﻢ دون اﻟﺤﺎﺟﺔ إﻟﻰ آﺘﺎﺑﺘﻬﺎ ﻣﺮة أﺧﺮى‪ ,‬أو إﻋﺎدة‬
‫إدﺧﺎل اﻷواﻣﺮ اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ هﺬا اﻷﻣﺮ‪.‬‬
‫ﻓﻜﻴﻒ ﻳﺘﻢ ﺗﺸﻐﻴﻞ ﺗﻠﻚ اﻟﺨﺎﺻﻴﺔ؟ إﺗﺒﻊ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﺘﻈﻬﺮ ﻧﺎﻓﺬﻩ ﺟﺪﻳﺪة‪ ,‬ﺗﺄﺧﺬ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬


‫وﺳﻨﺘﻌﺮف ﻋﻠﻰ ﻧﺎﻓﺬة ‪ M-File‬ﺑﺎﻟﺘﻔﺼﻴﻞ اﻟﻤﻤﻞ ﺑﺈذن اﷲ ﻓﻲ اﻟﺪرس اﻟﻘﺎدم‬
‫ﻧﺎﻓﺬة‪M-File‬‬
‫ﺳﻨﻘﻮم اﻵن ﺑﺎﻟﺘﻌﺮف ﻋﻠﻰ ﻧﺎﻓﺬة ‪ M-File,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫وﻟﻜﻦ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻟﺘﺸﻐﻴﻞ‪ ,‬ﺳﻴﻄﺎﻟﺒﻚ اﻟﻤﺎﺗﻼب ﺑﺤﻔﻆ اﻟﺒﺮﻧﺎﻣﺞ‪ ,‬وﻟﻜﻦ ﻳﺸﺘﺮط اﻵﺗﻲ ﻋﻨﺪ ﺣﻔﻆ اﻟﺒﺮﻧﺎﻣﺞ‬
‫‪١-‬أن ﻻﻳﺒﺪأ ﺑﺄرﻗﺎم‬
‫‪٢-‬أن ﻻ ﻳﻜﻮن أﻣﺮًا ﻣﻌﺮﻓ ًﺎ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫‪٣-‬أن ﻻ ﻳﺤﺘﻮي اﻹﺳﻢ ﻋﻠﻰ ﻣﺴﺎﻓﺎت ﻓﺎﺻﻠﺔ‬
‫‪٤-‬أن ﻻﺗﺤﺘﻮي ﻋﻠﻰ رﻣﻮز ﺧﺎﺻﺔ ﻣﺜﻞ* ‪+ , - , & ,‬‬
‫ﻳﺠﺐ ﻣﺮاﻋﺎة ﺗﻠﻚ اﻟﺸﺮوط وإﻻ ﻟﻦ ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻓﺎﻟﻨﻘﻢ ﺑﺘﻨﻔﻴﺬ اﻟﻤﺜﺎل اﻟﻤﻜﺘﻮب اﻵن ﻓﻲ اﻟﻨﺎﻓﺬة اﻟﺴﺎﺑﻘﺔ‬
‫‪١-‬ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻟﺘﺸﻐﻴﻞ آﻤﺎ هﻮ واﺿﺢ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫‪٢-‬ﺳﻴﻄﺎﻟﺒﻨﺎ اﻟﻤﺎﺗﻼب ﺑﺤﻔﻆ اﻟﺒﺮﻧﺎﻣﺞ أو ًﻻ‪ ,‬وﻟﻨﺴﻤﻴﻪ‪training١‬‬
Command Window and Workspace‫ﻼ ﻣﻦ‬
ً ‫ﺳﺘﻈﻬﺮ اﻟﻘﻴﻢ ﻓﻲ آ‬٣-
‫‪-‬ﻟﻨﻌﻮد إﻟﻰ ‪ M-File‬وﻧﻘﻮم ﺑﺘﻐﻴﻴﺮ ﺑﻌﺾ اﻟﻘﻴﻢ ﻟﻠﻤﺼﻔﻮﻓﺔ‪ ,‬آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫‪!Error‬‬
‫‪٥-‬ﺳﻨﻘﻮم اﻵن ﺑﺘﺸﻐﻴﻞ اﻟﺒﺮﻧﺎﻣﺞ‪ ,‬وﺳﻴﻘﻮم اﻟﻤﺎﺗﻼب اﻵن ﺑﺎﻟﺤﻔﻆ ﺗﻠﻘﺎﺋﻴ ًﺎ دون اﻟﺤﺎﺟﺔ ﻹﻋﺎدة اﻟﺘﺴﻤﻴﺔ‪ ,‬ﺛﻢ ﺷﺎهﺪ ﻧﺎﻓﺬة‬
‫اﻷواﻣﺮ‪Command Window‬‬
‫ﺳﻨﻘﻮم اﻵن ﺑﻜﺘﺎﺑﺔ اﻟـــ‪M-File‬‬

‫!‬

‫ﺳﻨﻘﻮم اﻵن ﺑﺘﻌﺪﻳﻞ اﻟﻤﺜﺎل‪ ,‬وﺣﺘﻰ ﻧﺘﺄآﺪ أن أﻣﺮ ‪ CLC‬ﻳﻌﻤﻞ‪ ,‬ﺳﺘﺨﺘﻔﻲ اﻟﻘﻴﻢ ﻣﻦ ‪ Command Window‬وﺗﻈﻬﺮ‬
‫اﻟﻘﻴﻢ اﻟﺠﺪﻳﺪة‬
‫‪!Error‬‬
‫وﻟﺘﻼﻓﻲ هﺬﻩ اﻟﻤﺸﻜﻠﺔ‪ ,‬ﻳﺠﺐ وﺿﻊ أﻣﺮ ‪ Clear‬ﺑﻌﺪ اﻷﻣﺮ ‪ clc‬ﺑﺤﻴﺚ ﻳﻘﻮم ﺑﻤﺴﺢ أي ﻗﻴﻤﺔ ﺳﺎﺑﻘﺔ ﻣﻦ أي ﺑﺮﻧﺎﻣﺞ ﺁﺧﺮ ﻓﻲ‬
‫‪Workspace ,‬وﻳﺠﺐ ﺗﺜﺒﻴﺖ هﺬا اﻷﻣﺮ أﻳﻀ ًﺎ ﻓﻲ ﺟﻤﻴﻊ اﻟﺒﺮاﻣﺞ واﻟﺘﻲ ﺳﻴﺘﻢ ﻋﻤﻠﻬﺎ ﻻﺣﻘ ًﺎ ﺑﺈذن اﷲ‪.‬‬
‫وﺳﻨﻘﻮم اﻵن ﺑﺘﻨﻔﻴﺬ ﻧﻔﺲ اﻟﺒﺮﻧﺎﻣﺞ وﻟﻜﻦ ﺑﻌﺪ وﺿﻊ اﻷﻣﺮ ‪ clear,‬وﺳﺘﻼﺣﻆ اﻟﻔﺮق اﻟﺸﺎﺳﻊ ﻓﻲ اﻟﻤﺎﺗﻼب اﻵن‬

‫‪!Error‬‬
‫إﺿﺎﻓﺔ ﺧﺼﺎﺋﺺ إﻟﻰ اﻟﺮﺳﻮﻣﺎت داﺧﻞ اﻟﻤﺎﺗﻼب‬
‫ﻓﻲ ﺑﻌﺾ اﻷﺣﻴﺎن ﻳﻜﻮن ﻣﻦ اﻟﻀﺮوري ﺟﺪًا ﺗﻐﻴﻴﺮ ﺑﻌﺾ اﻟﺨﻮاص ﻟﺪى اﻟﺮﺳﻮﻣﺎت اﻟﺘﻲ ﻧﺤﺼﻞ ﻋﻠﻴﻬﺎ ﻣﺜﻞ ﺗﻐﻴﻴﺮ اﻷﻟﻮان‪,‬‬
‫وﺗﻐﻴﻴﺮ اﻟﺮﺳﻤﺔ ﻣﻦ ﺧﻄﻮط ﻣﺘﺼﻠﺔ إﻟﻰ ﻧﺠﻮم وﻧﻘﺎك وﻏﻴﺮهﺎ‪ ,‬وهﺬﻩ هﻲ ﻣﺠﻤﻮﻋﺔ اﻟﺨﺼﺎﺋﺺ اﻟﺘﻲ ﺗﺘﻢ ﻣﻦ ﺧﻼل اﻟﻤﺎﺗﻼب‬
‫]‪[LINE]hr[/LINE‬‬

‫]‪[LINE]hr[/LINE‬‬
‫ﻓﻜﻴﻒ ﻳﺘﻢ وﺿﻊ ﺗﻠﻚ اﻟﺨﺼﺎﺋﺺ داﺧﻞ اﻟﻤﺎﺗﻼب‪ ,‬ﺗﻜﻮن هﺬﻩ اﻟﺨﺼﺎﺋﺺ ﻣﺘﻀﻤﻨﺔ ﻓﻲ اﻷﻣﺮ ‪ plot‬ﺣﻴﺚ ﺗﺄﺧﺬ اﻟﺼﻮرة‬
‫اﻟﺘﺎﻟﻴﺔ‬
‫]‪[LINE]hr[/LINE‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫]‪[LINE]hr[/LINE‬‬
‫]‪[LINE]hr[/LINE‬‬

‫وإذا أردﻧﺎ أن ﻧﺤﺼﻞ ﻋﻠﻰ ﻧﺠﻮم ﺣﻤﺮاء ) أي دﻣﺞ اﻟﺨﺎﺻﻴﺘﻴﻦ ﻣﻌ ًﺎ)‬


‫]‪[LINE]hr[/LINE‬‬
‫‪!Error‬‬
‫ﻋﻤﻠﻴﺔ وﺿﻊ ﺷﺒﻜﺔ ﻋﻠﻰ اﻟﺮﺳﻢ‬
‫ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﻮﺿﻊ ﺷﺒﻜﺔ ﻋﻠﻰ اﻟﺮﺳﻢ‪ ,‬ﺑﺤﻴﺚ ﻳﻜﻮن ﻣﻦ اﻟﺴﻬﻞ ﺗﺤﺪﻳﺪ اﻟﻘﻴﻢ ﻣﻦ ﻋﻠﻰ اﻟﺮﺳﻢ‬
‫ﺣﻴﺚ ﺗﺄﺧﺬ اﻷﻣﺮ ‪ grid‬ﺑﻌﺪ اﻷﻣﺮ‪plot‬‬

‫‪!Error‬‬
‫وﻟﻜﻦ ﻋﻨﺪ ﺗﺸﻐﻴﻞ اﻟﺒﺮﻧﺎﻣﺞ‪ ,‬ﺳﻴﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺈﻇﻬﺎر اﻟﺮﺳﻤﺔ اﻷﺧﻴﺮة ﻓﻘﻂ‪ ,‬ﻓﻜﻴﻒ ﻳﺘﻢ إﻇﻬﺎر اﻟﺮﺳﻤﺘﻴﻦ‪ ,‬ﻳﺘﻢ ذﻟﻚ ﺑﺈﺳﺘﺨﺪام‬
‫اﻷﻣﺮ ‪ Hold on‬ﻗﺒﻞ اﻷﻣﺮ ‪ plot‬ﻟﻜﻲ ﻳﺘﻢ وﺿﻊ اﻟﺮﺳﻤﺘﻴﻦ ﻓﻲ ﻧﺎﻓﺬة واﺣﺪة‪ ,‬وﻓﻲ ﻧﻬﺎﻳﺔ اﻷﻣﺮ ﻳﺘﻢ وﺿﻊ اﻷﻣﺮ ‪hold‬‬
‫‪off,‬أﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫‪!Error‬‬
‫ﻋﻠﻤﻴﺔ وﺿﻊ اﻟﺮﺳﻮﻣﺎت ﻓﻲ ﻧﻮاﻓﺬ ﻣﻨﻔﺼﻠﺔ‬
‫ﺳﻨﻘﻮم اﻵن ﺑﺪ ًﻻ ﻣﻦ وﺿﻊ اﻟﺮﺳﻮﻣﺎت ﻓﻲ ﻧﻔﺲ اﻟﻨﺎﻓﺬة ﺳﻨﻘﻮم ﺑﻮﺿﻌﻬﺎ ﻓﻲ ﻧﻮاﻓﺬ ﻣﺨﺘﻠﻔﺔ‬
‫ﻼ‪ ,‬ﺟﺮب ذﻟﻚ ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ‬
‫وﻋﻠﻰ ﻧﺤﺘﺎج إﻟﻰ اﻷﻣﺮ ‪ figure‬واﻟﺬي ﻳﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة ﻓﺎرﻏﺔ إذا ﺗﻢ وﺿﻌﻪ ﻣﻨﻔﺼ ً‬
‫ﺳﺘﻼﺣﻆ ان اﻟﻤﺎﺗﻼب ﻗﺎم ﺑﺈﻇﻬﺎر ﻧﺎﻓﺬة رﻣﺎدﻳﺔ اﻟﻠﻮن ﻓﺎرﻏﺔ ﺷﺎهﺪ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫]‪[LINE]hr[/LINE‬‬
[LINE]hr[/LINE]

[LINE]hr[/LINE]
‫]‪[LINE]hr[/LINE‬‬
‫واﻵن ﻗﻢ ﺑﺘﺸﻐﻴﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺮة أﺧﺮى‪ ,‬ﺳﺘﻼﺣﻆ أن ﻋﺪد اﻟﻨﻮاﻓﺬ ﻗﺪ زاد ﻧﺎﻓﺬة واﺣﺪة‪ ,‬ﻓﻜﻴﻒ ﺣﺪث هﺬا؟‬
‫ﻳﻘﻮم اﻟﻤﺎﺗﻼب ﺑﺮﺳﻢ أول داﻟﺔ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻷﺧﻴﺮة اﻟﺘﻲ ﺗﻢ رﺳﻢ اﻟﺪاﻟﺔ اﻟﺜﺎﻧﻴﺔ ﺑﻬﺎ‪ ,‬ﺛﻢ ﻳﻘﻮم ﺑﺮﺳﻢ اﻟﺪاﻟﺔ اﻟﺜﺎﻧﻴﺔ ﻓﻲ ﻧﺎﻓﺬة‬
‫ﺟﺪﻳﺪة ﺑﺴﺒﺐ وﺟﻮد اﻷﻣﺮ ‪ figure‬وﻟﺤﻞ هﺬﻩ اﻟﻤﺸﻜﻠﺔ ﻗﻢ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ close all‬ﺑﻌﺪ اﻷﻣﺮ ‪ clear‬ﺑﺤﻴﺚ ﻳﺘﻢ‬
‫إﻏﻼق أي ﻧﻮاﻓﺬ آﺎﻧﺖ ﻣﻔﺘﻮﺣﺔ ﻗﺒﻞ ذﻟﻚ ﻋﻨﺪ ﺗﺸﻐﻴﻞ اﻟﺒﺮﻧﺎﻣﺞ آﻞ ﻣﺮة وﺑﺎﻟﺘﺎﻟﻲ ﺳﻴﻜﻮن هﻨﺎﻟﻚ ﺛﻼﺛﺔ أواﻣﺮ ﻻﺑﺪ ﻣﻦ‬
‫إﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ آﻞ ﻣﺮة ﻳﺘﻢ ﻋﻤﻞ أي ﺑﺮﻧﺎﻣﺞ وهﻢ‬
‫‪clc‬‬
‫‪clear‬‬
‫‪close all‬‬
‫وهﺬا هﻮ اﻟﻤﺜﺎل اﻟﺬي ﺗﻢ ﻋﻤﻠﻪ ﻣﻨﺬ ﻗﻠﻴﻞ ﺑﻌﺪ اﻟﺘﻌﺪﻳﻞ‬
‫]‪[LINE]hr[/LINE‬‬
‫‪!Error‬‬

‫إﻧﺸﺎء رﺳﻮﻣﺎت ﻣﻨﻔﺼﻠﺔ ﻓﻲ ﻧﺎﻓﺬة واﺣﺪة‬


‫أﺧﺬﻧﺎ أﻧﻨﺎ ﺑﺈﻣﻜﺎﻧﻨﺎ أن ﻧﻘﻮم ﺑﻌﻤﻞ أآﺜﺮ ﻣﻦ رﺳﻤﺔ ﻋﻠﻰ ﻧﻔﺲ اﻟﻨﺎﻓﺬة‪ ,‬وﻟﻜﻦ هﻞ ﺗﺘﺨﻴﻞ أن ﻧﻘﻮم ﺑﻮﺿﻊ ﻋﺪة رﺳﻮﻣﺎت‬
‫ﻣﻨﻔﺼﻠﺔ ﻓﻲ ﻧﺎﻓﺬة واﺣﺪة‪ ,‬ﻓﻲ اﻟﺤﻘﻴﻘﺔ ﻳﻤﻜﻦ ذﻟﻚ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ subplot‬ﻗﺒﻞ آﻞ أﻣﺮ‪plot‬‬
‫ﻳﻌﻤﻞ اﻷﻣﺮ ‪ subplot‬ﻣﻦ ﺧﻼل ﺗﺤﺪﻳﺪ ﻋﺪد اﻟﺮﺳﻮﻣﺎت اﻟﺘﻲ ﺳﺘﻘﻮم ﺑﺈﻇﻬﺎرهﺎ‪ ,‬ﺣﻴﺚ ﻳﻘﻮم اﻷﻣﺮ ‪subplot‬ﻋﻠﻰ وﺿﻊ‬
‫اﻟﺼﻮر وآﺄﻧﻬﺎ ﻣﺼﻔﻮﻓﺔ أو ﻣﺘﺠﻪ‪ ,‬وﻳﺠﺐ ﻋﻨﺪ إﺳﺘﺨﺪام اﻷﻣﺮ ﻣﻌﺮﻓﺔ ﻋﺪد اﻟﺮﺳﻮﻣﺎت اﻟﺘﻲ ﺳﺘﻈﻬﺮهﺎ وآﻴﻔﻴﺔ وﺿﻌﻬﺎ‪,‬‬
‫وﻳﻔﻀﻞ إﺳﺘﺨﺪام اﻟﺸﻜﻞ اﻟﺘﺎﻟﻴﺔ ﻟﺘﺤﺪﻳﺪ اﻷﻣﺎآﻦ اﻟﺘﻲ ﺳﺘﻘﻮم ﺑﻮﺿﻊ اﻟﺮﺳﻮﻣﺎت ﺑﻬﺎ‬
‫ﺳﻨﺄﺧﺬ ﻣﺜﺎ ًﻻ‪ ,‬ﻟﻨﻘﻮل أن ﻟﺪﻳﻨﺎ ﻣﻌﺎدﻻت ﻳﺠﺐ رﺳﻤﻬﻤﺎ‪ ,‬وﺳﻨﻘﻮم ﺑﻮﺿﻌﻬﻤﺎ ﺑﺠﻮار ﺑﻌﻀﻬﻤﺎ آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬
‫ﻼ ﻟﻴﻜﻮن اﻟﻤﻌﻨﻰ ﻗﺪ وﺿﺢ ﺗﻤﺎﻣ ًﺎ‬
‫واﻷن ﺳﻨﻘﻮم ﺑﻮﺿﻊ اﻟﺒﺮﻧﺎﻣﺞ آﺎﻣ ً‬

‫‪!Error‬‬

‫وﺳﺘﻜﻮن اﻟﺮﺳﻤﺔ اﻟﻨﻬﺎﺋﻴﺔ آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬


‫ﺗﺴﻤﻴﺔ اﻟﻤﺤﺎور‬
‫ﻼ إذا أردﻧﺎ أن ﻧﻘﻮم ﺑﺘﺴﻤﻴﺔ ﻣﺤﻮر اﻟﺴﻴﻨﺎت‪X-‬‬
‫ﺳﻨﻘﻮم اﻵن ﺑﺘﻨﻔﻴﺬ اﻟﺠﺰء ﻗﺒﻞ اﻷﺧﻴﺮ ﻣﻦ اﻟﺪورة وهﻮ ﺗﻤﻴﺔ اﻟﻤﺤﺎور‪ ,‬ﻓﻤﺜ ً‬
‫‪Axis‬ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ xlabel‬وإذا أردﻧﺎ أن ﻧﻘﻮم ﺑﺘﺴﻤﻴﺔ ﻣﺤﻮر اﻟﺼﺎدات ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ ylabel‬ﺣﻴﺚ‬
‫ﻳﺄﺧﺬ آﻼ اﻷﻣﺮﻳﻦ ﺻﻮرة واﺣﺪة وهﻲ آﺎﻟﺘﺎﻟﻲ‬
‫]‪[LINE]hr[/LINE‬‬

‫]‪[LINE]hr[/LINE‬‬
‫ﻧﻔﺲ اﻟﺸﺊ ﻳﺘﻢ ﺗﻄﺒﻴﻘﻪ ﻋﻠﻰ ﻣﺤﻮر اﻟﺼﺎدات‪ylabel‬‬
‫وﻟﻨﻘﻮم اﻵن ﺑﻌﻤﻞ ﻣﺜﺎل ﺗﻄﺒﻴﻘﻲ‬
[LINE]hr[/LINE]
!Error

[LINE]hr[/LINE]
‫وﺑﺎﻟﺘﺎﻟﻲ ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
[LINE]hr[/LINE]
‫]‪[LINE]hr[/LINE‬‬

‫وﺿﻊ ﻧﺺ ﻋﻠﻰ ﻧﻘﻄﺔ أو أآﺜﺮ داﺧﻞ اﻟﺮﺳﻢ‬


‫ﻳﻤﻜﻦ إﺿﺎﻓﺔ ﻧﺺ ﻋﻠﻰ ﻧﻘﻄﺔ أو أآﺜﺮ ﻋﻠﻰ اﻟﺮﺳﻢ‪ ,‬وذﻟﻚ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ text‬وﻳﺄﺧﺬ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫‪!Error‬‬

‫وﺳﻨﺄﺧﺬ ﻣﺜﺎ ًﻻ ﺑﺴﻴﻄ ًﺎ ﻓﻲ آﻴﻔﻴﺔ إﻳﺠﺎد اﻟﺮﻗﻢ اﻷآﺒﺮ‪ ,‬ﺛﻢ وﺿﻊ داﺋﺮة ﺣﻤﺮاء ﺣﻮل اﻟﻨﻘﻄﺔ اﻟﻌﻈﻤﻰ ووﺿﻊ آﻠﻤﺔ‬
‫‪maximum point‬‬
‫وﻟﻜﻦ دﻋﻮﻧﺎ ﻧﻘﻮم ﺑﺸﺮح اﻷﻣﺮ اﻟﻬﺎم ‪ find‬هﺬا اﻷﻣﺮ ﻳﻘﻮم ﺑﺈﻳﺠﺎد ﻣﻜﺎن اﻟﻌﻨﺼﺮ داﺧﻞ اﻟﻤﺘﺠﻪ ﺑﻤﺠﺮد ﺗﺤﺪﻳﺪ ﺧﺼﺎﺋﺺ هﺬا‬
‫ﻼ ﺳﻨﻘﻮم ﺑﻌﻤﻞ داﻟﺔ وﺳﻨﺒﺤﺚ ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﺑﻴﻨﻬﺎ آﻤﺎ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ‬
‫اﻟﻌﻨﺼﺮ‪ ,‬ﻓﻤﺜ ً‬
‫]‪[LINE]hr[/LINE‬‬
‫‪!Error‬‬
‫]‪[LINE]hr[/LINE‬‬

‫ﻣﺎﺗﺒﻘﻰ ﻣﻦ دروس اﻟﺪورة ﺑﺈذن اﷲ‬


‫اﻟﺘﺎﻟﻲ‬
‫‪--------------------------------------------------‬‬
‫‪legend‬‬
‫‪opening an empty figure and determining its size‬‬
‫‪ginput‬‬
‫‪Three Dimensional Plotting‬‬
‫ﺑﻌﺾ اﻷﻣﺜﻠﺔ اﻟﺘﻄﺒﻴﻘﻴﺔ‬

‫اﻷﻣﺮ‪legend‬‬
‫ﻼ ﺳﻨﻘﻮم ﺑﻮﺿﻊ اﻷﻣﺮ‬
‫ﻳﺴﺘﺨﺪم هﺬا اﻷﻣﺮ ﻓﻲ وﺿﻊ دﻟﻴﻞ ﻋﻠﻰ ﺻﻔﺤﺔ اﻟﺮﺳﻢ ﻟﻴﺒﻴﻦ ﻣﺎذا ﻳﻌﻨﻲ آﻞ ﻟﻮن ﻋﻠﻰ اﻟﺮﺳﻢ‪ ,‬ﻓﻤﺜ ً‬
‫‪legend‬ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻋﻠﻤ ًﺎ أن هﺬا اﻷﻣﺮ ﻻﺑﺪ ﻣﻦ أن ﻳﺄﺧﺬ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫وﻳﻤﻜﻦ آﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ ﻋﻠﻰ اﻟﻤﺎﺗﻼب‬


‫]‪[LINE]hr[/LINE‬‬
‫ﻼ اﻟﻤﺜﺎل اﻟﺬي ﺳﺒﻖ أﺧﺬﻩ آﺎن‬‫آﻤﺎ ﺗﺮى ﻓﺈن اﻷﻣﺮ ‪ legend‬ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﻋﺪد اﻟﻌﻼﻗﺎت اﻟﻤﺮﺳﻮﻣﺔ داﺧﻞ اﻟﺮﺳﻢ‪ ,‬ﻓﻤﺜ ً‬
‫ﻳﺴﺘﺨﺪم ﻓﻲ رﺳﻢ ﻋﻼﻗﺔ ﺛﻢ إﻳﺠﺎد اﻟﻨﻘﻄﺔ اﻟﻌﻈﻤﻰ أي أن ﻋﺪد اﻟﻌﻼﻗﺎت اﻟﻤﺮﺳﻮﻣﺔ إﺛﻨﺘﺎن‪ ,‬وﺑﺎﻟﺘﺎﻟﻲ ﺗﺘﻢ ﺑﺮﻣﺠﺘﻪ ﺑﺎﻟﺸﻜﻞ‬
‫اﻟﺘﺎﻟﻲ‬
[LINE]hr[/LINE]

[LINE]hr[/LINE]
‫وﺑﺎﻟﺘﺎﻟﻲ ﺗﻜﻮن اﻟﺮﺳﻤﺔ آﺎﻟﺘﺎﻟﻲ‬
[LINE]hr[/LINE]
‫ﻓﺘﺢ ﻧﺎﻓﺬة ﺟﺪﻳﺪة وﺗﺤﺪﻳﺪ دﻗﺘﻬﺎ‬
‫ﻳﻌﻄﻲ اﻟﻤﺎﺗﻼب اﻟﻘﺪرة ﻋﻠﻰ ﻓﺘﺢ ﻧﺎﻓﺬة ﺟﺪﻳﺪة وﺗﺤﺪﻳﺪ اﻟﻘﻴﻢ اﻟﻌﻈﻤﻰ واﻟﺼﻐﺮى ﻟﻤﺤﻮر اﻟﺴﻴﻨﺎت وآﺬﻟﻚ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻤﺤﻮر‬
‫اﻟﺼﺎدات‪ ,‬وذﻟﻚ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ axis,‬واﻟﺬي ﻳﺄﺧﺬ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻓﻲ آﺘﺎﺑﺘﻪ‬
‫‪!Error‬‬

‫ﻣﺜﺎل ﺗﻄﺒﻴﻘﻲ‬
‫ﻗﻢ ﺑﻔﺘﺢ ﻧﺎﻓﺬة ﻟﻠﺮﺳﻢ ﺑﺤﻴﺚ ﺗﻜﻮن ﺑﺎﻟﻤﻮاﺻﻔﺎت اﻟﺘﺎﻟﻴﺔ‬
‫‪١-‬أﻗﻞ ﻗﻴﻤﺔ ﻟﻤﺤﻮر اﻟﺴﻴﻨﺎت هﻲ‪١٠-‬‬
‫‪٢-‬أآﺒﺮ ﻗﻴﻤﺔ ﻟﻤﺤﻮر اﻟﺴﻴﻨﺎت هﻲ ‪١٠‬‬
‫‪٣-‬أﻗﻞ ﻗﻴﻤﺔ ﻟﻤﺤﻮر اﻟﺼﺎدات ‪-١٠‬‬
‫‪٤-‬أآﺒﺮ ﻗﻴﻤﺔ ﻟﻤﺤﻮر اﻟﺼﺎدات ‪١٠‬‬
‫ﺧﻄﻮات اﻟﺤﻞ‬
‫ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ ﻗﻢ ﺑﺈدﺧﺎل اﻟﺘﺎﻟﻲ‬
‫آﻴﻔﻴﺔ إدﺧﺎل اﻟﻨﻘﺎط ﻣﻦ ﺧﻼل اﻟﻤﺎوس‬
‫ﺗﻌﻠﻤﻨﺎ أﻧﻪ ﻳﻤﻜﻨﻨﺎ إدﺧﺎل اﻟﻘﻴﻢ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺘﺠﻬﺎت أو اﻟﻤﺼﻔﻮﻓﺎت‪ ,‬وﻟﻜﻦ ﻳﻮﻓﺮ اﻟﻤﺎﺗﻼب ﻗﺪرة ﻓﻲ إدﺧﺎل اﻟﻨﻘﺎط ﻣﻦ ﺧﻼل‬
‫اﻟﺮﺳﻢ ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎوس‪ ,‬وﻧﻈﺮًا ﻷﻧﻨﺎ ﻧﻘﻮم ﺑﺈﺧﺘﻴﺎر اﻟﻨﻘﺎط ﻣﻦ ﻋﻠﻰ اﻟﺮﺳﻢ ﻓﻬﺬا ﻳﻌﻨﻲ أن اﻟﻨﻘﺎط اﻟﺘﻲ ﻳﺘﻢ إﺧﺘﻴﺎرهﺎ ﻳﺘﻢ‬
‫ﺗﻤﺜﻴﻠﻬﺎ ﻓﻲ ﻗﻴﻤﺔ ﻓﻲ ﻣﺤﻮر اﻟﺴﻴﻨﺎت وﻗﻴﻤﺔ ﻓﻲ ﻣﺤﻮر اﻟﺼﺎدات‪ ,‬وﻳﺘﻢ وﺿﻊ ﻗﻴﻢ ﻣﺤﺎور اﻟﺴﻴﻨﺎت واﻟﺼﺎدات ﻓﻲ ﺻﻮرة‬
‫ﻣﺘﺠﻪ‪.‬‬
‫ﻳﺴﺘﺨﺪم اﻷﻣﺮ ‪ ginput‬ﻓﻲ ﻋﻤﻠﻴﺔ إدﺧﺎل اﻟﻨﻘﺎط ﺑﺈﺳﺘﺨﺪام اﻟﻤﺎوس‪ ,‬وﻳﺘﻢ آﺘﺎﺑﺔ ذﻟﻚ اﻷﻣﺮ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫اﻟﺮﺳﻢ ﺛﻼﺛﻲ اﻷﺑﻌﺎد‬
‫ﻼ ﻣﻦ ‪ X & Y‬ﻳﻤﺜﻼن‬ ‫آﻤﺎ ﺗﻌﻠﻤﻨﺎ أن اﻟﺮﺳﻢ ﺛﻼﺛﻲ اﻷﺑﻌﺎد ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﺛﻼﺛﺔ ﻣﺤﺎور ﻟﺮﺳﻤﻬﺎ‪ ,‬ﻣﺤﻮر ‪ X , Y & Z ,‬وأن آ ً‬
‫اﻟﻤﺴﺘﻮى اﻷﻓﻘﻲ‪ ,‬وأن اﻟﻤﺤﻮر ‪ Z‬ﻳﻤﺜﻞ اﻹرﺗﻔﺎع‪ ,‬وﻟﻜﻦ ﺗﻠﻚ اﻟﻘﻴﻢ هﻲ ﻗﻴﻢ اﻟﻨﻘﺎط اﻟﻤﻮﺟﻮدة اﻟﻤﺤﺎور‪ ,‬وﻟﻜﻦ ﺣﺘﻰ ﻳﺘﻢ رﺳﻢ‬
‫أي ﻧﻘﻄﺔ ﻓﻲ اﻟﻤﺴﺘﻮى اﻷﻓﻘﻲ ﻳﺠﺐ أن ﻧﻘﻮم ﺗﻌﺮﻳﻒ ذﻟﻚ ﻟﻠﻤﺎﺗﻼب وذﻟﻚ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ‪ meshgrid‬ﺣﻴﺚ ﻳﻘﻮم‬
‫اﻟﻤﺎﺗﻼب ﺑﺈﻧﺘﺎج ﻣﺼﻔﻮﻓﺔ ﻳﺘﻢ ﺗﻜﺮار ﻗﻴﻢ ﻣﺤﻮر اﻟﺴﻴﻨﺎت ‪ X-Axis‬ﺑﻨﻔﺲ ﻃﻮل ﻣﺤﻮر اﻟﺼﺎدات ‪ Y-Axis,‬آﻤﺎ ﻳﻘﻮم‬
‫ﺑﺘﻜﺮار ﻗﻴﻢ ﻣﺤﻮر اﻟﺼﺎدات ‪ Y-Axis‬ﺑﻨﻔﺲ ﻃﻮل ﻗﻴﻢ اﻟﺴﻴﻨﺎت ‪ X-Axis,‬وﺑﻬﺬا ﺗﻜﻮن اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺘﻜﻮﻧﺔ هﻲ اﻟﻤﺴﺘﻮى‬
‫اﻷﻓﻘﻲ آﻤﺎ هﻮ واﺿﺢ ﺑﺎﻟﺮﺳﻢ اﻟﺘﺎﻟﻲ‪.‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺮﺳﻤﺔ اﻟﻨﺎﺗﺠﺔ ﺗﻜﻮن آﺎﻟﺘﺎﻟﻲ‬

‫أﻋﺘﻘﺪ أﻧﻚ ﺗﻼﺣﻆ اﻟﻔﺮق اﻵن‬


‫ﻣﻼﺣﻈﺔ آﻠﻤﺎ زادت ﻋﺪد اﻟﻨﻘﺎط آﻠﻤﺎ زاد اﻟﻮﻗﺖ اﻟﻤﺴﺘﻐﺮق ﻹﻇﻬﺎر اﻟﻨﺘﺎﺋﺞ ﻓﻲ اﻟﻤﺎﺗﻼب‬

‫وهﺬا ﻣﻠﺨﺺ ﻟﻸﻣﺜﻠﺔ اﻟﺘﻄﺒﻴﻘﻴﺔ اﻟﺘﻲ ﺳﻴﺘﻢ أﺧﺬهﺎ ﺑﺈذن اﷲ‪.‬‬


‫‪١-‬آﻴﻔﻴﺔ إدﺧﺎل ﺛﻼث ﻣﻌﺎدﻻت وإﻳﺠﺎد ﻗﻴﻢ اﻟﻤﺘﻐﻴﺮات‬
‫‪٢- Curve Fitting‬‬
‫‪٣-‬ﻧﻘﻞ اﻟﻤﺤﺎور‬
‫‪٤-‬إﻳﺠﺎد ﻧﻘﻂ ﺗﻘﺎﻃﻊ اﻟﺮﺳﻤﺔ ﻣﻊ ﻣﺤﻮر اﻟﺴﻴﻨﺎت ووﺿﻊ ﻋﻼﻣﺔ ﻋﻠﻴﻬﺎ‬
‫‪٥-‬إﺧﺘﻴﺎر ﻧﻘﻄﺘﺎن ﻣﻦ ﻋﻠﻰ اﻟﺮﺳﻢ ‪,‬وإﻳﺠﺎد اﻟﻤﺴﺎﺣﺔ ﺗﺤﺖ اﻟﻤﻨﺤﻨﻰ ﺑﻴﻦ ﺗﻠﻚ اﻟﻨﻘﻄﺘﻴﻦ‬

‫وﺳﻨﺘﻨﺎول اﻵن اﻟﻤﺜﺎل اﻷول‬

‫‪EVAL‬‬
‫ﻗﺒﻞ اﻟﺒﺪء ﺑﺎﻟﺘﻄﺒﻴﻖ اﻷول‪ ,‬ﻻﺑﺪ ﻣﻦ ذآﺮ أﻣﺮ هﺎم وهﻮ اﻷﻣﺮ ‪ eval‬واﻟﺬي ﻟﻪ هﺪف أآﺜﺮ ﻣﻦ راﺋﻊ ﺳﻴﺘﻀﺢ ﺑﻤﺜﺎل‪ ,‬ﻟﻨﻘﻞ أن‬
‫ﻟﺪﻳﻨﺎ ﻣﻌﺎدﻟﺔ ﺟﻴﺐ اﻟﺰاوﻳﺔ ‪ Sine Wave‬وﻟﻜﻦ ﺗﻢ وﺿﻌﻬﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻓﻲ اﻟﻤﺎﺗﻼب‬

‫وﻟﻠﺘﺄآﺪ أﻧﻬﺎ ﻓﻲ ﺻﻮرة ‪ string‬ﻳﺠﺐ اﻟﺬهﺎب إﻟﻰ اﻟــ‪Workspace‬‬

‫وﻟﺮﺳﻢ ﻣﻮﺟﺔ ﺟﻴﺐ اﻟﺰاوﻳﺔ ﻻﺑﺪ ﻣﻦ ﺗﻌﺮﻳﻒ ﻗﻴﻢ ‪ t‬واﻟﺘﻌﻮﻳﺾ ﻓﻴﻬﺎ‪ ,‬وﻟﻜﻦ آﻤﺎ ﺗﺮون ﻳﺼﻌﺐ اﻟﺘﻌﻮﻳﺾ ﻓﻲ اﻟﻤﻌﺎدﻟﺔ ﺑﺴﺒﺐ‬
‫وﺟﻮدهﺎ ﺑﻴﻦ ﻗﻮﺳﻴﻦ‪ ,‬وﺗﻠﻚ اﻷﻗﻮاس هﻲ ﺑﻤﺜﺎﺑﺔ ﺣﺎﺟﺰ ﻟﻠﺘﻌﻮﻳﺾ‪ ,‬وهﻨﺎ ﻳﺠﺐ أن ﻧﺨﺘﺮق ذﻟﻚ اﻟﺤﺎﺟﺰ وذﻟﻚ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ‬
‫‪eval,‬ﺣﻴﺚ ﻳﻌﻤﻞ اﻷﻣﺮ ﻋﻠﻰ اﻟﺒﺤﺚ ﻋﻦ اﻟﻤﻌﺎدﻟﺔ ﺑﻴﻦ اﻷﻗﻮاس‪ ,‬ﺛﻢ ﻳﺒﺤﺚ ﻋﻦ اﻟﻘﻴﻢ اﻟﺘﻲ ﺳﻮف ﻳﺘﻢ ﺗﻌﻮﻳﻀﻬﺎ ﻓﻲ ﺗﻠﻚ‬
‫اﻟﻤﻌﺎدﻟﺔ‪ ,‬وﺳﻮف ﻳﺘﻢ آﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ آﺎﻟﺘﺎﻟﻲ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫‪!Error‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﺘﻈﻬﺮ اﻟﻨﺘﻴﺠﺔ آﺎﻟﺘﺎﻟﻲ‬
‫وﻧﺤﻦ اﻵن ﻋﻠﻰ أﺗﻢ إﺳﺘﻌﺪاد ﻟﺘﻨﻔﻴﺬ اﻟﺘﻄﺒﻴﻖ اﻷول‬

‫ﺣﻞ ﺛﻼﺛﺔ ﻣﻌﺎدﻻت‬


‫ﻼ اﻟﻤﻌﺎدﻟﺘﺎن اﻟﺘﺎﻟﻴﺘﻴﻦ‬
‫آﻤﺎ ﺗﻌﻠﻤﻨﺎ أن اﻟﻤﺎﺗﻼب ﻟﻪ اﻟﻘﺪرة ﻋﻠﻰ إدﺧﺎل ﺣﻞ اﻟﻤﻌﺎدﻻت‪ ,‬ﻓﻤﺜ ً‬

‫وﻳﻤﻜﻦ آﺘﺎﺑﺔ ذﻟﻚ ﻋﻠﻰ اﻟﻤﺎﺗﻼب آﺎﻟﺘﺎﻟﻲ‬


‫وﻟﺬﻟﻚ ﻳﺠﺐ اﻟﺘﻔﻜﻴﺮ آﺎﻟﺘﺎﻟﻲ‪ ,‬ﻋﻨﺪﻣﺎ ﻳﻘﻮم اﻟﻤﺴﺘﺨﺪم ﺑﺈدﺧﺎل اﻟﻤﻌﺎدﻻت اﻟﺜﻼﺛﺔ‪ ,‬ﻳﺠﺐ ﻋﻠﻰ اﻟﻤﺎﺗﻼب أن ﻳﺤﺪد ﻗﻴﻢ اﻟﻤﻌﺎﻣﻼت‬
‫ﻼ ﻟﻬﺬﻩ اﻟﻤﺸﻜﻠﺔ ﺳﻨﺠﻌﻞ اﻟﻤﺎﺗﻼب ﻳﺒﺤﺚ ﻋﻦ ﻋﻼﻣﺔ"="‬ ‫أو ًﻻ ﻹﻳﺠﺎد ﺣﻞ ﻗﻴﻢ اﻟﻤﺘﻐﻴﺮات ‪,‬وﺣ ً‬
‫ﻟﻜﻞ ﻣﻌﺎدﻟﺔ‪ ,‬ﺛﻢ ﺳﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﺠﺰء اﻟﺬي ﻳﺤﺘﻮى ﻋﻠﻰ اﻟﻤﺘﻐﻴﺮات ﻟﻜﻞ ﻣﻌﺎدﻟﺔ‪ ,‬ﺛﻢ ﺳﻨﻘﻮم ﺑﻔﺮض أن‬
‫‪x=١ , y=٠,z=٠‬‬
‫وﻣﻨﻬﺎ ﻧﺤﺼﻞ ﻋﻠﻰ ﻗﻴﻢ ﻣﻌﺎﻣﻼت ‪ x‬ﻓﻲ اﻟﻤﻌﺎدﻻت اﻟﺜﻼﺛﺔ‬
‫ﺛﻢ ﺳﻨﻔﺮض أن‪x=٠, y=١, z=٠‬‬
‫وﻣﻨﻬﺎ ﻧﺤﺼﻞ ﻋﻠﻰ ﻗﻴﻢ ﻣﻌﺎﻣﻼت ‪ y‬ﻓﻲ اﻟﻤﻌﺎدﻻت اﻟﺜﻼﺛﺔ‬
‫ﺛﻢ ﺳﻨﻔﺮض أن‪x=٠,y=٠,z=١‬‬
‫وﻣﻨﻬﺎ ﻧﺤﺼﻞ ﻋﻠﻰ ﻗﻴﻢ ﻣﻌﺎﻣﻼت ‪ z‬ﻓﻲ اﻟﻤﻌﺎدﻻت اﻟﺜﻼﺛﺔ‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﻧﻜﻮن ﻗﺪ ﺣﺼﻠﻨﺎ ﻋﻠﻰ ﻣﻌﺎﻣﻼت اﻟﻤﻌﺎدﻻت اﻟﺜﻼﺛﺔ‪ ,‬ﻟﻢ ﻳﺘﺒﻘﻰ ﺳﻮى إﻳﺠﺎد ﻗﻴﻢ ﻣﻌﺎﻣﻼت ‪ D‬وﺳﻮف ﻳﺘﻢ ﺗﻮﺿﻴﺢ ذﻟﻚ‬
‫ﻋﻨﺪ آﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻠﻰ اﻟﻤﺎﺗﻼب‪.‬‬
‫‪!Error‬‬

‫وﺳﻨﻘﻮم اﻵن ﺑﻮﺿﻊ ﺛﻼﺛﺔ ﻣﻌﺎدﻻت آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﺘﻜﻮن اﻟﻨﺘﺎﺋﺞ آﺎﻟﺘﺎﻟﻲ‬


‫‪Zero Crossing‬‬
‫ﻓﻲ هﺬا اﻟﻤﺜﺎل اﻟﻬﺎم ﺳﻨﻘﻮم ﺑﺸﺮح آﻴﻔﻴﺔ رﺳﻢ ﻣﻌﺎدﻟﺔ‪ ,‬ووﺿﻊ داﺋﺮة زرﻗﺎء ﻋﻠﻰ ﻣﻨﺎﻃﻖ ﺗﻘﺎﻃﻌﻬﺎ ﻣﻊ ﻣﺤﻮر اﻟﺴﻴﻨﺎت ‪,‬‬
‫واﻟﺘﻲ ﻳﺠﺐ أن ﺗﺄﺧﺬ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬
‫وﺳﺘﻜﻮن اﻟﺮﺳﻤﺔ اﻟﻨﺎﻟﺘﺠﺔ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫ﻓﻤﺎ ﺳﺒﺐ هﺬﻩ اﻟﻤﺸﻜﻠﺔ‪ ,‬ﺣﻘﻴﻘﺔ ﺳﺒﺒﻬﺎ ﻣﺎ ﻳﺴﻤﻰ ﺑــ ‪ Digital Domain,‬ﻓﻤﺎ هﻮ‪Digital Domain‬‬
‫ﻣﻌﻨﻰ ذﻟﻚ أن أي ﻣﻌﺎدﻟﺔ ﻳﺘﻢ رﺳﻤﻬﺎ ﻟﻴﺴﺖ ﻋﺒﺎرة ﻋﻦ ﺧﻂ ﻣﺘﺼﻞ وإﻧﻤﺎ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻨﻘﺎط‪ ,‬ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻋﺪد اﻟﻨﻘﺎط اﻟﺘﻲ‬
‫ﻼ إذا ﻗﻤﻨﺎ ﺑﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﻟﺮﺳﻢ داﻟﺔ اﻟﺠﻴﺐ ‪sine wave‬‬ ‫ﺗﻢ إﺧﺘﻴﺎرهﺎ ﻓﻲ ﻟﺮﺳﻢ اﻟﺪاﻟﺔ‪ ,‬ﺛﻢ اﻟﺘﻮﺻﻴﻞ ﺑﻴﻦ ﺗﻠﻚ اﻟﻨﻘﺎط‪ ,‬ﻓﻤﺜ ً‬
‫ﺑﻌﺪد ﻧﻘﺎط ﻗﻠﻴﻞ ‪,‬آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﺘﺠﺪ اﻟﺪاﻟﺔ ﺑﻬﺬا اﻟﺸﻜﻞ‬


‫وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺮﺳﻤﺔ اﻟﻨﺎﺗﺠﺔ‪ ,‬ﺗﻜﻮن ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫وهﺬا ﻣﺎ ﻳﺴﻤﻰ ‪ Digital Domain‬واﻵن ﻟﻨﻘﻢ ﺑﺰﻳﺎدة ﻋﺪد اﻟﻨﻘﺎط ﻓﻲ ﻧﻔﺲ اﻟﺒﺮﻧﺎﻣﺞ‬

‫وﺗﻜﻮن اﻟﺮﺳﻤﺔ آﺎﻟﺘﺎﻟﻲ‬


‫ﺷﺎهﺪ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫آﻞ ﻣﺎ ﻋﻠﻴﻨﺎ هﻮ ﺿﺮب آﻞ ﻧﻘﻄﺔ ﻓﻲ اﻟﻨﻘﻄﺔ اﻟﺘﻲ ﺗﻠﻴﻬﺎ‪ ,‬وذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ ﺗﻌﺮﻳﻒ ‪ y‬ﺛﻢ ﺗﻌﺮﻳﻒ ﻧﻔﺲ اﻟﺪاﻟﺔ‪ ,‬وﻟﻜﻦ ﻣﺘﻘﺪﻣﺔ‬
‫ﻼ إذا آﺎﻧﺖ ﻗﻴﻤﺔ ‪ y‬آﺎﻵﺗﻲ‬
‫ﻋﻨﻬﺎ ﺑﺮﻗﻢ واﺣﺪ‪ ,‬ﺛﻢ ﺿﺮﺑﻬﻢ ﻣﻌ ًﺎ‪ ,‬ﻓﻤﺜ ً‬

‫ﺛﻢ ﺳﻨﻘﻮم ﺑﺈﺿﺎﻓﺔ رﻗﻢ ﻟﻴﺘﻢ ﺗﺤﺮﻳﻚ ﺗﻠﻚ اﻟﻘﻴﻢ‪ ,‬وﻳﻔﻀﻞ أن ﻳﻜﻮن اﻟﺮﻗﻢ ﺻﻔﺮًا‪ ,‬آﻤﺎ ﺳﻴﺘﻢ ﺣﺬف اﻟﺮﻗﻢ اﻷﺧﻴﺮ ﺣﻴﺚ أﻧﻬﺎ‬
‫ﺳﺘﻜﻮن أﻃﻮل ﺑﻌﺪد واﺣﺪ ﻓﻘﻂ ﻣﻦ اﻟﺪاﻟﺔ اﻷﺻﻠﻴﺔ ﻣﻤﺎ ﺳﻴﺘﺮﺗﺐ ﻋﻠﻴﻪ ﺧﻄﺄ داﺧﻞ اﻟﻤﺎﺗﻼب وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺪاﻟﺔ اﻟﺠﺪﻳﺪة‬
‫ﺳﺘﻜﻮن ﻣﺘﺄﺧﺮة ﺑﺮﻗﻤﻬﻲ‬

‫واﻵن ﺳﻨﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻟﺘﺪرﻳﺞ اﻟﺘﺎﻟﻲ‬


‫‪!Error‬‬
‫إﻳﺠﺎد اﻟﻤﺴﺎﺣﺔ ﺗﺤﺖ اﻟﻤﻨﺤﻨﻰ‬
‫هﺬا اﻟﻤﺜﺎل ﻣﻦ اﻟﺘﻄﺒﻴﻘﺎت اﻟﻬﺎﻣﺔ‪ ,‬ﺣﻴﺚ ﺳﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﻤﺪﺧﻼت ورﺳﻢ اﻟﺪاﻟﺔ‪ ,‬ﺛﻢ ﺳﻨﺨﺘﺎر ﻧﻘﻄﺘﺎن ﻧﻘﻄﺘﺎن ﻣﻦ ﻋﻠﻰ‬
‫اﻟﺮﺳﻢ‪ ,‬ﺛﻢ ﺳﻨﻘﻮم ﺑﺈﻳﺠﺎد اﻟﻤﺴﺎﺣﺔ ﺑﻴﻦ ﺗﻠﻚ اﻟﻨﻘﻄﺘﻴﻦ‪ ,‬وﻧﻘﻮم ﺑﺘﻈﻠﻴﻞ اﻟﺠﺰء اﻟﻤﺨﺘﺎر‪ ,‬وﻟﻜﻦ ﺳﻨﻘﻮم ﻓﻲ هﺬا اﻟﻤﺜﺎل ﺑﺈﺳﺘﺨﺪام‬
‫أﻣﺮﻳﻦ ﺟﺪﻳﺪﻳﻦ وهﻤﺎ‬
‫‪trapz‬ﻹﻳﺠﺎد اﻟﻤﺴﺎﺣﺔ ﺗﺤﺖ اﻟﻤﻨﺤﻨﻰ‬
‫‪area‬ﻟﺘﻈﻠﻴﻞ ﺗﻠﻚ اﻟﻤﺴﺎﺣﺔ ﻣﻦ اﻟﺪاﻟﺔ‬
‫وﺳﻨﻘﻮم ﺑﺸﺮح اﻷﻣﺮ‪area‬‬
‫ﺣﻴﺚ ﻳﺄﺧﺬ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫وﺳﻨﻘﻮم ﺑﺘﻨﻔﻴﺬ ﻣﺜﺎل ﺑﺴﻴﻂ ﻋﻠﻰ اﻟﻤﺎﺗﻼب ﺑﺮﺳﻢ داﻟﺔ اﻟﺠﻴﺐ ﺛﻢ ﺗﻈﻠﻴﻞ ﺗﻠﻚ اﻟﺪاﻟﺔ‬
‫اﻵن ﻧﺘﻮﺟﻪ إﻟﻰ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﻧﺮﻳﺪ ﺗﻨﻔﻴﺬﻩ‪ ,‬ﺳﻨﻘﻮم ﺑﺈدﺧﺎل اﻟﻤﺪﺧﻼت ‪ inputs‬ﺛﻢ ﺳﻨﻘﻮم ﺑﺎﻟﺘﻌﻮﻳﺾ ﺑﻬﺎ ﻓﻲ اﻟﻤﺨﺮﺟﺎت‬
‫‪outputs‬ﺛﻢ ﺳﻨﻘﻮم ﺑﺈﺧﺘﻴﺎر اﻟﻨﻘﻄﺘﺎن ﻣﻦ ﻋﻠﻰ اﻟﺮﺳﻤﺔ‪ ,‬ﺛﻢ ﺳﻨﻮﺟﺪ اﻟﻤﺴﺎﺣﺔ ﺗﺤﺖ اﻟﻤﻨﺤﻨﻰ ﺑﻴﻦ ﺗﻠﻚ اﻟﻨﻘﻄﺘﻴﻦ‪ ,‬ﺛﻢ‬
‫ﺳﻨﻘﻮم ﺑﺘﻈﻠﻴﻞ اﻟﻤﺴﺎﺣﺔ ﺑﻴﻦ اﻟﻨﻘﺘﻄﻴﻦ‪.‬‬
‫‪!Error‬‬
‫وﺑﻬﺬا ﻳﻜﻮن اﻟﺘﻄﺒﻴﻖ اﻟﺜﺎﻟﺚ ﻗﺪ ﺗﻢ ﺑﻨﺠﺎح‬
‫اﻟﺘﻄﺒﻴﻖ اﻟﺮاﺑﻊ واﻷﺧﻴﺮ ﻓﻲ هﺬﻩ اﻟﺪورة ﺳﻴﺘﻢ ﺗﻨﻔﻴﺬﻩ اﻟﻤﺸﺎرآﺔ اﻟﻘﺎدﻣﺔ‬

‫‪Curve Fitting‬‬
‫ﺳﻨﻘﻮم اﻵن ﺑﺄﺧﺬ اﻟﻤﺜﺎل اﻟﺘﻄﺒﻘﻲ اﻟﺜﺎﻟﺚ واﻷﺧﻴﺮ وهﻮ ‪ Curve Fitting‬ﺣﻴﺚ أن هﺬﻩ اﻟﻌﻤﻠﻴﺔ هﺎﻣﺔ ﺟﺪًا ﻓﻲ إﻳﺠﺎد‬
‫ﻼ ﻋﻨﺪ إدﺧﺎل ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻤﺪﺧﻼت ‪ inputs‬ﺳﻨﻼﺣﻆ أن اﻟﺨﺮج ‪ outputs‬ﺗﺄﺧﺬ‬ ‫ﻋﻼﻗﺔ ﻣﻜﺎﻓﺄة ﻷي ﻧﻈﺎم‪ ,‬ﻓﻤﺜ ً‬
‫ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻨﻘﺎط اﻟﻤﺘﺸﺘﺘﺔ اﻟﺘﻲ ﻻ ﺗﺠﻤﻌﻬﺎ ﻋﻼﻗﺔ ﻣﺤﺪدة‪ ,‬أﻣﺎ ﻋﻨﺪ إﺳﺘﺨﺪام ‪ curve fitting‬ﺳﻨﻼﺣﻆ ﺗﻜﻮن ﻋﻼﻗﺔ‬
‫ﺗﻘﺮﻳﺒﻴﺔ ﻟﺘﻮﺻﻴﻒ اﻟﻨﻈﺎم‪.‬‬
‫وهﺬﻩ ﺻﻮرة ﻟﻤﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻨﻘﺎط اﻟﺨﺎرﺟﺔ ﻣﻦ اﻟﻨﻈﺎم ﻻ ﺗﺠﻤﻌﻬﺎ أي ﻋﻼﻗﺔ‬

‫وﻟﻜﻦ ﺳﻨﻘﻮم ﺑﺸﺮح أﻣﺮﻳﻦ وهﻤﺎ ‪ ones‬و ‪ zeros‬واﻟﻠﺬان ﻟﻬﻤﺎ اﻟﻘﺪرة اﻟﺘﺎﻟﻴﺔ‬
‫‪ones‬ﻳﺴﺘﻄﻴﻊ أن ﻳﻜﻮن ﻣﺼﻔﻮﻓﺔ أو ﻣﺘﺠﻪ ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮﻩ ‪١‬‬
‫‪zeros‬ﻳﺴﺘﻄﻴﻊ أن ﻳﻜّﻮن ﻣﺼﻔﻮﻓﺔ أو ﻣﺘﺠﻪ ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮﻩ ﺻﻔﺮ‬
‫ﻻﺣﻆ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ﻓﻲ ﻃﺮﻳﻘﺔ آﺘﺎﺑﺔ آﻼ اﻷﻣﺮﻳﻦ‬
‫ﻣﺸﺎهﺪة اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻓﻜﻤﺎ هﻮ واﺿﺢ ﻓﻲ اﻟﻤﺜﺎل آﻞ ﻗﻴﻤﺔ ﻓﻲ ﻣﺤﻮر اﻟﺴﻴﻨﺎت ﻟﻬﺎ ﻗﻴﻤﺔ ﻣﻨﺎﻇﺮة ﻓﻲ ﻣﺤﻮر اﻟﺼﺎدات‬
‫وﺣﻴﺚ اﻧﻨﺎ ﻧﺴﺘﺨﺪم ﻃﺮﻳﻘﺔ ‪ Linear Curve Fitting‬ﻓﺈن ﻟﻜﻞ ﻧﻘﻄﺔ ﻋﻠﻰ ﻣﺤﻮر اﻟﺼﺎدات ﻋﻼﻗﺔ ﺧﻄﻴﺔ ﻣﻊ ﻧﻘﻄﺔ‬
‫ﻣﺤﺪدة ﻋﻠﻰ ﻣﺤﻮر اﻟﺴﻴﻨﺎت‪ ,‬وهﺬﻩ اﻟﻌﻼﻗﺔ ﺗﻜﺘﺐ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫ﻓﺈذا ﻋﺪﻧﺎ ﺑﺎﻟﺬاآﺮة ﻟﻠﺨﻠﻒ ﻋﻨﺪ ﺣﻞ اﻟﻤﻌﺎدﻻت ﺳﻨﺠﺪ اﻧﻨﺎ آﻨﺎ ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻟﻤﻌﺎدﻻت ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫وﻳﻤﻜﻨﺎ آﻤﺎ ﺗﻌﻠﻤﻨﺎ آﺘﺎﺑﺔ ﺗﻠﻚ اﻟﻤﻌﺎدﻟﺔ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫وﺑﺎﻟﺮﺟﻮع إﻟﻰ اﻟﻤﻌﺎدﻟﺔ اﻟﺨﺎﺻﺔ ﺑــ ‪ Linear Curve Fitting‬ﻧﺴﺘﻄﻴﻊ آﺘﺎﺑﺘﻬﺎ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬
‫وﻟﻜﻦ هﺬا ﺻﺤﻴﺢ إذا آﺎﻧﺖ ﻗﻴﻤﺔ ‪ A‬ﻣﺼﻔﻮﻓﺔ ﻣﺮﺑﻌﺔ ‪ ,‬ﻓﻬﻞ هﻲ آﺬﻟﻚ اﻵن ؟ ﺑﺎﻟﻄﺒﻊ ﻻ‪ ,‬ﻓﻤﺎ اﻟﻌﻤﻞ‬
‫إذا آﺎﻧﺖ اﻟﻤﺼﻔﻮﻓﺔ ﻟﻴﺴﺖ ﻣﺮﺑﻌﺔ ﻳﺘﻢ وﺿﻊ ﻋﻼﻣﺔ اﻟﻘﺴﻤﺔ ﻣﻘﻠﻮﺑﺔ ) \ ( وﻻ ﻳﺘﻢ إﺳﺘﺨﺪام اﻷﻣﺮ ‪ inv‬أي أن ﺻﻮرة اﻟﺤﻞ‬
‫__________________‬

‫م‪.‬أﺣﻤﺪ ﻋﻔﻴﻔﻲ ﺳﻼﻣﺔ‬


‫ﻋﺮض ﻣﻠﻔﻪ اﻟﺸﺨﺼﻲ‬
‫إرﺳﺎل رﺳﺎﻟﺔ ﺧﺎﺻﺔ إﻟﻰ م‪.‬أﺣﻤﺪ ﻋﻔﻴﻔﻲ ﺳﻼﻣﺔ‬
‫اﻟﺒﺤﺚ ﻋﻦ آﺎﻓﺔ اﻟﻤﺸﺎرآﺎت ﺑﻮاﺳﻄﺔ م‪.‬أﺣﻤﺪ ﻋﻔﻴﻔﻲ ﺳﻼﻣﺔ‬
‫إﺿﺎﻓﺔ م‪.‬أﺣﻤﺪ ﻋﻔﻴﻔﻲ ﺳﻼﻣﺔ إﻟﻰ ﻗﺎﺋﻤﺔ اﻷﺻﺪﻗﺎء‬

‫‪٧٩ #‬‬
‫‪٣١-٠٨-٢٠٠٦, ٠٦:٢٦ PM‬‬
‫ﺗﺎرﻳﺦ اﻟﺘﺴﺠﻴﻞ‪: Oct ٢٠٠٥‬‬
‫اﻟﻤﺸﺎرآﺎت‪١،٦٨١ :‬‬ ‫م‪.‬أﺣﻤﺪ ﻋﻔﻴﻔﻲ ﺳﻼﻣﺔ‬
‫ﻣﻌﺪل ﺗﻘﻴﻴﻢ اﻟﻤﺴﺘﻮى ‪: ٠‬‬ ‫ﻣــﺸــﺮف ﻗـﺴﻢ ﻣـﻴﻜﺎﺗﺮوﻧﻜﺲ‬
‫‪Exponential Curve Fitting‬‬

‫‪Exponential Curve Fitting‬‬


‫ﺳﻨﺄﺧﺬ اﻵن اﻟﺘﻄﺒﻴﻖ اﻷﺧﻴﺮ ﻓﻲ هﺬﻩ اﻟﺪورة وهﻮ ‪ Exponential Curve Fitting ,‬وﻳﻤﻜﻦ آﺘﺎﺑﺔ اﻟﻌﻼﻗﺔ ﺑﻴﻦ & ‪X‬‬
‫‪Y‬ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫وإذا وﺟﺪت أآﺜﺮ ﻣﻦ ﻧﻘﻄﺔ‪ ,‬ﻓﻬﺬا ﻳﻌﻨﻲ وﺟﻮد أآﺜﺮ ﻣﻦ ﻣﻌﺎدﻟﺔ واﻟﺘﻲ ﺗﻜﺘﺐ ﻓﻲ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‬

‫واﻟﺘﻲ ﻳﻤﻜﻦ آﺘﺎﺑﺘﻬﺎ ﻓﻲ ﺻﻮرة اﻟﻤﺼﻔﻮﻓﺔ‬

‫واﻵن ﺳﻨﻘﻮم ﺑﻮﺿﻊ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻠﻰ اﻟﻤﺎﺗﻼب‬


‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﻴﻈﻬﺮ اﻟﻨﺎﺗﺞ آﺎﻟﺘﺎﻟﻲ‬

‫هﺬا وﻧﻜﻮن ﻗﺪ أﻧﻬﻴﻨﺎ دورة اﻟﻤﺎﺗﻼب ﺑﻔﻀﻞ اﷲ‬

Anda mungkin juga menyukai