Uploaded by Âbd Âl-Rằhêęm Âl-ŜhâRèęf

matlab

advertisement
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫‪Introduction to Matlab Programming‬‬
‫اﻋﺪاد د‪/‬ﺧﺎﻟﺪ ﻋﺒﺪاﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫رﺋﻴﺲ ﻗﺴﻢ هﻨﺪﺳﺔ اﻟﺤﺎﺳﺐ اﻵﻟﻲ‬
‫آﻠﻴﺔ اﻟﺤﺎﺳﺐ اﻵﻟﻲ وﻧﻈﻢ اﻟﻤﻌﻠﻮﻣﺎت‬
‫ﺟﺎﻣﻌﺔ أم اﻟﻘﺮى ﺑﻤﻜﺔ اﻟﻤﻜﺮﻣﺔ‬
‫ﺟﻤﻴﻊ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇﺔ © ‪2007‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ ﻣﻌﻠﻮﻣﺎت اﻟﻔﺼﻞ اﻷول )اﻟﻤﻘﺪﻣﺔ(‬
‫)‪Information in Chapter 1 (Introduction‬‬
‫ﻣﺆﺳﺴﻮ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫ƒ‬
‫آﻠﻴﻒ ﻣﻮﻟﺮ)‪(Cleve Moler‬‬
‫هﻮ أﺳﺘﺎذ اﻟﺮﻳﺎﺿﻴﺎت وﻋﻠﻮم اﻟﺤﺎﺳﺐ ﻷآﺜﺮ ﻣﻦ ﻋﺸﺮﻳﻦ ﻋﺎﻣًﺎ ﻓﻲ ﺟﺎﻣﻌﺔ ﻣﺘﺸﻴﺠﻴﻦ وﺟﺎﻣﻌﺔ ﺳﺘﺎﻧﻔﻮرد وﺟﺎﻣﻌﺔ ﻧﻴﻮﻣﻜﺴﻴﻜﻮ ‪،‬‬
‫وﻗﺪ أﻣﻀﻰ ﺧﻤﺲ ﺳﻨﻮات ﻋﻨﺪ اﺛﻨﻴﻦ ﻣﻦ ﻣﺼﻨﻌﻲ اﻟــ ‪ Hardware‬وهﻤﺎ ‪ Intel Hypercube organization‬و ‪ Ardent‬ﻗﺒﻞ أن‬
‫ﻳﻘﻮم ﺑﺎﻻﻧﺘﻘﺎل إﻟﻰ ﺷﺮآﺔ ‪ Mathworks‬اﻟﺸﺮآﺔ اﻷم ﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ‪ ،‬آﻤﺎ أﻧﻪ هﻮ اﻟﻤﺆﻟﻒ ﻷول ﺑﺮﻧﺎﻣﺞ ﻟﻠﻤﺎﺗﻼب ‪.‬‬
‫ƒ‬
‫ﺟﺎك ﻟﻴﻞ )‪(jack little‬‬
‫هﻮ اﻟﻤﺆﺳﺲ ﻟﺸﺮآﺔ ‪ Mathworks‬آﻤﺎ أﻧﻪ اﻟﻤﺴﺎﻋﺪ ﻓﻲ وﺿﻊ ﺗﺨﻄﻴﻂ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ‪ ،‬وهﻮ ﺣﺎﺻﻞ ﻋﻠﻰ ﺑﻜﺎﻟﻮرﻳﻮس‬
‫اﻟﻬﻨﺪﺳﺔ اﻟﻜﻬﺮﺑﻴﺔ وﻋﻠﻮم اﻟﺤﺎﺳﺐ ﻣﻦ ﺟﺎﻣﻌﺔ ‪ MIT‬ﻋﺎم ‪ ، 1978‬آﻤﺎ أﻧﻪ ﺣﺼﻞ ﻋﻠﻰ ﺷﻬﺎدة ‪ M.S.E.E‬ﻣﻦ ﺟﺎﻣﻌﺔ ﺳﺘﺎﻧﻔﻮرد ﻋﺎم‬
‫‪. 1980‬‬
‫ﺗﺎرﻳﺦ اﻟﻤﺎﺗﻼب‬
‫ƒ‬
‫ﻓﻲ ﻣﻨﺘﺼﻒ اﻟﺴﺒﻌﻴﻨﺎت ﻋﺎم ‪ ، 1970‬ﻗﺎم آﻠﻴﻒ ﻣﻮﻟﺮ واﻟﺬي آﺎن رﺋﻴﺴﺎ ﻟﻘﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﺐ ﻓﻲ ﺟﺎﻣﻌﺔ ﻧﻴﻮﻣﻜﺴﻴﻜﻮ وﻋﺪد ﻣﻦ‬
‫زﻣﻼﺋﻪ ﺑﺘﻄﻮﻳﺮ ﻣﻜﺘﺒﺎت اﻟﻔﻮرﺗﺮان واﻟﺘﻲ آﺎﻧﺖ ﺗﺪﻋﻰ ‪ EISPACK‬و ‪ LINPACK‬ﺗﺤﺖ ﻣﻨﺤﺔ ﻣﻦ اﻟﻤﺆﺳﺴﺔ اﻟﻘﻮﻣﻴﺔ ﻟﻠﻌﻠﻮم‪.‬‬
‫ƒ‬
‫‪ LINPACK‬و ‪ EISPACK‬هﻤﺎ اﻟﻠﺒﻨﺔ اﻟﺒﺮﻣﺠﻴﺔ اﻷﺳﺎﺳﻴﺔ ﻓﻲ ﺑﺮﻣﺠﻴﺎت ﺣﺴﺎﺑﺎت اﻟﻤﺼﻔﻮﻓﺎت ‪.‬‬
‫ƒ‬
‫ﺑﺪأ آﻠﻴﻒ ﺑﻜﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﻟﻠﻮﺻﻮل إﻟﻰ ‪ EISPACK‬و ‪ LINPACK‬ﺑﻜﻞ ﺑﺴﺎﻃﺔ وﺳﻤﻲ ﺑﺮﻧﺎﻣﺠﻪ ‪ MATLAB‬واﻟﺘﻲ ﺗﻌﻨﻲ‬
‫)‪ (Matrix Laboratory‬أي ﻣﺨﺘﺒﺮ اﻟﻤﺼﻔﻮﻓﺔ ‪.‬‬
‫ƒ‬
‫اﻧﺘﺸﺮ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ﻟﻠﺠﺎﻣﻌﺎت اﻷﺧﺮى ووﺟﺪ هﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺟﻤﻬﻮر ﻗﻮي ﻣﻦ ﻗﺒﻞ اﻟﻤﺨﺘﺼﻴﻦ ﺑﺎﻟﺮﻳﺎﺿﻴﺎت اﻟﺘﻄﺒﻴﻘﻴﺔ ‪.‬‬
‫ƒ‬
‫ﻓﻲ ﻋﺎم ‪ُ 1983‬‬
‫ﻋﺮض ﻋﻠﻰ اﻟﻤﻬﻨﺪس ﺟﻮن ﻟﻴﺘﻞ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب أﺛﻨﺎء زﻳﺎرة ﻣﻮﻟﺮ ﻟﺠﺎﻣﻌﺔ ﺳﺘﺎﻧﻔﻮرد ‪ ،‬وﺑﻌﺪ ذﻟﻚ اﻧﻈﻢ ﻟﻴﺘﻞ إﻟﻰ‬
‫ﻣﻮﻟﺮ وﺳﺘﻴﻒ ﺑﺎﻧﺠﺮت وأﻋﻴﺪت آﺘﺎﺑﺔ اﻟﻤﺎﺗﻼب ﺑﻠﻐﺔ اﻟﺴﻲ ‪.‬‬
‫ƒ‬
‫أﺳﺴﺖ ﻓﻲ ﻋﺎم ‪ 1984‬ﺷﺮآﺔ ‪ Mathworks‬ﻟﻤﻮاﺻﻠﺔ ﺗﻄﻮﻳﺮ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ‪.‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪1‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﺗﺎﺑﻊ ﻣﻠﺨﺺ ﻣﻌﻠﻮﻣﺎت اﻟﻔﺼﻞ اﻷول )اﻟﻤﻘﺪﻣﺔ(‬
‫)‪Information in Chapter 1 (Introduction‬‬
‫ﺗﻌﺮﻳﻒ اﻟﻤﺎﺗﻼب‬
‫ƒ‬
‫اﻟﻤﺎﺗﻼب هﻲ ﻟﻐﺔ ذات ﻣﺴﺘﻮى ﻋﺎﻟﻲ ﻟﻠﺤﺴﺎﺑﺎت واﻟﺒﺮﻣﺠﺔ وﺗﻤﺘﺎز ﺑﻮﺟﻮد ﺑﺮاﻣﺞ ﺗﺴﻬﻞ ﻋﻤﻠﻴﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ هﺬﻩ اﻟﻠﻐﺔ ‪ ،‬وﺗﺸﻤﻞ‬
‫اﻟﺒﺮاﻣﺞ ﻋﻠﻰ ‪:‬‬
‫‪ o‬اﻟﺤﺴﺎﺑﺎت اﻟﺮﻳﺎﺿﻴﺔ‬
‫‪ o‬ﺗﻄﻮﻳﺮ اﻟﺨﻮارزﻣﻴﺎت‬
‫‪ o‬ﻣﻌﺎﻟﺠﺔ اﻟﺒﻴﺎﻧﺎت‬
‫‪ o‬اﻟﻨﻤﺬﺟﺔ واﻟﻤﺤﺎآﺎة وﺗﺼﻤﻴﻢ اﻟﻤﺨﻄﻄﺎت اﻷوﻟﻴﺔ ﻟﻠﻤﺸﺎرﻳﻊ‬
‫‪ o‬ﺗﺤﻠﻴﻞ اﻟﺒﻴﺎﻧﺎت وﻋﺮﺿﻬﺎ‬
‫‪ o‬ﻋﻤﻞ اﻟﺮﺳﻮﻣﺎت اﻟﻬﻨﺪﺳﻴﺔ واﻟﻌﻠﻤﻴﺔ‬
‫‪ o‬ﺗﻄﻮﻳﺮ اﻟﺘﻄﺒﻴﻘﺎت ﺿﻤﻦ واﺟﻬﺎت ﻣﻦ ﻧﻮع )‪(GUI‬‬
‫ƒ‬
‫وﻳﻌﺘﻤﺪ اﻟﻤﺎﺗﻼب ﻋﻠﻰ ﺗﻨﺴﻴﻖ اﻟﺒﻴﺎﻧﺎت ﻓﻲ ﺻﻮرة ﻣﺼﻔﻮﻓﺎت وﻳﻜﻮن اﻟﺒﺮﻧﺎﻣﺞ ﻣﺜﻞ أﻏﻠﺐ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ‪.‬‬
‫ƒ‬
‫ﻳﺸﻤﻞ اﻟﻤﺎﺗﻼب ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﺮاﻣﺞ واﻟﺘﻲ ﺗﺪﻋﻰ )‪ (toolbox‬ﻣﻤﺎ ﻳﺘﻴﺢ ﻟﻚ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺘﻄﺒﻴﻘﺎت اﻟﻤﺘﺨﺼﺼﺔ وهﺬﻩ‬
‫اﻷدوات ﻋﺒﺎرة ﻋﻦ ﺑﺮاﻣﺞ ﻓﻲ ﺻﻮرة )‪. (M-files‬‬
‫ﺗﻄﺒﻴﻘﺎت اﻟﻤﺎﺗﻼب‬
‫ƒ‬
‫ﻓﻲ اﻟﻤﺠﺎل اﻷآﺎدﻳﻤﻲ ‪:‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫ƒ‬
‫ﻋﻤﻞ اﻟﺘﻔﺎﺻﻴﻞ واﻟﺘﻜﺎﻣﻞ‬
‫ﺣﻞ اﻟﻤﻌﺎدﻻت اﻟﺠﺒﺮﻳﺔ )‪(Algebraic Equations‬‬
‫ﺣﻞ اﻟﻤﻌﺎدﻻت اﻟﺘﻔﺎﺿﻠﻴﺔ ذات اﻟﺮﺗﺐ اﻟﻌﻠﻴﺎ )‪(Differential Equations‬‬
‫ﻋﻤﻞ اﻟﺘﻔﺎﺿﻞ اﻟﺠﺰﺋﻲ ‪ ،‬وﻋﻤﻠﻴﺎت اﻟﻜﺴﺮ اﻟﺠﺰﺋﻲ )‪(Partial fraction‬‬
‫اﻟﻤﺠﺎﻻت اﻟﺘﻄﺒﻴﻘﻴﺔ ‪:‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫أﻧﻈﻤﺔ اﻟﺘﺤﻜﻢ ﻓﻲ ﺟﻤﻴﻊ اﻟﻤﺠﺎﻻت اﻟﻬﻨﺪﺳﻴﺔ )‪(Control System‬‬
‫ﻣﻌﺎﻟﺠﺔ اﻟﺼﻮر‬
‫ﻣﺤﺎآﺎة اﻹﻟﻜﺘﺮوﻧﺎت‬
‫ﻣﺠﺎل ﺻﻨﺎﻋﺔ اﻟﺴﻴﺎرات‬
‫ﻣﺠﺎل اﻟﻄﻴﺮان واﻟﺪﻓﺎع اﻟﺠﻮي‬
‫ﻣﺠﺎل اﻟﺮوﺑﻮت‬
‫وهﻨﺎك اﻟﻜﺜﻴﺮ واﻟﻜﺜﻴﺮ ﻣﻦ اﻟﺘﻄﺒﻴﻘﺎت اﻟﻬﻨﺪﺳﻴﺔ ‪.‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪2‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ ﻣﻌﻠﻮﻣﺎت اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ )واﺟﻬﺔ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب(‬
‫)‪Information in Chapter 2 (Matlab Desktop‬‬
‫ƒ‬
‫واﺟﻬﺔ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب ﺗﻜﻮن ﻣﻦ‪:‬‬
‫‪ o‬ﻧﺎﻓﺬة اﻷواﻣﺮ )‪(Command Window‬‬
‫‪ o‬ﻣﻨﻄﻘﺔ اﻟﻌﻤﻞ )‪(Workspace‬‬
‫‪ o‬ﻧﺎﻓﺬة ﺗﺴﺠﻴﻞ اﻻواﻣﺮ )‪(Command History‬‬
‫ƒ‬
‫ﺷﺮﻳﻂ اﻟﻘﻮاﺋﻢ وﺗﺘﻜﻮن ﻣﻦ‪:‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫ƒ‬
‫ﻗﺎﺋﻤﺔ ﻣﻠﻒ )‪(File‬‬
‫ﻗﺎﺋﻤﺔ اﻟﺘﻌﺪﻳﻞ )‪(Edit‬‬
‫ﻗﺎﺋﻤﺔ )‪(Debug‬‬
‫ﻗﺎﺋﻤﺔ )‪(Desktop‬‬
‫ﻗﺎﺋﻤﺔ )‪(Window‬‬
‫ﻗﺎﺋﻤﺔ )‪(Help‬‬
‫ﻣﺤﺘﻮﻳﺎت ﻗﺎﺋﻤﺔ اﻟﻤﺴﺎﻋﺪة )‪:(Help‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫ﻗﺎﺋﻤﺔ اﻟﻤﺤﺘﻮﻳﺎت )‪(Contents‬‬
‫ﻗﺎﺋﻤﺔ اﻟﻔﻬﺮس )‪(Index‬‬
‫ﻗﺎﺋﻤﺔ اﻟﺒﺤﺚ )‪(Search‬‬
‫ﻗﺎﺋﻤﺔ )‪(Demos‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪3‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ )اﻟﻤﺎﺗﻼب آﺂﻟﺔ ﺣﺎﺳﺒﺔ(‬
‫)‪Matlab Examples in Chapter 3 (Matlab as a Calculator‬‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫‪>>ِِ6+2‬‬
‫‪>>6-2‬‬
‫‪>>6*2‬‬
‫‪>>6/2‬‬
‫ﺑﻌﺾ اﻟﻌﻤﻠﻴﺎت اﻟﺮﻳﺎﺿﻴﺔ اﻟﺒﺴﻴﻄﺔ‬
‫‪Some math operations‬‬
‫اﺳﺘﺨﺪام اﻟﻤﺎﺗﻼب‬
‫آﺂﻟﺔ ﺣﺎﺳﺒﺔ‬
‫‪Operations on‬‬
‫‪Variables‬‬
‫اﻟﺪاﻟﺔ اﻷﺳﻴﺔ ﻟﻸﺳﺎس ‪e‬‬
‫‪Exponential Function‬‬
‫اﻟﺪاﻟﺔ اﻟﻠﻮﻏﺎرﺗﻤﻴﺔ اﻟﻄﺒﻴﻌﻴﺔ‬
‫‪Natural Logarithm‬‬
‫اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻲ‬
‫‪Square Root‬‬
‫اﻟﺪاﻟﺔ اﻟﻠﻮﻏﺎرﺗﻤﻴﺔ ﻟﻸﺳﺎس ‪10‬‬
‫‪Base 10 Logarithm‬‬
‫اﻟﻘﻴﻤﺔ اﻟﻤﻄﻠﻘﺔ‬
‫‪Absolute Value‬‬
‫اﻟﺪاﻟﺔ )‪ (sin‬ﺑﺎﻟﺮادﻳﺎن‬
‫‪Sine Function in Radians‬‬
‫اﻟﺪاﻟﺔ )‪ (sin‬ﺑﺎﻟﺪرﺟﺎت‬
‫‪Sine Function in Degrees‬‬
‫اﻟﺪاﻟﺔ )‪ (cos‬ﺑﺎﻟﺮادﻳﺎن‬
‫)‪Cosine Function (Radians‬‬
‫داﻟﺔ ﻣﻌﻜﻮس )‪(tan‬‬
‫‪Tangent Inverse Function‬‬
‫اﻟﺪاﻟﺔ )‪(sec‬‬
‫‪Secant Function‬‬
‫اﻟﺪاﻟﺔ )‪(sinh‬‬
‫‪Hyperbolic Sine Function‬‬
‫ﺣﺴﺎب داﻟﺔ داﺧﻞ داﻟﺔ أﺧﺮى‬
‫‪Command Nesting‬‬
‫ﻣﻼﺣﻈﺎت‬
‫‪Notes‬‬
‫)‪>>exp(1‬‬
‫)‪>>log(1‬‬
‫)‪>>sqrt(36‬‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ اﻷﺳﻴﺔ ﻟﻸﺳﺎس )‪(e‬‬
‫ﻟﻠﻌﺪد )‪(1‬‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ اﻟﻠﻮﻏﺎرﺗﻤﻴﺔ اﻟﻄﺒﻴﻌﻴﺔ‬
‫ﻟﻠﻌﺪد )‪(1‬‬
‫ﺣﺴﺎب اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻲ ﻟﻠﻌﺪد )‪(36‬‬
‫)‪>>log10(20‬‬
‫)‪>>abs(-100‬‬
‫ﺣﺴﺎب اﻟﻘﻴﻤﺔ اﻟﻤﻄﻠﻘﺔ ﻟﻠﻌﺪد )‪(-100‬‬
‫)‪>>sind(90‬‬
‫)‪>>cos(pi‬‬
‫)‪>>atan(pi‬‬
‫)‪>>sec(pi‬‬
‫)‪>>sinh(100‬‬
‫)))‪>>sin(abs(sqrt(90‬‬
‫اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ داﻟﺔ ﻣﻌﻴﻨﺔ‬
‫‪Information about a‬‬
‫‪Matlab Function‬‬
‫‪>>ِِhelp sqrt‬‬
‫‪>>ِِhelp sin‬‬
‫ﻣﻌﻠﻮﻣﺎت ﻣﻄﻮﻟﺔ ﻋﻦ داﻟﺔ ﻣﻌﻴﻨﺔ‬
‫‪Information about a‬‬
‫‪Matlab Function‬‬
‫‪>>doc sind‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫إﺟﺮاء ﺑﻌﺾ اﻟﻌﻤﻠﻴﺎت اﻟﺮﻳﺎﺿﻴﺔ‬
‫اﻟﺒﺴﻴﻄﺔ وهﻲ ﺑﺎﻟﺘﺮﺗﻴﺐ اﻟﺠﻤﻊ ﺛﻢ اﻟﻄﺮح‬
‫ﺛﻢ اﻟﻀﺮب ﺛﻢ اﻟﻘﺴﻤﺔ‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ اﻟﻠﻮﻏﺎرﺗﻤﻴﺔ ﻟﻸﺳﺎس‬
‫)‪ (10‬ﻟﻠﻌﺪد )‪(20‬‬
‫)‪>>sin(pi/2‬‬
‫‪4‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ )‪ (sin‬ﻟﻠﻌﺪد )‪( π /2‬‬
‫ﺑﺎﻟﺮادﻳﺎن‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ )‪ (sin‬ﻟﻠﻌﺪد )‪(90‬‬
‫ﺑﺎﻟﺪرﺟﺎت‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ )‪ (cos‬ﻟﻠﻌﺪد ) ‪( π‬‬
‫ﺑﺎﻟﺮادﻳﺎن‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ داﻟﺔ ﻣﻌﻜﻮس )‪ (tan‬ﻟﻠﻌﺪد‬
‫)‪(100‬‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ )‪ (sec‬ﻟﻠﻌﺪد ) ‪( π‬‬
‫ﺣﺴﺎب ﻗﻴﻤﺔ اﻟﺪاﻟﺔ )‪ (sinh‬ﻟﻠﻌﺪد )‪(100‬‬
‫ﻳﻤﻜﻦ ﻓﻲ اﻟﻤﺎﺗﻼب ﺣﺴﺎب اﻟﺪاﻟﺔ ﻟﺪاﻟﺔ‬
‫أﺧﺮى وهﻜﺬا ﻣﻊ ﺿﺮورة ﻣﺮاﻋﺎة ﻋﺪد‬
‫اﻷﻗﻮاس‬
‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻣﻔﺼﻠﺔ ﻋﻦ‬
‫داﻟﺔ اﻟﻤﺎﺗﻼب )‪ (sqrt‬وﻣﻦ ﺛﻢ ﻟﻠﺪاﻟﺔ‬
‫)‪ ، (sin‬وﺗﺸﻤﻞ ﻣﻌﻠﻮﻣﺎت اﻟﺘﻌﺮﻳﻒ‬
‫وآﻴﻔﻴﺔ اﻻﺳﺘﺨﺪام وﻏﻴﺮ ذﻟﻚ‬
‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻣﻄﻮﻟﺔ ﻋﻦ‬
‫داﻟﺔ اﻟﻤﺎﺗﻼب )‪ (sind‬ﻣﺜﻞ اﻟﺘﻌﺮﻳﻒ‬
‫وآﻴﻔﻴﺔ اﻻﺳﺘﺨﺪام وﻧﺤﻮﻩ‬
‫‪Dr. Khalid A. Al-Hindi‬‬
Introduction to Matlab
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﺟﺪول ﻟﺒﻌﺾ اﻟﺪوال اﻟﺮﻳﺎﺿﻴﺔ اﻟﻤﻌﺮﻓﺔ ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
Matlab Function
exp(x)
log(x)
log10(x)
sqrt(x)
Exponential and Logarithmic Functions
Definition
Mathematical Form
Exponential
ex
Natural logarithm
ln(x)
Common (base 10) logarithm
log(x)
Square root
x
Matlab Function
cos(x)
sin(x)
tan(x)
acos(x)
asin(x)
atan(x)
cot(x)
csc(x)
sec(x)
acot(x)
acsc(x)
asec(x)
atan2(y,x)
Trigonometric Functions
Definition
Cosine
Sine
Tangent
Inverse cosine
Inverse sine
Inverse tangent
Cotangent
Cosecant
Secant
Inverse cotangent
Inverse cosecant
Inverse secant
Four-quadrant inverse tangent.
Matlab Function
cosh(x)
sinh(x)
tanh(x)
acosh(x)
asinh(x)
atanh(x)
coth(x)
csch(x)
sech(x)
acoth(x)
acsch(x)
asech(x)
Hyperbolic Functions
Definition
Hyperbolic cosine
Hyperbolic sine
Hyperbolic tangent
Inverse hyperbolic cosine
Inverse hyperbolic sine
Inverse hyperbolic tangent
Hyperbolic cotangent
Hyperbolic cosecant
Hyperbolic secant
Inverse hyperbolic cotangent
Inverse hyperbolic cosecant
Inverse hyperbolic secant
Dr. Khalid A. Al-Hindi
5
Mathematical Form
cos(x)
sin(x)
tan(x)
cos–1(x)
sin–1(x)
tan–1(x)
cot(x)
csc(x)
sec(x)
cot–1(x)
csc–1(x)
sec–1(x)
Mathematical Form
cosh(x)
sinh(x)
tanh(x)
cosh–1(x)
sinh–1(x)
tanh–1(x)
coth(x)
csch(x)
sech(x)
coth–1(x)
csch–1(x)
sech–1(x)
‫ ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬/‫اﻋﺪاد د‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺮاﺑﻊ )اﻟﻤﺘﻐﻴﺮات(‬
‫)‪Matlab Examples in Chapter 4 (Variables‬‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫إﻧﺸﺎء ﻣﺘﻐﻴﺮ‬
‫‪Defining a‬‬
‫‪Variable‬‬
‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ‬
‫اﻟﻤﺘﻐﻴﺮات‬
‫‪Operations on‬‬
‫‪Variables‬‬
‫اﻷﻋﺪاد اﻟﻤﺮآﺒﺔ‬
‫‪Complex‬‬
‫‪Numbers‬‬
‫أواﻣﺮ إﺿﺎﻓﻴﺔ‬
‫ﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫‪Extra Matlab‬‬
‫‪Commands‬‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫ﻃﺮﻳﻘﺔ اﻟﺘﻌﺮﻳﻒ‬
‫‪>>a=2‬‬
‫‪>>ِِb=10‬‬
‫ﻣﻼﺣﻈﺔ هﺎﻣﺔ‬
‫‪>>ِِA=3‬‬
‫إﻧﺸﺎء ﺛﻼث ﻣﺘﻐﻴﺮات‬
‫‪Defining three variables‬‬
‫أﻣﺜﻠﺔ ﻟﻌﻤﻠﻴﺎت رﻳﺎﺿﻴﺔ‬
‫‪Examples of Simple Math‬‬
‫‪Operations‬‬
‫;‪>>ِِA=6‬‬
‫;‪>>ِِB=2‬‬
‫;‪>>ِِC=3‬‬
‫‪>>A+B+C‬‬
‫‪>>(A*B)/C‬‬
‫‪>>A^2+B^2‬‬
‫‪>>(sin(A)+cos(B))/2‬‬
‫اﻟﻌﺪد اﻟﺘﺨﻴﻠﻲ ‪i‬‬
‫‪The complex number i‬‬
‫‪>>i‬‬
‫إﻧﺸﺎء ﻣﺘﻐﻴﺮﻳﻦ ﻣﺮآﺒﻴﻦ‬
‫‪Defining two complex‬‬
‫‪numbers‬‬
‫‪>>ِِa=a+i‬‬
‫‪>>b=a+2i‬‬
‫ﺑﻌﺾ اﻟﻌﻤﻠﻴﺎت اﻟﺮﻳﺎﺿﻴﺔ ﻋﻠﻰ‬
‫اﻟﻤﺘﻐﻴﺮﻳﻦ اﻟﻤﺮآﺒﻴﻦ‬
‫‪Some math operations‬‬
‫‪>>ِِa+b‬‬
‫‪>>ِِa*b‬‬
‫‪>>ِِa/b‬‬
‫‪>>ِِa-b‬‬
‫إﻧﺸﺎء ﻣﺘﻐﻴﺮ ﻣﺮآﺐ‬
‫‪Defining a complex‬‬
‫‪number‬‬
‫اﻟﺠﺰء اﻟﺤﻘﻴﻘﻲ ﻟﻤﺘﻐﻴﺮ ﻣﺮآﺐ‬
‫‪Real part of a complex‬‬
‫‪number‬‬
‫اﻟﺠﺰء اﻟﺘﺨﻴﻠﻲ ﻟﻤﺘﻐﻴﺮ ﻣﺮآﺐ‬
‫‪Imaginary part of a‬‬
‫‪complex number‬‬
‫زاوﻳﺔ اﻟﻄﻮر ﻟﻤﺘﻐﻴﺮ ﻣﺮآﺐ‬
‫‪Phase angle of a complex‬‬
‫‪number in radians‬‬
‫اﻟﻘﻴﻤﺔ اﻟﻤﻄﻠﻘﺔ ﻟﻤﺘﻐﻴﺮ ﻣﺮآﺐ‬
‫‪Absolute value of a‬‬
‫‪complex number‬‬
‫ﻋﺮض اﻟﻤﺘﻐﻴﺮات اﻟﻤﺴﺘﺨﺪﻣﺔ‬
‫‪Display Variables‬‬
‫ﻋﺮض ﻣﻔﺼﻞ ﻟﻠﻤﺘﻐﻴﺮات‬
‫اﻟﻤﺴﺘﺨﺪﻣﺔ‬
‫‪Display Variables with‬‬
‫‪Information‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪>>ِِz=3+4i‬‬
‫ﻹﻧﺸﺎء ﺛﻼث ﻣﺘﻐﻴﺮات ﻣﻊ ﻋﺪم إﻇﻬﺎرهﻢ‬
‫ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﺑﺎﺳﺘﺨﺪام اﻷﻣﺮ );(‬
‫اﻟﻤﺜﺎل اﻷول ﻟﻠﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺘﻐﻴﺮات‬
‫اﻟﻤﺜﺎل اﻟﺜﺎﻧﻲ ﻟﻠﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺘﻐﻴﺮات‬
‫اﻟﻤﺜﺎل اﻟﺜﺎﻟﺚ ﻟﻠﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺘﻐﻴﺮات‬
‫اﻟﻤﺜﺎل اﻟﺮاﺑﻊ ﻟﻠﻌﻤﻠﻴﺎت ﻋﻠﻰ اﻟﻤﺘﻐﻴﺮات‬
‫اﻟﻌﺪد اﻟﺘﺨﻴﻠﻲ )‪ (i‬ﻣﻌﺮف ﻣﺴﺒﻘﺎ ﻓﻲ‬
‫اﻟﻤﺎﺗﻼب ﺑﺸﺮط أن ﻻ ﻳﺘﻢ اﻋﺎدة ﺗﻌﺮﻳﻒ‬
‫اﻟﻤﺘﻐﻴﺮ )‪ (i‬أﺛﻨﺎء آﺘﺎﺑﺔ أي ﺑﺮﻧﺎﻣﺞ‬
‫إﻧﺸﺎء ﻣﺘﻐﻴﺮﻳﻦ ﻣﺮآﺒﻴﻦ )‪ (a‬و )‪(b‬‬
‫إﺟﺮاء ﺑﻌﺾ اﻟﻌﻤﻠﻴﺎت اﻟﺮﻳﺎﺿﻴﺔ اﻟﺒﺴﻴﻄﺔ‬
‫ﻋﻠﻰ اﻟﻤﺘﻐﻴﺮﻳﻦ اﻟﻤﺮآﺒﻴﻦ وهﻲ ﺑﺎﻟﺘﺮﺗﻴﺐ‬
‫اﻟﺠﻤﻊ ﺛﻢ اﻟﻀﺮب ﺛﻢ اﻟﻘﺴﻤﺔ ﺛﻢ اﻟﻄﺮح‬
‫إﻧﺸﺎء ﻣﺘﻐﻴﺮ ﻣﺮآﺐ )‪(z‬‬
‫)‪>>ِِreal(z‬‬
‫اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺠﺰء اﻟﺤﻘﻴﻘﻲ ﻓﻘﻂ‬
‫ﻟﻠﻤﺘﻐﻴﺮ اﻟﻤﺮآﺐ )‪(z‬‬
‫)‪>>imag(z‬‬
‫اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺠﺰء اﻟﺘﺨﻴﻠﻲ ﻓﻘﻂ‬
‫ﻟﻠﻤﺘﻐﻴﺮ اﻟﻤﺮآﺐ )‪(z‬‬
‫)‪>>angle(z‬‬
‫اﻟﺤﺼﻮل ﻋﻠﻰ زاوﻳﺔ اﻟﻄﻮر ﻟﻠﻤﺘﻐﻴﺮ‬
‫اﻟﻤﺮآﺐ )‪ (z‬ﺑﺎﻟﺮادﻳﺎن‬
‫)‪>>abs(z‬‬
‫اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻘﻴﻤﺔ اﻟﻤﻄﻠﻘﺔ ﻟﻠﻤﺘﻐﻴﺮ‬
‫اﻟﻤﺮآﺐ )‪(z‬‬
‫‪>>who‬‬
‫‪>>whos‬‬
‫‪6‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫ﻹﻧﺸﺎء اﻟﻤﺘﻐﻴﺮﻳﻦ )‪ (a‬وﻳﺴﺎوي )‪(2‬‬
‫واﻟﻤﺘﻐﻴﺮ )‪ (b‬وﻳﺴﺎوي )‪(10‬‬
‫ﻻﺣﻆ أن اﻟﻤﺘﻐﻴﺮ )‪ (a‬ﻻ ﻳﺴﺎوي اﻟﻤﺘﻐﻴﺮ‬
‫)‪ (A‬ﻷن اﻟﻤﺎﺗﻼب ‪Case Sensitive‬‬
‫ﻋﺮض آﺎﻓﺔ اﻟﻤﺘﻐﻴﺮات اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ‬
‫ﻧﺎﻓﺬة اﻷواﻣﺮ‬
‫ﻋﺮض ﻣﻔﺼﻞ ﻟﻜﺎﻓﺔ اﻟﻤﺘﻐﻴﺮات‬
‫اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ ﻣﻊ ﻋﺮض‬
‫اﻟﺤﺠﻢ وﻣﻘﺪار اﻟﺬاآﺮة اﻟﻤﺤﺠﻮزة ﺑﺎﻟﺒﺎﻳﺖ‬
‫وﻧﻮع اﻟﻤﺘﻐﻴﺮ‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺨﺎﻣﺲ )اﻟﻤﺘﺠﻬﺎت(‬
‫)‪Matlab Examples in Chapter 5 (Vectors‬‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫اﻟﻤﺘﺠﻪ اﻟﺼﻔﻲ‬
‫‪Row Vector‬‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫]‪>>ِِA=[1 2 3 4 5‬‬
‫ﻃﺮﻳﻘﺔ أﺧﺮى ﻹﻧﺸﺎء اﻟﻤﺘﺠﻪ اﻟﺼﻔﻲ‬
‫‪Second Method‬‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﺻﻔﻲ‬
‫‪Row Vector‬‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ‬
‫‪Vector Definition‬‬
‫]‪>>ِِA=[1:5‬‬
‫]‪>>ِِD=[2 4 6 8 10‬‬
‫اﻟﻄﺮﻳﻘﺔ أﺧﺮى ﻹﻧﺸﺎء اﻟﻤﺘﺠﻪ اﻟﺼﻔﻲ‬
‫‪Second Method‬‬
‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ‬
‫اﻟﻤﺘﺠﻬﺎت‬
‫‪Operations on‬‬
‫‪Vectors‬‬
‫]‪>>ِِD=[2:2:10‬‬
‫اﻟﻤﺘﺠﻪ اﻟﻌﻤﻮدي‬
‫‪Column Vector‬‬
‫]‪>>ِِC=[1;2;3;4;5‬‬
‫إﺿﺎﻓﺔ ﻋﻨﺼﺮ ﺟﺪﻳﺪ ﻟﻠﻤﺘﺠﻪ‬
‫‪Element Adding‬‬
‫]‪>>ِِA=[1;3;5;7;8‬‬
‫‪>>ِِA(6)=100‬‬
‫إﺿﺎﻓﺔ ﻋﻨﺼﺮ ﺟﺪﻳﺪ ﻟﻠﻤﺘﺠﻪ‬
‫‪Element Adding‬‬
‫‪>>ِِA(8)=150‬‬
‫ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ ﻣﺘﺠﻪ‬
‫‪Element Deletion‬‬
‫اﺳﺘﺒﺪال ﻗﻴﻤﺔ ﻋﻨﺼﺮ ﻓﻲ ﻣﺘﺠﻪ‬
‫‪Element Replacing‬‬
‫ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻟﻤﺘﺠﻪ‬
‫‪Maximum Value‬‬
‫ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ ﻟﻤﺘﺠﻪ‬
‫‪Minimum Value‬‬
‫ﻃﻮل اﻟﻤﺘﺠﻪ‬
‫‪Vector Length‬‬
‫ﻣﻘﻴﺎس اﻟﻤﺘﺠﻪ‬
‫‪Vector Norm‬‬
‫ﻣﺜﺎل ﺁﺧﺮ ﻟﻤﻘﻴﺎس اﻟﻤﺘﺠﻪ‬
‫‪Vector Norm‬‬
‫ﺿﺮب اﻟﻤﺘﺠﻬﺎت‬
‫‪Vector Product‬‬
‫اﻟﻀﺮب اﻟﻤﺘﺠﻪ‬
‫‪Dot Product‬‬
‫]‪>>ِِB=[1;3;5;7;9‬‬
‫][=)‪>>ِِB(5‬‬
‫]‪>>ِِB=[1;3;5;7;9‬‬
‫‪>>ِِB(3)=20‬‬
‫]‪>>A=[7;8;3;4;5‬‬
‫)‪>>ِِmax(A‬‬
‫)‪>>ِِmin(A‬‬
‫]‪>>A=[1 7 9 8 6‬‬
‫)‪>>length(A‬‬
‫]‪>>x=[1 2 3‬‬
‫)‪>>norm(x,1‬‬
‫)‪>>norm(x‬‬
‫)‪>>norm(x,2‬‬
‫)‪>>norm(x,inf‬‬
‫]‪>>a=[-10 -5 3‬‬
‫)‪>>norm(x,1‬‬
‫)‪>>norm(x,inf‬‬
‫]‪>>A=[1 2 3‬‬
‫]‪>>B=[4 5 6‬‬
‫)‪>>dot(A,B‬‬
‫اﻟﻀﺮب اﻟﻤﺘﺠﻪ‬
‫‪Cross Product‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫)‪>>cross(A,B‬‬
‫‪7‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﺻﻔﻲ ﻣﻦ ﺧﻤﺴﺔ ﻋﻨﺎﺻﺮ‬
‫ﺑﻄﺮﻳﻘﺔ اﻟﻔﺮاﻏﺎت ﺑﻴﻦ اﻟﻌﻨﺎﺻﺮ‬
‫إﻧﺸﺎء ﻧﻔﺲ اﻟﻤﺘﺠﻪ اﻟﺴﺎﺑﻖ ﺑﺎﺳﺘﺨﺪام اﻷﻣﺮ‬
‫)‪ (:‬واﻟﺬي ﻳﻌﻨﻲ آﺎﻓﺔ اﻟﻌﻨﺎﺻﺮ ﻣﻦ )‪ (1‬إﻟﻰ‬
‫)‪ (5‬ﺑﺰﻳﺎدة واﺣﺪ ﻋﻦ اﻟﺴﺎﺑﻖ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﺻﻔﻲ ﻣﻦ ﺧﻤﺴﺔ ﻋﻨﺎﺻﺮ‬
‫إﻧﺸﺎء ﻧﻔﺲ اﻟﻤﺘﺠﻪ اﻟﺴﺎﺑﻖ ﺑﺎﺳﺘﺨﺪام اﻷﻣﺮ‬
‫)‪ (:‬واﻟﺬي ﻳﻌﻨﻲ آﺎﻓﺔ اﻟﻌﻨﺎﺻﺮ ﻣﻦ )‪ (2‬إﻟﻰ‬
‫)‪ (10‬ﺑﺰﻳﺎدة )‪ (2‬ﻋﻦ اﻟﺴﺎﺑﻖ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﻋﻤﻮدي ﻣﻦ ﺧﻤﺴﺔ ﻋﻨﺎﺻﺮ‬
‫ﺑﺎﺳﺘﺨﺪام اﻷﻣﺮ );( واﻟﺬي ﻳﻌﻨﻲ ﻧﻬﺎﻳﺔ‬
‫اﻟﺼﻒ ﻓﻲ اﻟﻤﺘﻐﻴﺮ )‪(C‬‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﻋﻤﻮدي )‪ (A‬وﻣﻦ ﺛﻢ إﺿﺎﻓﺔ‬
‫ﻋﻨﺼﺮ ﺳﺎدس ﺑﻘﻴﻤﺔ )‪(100‬‬
‫إﺿﺎﻓﺔ ﻋﻨﺼﺮ ﺛﺎﻣﻦ ﻟﻠﻤﺘﺠﻪ )‪ (A‬ﺑﻘﻴﻤﺔ‬
‫)‪ (150‬وﻳﻼﺣﻆ ﺑﻌﺪ اﻟﺘﻨﻔﻴﺬ أن اﻟﻤﺎﺗﻼب‬
‫أﺿﺎف ﺁﻟﻴﺎ اﻟﻘﻴﻤﺔ ﺻﻔﺮ ﻟﻠﻌﻨﺼﺮ اﻟﺴﺎﺑﻊ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﻋﻤﻮدي )‪ (B‬وﻣﻦ ﺛﻢ ﺣﺬف‬
‫اﻟﻌﻨﺼﺮ اﻟﺨﺎﻣﺲ ﻓﻘﻂ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﻋﻤﻮدي )‪ (B‬وﻣﻦ ﺛﻢ ﺗﻐﻴﻴﺮ‬
‫ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻟﺚ إﻟﻰ اﻟﻘﻴﻤﺔ )‪(20‬‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﻋﻤﻮدي )‪ (A‬وﻣﻦ ﺛﻢ إﻳﺠﺎد‬
‫ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻷآﺒﺮ ﻓﻴﻪ‬
‫إﻳﺠﺎد ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻷﺻﻐﺮ ﻟﻠﻤﺘﺠﻪ )‪(A‬‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﺻﻔﻲ )‪ (A‬وﻣﻦ ﺛﻢ إﻳﺠﺎد‬
‫ﻃﻮﻟﻪ وﻳﺴﺎوي ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻴﻪ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﺻﻔﻲ )‪ (x‬وﻣﻦ ﺛﻢ إﻳﺠﺎد‬
‫ﻣﻘﺎﻳﻴﺴﻪ اﻷول واﻟﺜﺎﻧﻲ )ﺑﻄﺮﻳﻘﺘﻴﻦ( وأﺧﻴﺮا‬
‫اﻟﻤﻘﻴﺎس اﻟﻼﻧﻬﺎﺋﻲ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ ﺻﻔﻲ )‪ (a‬وﻣﻦ ﺛﻢ إﻳﺠﺎد‬
‫ﻣﻘﺎﻳﻴﺴﻪ اﻷول واﻟﻼﻧﻬﺎﺋﻲ‬
‫إﻧﺸﺎء ﻣﺘﺠﻬﻴﻦ ﺻﻔﻴﻴﻦ )‪ (A‬و )‪ (B‬وﻣﻦ ﺛﻢ‬
‫إﻳﺠﺎد ﻗﻴﻤﺔ اﻟﻀﺮب )‪ (dot‬ﺑﻴﻨﻬﻤﺎ‬
‫إﻳﺠﺎد ﻗﻴﻤﺔ اﻟﻀﺮب ﻣﻦ ﻧﻮع )‪(cross‬‬
‫ﻟﻠﻤﺘﺠﻬﻴﻦ )‪ (A‬و )‪(B‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺴﺎدس )اﻟﻤﺼﻔﻮﻓﺎت(‬
‫)‪Matlab Examples in Chapter 6 (Matrices‬‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫إﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ‬
‫‪Matrix Definition‬‬
‫اﻟﻤﺼﻔﻮﻓﺎت اﻟﺨﺎﺻﺔ‬
‫‪Special‬‬
‫‪Matrices‬‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫اﻟﻄﺮﻳﻘﺔ اﻷوﻟﻰ‬
‫‪First Method‬‬
‫]‪>>ِِA=[1 2;4 5;7 6‬‬
‫اﻟﻄﺮﻳﻘﺔ اﻟﺜﺎﻧﻴﺔ‬
‫‪Second Method‬‬
‫اﻟﻤﺼﻔﻮﻓﺔ اﻟﺼﻔﺮﻳﺔ اﻟﻤﺮﺑﻌﺔ‬
‫‪Square Zeros Matrix‬‬
‫اﻟﻤﺼﻔﻮﻓﺔ اﻟﺼﻔﺮﻳﺔ اﻟﻤﺴﺘﻄﻴﻠﺔ‬
‫‪Rectangular Zeros Matrix‬‬
‫ﻣﺼﻔﻮﻓﺔ اﻟﻮاﺣﺪ اﻟﻤﺮﺑﻌﺔ‬
‫‪Square Ones Matrix‬‬
‫ﻣﺼﻔﻮﻓﺔ اﻟﻮاﺣﺪ اﻟﻤﺴﺘﻄﻴﻠﺔ‬
‫‪Rectangular Ones Matrix‬‬
‫ﻣﺼﻔﻮﻓﺔ اﻟﻮﺣﺪة اﻟﻤﺮﺑﻌﺔ‬
‫‪Square Identity Matrix‬‬
‫ﻣﺼﻔﻮﻓﺔ اﻟﻮﺣﺪة اﻟﻤﺴﺘﻄﻴﻠﺔ‬
‫‪Rectangular 1’s Diagonal‬‬
‫‪Matrix‬‬
‫اﻟﻤﺼﻔﻮﻓﺔ اﻟﻌﺸﻮاﺋﻴﺔ اﻟﻤﺮﺑﻌﺔ‬
‫‪Square Random Matrix‬‬
‫اﻟﻤﺼﻔﻮﻓﺔ اﻟﻌﺸﻮاﺋﻴﺔ اﻟﻤﺴﺘﻄﻴﻠﺔ‬
‫‪Rectangular Random‬‬
‫‪Matrix‬‬
‫ﺗﻌﺮﻳﻒ ﻣﺼﻔﻮﻓﺔ آﻤﺜﺎل‬
‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ‬
‫ﻣﺼﻔﻮﻓﺔ واﺣﺪة‬
‫‪Operations on a‬‬
‫‪Single Matrix‬‬
‫ﻗﻠﺐ اﻷﻋﻤﺪة آﺼﻔﻮف‬
‫‪Matrix Transpose‬‬
‫ﺟﻤﻊ أﻋﻤﺪة اﻟﻤﺼﻔﻮﻓﺔ‬
‫‪Matrix Sum‬‬
‫اﺳﺘﺨﻼص ﻋﻨﺎﺻﺮ ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ‬
‫‪Matrix Diagonal Elements‬‬
‫ﺟﻤﻊ ﻋﻨﺎﺻﺮ ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ‬
‫‪Sum Matrix Diagonal‬‬
‫‪Elements‬‬
‫أﻳﺠﺎد ﻣﻌﻜﻮس اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ‬
‫‪Square Matrix Inversion‬‬
‫أﻳﺠﺎد درﺟﺔ اﻟﻤﺼﻔﻮﻓﺔ‬
‫‪Matrix Rank‬‬
‫أﻳﺠﺎد ﻣﺤﺪد اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ‬
‫‪Square Matrix Determinate‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫]‪>>ِِA=[1,2;4,5;7,6‬‬
‫)‪>>o=zeros(3‬‬
‫)‪>>B=zeros(3,2‬‬
‫)‪>>A=ones(3‬‬
‫)‪>>I=ones(4,2‬‬
‫)‪>>I=eye(2‬‬
‫)‪>>Y=eye(3,4‬‬
‫ﻹﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ اﻟﻮﺣﺪة اﻟﻤﺴﺘﻄﻴﻠﺔ )‪(Y‬‬
‫ﺑﺤﺠﻢ ‪ 3‬ﺻﻒ ﻓﻲ ‪ 4‬أﻋﻤﺪة‬
‫)‪>>I=rand(5‬‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ اﻟﻌﺸﻮاﺋﻴﺔ اﻟﻤﺮﺑﻌﺔ )‪(I‬‬
‫ﺑﺤﺠﻢ ‪5×5‬‬
‫)‪>>I=rand(3,2‬‬
‫‪>>ِِB=[1 -5 3;6 10‬‬
‫]‪-9; 11 8 4‬‬
‫’‪>>ِِB‬‬
‫)‪>>sum(ِِB‬‬
‫)‪>>diag(ِِB‬‬
‫))‪>>sum(diag(ِِB‬‬
‫)‪>>inv(ِِB‬‬
‫)‪>>rank(ِِB‬‬
‫)‪>>det(ِِB‬‬
‫‪8‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ )‪ (A‬ﺑﺤﺠﻢ ‪ 2‬ﺻﻒ ﻓﻲ‬
‫‪ 3‬أﻋﻤﺪة ﺑﻄﺮﻳﻘﺔ اﻟﻔﺮاﻏﺎت ﺑﻴﻦ ﻋﻨﺎﺻﺮ‬
‫اﻟﺼﻒ اﻟﻮاﺣﺪ‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ )‪ (A‬ﺑﺤﺠﻢ ‪ 2‬ﺻﻒ ﻓﻲ‬
‫‪ 3‬أﻋﻤﺪة ﺑﻄﺮﻳﻘﺔ اﻟﻔﻮاﺻﻞ ﺑﻴﻦ ﻋﻨﺎﺻﺮ‬
‫اﻟﺼﻒ اﻟﻮاﺣﺪ‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‪ (o‬ذات‬
‫ﻋﻨﺎﺻﺮ اﻷﺻﻔﺎر ﺑﺤﺠﻢ ‪3×3‬‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺴﺘﻄﻴﻠﺔ )‪ (B‬ذات‬
‫اﻷﺻﻔﺎر ﺑﺤﺠﻢ ‪ 3‬ﺻﻒ ﻓﻲ ‪ 2‬أﻋﻤﺪة‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‪ (A‬ذات‬
‫اﻟﻌﻨﺎﺻﺮ واﺣﺪ ﺑﺤﺠﻢ ‪3×3‬‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ اﻟﻤﺴﺘﻄﻴﻠﺔ )‪ (I‬ذات‬
‫اﻟﻌﻨﺎﺻﺮ واﺣﺪ ﺑﺤﺠﻢ ‪ 4‬ﺻﻒ ﻓﻲ ‪ 2‬أﻋﻤﺪة‬
‫ﻹﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ اﻟﻮﺣﺪة اﻟﻤﺮﺑﻌﺔ )‪ (I‬ﺑﺤﺠﻢ‬
‫‪2×2‬‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ اﻟﻌﺸﻮاﺋﻴﺔ اﻟﻤﺴﺘﻄﻴﻠﺔ )‪(I‬‬
‫ﺑﺤﺠﻢ ‪ 3‬ﺻﻒ ﻓﻲ ‪ 2‬أﻋﻤﺪة‬
‫ﻹﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ )‪ (B‬ﺑﺤﺠﻢ ‪ 3‬ﺻﻒ ﻓﻲ‬
‫‪ 3‬أﻋﻤﺪة‬
‫ﻗﻠﺐ اﻷﻋﻤﺪة آﺼﻔﻮف واﻟﺼﻔﻮف آﺄﻋﻤﺪة‬
‫ﻟﻠﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫ﺟﻤﻊ أﻋﻤﺪة اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫اﺳﺘﺨﻼص ﻋﻨﺎﺻﺮ ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫ﺟﻤﻊ ﻋﻨﺎﺻﺮ ﻗﻄﺮ اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫إﻳﺠﺎد اﻟﻤﻌﻜﻮس ﻟﻠﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‪(B‬‬
‫إﻳﺠﺎد درﺟﺔ اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫إﻳﺠﺎد اﻟﻤﺤﺪد ﻟﻠﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‪(B‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﺗﺎﺑﻊ ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺴﺎدس )اﻟﻤﺼﻔﻮﻓﺎت(‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫ﺗﺎﺑﻊ اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ‬
‫ﻣﺼﻔﻮﻓﺔ واﺣﺪة‬
‫‪Operations on a‬‬
‫‪Single Matrix‬‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫أﻳﺠﺎد اﻟﻘﻴﻢ اﻟﺬاﺗﻴﺔ ﻟﻤﺼﻔﻮﻓﺔ ﻣﺮﺑﻌﺔ‬
‫‪Eigenvalues of Square‬‬
‫‪Matrix‬‬
‫أﻳﺠﺎد اﻟﻘﻴﻢ واﻟﻤﺘﺠﻬﺎت اﻟﺬاﺗﻴﺔ‬
‫ﻟﻤﺼﻔﻮﻓﺔ ﻣﺮﺑﻌﺔ‬
‫‪Eigenvalues and‬‬
‫‪Eigenvectors‬‬
‫اﺧﺘﻴﺎر ﺻﻒ ﻣﺤﺪد ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Matrix Row Selection‬‬
‫اﺧﺘﻴﺎر ﻋﻤﻮد ﻣﺤﺪد ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Matrix Column Selection‬‬
‫اﺧﺘﻴﺎر اﻟﺼﻒ اﻷﺧﻴﺮ ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Matrix Last Row Selection‬‬
‫اﺧﺘﻴﺎر اﻟﻌﻤﻮد اﻷﺧﻴﺮ ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Matrix Last Column‬‬
‫‪Selection‬‬
‫)‪>>eig(ِِB‬‬
‫إﻳﺠﺎد اﻟﻘﻴﻢ اﻟﺬاﺗﻴﺔ ﻟﻠﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‪(B‬‬
‫)‪>>[V,D] = eig(ِِB‬‬
‫إﻳﺠﺎد اﻟﻘﻴﻢ اﻟﺬاﺗﻴﺔ )‪ (V‬واﻟﻤﺘﺠﻬﺎت اﻟﺬاﺗﻴﺔ‬
‫)‪ (D‬ﻟﻠﻤﺼﻔﻮﻓﺔ اﻟﻤﺮﺑﻌﺔ )‪(B‬‬
‫)‪>>ِِB(:,2‬‬
‫اﺧﺘﻴﺎر اﻟﺼﻒ اﻟﺜﺎﻧﻲ ﻓﻘﻂ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ‬
‫)‪(B‬‬
‫اﺧﺘﻴﺎر اﻟﻌﻤﻮد اﻟﺜﺎﻧﻲ ﻓﻘﻂ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ‬
‫)‪(B‬‬
‫اﺧﺘﻴﺎر اﻟﺼﻒ اﻷﺧﻴﺮ ﻓﻘﻂ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ‬
‫)‪(B‬‬
‫)‪>>ِِB(:,end‬‬
‫اﺧﺘﻴﺎر اﻟﻌﻤﻮد اﻷﺧﻴﺮ ﻓﻘﻂ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ‬
‫)‪(B‬‬
‫)‪>>ِِB(2,:‬‬
‫)‪>>ِِB(end,:‬‬
‫اﺧﺘﻴﺎر ﻣﺼﻔﻮﻓﺔ ﺟﺰﺋﻴﺔ ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Submatrix Selection‬‬
‫)‪>>ِِB(1:2,2‬‬
‫اﺧﺘﻴﺎر ﻣﺼﻔﻮﻓﺔ ﺟﺰﺋﻴﺔ ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Submatrix Selection‬‬
‫)‪>>ِِB(1:2,1:2‬‬
‫اﺧﺘﻴﺎر ﻣﺼﻔﻮﻓﺔ ﺟﺰﺋﻴﺔ ﻣﻦ ﻣﺼﻔﻮﻓﺔ‬
‫‪Submatrix Selection‬‬
‫)‪>>ِِB(3,2:3‬‬
‫ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﺔ ﻣﺼﻔﻮﻓﺎت‬
‫اﻟﻌﻤﻠﻴﺎت ﻋﻠﻰ أآﺜﺮ‬
‫ﻣﻦ ﻣﺼﻔﻮﻓﺔ واﺣﺪة‬
‫‪Operations on‬‬
‫‪Matrices‬‬
‫ﺟﻤﻊ ﻣﺼﻔﻮﻓﺘﻴﻦ‬
‫‪Matrix Addition‬‬
‫ﻃﺮح ﻣﺼﻔﻮﻓﺘﻴﻦ‬
‫‪Matrix Subtraction‬‬
‫ﺿﺮب ﻣﺼﻔﻮﻓﺘﻴﻦ‬
‫‪Matrix Multiplication‬‬
‫ﻗﺴﻤﺔ ﻣﺼﻔﻮﻓﺔ ﻋﻠﻰ ﻋﺪد‬
‫‪Matrix Multiplication‬‬
‫ﺣﻞ ﻣﻨﻈﻮﻣﺔ ﻣﻌﺎدﻻت‬
‫ﺧﻄﻴﺔ‬
‫إﻧﺸﺎء اﻟﻤﻌﺎدﻻت وﺣﻠﻬﺎ‬
‫‪Building and Solving the‬‬
‫‪System‬‬
‫‪Solving a System‬‬
‫‪of Linear‬‬
‫‪Equations‬‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫اﺧﺘﻴﺎر اﻟﻌﻨﺎﺻﺮ اﻟﻤﺘﻘﺎﻃﻌﺔ ﻣﺎ ﺑﻴﻦ اﻟﺼﻔﻴﻦ‬
‫اﻷول واﻟﺜﺎﻧﻲ ﻣﻊ ﻋﻨﺎﺻﺮ اﻟﻌﻤﻮد اﻟﺜﺎﻧﻲ‬
‫ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫اﺧﺘﻴﺎر اﻟﻌﻨﺎﺻﺮ اﻟﻤﺘﻘﺎﻃﻌﺔ ﻣﺎ ﺑﻴﻦ اﻟﺼﻔﻴﻦ‬
‫اﻷول واﻟﺜﺎﻧﻲ ﻣﻊ ﻋﻨﺎﺻﺮ اﻟﻌﻤﻮدﻳﻦ اﻷول‬
‫واﻟﺜﺎﻧﻲ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫اﺧﺘﻴﺎر اﻟﻌﻨﺎﺻﺮ اﻟﻤﺘﻘﺎﻃﻌﺔ ﻓﻲ اﻟﺼﻒ‬
‫اﻟﺜﺎﻟﺚ ﻣﻊ ﻋﻨﺎﺻﺮ اﻟﻌﻤﻮدﻳﻦ اﻟﺜﺎﻧﻲ واﻟﺜﺎﻟﺚ‬
‫ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ )‪(B‬‬
‫;]‪>>ِِA=[3 4 6;5 1 8‬‬
‫;]‪>>ِِB=[7 9 4;8 1 1‬‬
‫;]‪>>ِِC=[1;3;4‬‬
‫إﻧﺸﺎء ﺛﻼث ﻣﺼﻔﻮﻓﺎت ﻟﻐﺮض ﺗﻄﺒﻴﻖ‬
‫اﻷﻣﺜﻠﺔ اﻟﺘﺎﻟﻴﺔ‬
‫‪>>A+ِِB‬‬
‫ﻋﻤﻠﻴﺔ ﺟﻤﻊ اﻟﻤﺼﻔﻮﻓﺘﻴﻦ )‪ (A‬و )‪(B‬‬
‫‪>>A-ِِB‬‬
‫ﻋﻤﻠﻴﺔ ﻃﺮح اﻟﻤﺼﻔﻮﻓﺘﻴﻦ )‪ (A‬و )‪(B‬‬
‫‪>>A*ِC‬‬
‫ﻋﻤﻠﻴﺔ ﺿﺮب اﻟﻤﺼﻔﻮﻓﺘﻴﻦ )‪ (A‬و )‪(C‬‬
‫‪>>A/3‬‬
‫ﻋﻤﻠﻴﺔ ﻗﺴﻤﺔ اﻟﻤﺼﻔﻮﻓﺔ )‪ (A‬ﻋﻠﻰ ﻋﺪد‬
‫‪>>ِِA=[1 -1 1;1 2‬‬
‫]‪2;3 0 1‬‬
‫]‪>>ِِb=[5;10;1‬‬
‫‪>>ِِx=inv(A)*b‬‬
‫‪>>ِِA*x‬‬
‫اﻟﺘﺄآﺪ ﻣﻦ اﻟﺤﻞ‬
‫‪9‬‬
‫ﻗﻢ ﺑﺘﻄﺒﻴﻖ اﻷواﻣﺮ اﻟﻤﻮﺿﺤﺔ وذﻟﻚ ﻟﺤﻞ‬
‫ﻣﻨﻈﻮﻣﺔ اﻟﻤﻌﺎدﻻت اﻟﺨﻄﻴﺔ اﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪x-y+z=5‬‬
‫‪x+2y+2z=10‬‬
‫‪3x+z=1‬‬
‫ﻧﺎﺗﺞ ﻋﻤﻠﻴﺔ اﻟﻀﺮب )‪ (A*x‬ﻳﺠﺐ أن‬
‫ﻳﺴﺎوي اﻟﻤﺼﻔﻮﻓﺔ )‪(b‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺴﺎﺑﻊ )اﻟﺮﺳﻢ ﺛﻨﺎﺋﻲ اﻷﺑﻌﺎد(‬
‫)‪Matlab Examples in Chapter 7 (Introduction to 2D Plots‬‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺮﺳﻢ‬
‫ﺛﻨﺎﺋﻲ اﻷﺑﻌﺎد‬
‫‪Introduction to‬‬
‫‪2D Plots‬‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ‬
‫‪Defining a Vector‬‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫)‪>>ِِx=linspace(5,20,10‬‬
‫اﻟﺮﺳﻢ ﺛﻨﺎﺋﻲ اﻷﺑﻌﺎد‬
‫‪2D Plot‬‬
‫;)‪>>ِِx=linspace(0,10,100‬‬
‫;)‪>>y=sin(x‬‬
‫)‪>>plot(x,y‬‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ‬
‫‪Defining a Vector‬‬
‫;)‪>>ِِx=linspace(0,1,100‬‬
‫;)‪>>y=exp(-x).*cos(6*pi*x‬‬
‫)‪>>plot(x,y‬‬
‫)’‪>>plot(x,y,’r‬‬
‫ﺗﻐﻴﻴﺮ ﻟﻮن ﺧﻂ اﻟﺮﺳﻢ‬
‫‪Line Color‬‬
‫)’‪>>plot(x,y,’g‬‬
‫إﺿﺎﻓﺔ ﻋﻼﻣﺔ ﻟﺨﻂ اﻟﺮﺳﻢ‬
‫‪Line Mark‬‬
‫ﺗﻐﻴﻴﺮ ﻧﻮع ﺧﻂ اﻟﺮﺳﻢ‬
‫‪Line Style‬‬
‫إﺿﺎﻓﺔ ﺧﺼﺎﺋﺺ‬
‫إﻟﻰ اﻟﺮﺳﻮﻣﺎت‬
‫‪Setting 2D Plot‬‬
‫‪Properties‬‬
‫)’*’‪>>plot(x,y,‬‬
‫)’‪>>plot(x,y,’:‬‬
‫دﻣﺞ ﻣﺠﻤﻮﻋﺔ ﺧﺼﺎﺋﺺ ﻟﺨﻂ‬
‫اﻟﺮﺳﻢ‬
‫إﺿﺎﻓﺔ ﺷﺒﻜﺔ ﻟﻠﺮﺳﻢ‬
‫‪Adding Grid to Plot‬‬
‫إزاﻟﺔ ﺷﺒﻜﺔ اﻟﺮﺳﻢ‬
‫‪Removing Grid‬‬
‫إﺿﺎﻓﺔ ﺗﺴﻤﻴﺔ ﻟﻤﺤﻮر اﻟﺴﻴﻨﺎت‬
‫‪Adding Label to x-axis‬‬
‫إﺿﺎﻓﺔ ﺗﺴﻤﻴﺔ ﻟﻤﺤﻮر اﻟﺼﺎدات‬
‫‪Adding Label to y-axis‬‬
‫إﺿﺎﻓﺔ ﻋﻨﻮان ﻟﻠﺮﺳﻢ‬
‫‪Adding Title to Plot‬‬
‫إﺿﺎﻓﺔ ﻧﺺ ﻟﻠﺮﺳﻢ‬
‫‪Adding Text to Plot‬‬
‫إﺿﺎﻓﺔ دﻟﻴﻞ ﻟﻤﻨﺤﻨﻴﺎت اﻟﺮﺳﻢ‬
‫‪Adding Legend to Plot‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫)’‪>>plot(x,y,’g+‬‬
‫‪>>grid on‬‬
‫‪>>grid off‬‬
‫)’‪>>xlabel(’x‬‬
‫)’‪>>ylabel(’y‬‬
‫)’‪>>title(’graph‬‬
‫)’‪>>text(0.35,0.6,’plot‬‬
‫)’‪>>legend(‘X-Y Relation‬‬
‫‪10‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫ﻹﻧﺸﺎء اﻟﻤﺘﺠﻪ )‪ (x‬واﻟﺬي ﻳﺘﻜﻮن ﻣﻦ‬
‫‪ 10‬ﻗﻴﻢ ﺿﻤﻦ اﻟﻔﺘﺮة ﻣﻦ ‪ 5‬إﻟﻰ ‪20‬‬
‫وﺗﻜﻮن اﻟﻘﻴﻢ ﻣﻮزﻋﺔ ﺑﺎﻟﺘﺴﺎوي‬
‫ﻹﻧﺸﺎء اﻟﻤﺘﺠﻪ )‪ (x‬واﻟﺬي ﻳﺘﻜﻮن ﻣﻦ‬
‫‪ 100‬ﻗﻴﻤﺔ ﺿﻤﻦ اﻟﻔﺘﺮة ﻣﻦ ‪ 0‬إﻟﻰ‬
‫‪ 10‬وﺗﻜﻮن اﻟﻘﻴﻢ ﻣﻮزﻋﺔ ﺑﺎﻟﺘﺴﺎوي‬
‫وﻣﻦ ﺛﻢ إﻧﺸﺎء داﻟﺔ )‪ (sin‬وﺣﻔﻈﻬﺎ ﻓﻲ‬
‫اﻟﻤﺘﻐﻴﺮ )‪ (y‬وﻣﻦ ﺛﻢ رﺳﻢ اﻟﺪاﻟﺔ‬
‫ﻹﻧﺸﺎء اﻟﻤﺘﺠﻬﻴﻦ )‪ (x‬و )‪ (y‬وﻣﻦ ﺛﻢ‬
‫رﺳﻢ اﻟﺪاﻟﺔ ﺗﻤﺎﻣﺎ آﻤﺎ ﻓﻲ اﻟﺨﻄﻮة‬
‫اﻟﺴﺎﺑﻘﺔ‬
‫ﺗﻐﻴﻴﺮ ﻟﻮن ﺧﻂ اﻟﺮﺳﻢ إﻟﻰ اﻟﻠﻮن‬
‫اﻷﺣﻤﺮ‬
‫ﺗﻐﻴﻴﺮ ﻟﻮن ﺧﻂ اﻟﺮﺳﻢ إﻟﻰ اﻟﻠﻮن‬
‫اﻷﺧﻀﺮ‬
‫إﺿﺎﻓﺔ ﻋﻼﻣﺔ اﻟﻨﺠﻤﺔ ﻟﺨﻂ اﻟﺮﺳﻢ‬
‫ﺗﻐﻴﻴﺮ ﻧﻮع ﺧﻂ اﻟﺮﺳﻢ إﻟﻰ اﻟﻨﻮع‬
‫اﻟﻤﻨﻘﻂ‬
‫ﺗﻐﻴﻴﺮ ﻟﻮن ﺧﻂ اﻟﺮﺳﻢ إﻟﻰ اﻟﻠﻮن‬
‫اﻷﺧﻀﺮ ﻣﻊ إﺿﺎﻓﺔ ﻋﻼﻣﺔ زاﺋﺪ ﻟﺨﻂ‬
‫اﻟﺮﺳﻢ‬
‫ﻳﺘﻢ إﺿﺎﻓﺔ ﺷﺒﻜﺔ ﻟﻠﺮﺳﻢ ﻟﺘﺴﻬﻴﻞ ﻋﻤﻠﻴﺔ‬
‫ﻗﺮاءة اﻟﻘﻴﻢ ﻣﻦ اﻟﺮﺳﻢ‬
‫ﻳﺘﻢ إزاﻟﺔ ﺷﺒﻜﺔ اﻟﺮﺳﻢ‬
‫ﻳﺘﻢ إﺿﺎﻓﺔ ﺗﺴﻤﻴﺔ ﻟﻤﺤﻮر اﻟﺴﻴﻨﺎت‬
‫ﺑﺎﻟﺮﻣﺰ ’‪‘x‬‬
‫ﻳﺘﻢ إﺿﺎﻓﺔ ﺗﺴﻤﻴﺔ ﻟﻤﺤﻮر اﻟﺼﺎدات‬
‫ﺑﺎﻟﺮﻣﺰ ’‪‘y‬‬
‫ﻳﺘﻢ إﺿﺎﻓﺔ ﻋﻨﻮان ﻟﻠﺮﺳﻢ ﺑﺎﻻﺳﻢ‬
‫’‪‘graph‬‬
‫ﻳﺘﻢ إﺿﺎﻓﺔ اﻟﻨﺺ ’‪ ‘plot‬ﻟﻠﺮﺳﻢ‬
‫وذﻟﻚ ﻓﻲ اﻟﻤﻮﻗﻊ اﻟﻤﺤﺪد ﻓﻲ اﻷﻣﺮ‬
‫ﻳﺘﻢ إﺿﺎﻓﺔ دﻟﻴﻞ ﻟﻤﻨﺤﻨﻴﺎت اﻟﺮﺳﻢ‬
‫وذﻟﻚ ﻓﻲ ﻳﻤﻴﻦ اﻟﺮآﻦ اﻟﻌﻠﻮي ﻟﻠﺮﺳﻢ‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﺗﺎﺑﻊ ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺴﺎﺑﻊ )اﻟﺮﺳﻢ ﺛﻨﺎﺋﻲ اﻷﺑﻌﺎد(‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫إﻧﺸﺎء ﻣﺘﺠﻪ‬
‫‪Defining a Vector‬‬
‫إﻧﺸﺎء رﺳﻮﻣﺎت‬
‫ﻣﻨﻔﺼﻠﺔ ﻓﻲ ﻧﺎﻓﺬة‬
‫واﺣﺪة‬
‫‪Multiple 2D Plots‬‬
‫‪in a Window‬‬
‫;‪>>ِِx=0:0.1:10‬‬
‫‪>>subplot(2,2,1),‬‬
‫;))‪plot(x,sin(x‬‬
‫ﺗﻘﺴﻴﻢ ﻧﺎﻓﺬة اﻟﺮﺳﻢ‬
‫‪Subplots in Matlab‬‬
‫‪>>subplot(2,2,2),‬‬
‫;))‪plot(x,sin(2*x‬‬
‫‪>>subplot(2,2,3),‬‬
‫;))‪plot(x,cos(x‬‬
‫‪>>subplot(2,2,4),‬‬
‫;))‪plot(x,exp(x‬‬
‫اﻟﻄﺮﻳﻘﺔ اﻷوﻟﻰ‬
‫‪First Method‬‬
‫دﻣﺞ اﻟﺮﺳﻮم‬
‫‪Combining 2D‬‬
‫‪Plots‬‬
‫اﻟﻄﺮﻳﻘﺔ اﻟﺜﺎﻧﻴﺔ‬
‫‪Second Method‬‬
‫;‪>>ِِx=0:0.1:10‬‬
‫;)‪>>y=sin(x‬‬
‫;)‪>>z=cos(x‬‬
‫‪>>hold on‬‬
‫;)‪>>plot(x,y‬‬
‫;)’‪>>plot(x,z,’r‬‬
‫‪>>hold off‬‬
‫;‪>>ِِx=0:0.1:10‬‬
‫;)‪>>y=sin(x‬‬
‫;)‪>>z=cos(x‬‬
‫;)’‪>>plot(x,y,x,z,’r‬‬
‫دﻣﺞ ﻣﺠﻤﻮﻋﺔ ﺧﺼﺎﺋﺺ ﻟﺨﻂ‬
‫اﻟﺮﺳﻢ‬
‫اﻟﺮﺳﻮم اﻹﺣﺼﺎﺋﻴﺔ‬
‫ﻗﻄﺎﻋﺎت ﻣﻦ اﻟﺪاﺋﺮة‬
‫‪Pie Chart‬‬
‫‪Statistical Plots‬‬
‫رﺳﻢ اﻹﺷﺎرات‬
‫اﻟﻤﺘﻘﻄﻌﺔ‬
‫‪Plotting Discrete‬‬
‫‪Signals‬‬
‫‪>>plot(x,y,’g+’,‬‬
‫;)’‪x,z,’:‬‬
‫;]‪>>x=[8 17 21 18 6‬‬
‫)‪>>pie(x‬‬
‫اﻟﻤﺪرج اﻟﺘﻜﺮاري‬
‫‪Bar Chart‬‬
‫اﻹﺷﺎرات اﻟﻤﺘﻘﻄﻌﺔ‬
‫‪Discrete Signals‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫)‪>>bar(x‬‬
‫;)‪>>ِِx=linspace(0,2*pi,60‬‬
‫;)‪>>y=sin(x‬‬
‫)‪>>stem(x,y‬‬
‫‪11‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫إﻧﺸﺎء اﻟﻤﺘﺠﻪ )‪ (x‬وذﻟﻚ ﻟﺸﺮح‬
‫اﻷﻣﺜﻠﺔ اﻟﺘﺎﻟﻴﺔ‬
‫ﺗﻘﺴﻴﻢ ﻧﺎﻓﺬة اﻟﺮﺳﻢ إﻟﻰ أرﺑﻊ ﻧﻮاﻓﺬ )‪2‬‬
‫ﻓﻲ ‪ (2‬ورﺳﻢ اﻟﺪاﻟﺔ )‪ (sin‬ﻓﻲ اﻟﻨﺎﻓﺬة‬
‫اﻷوﻟﻰ )ﻳﺴﺎر اﻟﺼﻒ اﻷول(‬
‫ﺗﻘﺴﻴﻢ ﻧﺎﻓﺬة اﻟﺮﺳﻢ إﻟﻰ أرﺑﻊ ﻧﻮاﻓﺬ‬
‫ورﺳﻢ اﻟﺪاﻟﺔ )‪ (sin 2x‬ﻓﻲ اﻟﻨﺎﻓﺬة‬
‫اﻟﺜﺎﻧﻴﺔ )ﻳﻤﻴﻦ اﻟﺼﻒ اﻷول(‬
‫ﺗﻘﺴﻴﻢ ﻧﺎﻓﺬة اﻟﺮﺳﻢ إﻟﻰ أرﺑﻊ ﻧﻮاﻓﺬ‬
‫ورﺳﻢ اﻟﺪاﻟﺔ )‪ (cos‬ﻓﻲ اﻟﻨﺎﻓﺬة اﻟﺜﺎﻟﺜﺔ‬
‫)ﻳﺴﺎر اﻟﺼﻒ اﻟﺜﺎﻧﻲ(‬
‫ﺗﻘﺴﻴﻢ ﻧﺎﻓﺬة اﻟﺮﺳﻢ إﻟﻰ أرﺑﻊ ﻧﻮاﻓﺬ‬
‫ورﺳﻢ اﻟﺪاﻟﺔ )‪ (exp‬ﻓﻲ اﻟﻨﺎﻓﺬة‬
‫اﻟﺮاﺑﻌﺔ )ﻳﻤﻴﻦ اﻟﺼﻒ اﻟﺜﺎﻧﻲ(‬
‫ﻳﺘﻢ دﻣﺞ اﻟﺮﺳﻮم ﺑﺎﺳﺘﺨﺪام اﻷﻣﺮ‬
‫)‪ (hold on‬واﻟﺬي ﻳﻘﻮم ﺑﺘﺜﺒﻴﺖ ﻧﺎﻓﺬة‬
‫اﻟﺮﺳﻢ وإﺿﺎﻓﺔ أي رﺳﻢ ﺟﺪﻳﺪ إﻟﻰ‬
‫ﻧﻔﺲ اﻟﻨﺎﻓﺬة ‪ ،‬ﻟﺬا ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻷواﻣﺮ‬
‫ﺣﺴﺐ اﻟﺘﺮﺗﻴﺐ اﻟﻤﻮﺿﺢ‬
‫أﻳﻀﺎ ﻳﻤﻜﻦ أن ﻳﺘﻢ دﻣﺞ اﻟﺮﺳﻮم‬
‫ﺑﺎﺳﺘﺨﺪام هﺬﻩ اﻟﻄﺮﻳﻘﺔ اﻟﻤﺨﺘﺼﺮة‬
‫آﺬﻟﻚ ﻳﻤﻜﻦ ﻓﻲ اﻟﻤﺎﺗﻼب دﻣﺞ اﻟﺮﺳﻮم‬
‫وﺗﻐﻴﻴﺮ ﺧﺼﺎﺋﺺ اﻟﺮﺳﻢ ﻟﻜﻞ ﻣﻨﺤﻨﻰ‬
‫ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ‬
‫إﻧﺸﺎء ﻣﺘﻐﻴﺮ )‪ (x‬وﻣﻦ ﺛﻢ رﺳﻢ اﻟﻨﺴﺐ‬
‫اﻟﻤﺌﻮﻳﺔ ﻟﻌﻨﺎﺻﺮﻩ ﻋﻠﻰ ﺷﻜﻞ ﻗﻄﺎﻋﺎت‬
‫ﻣﻦ اﻟﺪاﺋﺮة‬
‫رﺳﻢ اﻟﻨﺴﺐ اﻟﻤﺌﻮﻳﺔ ﻟﻌﻨﺎﺻﺮ اﻟﻤﺘﻐﻴﺮ‬
‫)‪ (x‬ﻋﻠﻰ ﺷﻜﻞ ﻣﺪرج ﺗﻜﺮاري‬
‫إﻧﺸﺎء اﻹﺷﺎرات اﻟﻤﺘﻘﻄﻌﺔ )‪ (x‬و )‪(y‬‬
‫وﻣﻦ ﺛﻢ رﺳﻢ ﺗﻠﻚ اﻹﺷﺎرات‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﺟﺪول اﻷﻟﻮان )‪ (Color‬اﻟﻤﻌﺮﻓﺔ ﻓﻲ رﺳﻢ اﻟﻤﻨﺤﻨﻴﺎت‬
‫اﻟﺮﻣﺰ اﻟﻤﺴﺘﺨﺪم‬
‫اﻟﻠﻮن‬
‫‪Color‬‬
‫‪y‬‬
‫‪m‬‬
‫‪c‬‬
‫‪r‬‬
‫‪g‬‬
‫‪b‬‬
‫‪w‬‬
‫‪k‬‬
‫أﺻﻔﺮ‬
‫‪yellow‬‬
‫ﻣﺎﺟﻴﻨﺘﺎ‬
‫‪magenta‬‬
‫ﺳﻤﺎوي‬
‫‪cyan‬‬
‫أﺣﻤﺮ‬
‫‪red‬‬
‫أﺧﻀﺮ‬
‫‪green‬‬
‫أزرق‬
‫‪blue‬‬
‫أﺑﻴﺾ‬
‫‪white‬‬
‫أﺳﻮد‬
‫‪black‬‬
‫ﺟﺪول أﻧﻮاع اﻟﺨﻄﻮط )‪ (Line Style‬اﻟﻤﻌﺮﻓﺔ ﻓﻲ رﺳﻢ اﻟﻤﻨﺤﻨﻴﺎت‬
‫اﻟﺮﻣﺰ اﻟﻤﺴﺘﺨﺪم‬
‫ﻧﻮع اﻟﺨﻂ‬
‫‪Line Style‬‬
‫‬‫ﻣﺘﺼﻞ‬
‫‪solid‬‬
‫‪:‬‬
‫ﻧﻘﻂ‬
‫‪dotted‬‬
‫‪-.‬‬
‫ﻧﻘﻄﺔ وﺷﺮﻃﺔ‬
‫‪dash dotted‬‬
‫‪-‬‬‫ﺷﺮﻃﺔ‬
‫‪dashed‬‬
‫ﺟﺪول اﻷﺷﻜﺎل اﻟﻤﻀﺎﻓﺔ ﻟﻤﻨﺤﻨﻰ اﻟﺮﺳﻢ )‪ (Marker‬اﻟﻤﻌﺮﻓﺔ ﻓﻲ رﺳﻢ اﻟﻤﻨﺤﻨﻴﺎت‬
‫اﻟﺮﻣﺰ اﻟﻤﺴﺘﺨﺪم‬
‫‪+‬‬
‫‪o‬‬
‫*‬
‫‪.‬‬
‫‪x‬‬
‫‪s‬‬
‫‪d‬‬
‫^‬
‫‪v‬‬
‫>‬
‫<‬
‫‪p‬‬
‫‪h‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪Description‬‬
‫‪Plus sign‬‬
‫‪Circle‬‬
‫‪Asterisk‬‬
‫‪Point‬‬
‫‪Cross‬‬
‫‪Square‬‬
‫‪Diamond‬‬
‫‪Upward-pointing triangle‬‬
‫‪Downward-pointing triangle‬‬
‫‪Right-pointing triangle‬‬
‫‪Left-pointing triangle‬‬
‫)‪Five-pointed star (pentagram‬‬
‫)‪Six-pointed star (hexagram‬‬
‫اﻟﻮﺻﻒ‬
‫إﺷﺎرة زاﺋﺪ‬
‫داﺋﺮة‬
‫ﻧﺠﻤﺔ‬
‫ﻧﻘﺎط‬
‫إﺷﺎرة ﺗﻘﺎﻃﻊ‬
‫ﻣﺮﺑﻊ‬
‫ﻣﻌﻴﻦ‬
‫ﻣﺜﻠﺚ ﻳﺸﻴﺮ ﻟﻸﻋﻠﻰ‬
‫ﻣﺜﻠﺚ ﻳﺸﻴﺮ ﻟﻸﺳﻔﻞ‬
‫ﻣﺜﻠﺚ ﻳﺸﻴﺮ ﻟﻠﻴﻤﻴﻦ‬
‫ﻣﺜﻠﺚ ﻳﺸﻴﺮ ﻟﻠﻴﺴﺎر‬
‫ﻧﺠﻤﺔ ﺧﻤﺎﺳﻴﺔ‬
‫ﻧﺠﻤﺔ ﺳﺪاﺳﻴﺔ‬
‫‪12‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺜﺎﻣﻦ )اﻟﺒﺮﻣﺠﺔ ﻓﻲ اﻟﻤﺎﺗﻼب(‬
‫)‪Matlab Examples in Chapter 8 (Matlab Programmin‬‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ‬
‫‪The Editor‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ‬
‫‪Introduction to‬‬
‫‪Programming‬‬
‫‪>>edit‬‬
‫ﻣﻠﻒ اﻷواﻣﺮ‬
‫)‪The Script File (M-File‬‬
‫;‪ِx=pi/100:pi/100:10*pi‬‬
‫;‪y=sin(x)./x‬‬
‫)‪plot(x,y‬‬
‫‪grid on‬‬
‫ﺗﺸﻐﻴﻞ ﻣﻠﻒ اﻷواﻣﺮ‬
‫‪Executing the Script File‬‬
‫‪>>script‬‬
‫اﻷﻣﺮ )‪(For‬‬
‫‪For Loop‬‬
‫اﻷﻣﺮ )‪(For‬‬
‫‪Nested For Loop‬‬
‫‪for n=1:10‬‬
‫;)‪x(n)=sin(pi*n/10‬‬
‫‪end‬‬
‫‪x‬‬
‫‪for n=1:10‬‬
‫‪for i=1:10‬‬
‫;)‪x(n,i)=sin(pi*n/10‬‬
‫‪end‬‬
‫‪end‬‬
‫‪x‬‬
‫‪a=1‬‬
‫‪while a<100‬‬
‫‪a=a*2‬‬
‫‪end‬‬
‫اﻷﻣﺮ )‪(While‬‬
‫‪While Loop‬‬
‫أواﻣﺮ اﻟﺘﺤﻜﻢ ﻓﻲ‬
‫اﻟﻤﺴﺎرات‬
‫‪Control Flow‬‬
‫‪a=2‬‬
‫‪b=3‬‬
‫‪if a<b‬‬
‫‪j=-1‬‬
‫‪elseif a>b‬‬
‫‪j=2‬‬
‫‪else‬‬
‫‪j=3‬‬
‫‪end‬‬
‫‪a=3‬‬
‫‪b=3‬‬
‫‪if a<b‬‬
‫‪j=-1‬‬
‫‪elseif a>b‬‬
‫‪j=2‬‬
‫‪else‬‬
‫‪j=3‬‬
‫‪end‬‬
‫اﻷﻣﺮ )‪(if‬‬
‫‪If Condition‬‬
‫اﻷﻣﺮ )‪ (if‬ﻣﺜﺎل ﺁﺧﺮ‬
‫‪If Condition‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪13‬‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫ﻗﻢ ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫وذﻟﻚ ﻟﻜﺘﺎﺑﺔ ﻣﻠﻒ )‪(M-File‬‬
‫ﻗﻢ ﺑﻜﺘﺎﺑﺔ اﻷواﻣﺮ اﻟﻤﻮﺿﺤﺔ ﻓﻲ‬
‫ﺷﺎﺷﺔ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻗﻢ ﺑﺤﻔﻆ اﻟﻤﻠﻒ ﺑﺎﺳﻢ‬
‫)‪(script.m‬‬
‫ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ )‪(script.m‬‬
‫وذﻟﻚ ﺑﻜﺘﺎﺑﺔ اﺳﻢ اﻟﻤﻠﻒ ﻓﻲ ﻧﺎﻓﺬة‬
‫اﻷواﻣﺮ ﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫ﻟﺘﻌﻠﻢ آﻴﻔﻴﺔ اﺳﺘﺨﺪام اﻷﻣﺮ )‪ (for‬ﻗﻢ‬
‫ﻗﻢ ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫ﻹﻧﺸﺎء اﻟﻤﻠﻒ )‪(program1.m‬‬
‫واﻟﺬي ﻳﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ‬
‫اﻟﻤﻮﺿﺤﺔ ﺛﻢ ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻗﻢ ﺑﺈﺟﺮاء اﻟﺘﻌﺪﻳﻼت اﻟﻤﻮﺿﺤﺔ ﻋﻠﻰ‬
‫ﻧﻔﺲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ واﻟﻤﺴﻤﻰ‬
‫)‪ (program1.m‬ﺑﻮاﺳﻄﺔ ﺑﺮﻧﺎﻣﺞ‬
‫اﻟﺘﺤﺮﻳﺮ )‪ (Editor‬وﻣﻦ ﺛﻢ ﻗﻢ ﺑﺘﻨﻔﻴﺬ‬
‫اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻟﺘﻌﻠﻢ آﻴﻔﻴﺔ اﺳﺘﺨﺪام اﻷﻣﺮ )‪(While‬‬
‫ﻗﻢ ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫ﻹﻧﺸﺎء اﻟﻤﻠﻒ )‪(program2.m‬‬
‫واﻟﺬي ﻳﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ‬
‫اﻟﻤﻮﺿﺤﺔ ﺛﻢ ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻟﺘﻌﻠﻢ آﻴﻔﻴﺔ اﺳﺘﺨﺪام اﻷﻣﺮ )‪ (if‬ﻗﻢ‬
‫ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫ﻹﻧﺸﺎء اﻟﻤﻠﻒ )‪(program3.m‬‬
‫واﻟﺬي ﻳﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ‬
‫اﻟﻤﻮﺿﺤﺔ ﺛﻢ ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻗﻢ ﺑﺈﺟﺮاء اﻟﺘﻌﺪﻳﻼت اﻟﻤﻮﺿﺤﺔ ﻋﻠﻰ‬
‫ﻧﻔﺲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ واﻟﻤﺴﻤﻰ‬
‫)‪ (program3.m‬ﺑﻮاﺳﻄﺔ ﺑﺮﻧﺎﻣﺞ‬
‫اﻟﺘﺤﺮﻳﺮ )‪ (Editor‬وﻣﻦ ﺛﻢ ﻗﻢ ﺑﺘﻨﻔﻴﺬ‬
‫اﻟﺒﺮﻧﺎﻣﺞ‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫ﻣﻠﺨﺺ أواﻣﺮ اﻟﻔﺼﻞ اﻟﺜﺎﻣﻦ )اﻟﺒﺮﻣﺠﺔ ﻓﻲ اﻟﻤﺎﺗﻼب(‬
‫)‪Matlab Examples in Chapter 8 (Matlab Programmin‬‬
‫اﻟﻤﻮﺿﻮع اﻟﺮﺋﻴﺴﻲ‬
‫اﻟﻤﻮﺿﻮع اﻟﻔﺮﻋﻲ‬
‫ﺗﻨﻔﻴﺬ اﻟﻤﺜﺎل ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫ﺷﺮح اﻟﻤﺜﺎل‬
‫اﻷﻣﺮ )‪(switch‬‬
‫‪Switch Case‬‬
‫;)‪x=ceil(10*rand‬‬
‫‪switch x‬‬
‫}‪case{1,2‬‬
‫)’‪disp(‘probability=20%‬‬
‫}‪case{3,4,5‬‬
‫)’‪disp(‘probability=30%‬‬
‫‪otherwise‬‬
‫)’‪disp(‘probability=50%‬‬
‫‪end‬‬
‫ﻟﺘﻌﻠﻢ آﻴﻔﻴﺔ اﺳﺘﺨﺪام اﻷﻣﺮ )‪(switch‬‬
‫ﻗﻢ ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫ﻹﻧﺸﺎء اﻟﻤﻠﻒ )‪(program4.m‬‬
‫واﻟﺬي ﻳﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ‬
‫اﻟﻤﻮﺿﺤﺔ ﺛﻢ ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫أواﻣﺮ اﻟﺘﺤﻜﻢ ﻓﻲ‬
‫اﻟﻤﺴﺎرات‬
‫‪Control Flow‬‬
‫‪>>for i=1:10‬‬
‫‪program4‬‬
‫‪end‬‬
‫ﺗﺸﻐﻴﻞ ﻣﻠﻒ اﻷواﻣﺮ‬
‫‪Executing the Script File‬‬
‫آﺘﺎﺑﺔ داﻟﺔ‬
‫‪Writing a Function‬‬
‫اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ‬
‫‪Calling the Function‬‬
‫اﻟﺪاﻟﺔ‬
‫‪The Function‬‬
‫آﺘﺎﺑﺔ داﻟﺔ أﺧﺮى‬
‫‪Writing another‬‬
‫‪Function‬‬
‫‪function‬‬
‫)‪[u,v]=myfunc(a,b‬‬
‫;‪u=a+b‬‬
‫;‪v=a-b‬‬
‫)‪>>[u,v]=myfunc(3,7‬‬
‫)‪function y=stat(a,b‬‬
‫‪if a>b‬‬
‫)’‪disp(‘a is greater than b‬‬
‫‪elseif a<b‬‬
‫)’‪disp(‘a is less than b‬‬
‫‪else‬‬
‫)’‪disp(‘a is equal b‬‬
‫‪end‬‬
‫)‪>>stat(5,3‬‬
‫)‪>>stat(6,6‬‬
‫)‪>>stat(2,8‬‬
‫اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ‬
‫‪Calling the Function‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪14‬‬
‫ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ )‪(program4‬‬
‫ﻟﻌﺪد ﻋﺸﺮ ﻣﺮات ﻣﺘﺘﺎﻟﻴﺔ وذﻟﻚ ﺑﻜﺘﺎﺑﺔ‬
‫هﺬﻩ اﻷواﻣﺮ ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ‬
‫ﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫ﻗﻢ ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫ﻹﻧﺸﺎء ﻣﻠﻒ اﻟﺪاﻟﺔ )‪(myfunc.m‬‬
‫واﻟﺬي ﻳﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ‬
‫اﻟﻤﻮﺿﺤﺔ‬
‫ﻻﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻷﻣﺮ‬
‫اﻟﻤﻮﺿﺢ وذﻟﻚ ﺑﻜﺘﺎﺑﺔ اﺳﻢ ﻣﻠﻒ اﻟﺪاﻟﺔ‬
‫ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ ﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫ﻗﻢ ﺑﻔﺘﺢ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺤﺮﻳﺮ )‪(Editor‬‬
‫ﻹﻧﺸﺎء اﻟﻤﻠﻒ )‪ (stat.m‬واﻟﺬي‬
‫ﻳﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ اﻟﻤﻮﺿﺤﺔ‬
‫ﻻﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ﻗﻢ ﺑﺘﻨﻔﻴﺬ اﻷواﻣﺮ‬
‫اﻟﻤﻮﺿﺤﺔ وذﻟﻚ ﺑﻜﺘﺎﺑﺔ اﺳﻢ ﻣﻠﻒ‬
‫اﻟﺪاﻟﺔ ﻓﻲ ﻧﺎﻓﺬة اﻷواﻣﺮ ﻟﺒﺮﻧﺎﻣﺞ‬
‫اﻟﻤﺎﺗﻼب‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫اﻟﻌﻼﻗﺎت اﻟﻤﻨﻄﻘﻴﺔ )‪ (Logical Expression‬اﻟﻤﻌﺮﻓﺔ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫ﺟﺪول ﻋﻼﻗﺎت اﻟﻤﻘﺎرﻧﺔ )‪(Relation Operators‬‬
‫اﻟﺮﻣﺰ اﻟﻤﺴﺘﺨﺪم‬
‫==‬
‫=~‬
‫<‬
‫=<‬
‫>‬
‫=>‬
‫‪Description‬‬
‫‪Equal to‬‬
‫‪Not equal‬‬
‫‪Less than‬‬
‫‪Lese than or equal‬‬
‫‪Greater than‬‬
‫‪Greater than or equal‬‬
‫وﺻﻒ اﻟﻌﻼﻗﺔ‬
‫ﻳﺴﺎوي‬
‫ﻻ ﻳﺴﺎوي‬
‫أﻗﻞ ﻣﻦ‬
‫أﻗﻞ أو ﻳﺴﺎوي‬
‫أآﺒﺮ‬
‫أآﺒﺮ أو ﻳﺴﺎوي‬
‫ﺟﺪول اﻟﻌﻼﻗﺎت اﻟﻤﻨﻄﻘﻴﺔ )‪(Logical Operators‬‬
‫اﻟﺮﻣﺰ اﻟﻤﺴﺘﺨﺪم‬
‫&‬
‫|‬
‫~‬
‫‪xor‬‬
‫‪Description‬‬
‫‪And‬‬
‫‪or‬‬
‫‪Not‬‬
‫‪XOR‬‬
‫وﺻﻒ اﻟﻌﻼﻗﺔ‬
‫اﻟﻌﻼﻗﺔ "و"‬
‫اﻟﻌﻼﻗﺔ "أو"‬
‫اﻟﻌﻼﻗﺔ "ﻻ"‬
‫اﻟﻌﻼﻗﺔ )‪(xor‬‬
‫أﻣﺜﻠﺔ اﻻﺳﺘﺨﺪام ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫اﻟﻘﻴﻢ اﻟﺮﻳﺎﺿﻴﺔ‬
‫]‪x ∈ [0,5‬‬
‫]‪x ∉ [0,5‬‬
‫)‪x ∈ [0,5‬‬
‫‪x ≠ 10‬‬
‫‪x = 10‬‬
‫‪x = 10 or x = −10‬‬
‫‪x = 10 xor x = −10‬‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫ﻃﺮﻳﻘﺔ اﻟﺘﻤﺜﻴﻞ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫)‪if (x>=0) & (x<=5‬‬
‫)‪if (x<0) & (x>5‬‬
‫)‪if (x>=0) & (x<5‬‬
‫)‪while (x~=10‬‬
‫)‪while (x==10‬‬
‫)‪while (x==10)|(x==-10‬‬
‫)‪while (x==10)xor(x==-10‬‬
‫‪15‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
‫‪Introduction to Matlab‬‬
‫ﻣﻘﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻤﺎﺗﻼب‬
‫أواﻣﺮ إﺿﺎﻓﻴﺔ ﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺎﺗﻼب‬
‫‪Additional Matlab Commands‬‬
‫)اﺳﺘﺨﺪم هﺬا اﻟﺠﺪول ﻟﺘﺴﺠﻴﻞ اﻷواﻣﺮ اﻹﺿﺎﻓﻴﺔ اﻟﺘﻲ ﺗﻌﻠﻤﺘﻬﺎ ﺧﻼل اﻟﺪورة(‬
‫اﻷﻣﺮ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫‪>>clc‬‬
‫اﻷﻣﺮ ﻓﻲ اﻟﻤﺎﺗﻼب‬
‫ﺷﺮح اﻷﻣﺮ‬
‫ﺷﺮح اﻷﻣﺮ‬
‫ﻣﺴﺢ ﻧﺎﻓﺬة إدﺧﺎل اﻷواﻣﺮ‬
‫ﻣﺴﺢ آﺎﻓﺔ اﻟﻤﺘﻐﻴﺮات واﻟﺪوال‬
‫‪ >>clear all‬اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻧﺎﻓﺬة اﻟﻤﺘﻐﻴﺮات‬
‫ﻣﻦ ذاآﺮة اﻟﺤﺎﺳﺐ‬
‫اﻋﺪاد د‪ /‬ﺧﺎﻟﺪ ﻋﺒﺪ اﻟﺤﻤﻴﺪ اﻟﻬﻨﺪي‬
‫‪16‬‬
‫‪Dr. Khalid A. Al-Hindi‬‬
Download