67% found this document useful (3 votes)
4K views146 pages

Matlab 4

The document discusses an introduction to MATLAB, including topics such as: an introduction to MATLAB; an introduction to simulation in Simulink; control systems using MATLAB; signal applications using MATLAB; digital signal processing using MATLAB; numerical applications using MATLAB; image processing applications using MATLAB; and robotics applications using MATLAB. It also provides an overview of some key aspects of MATLAB that will be covered in the upcoming weeks, such as the interface, basic commands, variables, and complex numbers.

Uploaded by

adnan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
67% found this document useful (3 votes)
4K views146 pages

Matlab 4

The document discusses an introduction to MATLAB, including topics such as: an introduction to MATLAB; an introduction to simulation in Simulink; control systems using MATLAB; signal applications using MATLAB; digital signal processing using MATLAB; numerical applications using MATLAB; image processing applications using MATLAB; and robotics applications using MATLAB. It also provides an overview of some key aspects of MATLAB that will be covered in the upcoming weeks, such as the interface, basic commands, variables, and complex numbers.

Uploaded by

adnan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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‬ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

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

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

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


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

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

You might also like