You are on page 1of 35

‫ﻤﻠﺨﺹ‬

‫ﺍﺴﺘﺨﺩﺍﻡ ‪ Matlab‬ﻓﻲ‬
‫ﺘﺤﻠﻴل ﺍﻷﻨﻁﻤﺔ ﺍﻟﺨﻁﻴﺔ‬

‫ﺍﻟﺩﻜﺘﻭﺭ ﺍﻟﻤﻬﻨﺩﺱ‬
‫ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺍﻟﻔﺼل ﺍﻟﺩﺭﺍﺴﻲ ‪٢٠٠٥ - ٢٠٠٤‬‬


‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬

‫ﻤﻔﺎﻫﻴﻡ ﺃﺴﺎﺴﻴﺔ‬

‫ﻤﻘﺩﻤـﺔ ‪ :‬ﻴﻌﺘﺒﺭ ﻤﺎﺘﻼﺏ ﺃﻫﻡ ﺍﻟﺒﺭﺍﻤﺞ ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻓﻲ ﻤﺠﺎﻻﺕ ﻋﺩﻴﺩﺓ ﻤﺜـل )ﺍﻟـﺘﺤﻜﻡ ﺍﻵﻟـﻲ –‬
‫ﺍﻻﺘﺼﺎﻻﺕ – ﺍﻟﻜﺘﺭﻭﻨﻴﺎﺕ ﺍﻟﻘﺩﺭﺓ – ﺍﻻﻗﺘﺼﺎﺩ – ﺍﻟﺭﻴﺎﻀﻴﺎﺕ(‪ .‬ﻭﺘﺄﺘﻲ ﺃﻫﻤﻴﺔ ﻫﺫﺍ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻤـﻥ‬
‫ﻗﻭﺘﻪ ﺍﻟﺘﻲ ﻻﺘﺅﺜﺭ ﺃﺒﺩﺍﹰ ﻋﻠﻰ ﺴﻬﻭﻟﺘﻪ‪.‬‬

‫ﻤﺎ ﺴﻨﻘﺩﻤﻪ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﺨﺹ ﻻﻴﺘﻌﺩﻯ ﻜﻭﻨﻪ ﺒﻌﺽ ﺍﻷﺴﺎﺴﻴﺎﺕ ﺍﻟﺘﻲ ﻴﺴﻤﺢ ﺒﻬـﺎ ﺍﻟﻭﻗـﺕ ﻭﺍﻟﺘـﻲ‬
‫ﺴﻨﺤﺘﺎﺠﻬﺎ ﻟﻠﺘﺩﺭﺏ ﻋﻠﻰ ﺒﻌﺽ ﺍﻟﻤﺴﺎﺌل ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‪.‬‬

‫ﺴﻨﺘﻁﺭﻕ ﻓﻲ ﻫﺫﺍ ﺍﻟﻤﻠﺨﺹ ﺇﻟﻰ ﺜﻼﺜﺔ ﻭﻅﺎﺌﻑ ﺭﺌﻴﺴﻴﺔ ﻭﻫﻲ ‪:‬‬


‫‪ -‬ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻜﺒﻴﺌﺔ ﻟﻠﺤﺴﺎﺏ ﺍﻟﻤﺒﺎﺸﺭ ﺤﻴﺙ ﻴﻤﻜﻨﻨﺎ ﺘﻨﻔﻴﺫ ﺍﻷﻭﺍﻤﺭ ﻤﺒﺎﺸﺭﺓ ﻋﻠﻰ ﺍﻟﻨﺎﻓﺫﺓ‬
‫ﺍﻟﺭﺌﻴﺴﻴﺔ ﻟﻤﺎﺘﻼﺏ‪.‬‬
‫‪ -‬ﺍﺴﺘﺨﺩﺍﻤﻪ ﻜﻠﻐﺔ ﺒﺭﻤﺠﺔ ﻤﻥ ﺨﻼل ﻜﺘﺎﺒﺔ ﺒﻌﺽ ﺍﻟﺒﺭﺍﻤﺞ ﻭﺍﻟﺘﻭﺍﺒﻊ ﺍﻟﻤﺘﻜﺎﻤﻠﺔ ﻀﻤﻥ ﻤﻠﻔﺎﺕ‬
‫ﻭﺘﻨﻔﻴﺫﻫﺎ ﻻﺤﻘﺎﹰ ﺃﻭ ﺍﺴﺘﺩﻋﺎﺌﻬﺎ ﻤﻥ ﺩﺍﺨل ﻤﻠﻔﺎﺕ ﺃﺨﺭﻯ‪.‬‬
‫‪ -‬ﺒﻌﺽ ﺍﻷﺴﺎﺴﻴﺎﺕ ﻟﺒﻴﺌﺔ ‪ Simulink‬ﺍﻟﺘﻲ ﻴﻤﻜﻥ ﺘﻭﻅﻴﻔﻬﺎ ﺒﺸﻜل ﻤﻤﺘﺎﺯ ﻓﻲ ﺃﻤﻭﺭ ﺍﻟﺘﺤﻜﻡ‬
‫ﻭﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‪.‬‬

‫ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﺍﻻﻓﺘﺭﺍﻀﻴﺔ ﻟﻠﺒﺭﻨﺎﻤﺞ ‪ :‬ﻋﻨﺩ ﺘﺸﻐﻴل ﺍﻟﺒﺭﻨﺎﻤﺞ ﺘﻅﻬﺭ ﻟﻨﺎ ﺍﻟﻨﺎﻓﺫﺓ ﺍﻟﻤﺒﻴﻨﺔ ﻋﻠـﻰ‬
‫ﺍﻟﺸﻜل ‪ .١‬ﺴﻨﺘﻌﺭﻑ ﻋﻠﻰ ﻫﺫﻩ ﺍﻟﻨﺎﻓﺫﺓ ﺒﺸﻜل ﺴﺭﻴﻊ ﻭﻤﻥ ﺨﻼل ﺍﻟﺩﺭﻭﺱ ﺍﻟﻤﻘﺒﻠﺔ ﺴﻨﺘﻌﺭﻑ ﺸـﻴﺌﺎﹰ‬
‫ﻓﺸﻴﺌﺎﹰ ﻋﻤﺎ ﻗﺩ ﻨﺤﺘﺎﺠﻪ ﻓﻲ ﻋﻤﻠﻨﺎ‪.‬‬
‫ﻤﻼﺤﻅﺔ ‪ :‬ﺇﺫﺍ ﻟﻡ ﺘﻅﻬﺭ ﺍﻟﻨﺎﻓﺫﺓ ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻻﻓﺘﺭﺍﻀﻲ )ﺍﻟﺸﻜل ‪ (١‬ﻴﻤﻜﻨﻨﺎ ﺍﻟﻭﺼﻭل ﺇﻟﻴﻬـﺎ ﻋـﻥ‬
‫ﻁﺭﻴﻕ ﺍﻟﻀﻐﻁ ﺒﺎﻟﺘﺘﺎﻟﻲ ﻋﻠﻰ ‪.View à Desktop Layout à Default :‬‬

‫ﻤﻥ ﺍﻟﺸﻜل ‪ ١‬ﻨﻼﺤﻅ ﺃﻥ ﺍﻟﻨﺎﻓﺫﺓ ﺍﻟﺭﺌﻴﺴﻴﺔ ﺘﺘﺄﻟﻑ ﻤﻥ ﺜﻼﺜﺔ ﻨﻭﺍﻓﺫ ﻓﺭﻋﻴﺔ ﻭﻫﻲ ‪:‬‬
‫‪ -‬ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ‪ :‬ﺍﻟﺘﻲ ﻨﻘﻭﻡ ﻋﻥ ﻁﺭﻴﻘﻬﺎ ﺒﺈﺩﺨﺎل ﺍﻷﻭﺍﻤﺭ ﺍﻟﻤﺒﺎﺸﺭﺓ ﻟﻤـﺎﺘﻼﺏ ﻤـﻥ ﺃﺠـل‬
‫ﺘﻁﺒﻴﻕ ﺤﺴﺎﺒﺎﺕ ﺃﻭ ﻋﻤﻠﻴﺎﺕ ﺴﺭﻴﻌﺔ‪.‬‬

‫‪١‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪ -‬ﻨﺎﻓﺫﺓ ﺍﻟﺫﺍﻜﺭﺓ ‪ :‬ﻭﻫﻲ ﺘﻅﻬﺭ ﻟﻨﺎ ﺠﻤﻴﻊ ﺍﻟﻤﺘﺤﻭﻻﺕ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ ﻭﺍﻟﺘﻲ ﺘﻡ ﺇﺩﺨﺎﻟﻬﺎ‬
‫ﺴﺎﺒﻘﺎﹰ ﺇﻀﺎﻓﺔ ﺇﻟﻰ ﺒﻌﺽ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﻋﻥ ﻜل ﻤﺘﺤﻭل‪.‬‬
‫‪ -‬ﻨﺎﻓﺫﺓ ﺍﻟﺘﺎﺭﻴﺦ ‪ :‬ﻭﻫﻲ ﺘﺤﺘﻔﻅ ﺒﻼﺌﺤﺔ ﻤﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﺘﻡ ﺇﺩﺨﺎﻟﻬﺎ ﻓﻲ ﻫﺫﺍ ﺍﻟﻴﻭﻡ ﻭﺍﻷﻴـﺎﻡ‬
‫ﺍﻟﺴﺎﺒﻘﺔ‪.‬‬

‫ﻨﺎﻓﺫﺓ ﺍﻟﺫﺍﻜﺭﺓ‬

‫ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ‬

‫ﻨﺎﻓﺫﺓ ﺍﻟﺘﺎﺭﻴﺦ‬

‫ﺍﻟﺸﻜل ‪١‬‬

‫ﻤﺎﺘﻼﺏ ﻜﺂﻟﺔ ﺤﺎﺴﺒﺔ ‪:‬‬


‫ﻴﻤﻜﻨﻨﺎ ﺘﻨﻔﻴﺫ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺤﺴﺎﺒﻴﺔ ﻤﺒﺎﺸﺭﺓﹰ ﻋﻠﻰ ﺍﻟﻨﺎﻓﺫﺓ ﺍﻟﺭﺌﻴﺴﻴﺔ‪ .‬ﻟﻨﻜﺘﺏ ﻤﺜﻼﹰ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ‪:‬‬
‫)‪(5*5)+3-(20/4‬‬
‫ﻓﻨﺤﺼل ﻋﻠﻰ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫= ‪ans‬‬
‫‪23‬‬
‫ﻜﻠﻤﺔ ‪ ans‬ﻫﻲ ﺃﺤﺩ ﺍﻟﻜﻠﻤﺎﺕ ﺍﻟﻤﺤﺠﻭﺯﺓ ﻭﺍﻟﺘﻲ ﻴﻌﺭﻓﻬﺎ ﻤﺎﺘﻼﺏ ﻋﻠﻰ ﺃﻨﻬﺎ ﺁﺨﺭ ﺠﻭﺍﺏ ﺘﻡ ﺍﻟﺤﺼﻭل‬
‫ﻋﻠﻴﻪ‪ .‬ﻭﻴﻤﻜﻨﻨﺎ ﺍﺴﺘﺨﺩﺍﻤﻪ ﻓﻲ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺘﺎﻟﻴﺔ ﻤﺒﺎﺸﺭﺓﹰ‪ .‬ﻟﻨﻜﺘﺏ ﻤﺜﻼﹰ ‪:‬‬
‫‪ans-3‬‬

‫‪٢‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻓﻨﺤﺼل ﻋﻠﻰ ‪:‬‬


‫= ‪ans‬‬
‫‪20‬‬
‫ﺃﻱ ﺃﻥ ﻗﻴﻤﺔ ‪ ans‬ﻗﺩ ﺘﻐﻴﺭﺕ ﻭﺃﺼﺒﺤﺕ ‪.٢٠‬‬
‫ﻟﻭ ﻨﻅﺭﻨﺎ ﺇﻟﻰ ﻨﺎﻓﺫﺓ ﺍﻟﺫﺍﻜﺭﺓ ﻟﻭﺠﺩﻨﺎ ﺃﻥ ﺍﻟﻜﻠﻤﺔ ‪ ans‬ﻤﻜﺘﻭﺒﺔ ﻓﻴﻬﺎ ﻭﻤﻌﻠﻭﻤﺎﺕ ﻋﻨﻬﺎ‪ .‬ﻭﻟﻭ ﻨﻅﺭﻨﺎ ﺇﻟﻰ‬
‫ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ﻟﻭﺠﺩﻨﺎ ﺴﻠﺴﻠﺔ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﻗﻤﻨﺎ ﺒﺈﺩﺨﺎﻟﻬﺎ‪.‬‬

‫ﺃﻨﻭﺍﻉ ﺍﻟﻤﺘﺤﻭﻻﺕ ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻓﻲ ﻤﺎﺘﻼﺏ ‪:‬‬


‫ﻴﺘﻌﺭﻑ ﻤﺎﺘﻼﺏ ﻋﻠﻰ ﻋﺩﺓ ﺃﻨﻭﺍﻉ ﻤﻥ ﺍﻟﻤﺘﺤﻭﻻﺕ ﻤﺒﺎﺸﺭﺓ ﺩﻭﻥ ﺍﻟﺤﺎﺠﺔ ﺇﻟﻰ ﺘﻌﺭﻴﻔﻬﺎ ﺴﺎﺒﻘﺎﹰ ﻤﺜل ﺒﻘﻴﺔ‬
‫ﻟﻐﺎﺕ ﺍﻟﺒﺭﻤﺠﺔ‪ .‬ﺴﻨﺘﻌﺭﻑ ﻋﻠﻰ ﺜﻼﺜﺔ ﻤﻥ ﻫﺫﻩ ﺍﻟﻤﺘﺤﻭﻻﺕ ﻭﻫﻲ ﺍﻷﻋﺩﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ ﻭ ﺍﻟﺴﻼﺴـل‬
‫ﺍﻟﺤﺭﻓﻴﺔ ﻭﺍﻷﻋﺩﺍﺩ ﺍﻟﻌﻘﺩﻴﺔ‪.‬‬

‫ﺍﻷﻋﺩﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ ‪:‬‬


‫ﻟﻭ ﻜﺘﺒﻨﺎ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ‬
‫; ‪a = 5.5‬‬
‫ﻨﻜﻭﻥ ﺒﺫﻟﻙ ﻗﺩ ﻗﻤﻨﺎ ﺒﺘﻌﺭﻴﻑ ﻤﺘﺤﻭل ‪ a‬ﻋﻠﻰ ﺃﻨﻪ ﻋﺩﺩ ﺼﺤﻴﺢ ﻗﻴﻤﺘﻪ ‪ 5.5‬ﻭﻭﻀﻌﻨﺎﻩ ﻓﻲ ﺍﻟـﺫﺍﻜﺭﺓ‬
‫)ﺍﻨﻅﺭ ﻨﺎﻓﺫﺓ ﺍﻟﺫﺍﻜﺭﺓ(‪.‬‬
‫ﻤﻼﺤﻅﺔ ‪ :‬ﺍﻟﻔﺎﺼﻠﺔ ﺍﻟﻤﻨﻘﻭﻁﺔ ﺘﻤﻨﻊ ﻤﺎﺘﻼﺏ ﻤﻥ ﺇﻅﻬﺎﺭ ﺍﻟﻨﺘﻴﺠﺔ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ﺒل ﻴﻘـﻭﻡ ﻓﻘـﻁ‬
‫ﺒﺎﺨﺘﺯﺍﻨﻬﺎ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ‪.‬‬
‫ﻴﻤﻜﻨﻨﺎ ﺍﻵﻥ ﺍﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﻤﺘﺤﻭل ‪ a‬ﻓﻲ ﻋﻤﻠﻴﺎﺘﻨﺎ‪ .‬ﻟﻨﻜﺘﺏ ﻤﺜﻼﹰ ‪:‬‬
‫‪b=a+5‬‬
‫ﻓﺘﻅﻬﺭ ﻟﻨﺎ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫=‪b‬‬
‫‪10.5000‬‬
‫ﻭﺒﺫﻟﻙ ﻨﻜﻭﻥ ﺃﻴﻀﺎﹰ ﻗﺩ ﻋﺭﻓﻨﺎ ﻤﺘﺤﻭﻻﹰ ﺁﺨﺭ ‪ b‬ﻗﻴﻤﺘﻪ ‪ 10.5‬ﻭﻭﻀﻌﻨﺎﻩ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ‪.‬‬

‫ﺍﻟﺴﻼﺴل ﺍﻟﺤﺭﻓﻴﺔ ‪:‬‬


‫ﻟﻨﻜﺘﺏ ﺍﻵﻥ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ‬
‫; '‪c = 'Ittihad‬‬
‫ﻨﻜﻭﻥ ﻗﺩ ﺤﺠﺯﻨﺎ ﻤﻜﺎﻥ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ ﻟﻤﺘﺤﻭل ﺃﺴﻤﻪ ‪ c‬ﻗﻴﻤﺘﻪ ‪ Ittihad‬ﻭﻟﻭ ﻨﻅﺭﻨﺎ ﺇﻟﻰ ﻨﺎﻓﺔ ﺍﻟﺫﺍﻜﺭﺓ‬
‫ﻟﻭﺠﺩﻨﺎ ﺃﻥ ﺤﺠﻡ ﻫﺫﺍ ﺍﻟﻤﺘﺤﻭل ﻴﺴﺎﻭﻱ ‪ 1*7‬ﺤﻴﺙ ﺍﻟـ ‪ 7‬ﻴﻤﺜل ﻋﺩﺩ ﺃﺤﺭﻑ ﺍﻟﻜﻠﻤﺔ‪.‬‬

‫‪٣‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺍﻷﻋﺩﺍﺩ ﺍﻟﻌﻘﺩﻴﺔ ‪:‬‬


‫ﺃﺤﺩ ﺃﻫﻡ ﻤﻤﻴﺯﺍﺕ ﻤﺎﺘﻼﺏ ﺃﻨﻪ ﻴﺘﻌﺭﻑ ﻤﺒﺎﺸﺭﺓ ﻋﻠﻰ ﺍﻷﻋﺩﺍﺩ ﺍﻟﻌﻘﺩﻴﺔ ﻭﻴﻤﻜﻨﻨﺎ ﻤﻥ ﺇﺠﺭﺍﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ‬
‫ﻋﻠﻴﻬﺎ ﻤﺒﺎﺸﺭﺓ‪ .‬ﻴﺘﻡ ﺫﻟﻙ ﻤﻥ ﺨﻼل ﺍﻟﻜﻠﻤﺔ ﺍﻟﻤﺤﺠﻭﺯﺓ ‪ i‬ﺃﻭ ‪ j‬ﺍﻟﻤﻌﺭﻓﺘﺎﻥ ﻓﻲ ﻤﺎﺘﻼﺏ ﻋﻠـﻰ ﺃﻨﻬﻤـﺎ‬
‫‪. −1‬‬
‫ﻟﻨﻜﺘﺏ ﺍﻟﺘﻌﻠﻴﻤﺘﻴﻥ ﺍﻟﺘﺎﻟﻴﺘﻴﻥ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ‪:‬‬
‫; ‪N1 = 2 + 2 * i‬‬
‫; ‪N2 = 1 + 1 * i‬‬
‫ﻨﻜﻭﻥ ﺒﺫﻟﻙ ﻗﺩ ﻋﺭﻓﻨﺎ ﻤﺘﺤﻭﻟﻴﻥ ﻋﻘﺩﻴﻴﻥ ﻫﻤﺎ ‪ N1‬ﻭ ‪ N2‬ﻭﻭﻀﻌﻨﺎﻫﻤﺎ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ‪ .‬ﻴﻤﻜﻨﻨـﺎ ﺍﻵﻥ‬
‫ﺇﺠﺭﺍﺀ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﻤﺒﺎﺸﺭﺓ ﻋﻠﻴﻬﻤﺎ‪.‬‬
‫ﻟﻭ ﻜﺘﺒﻨﺎ ﺍﻵﻥ‬
‫‪N3=N1*N2‬‬
‫ﻷﻋﻁﺎﻨﺎ ﻤﺎﺘﻼﺏ ﺍﻟﺠﻭﺍﺏ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫= ‪N3‬‬
‫‪0 + 4.0000 i‬‬

‫ﻤﻼﺤﻅﺔ ‪ :‬ﻟﻤﻌﺭﻓﺔ ﺍﻟﻤﺘﺤﻭﻻﺕ ﺍﻟﻤﺨﺯﻨﺔ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ ﻴﻤﻜﻨﻨﺎ ﺍﺴﺘﺨﺩﺍﻡ ﺇﻤﺎ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ who‬ﺃﻭ ﺍﻟﺘﻌﻠﻴﻤﺔ‬
‫‪ .whos‬ﺘﺘﻤﻴﺯ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ whos‬ﺒﺄﻨﻬﺎ ﺘﻌﻁﻴﻨﺎ ﺒﺎﻹﻀﺎﻓﺔ ﻟﻠﻤﺘﺤﻭﻻﺕ ﺍﻟﻤﺨﺯﻨﺔ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ ﻤﻌﻠﻭﻤﺎﺕ‬
‫ﻋﻥ ﻜل ﻤﺘﺤﻭل‪.‬‬
‫ﻤﻼﺤﻅﺔ ‪ :‬ﻴﻤﻜﻨﻨﺎ ﺤﺫﻑ ﺠﻤﻴﻊ ﺍﻟﻤﺘﺤﻭﻻﺕ ﻤﻥ ﺍﻟﺫﺍﻜﺭﺓ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ clear‬ﺃﻭ ﻴﻤﻜﻨﻨﺎ ﺤﺫﻑ‬
‫ﻤﺘﺤﻭﻻﺕ ﻤﺤﺩﺩﺓ ﺒﺈﻀﺎﻓﺔ ﺍﺴﻤﺎﺌﻬﺎ ﺇﻟﻰ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ clear‬ﻤﺜﺎل ‪ :‬ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ clear a b‬ﺘﻘﻭﻡ ﺒﺤـﺫﻑ‬
‫ﺍﻟﻤﺘﺤﻭﻻﻥ ‪ a‬ﻭ ‪ b‬ﻤﻥ ﺍﻟﺫﺍﻜﺭﺓ‪.‬‬

‫ﻋﻨﺩ ﺍﻟﺤﺩﻴﺙ ﻋﻥ ﺍﻟﻤﺘﺤﻭﻻﺕ ﻻﺒﺩ ﻤﻥ ﺍﻟﺤﺩﻴﺙ ﻋﻥ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ .format‬ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺘﻘﻭﻡ ﺒﺘﺤﺩﻴـﺩ‬
‫ﺸﻜل ﺍﻟﻤﺘﺤﻭل ﻭﻁﻭﻟﻪ ﻭﻴﻤﻜﻥ ﺍﺴﺘﺨﺩﺍﻤﻬﺎ ﺒﻌﺩﺓ ﺃﺸﻜﺎل‪ .‬ﺃﻫﻡ ﺸﻜﻠﻴﻥ ﺒﺎﻟﻨﺴﺒﺔ ﻟﻨﺎ ﻫﻤﺎ ‪ short‬ﻭﻫـﻭ‬
‫ﺍﻻﻓﺘﺭﺍﻀﻲ ﺤﻴﺙ ﻴﻅﻬﺭ ﺍﻟﺭﻗﻡ ﻤﻜﻭﻨﺎﹰ ﻤﻥ ﺨﻤﺱ ﺨﺎﻨﺎﺕ‪ .‬ﻭﺍﻟﺸﻜل ﺍﻟﺜﺎﻨﻲ ﻫﻭ ‪ long‬ﺤﻴﺙ ﻴﻅﻬـﺭ‬
‫ﺍﻟﺭﻗﻡ ﻤﻜﻭﻨﺎﹰ ﻤﻥ ‪ 15‬ﺨﺎﻨﺔ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﺍﻜﺘﺏ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪8/7‬‬
‫ﺒﻤﺎ ﺃﻥ ﺍﻟﺸﻜل ﺍﻻﻓﺘﺭﺍﻀﻲ ﻫﻭ ﺍﻟـ ‪ short‬ﺴﻴﻌﻁﻴﻨﺎ ﻤﺎﺘﻼﺏ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫= ‪ans‬‬
‫‪1.1429‬‬
‫ﻟﻨﺤﺎﻭل ﺇﻅﻬﺎﺭ ﺍﻟﻨﺎﺘﺞ ﺒﺎﻟﺸﻜل ‪ long‬ﻤﻥ ﺃﺠل ﺫﻟﻙ ﺃﺩﺨل ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪format long‬‬

‫‪٤‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪8/7‬‬
‫ﻋﻨﺩﻫﺎ ﻴﻌﻁﻴﻨﺎ ﻤﺎﺘﻼﺏ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫= ‪ans‬‬
‫‪1.14285714285714‬‬

‫ﻫﻨﺎﻙ ﺍﻟﻌﺩﻴﺩ ﻤﻥ ﺍﻷﺸﻜﺎل ﺍﻟﺘﻲ ﻴﺴﺘﺨﺩﻤﻬﺎ ﻤﺎﺘﻼﺏ ﺴﻨﺫﻜﺭﻫﺎ ﻋﻨﺩ ﺍﻟﺤﺎﺠﺔ ﺇﻟﻴﻬﺎ‪.‬‬

‫ﺍﻟﺘﻭﺍﺒﻊ ﺍﻟﺭﻴﺎﻀﻴﺔ ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻓﻲ ﻤﺎﺘﻼﺏ ‪:‬‬


‫ﻴﺤﺘﻭﻱ ﻤﺎﺘﻼﺏ ﻋﻠﻰ ﺍﻟﻜﺜﻴﺭ ﻤﻥ ﺍﻟﺘﻭﺍﺒﻊ ﺍﻟﺭﻴﺎﻀﻴﺔ ﺍﻟﺘﻲ ﺘﺴﻬل ﺍﻟﺘﻌﺎﻤل ﻤﻊ ﺍﻟﺒﺭﺍﻤﺞ ﻨﺫﻜﺭ ﻤﻥ ﻫﺫﻩ‬
‫ﺍﻟﺘﻭﺍﺒﻊ‪.‬‬

‫‪ i‬ﻭﻫﻭ ﻴﻤﺜل ﺍﻟﻌﺩﺩ ﺍﻟﻌﻘﺩﻱ‪.‬‬


‫‪ j‬ﻴﻤﺜل ﺃﻴﻀﺎﹰ ﺍﻟﻌﺩﺩ ﺍﻟﻌﻘﺩﻱ‪.‬‬
‫‪ pi‬ﻭﻫﻭ ﺍﻟﻌﺩﺩ ‪.π‬‬
‫‪ inf‬ﺭﻤﺯ ﺍﻟﻼﻨﻬﺎﻴﺔ‪.‬‬
‫‪ sqrt‬ﺍﻟﺠﺫﺭ ﺍﻟﺘﺭﺒﻴﻌﻲ‪.‬‬
‫‪ sin‬ﻭ ‪ cos‬ﻭ ‪ tan‬ﻭﻫﻲ ﺍﻟﺘﻭﺍﺒﻊ ﺍﻟﻤﺜﻠﺜﻴﺔ ﺍﻟﻤﻌﺭﻭﻓﺔ‪.‬‬
‫‪ asin‬ﻭ ‪ acos‬ﻭ ‪ atan‬ﺍﻟﺘﻭﺍﺒﻊ ﺍﻟﻤﺜﻠﺜﻴﺔ ﺍﻟﻌﻜﺴﻴﺔ‪.‬‬
‫‪ exp‬ﺍﻟﻌﺩﺩ ﺍﻟﻨﻴﺒﺭﻱ‪.‬‬
‫‪ log‬ﺍﻟﻠﻭﻏﺎﺭﻴﺘﻡ ﺍﻟﻁﺒﻴﻌﻲ‪.‬‬
‫‪ log10‬ﺍﻟﻠﻭﻏﺎﺭﻴﺘﻡ ﺍﻟﻌﺸﺭﻱ‪.‬‬
‫‪ sinh‬ﻭ ‪ cosh‬ﻭ ‪ tanh‬ﺍﻟﺘﻭﺍﺒﻊ ﺍﻟﻤﺜﻠﺜﻴﺔ ﺍﻟﻘﻁﻌﻴﺔ‪.‬‬
‫‪ real‬ﻴﻌﻁﻲ ﺍﻟﻘﺴﻡ ﺍﻟﺤﻘﻴﻘﻲ ﻟﻠﻌﺩﺩ ﺍﻟﻌﻘﺩﻱ‪.‬‬
‫‪ imag‬ﻴﻌﻁﻲ ﺍﻟﻘﺴﻡ ﺍﻟﺘﺨﻴﻠﻲ ﻟﻠﻌﺩﺩ ﺍﻟﻌﻘﺩﻱ‪.‬‬
‫‪ abs‬ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﻁﻠﻘﺔ ﺃﻭ ﻁﻭﻴﻠﺔ ﺍﻟﻌﺩﺩ ﺍﻟﻌﻘﺩﻱ‪.‬‬
‫‪ angle‬ﺯﺍﻭﻴﺔ ﺍﻟﻌﺩﺩ ﺍﻟﻌﻘﺩﻱ‪.‬‬
‫ﻭﻫﻨﺎﻙ ﺍﻟﻜﺜﻴﺭ ﺍﻟﻜﺜﻴﺭ ﻤﻥ ﺍﻟﺘﻭﺍﺒﻊ ﺍﻷﺨﺭﻯ ﺴﻨﺫﻜﺭﻫﺎ ﻋﻨﺩ ﺍﻟﺤﺎﺠﺔ ﺇﻟﻴﻬﺎ‪.‬‬

‫ﻤﻼﺤﻅﺔ ‪ :‬ﺠﻤﻴﻊ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺘﻜﺘﺏ ﻓﻲ ﻤﺎﺘﻼﺏ ﺒﺎﻷﺤﺭﻑ ﺍﻟﺼﻐﻴﺭﺓ‪.‬‬

‫‪٥‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻤﺜﺎل ﺘﻭﻀﻴﺤﻲ ‪ : ١‬ﺇﺫﺍ ﻜﺎﻥ ﻟﺩﻴﻨﺎ ﺍﻟﻌﺩﺩﺍﻥ ‪ a=2‬ﻭ ‪ b=3‬ﺍﻟﻤﻁﻠـﻭﺏ ﺃﺤﺴـﺏ ﺍﻟـﺩﻭﺍل ﺍﻟﺘﺎﻟﻴـﺔ‬
‫ﺒﺎﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ‪.‬‬
‫‪c = sin a sin b‬‬
‫‪1‬‬ ‫‪3‬‬
‫‪d =a b‬‬‫‪3‬‬ ‫‪7‬‬

‫‪a‬‬
‫‪k (rad ) = sin −1‬‬
‫‪b‬‬
‫)‪k (deg‬‬
‫ﺍﻟﺤل ‪ :‬ﻨﻘﻭﻡ ﺒﺈﺩﺨﺎل ﺴﻠﺴﻠﺔ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫;‪>> a=2‬‬
‫;‪>> b=3‬‬
‫)‪>> c=sin(a)*sin(b‬‬
‫=‪c‬‬
‫‪0.1283‬‬
‫)‪>> d=a^(1/3)*b^(3/7‬‬
‫=‪d‬‬
‫‪2.0175‬‬
‫)‪>> k=asin(a/b‬‬
‫=‪k‬‬
‫‪0.7297‬‬
‫‪>> k=k*180/pi‬‬
‫=‪k‬‬
‫‪41.8103‬‬

‫ﻤﻼﺤﻅﺔ ‪ :‬ﺍﻟﺴﻬﻤﺎﻥ >> ﻤﻭﺠﻭﺩﺍﻥ ﺒﺎﻷﺼل ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ﻭﻤﺎ ﻴﺄﺘﻲ ﺒﻌﺩﻫﻤﺎ ﻴﻤﺜل ﺍﻷﻭﺍﻤـﺭ‬
‫ﺍﻟﻤﺩﺨﻠﺔ ﺃﻤﺎ ﺍﻷﺴﻁﺭ ﺍﻟﺘﻲ ﻟﻡ ﺘﺴﺒﻕ ﺒﻬﺫﺍﻥ ﺍﻟﺴﻬﻤﺎﻥ ﻓﺘﻤﺜل ﺍﻟﺘﺎﻨﺞ‪.‬‬

‫ﺍﻟﺘﻌﺎﻤل ﻤﻊ ﺍﻷﺸﻌﺔ ‪:‬‬


‫ﻴﻌﺘﻤﺩ ‪ Matlab‬ﻓﻲ ﻋﻤﻠﻪ ﻋﻠﻰ ﺍﻟﻤﺼﻔﻭﻓﺎﺕ ﻓﻬﻭ ﻴﻌﺘﻴﺭ ﻜل ﻤﺘﺤﻭل ﻋﻠﻰ ﺃﻨﻪ ﻤﺼﻔﻭﻓﺔ‪ .‬ﻓﻠﻭ ﺃﺩﺨﻠﻨﺎ‬
‫ﻤﺜﻼﹰ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫;‪a = 1‬‬
‫ﻭﻨﻅﺭﻨﺎ ﺇﻟﻰ ﻨﺎﻓﺫﺓ ﺍﻟﺫﺍﻜﺭﺓ ﻟﻭﺠﺩﻨﺎ ﺃﻨﻪ ﻗﺩ ﺍﻋﺘﺒﺭ ﺃﻥ ﺤﺠﻡ ‪ a‬ﻴﺴـﺎﻭﻱ ‪ ١ * ١‬ﺃﻱ ﺃﻨـﻪ ﺍﻋﺘﺒـﺭﻩ‬
‫ﻤﺼﻔﻭﻓﺔ ﻤﺅﻟﻔﺔ ﻤﻥ ﺴﻁﺭ ﻭﺍﺤﺩ ﻭﻋﻤﻭﺩ ﻭﺍﺤﺩ‪.‬‬
‫ﻴﻤﺜل ﺍﻟﺸﻌﺎﻉ ﺤﺎﻟﺔ ﺨﺎﺼﺔ ﻤﻥ ﺍﻟﻤﺼﻔﻭﻓﺎﺕ ﻓﻬﻭ ﻋﺒﺎﺭﺓ ﻋﻥ ﻤﺼﻔﻭﻓﺔ ﺒﺴﻁﺭ ﻭﺍﺤﺩ ﻭﻋﺩﺓ ﺃﻋﻤﺩﺓ ﺃﻭ‬
‫ﻋﻤﻭﺩ ﻭﺍﺤﺩ ﺒﻌﺩﺓ ﺃﺴﻁﺭ‪.‬‬

‫‪٦‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻫﻨﺎﻟﻙ ﻋﺩﺓ ﻁﺭﻕ ﻟﺘﺸﻜﻴل ﺸﻌﺎﻉ ﻀﻤﻥ ﻤﺎﺘﻼﺏ ﺴﻨﺫﻜﺭ ﻤﻨﻬﺎ ﻁﺭﻴﻘﺘﻴﻥ ‪:‬‬
‫ﻴﻤﻜﻥ ﺇﺩﺨﺎل ﺍﻟﺸﻌﺎﻉ ﻋﻠﻰ ﺍﻟﻨﺤﻭ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫ﺘﻭﻀﻊ ﺍﻟﻌﻨﺎﺼﺭ ﺒﻴﻥ ﻗﻭﺴﻴﻥ ﻜﺒﻴﺭﻴﻥ ][ ﻭﺘﻔﺼل ﻤﺴﺎﻓﺔ ﺒﻴﻥ ﻜل ﻋﻨﺼﺭﻴﻥ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﻹﺩﺨﺎل ﺸﻌﺎﻉ ‪ a‬ﻤﺅﻟﻑ ﻤﻥ ﺍﻟﻌﻨﺎﺼﺭ ﺍﻟﺘﺎﻟﻴﺔ ‪ 1 , 2 , 3 , 4‬ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ‬
‫ﻟـ ‪ Matlab‬ﺍﻟﻌﺒﺎﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫]‪a=[1 2 3 4‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﺴﻁﺭ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪a‬‬
‫‪1234‬‬

‫ﺍﻟﻁﺭﻴﻘﺔ ﺍﻟﺜﺎﻨﻴﺔ ﻟﺘﻌﺭﻴﻑ ﺍﻟﺸﻌﺎﻉ ﻫﻲ ﻜﺘﺎﺒﺔ ﺍﻷﻤﺭ ﺒﺎﻟﻁﺭﻴﻘﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬


‫ﺍﻟﺸﻌﺎﻉ = ﻨﻘﻁﺔ ﺍﻟﺒﺩﺍﻴﺔ ‪ :‬ﺍﻟﻤﺴﺎﻓﺔ ﺒﻴﻥ ﻗﻴﻤﺘﻴﻥ ‪ :‬ﻨﻘﻁﺔ ﺍﻟﻨﻬﺎﻴﺔ‬
‫ﻤﺜﺎل ‪ :‬ﺃﻨﺸﺊ ﺸﻌﺎﻉ ﻴﺒﺩﺃ ﺒﺎﻟﻘﻴﻤﺔ ‪ ٠‬ﻭﻴﻨﺘﻬﻲ ﺒﺎﻟﻘﻴﻤﺔ ‪ ١٠٠‬ﺒﻤﺴﺎﻓﺔ ﻓﺎﺼﻠﺔ ﺒـﻴﻥ ﻜـل ﻋﻨﺼـﺭﻴﻥ‬
‫ﻤﺴﺎﻭﻴﺔ ‪.٥‬‬
‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻟﻌﺒﺎﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪t=0:5:100‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻻﺴﺘﺠﺎﺒﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫=‪t‬‬
‫‪Columns 1 through 9‬‬
‫‪0 5 10 15 20 25 30 35 40‬‬
‫‪Columns 10 through 18‬‬
‫‪45 50 55 60 65 70 75 80 85‬‬
‫‪Columns 19 through 21‬‬
‫‪90 95 100‬‬

‫ﺘﺴﺘﺨﺩﻡ ﻫﺫﻩ ﺍﻟﻁﺭﻴﻘﺔ ﻋﺎﺩﺓ ﻟﺘﺸﻜﻴل ﻨﻘﺎﻁ ﻋﻠﻰ ﻤﺤﻭﺭ ﺍﻟﺯﻤﻥ ﻭﺴﻨﺘﻌﺭﻑ ﻋﻠﻰ ﺫﻟﻙ ﻓﻴﻤﺎ ﺒﻌﺩ‪.‬‬
‫ﻴﻤﻜﻥ ﺍﻟﻭﺼﻭل ﺇﻟﻰ ﺃﻱ ﻋﻨﺼﺭ ﻀﻤﻥ ﺸﻌﺎﻉ ﻭﺫﻟﻙ ﺒﻜﺘﺎﺒﺔ ﺍﺴﻡ ﺍﻟﺸﻌﺎﻉ ﻴﻠﻴﻪ ﺒﻴﻥ ﻗﻭﺴﻴﻥ ﺘﺭﺘﻴـﺏ‬
‫ﺍﻟﻌﻨﺼﺭ ﺍﻟﻤﻁﻠﻭﺏ‪.‬‬
‫ﻤﺜﺎل ﻟﻭ ﺃﺭﺩﻨﺎ ﺃﻥ ﻨﻌﺭﻑ ﻤﺎﻫﻲ ﻗﻴﻤﺔ ﺍﻟﻌﻨﺼﺭ ﺍﻟﺴﺎﺩﺱ ﻓﻲ ﺍﻟﺸﻌﺎﻉ ‪ t‬ﺍﻟﺫﻱ ﺃﺩﺨﻠﻨﺎﻩ ﻓـﻲ ﺍﻟﻤﺜـﺎل‬
‫ﺍﻟﺴﺎﺒﻕ ﻟﺘﻭﺠﺏ ﻋﻠﻴﻨﺎ ﺃﻥ ﻨﻜﺘﺏ ‪ t(6) :‬ﻓﻴﻌﻁﻴﻨﺎ ﻤﺎﺘﻼﺏ ﺍﻟﺠﻭﺍﺏ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫= ‪ans‬‬
‫‪25‬‬
‫ﻴﻤﻜﻨﻨﺎ ﺃﻴﻀﺎﹰ ﺘﻐﻴﻴﺭ ﻗﻴﻤﺔ ﺃﻱ ﻋﻨﺼﺭ ﻀﻤﻥ ﺸﻌﺎﻉ ﻭﺫﻟﻙ ﺒﻜﺘﺎﺒﺔ ﺍﺴﻡ ﺍﻟﺸﻌﺎﻉ ﻴﻠﻴـﻪ ﺒـﻴﻥ ﻗﻭﺴـﻴﻥ‬
‫ﺘﺭﺘﻴﺏ ﺍﻟﻌﻨﺼﺭ ﺜﻡ ﺇﺸﺎﺭﺓ ﺍﻟﻤﺴﺎﻭﺍﺓ ﻭﻓﻲ ﺍﻟﻨﻬﺎﻴﺔ ﺍﻟﻘﻴﻤﺔ ﺍﻟﺠﺩﻴﺩﺓ‪.‬‬

‫‪٧‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻟﻨﺠﻌل ﻤﺜﻼﹰ ﻗﻴﻤﺔ ﺍﻟﻌﻨﺼﺭ ﺍﻟﺜﺎﻤﻥ ﻓﻲ ﺍﻟﺸﻌﺎﻉ ‪ t‬ﺍﻟﺴﺎﺒﻕ ﻤﺴﺎﻭﻴﺔ ﻟﻠﺼﻔﺭ ﻴﺠﺏ ﺃﻥ ﻨﻜﺘـﺏ ‪t(8)=0‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ﻤﺎﺘﻼﺏ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫=‪t‬‬
‫‪Columns 1 through 9‬‬
‫‪0 5 10 15 20 25 30 0 40‬‬
‫‪Columns 10 through 18‬‬
‫‪45 50 55 60 65 70 75 80 85‬‬
‫‪Columns 19 through 21‬‬
‫‪90 95 100‬‬
‫ﻨﻼﺤﻅ ﺃﻥ ﻗﻴﻤﺔ ﺍﻟﻌﻨﺼﺭ ﺍﻟﺜﺎﻤﻥ ﺃﺼﺒﺤﺕ ﻤﺴﺎﻭﻴﺔ ﻟﻠﺼﻔﺭ‪.‬‬

‫ﻴﻌﺘﺒﺭ ﺍﻟﺘﻌﺎﻤل ﻤﻊ ﺍﻷﺸﻌﺔ ﺒﻨﻔﺱ ﻤﺴﺘﻭﻯ ﺍﻟﺴﻬﻭﻟﺔ ﺍﻟﺘﻲ ﻴﺘﻡ ﻓﻴﻬﺎ ﺘﺸﻜﻴل ﺍﻟﺸﻌﺎﻉ‪ .‬ﺴﻨﺫﻜﺭ ﻓﻴﻤﺎ ﻴﻠﻲ‬
‫ﺒﻌﺽ ﺍﻟﻌﻤﻠﻴﺎﺕ ‪.‬‬

‫ﺤﺴﺎﺏ ﻤﻨﻘﻭل ﺸﻌﺎﻉ ‪:‬‬


‫ﺒﻤﻌﻨﻰ ﺁﺨﺭ ﺇﻥ ﻜﺎﻥ ﺍﻟﺸﻌﺎﻉ ﻋﺒﺎﺭﺓ ﻋﻥ ﺴﻁﺭ ﻴﺼﺒﺢ ﻋﺎﻤﻭﺩ ﻭﺇﻥ ﻜﺎﻥ ﻋﺒﺎﺭﺓ ﻋﻥ ﻋﻤﻭﺩ ﻴﺼـﺒﺢ‬
‫ﺴﻁﺭﺍﹰ ﻭﻴﺘﻡ ﺫﻟﻙ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﻔﺎﺼﻠﺔ ﺍﻟﻌﻠﻭﻴﺔ‪.‬‬
‫ﻤﺜﺎل ‪:‬‬
‫;]‪x = [1 5 6‬‬
‫'‪y = x‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ﻤﺎﺘﻼﺏ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫=‪y‬‬
‫‪1‬‬
‫‪5‬‬
‫‪6‬‬
‫ﺇﻀﺎﻓﺔ ﻋﺩﺩ ﺇﻟﻰ ﺠﻤﻴﻊ ﻋﻨﺎﺼﺭ ﺸﻌﺎﻉ ‪:‬‬
‫ﻟﻨﻔﺭﺽ ﻤﺜﻼﹰ ﺃﻨﻨﺎ ﻨﺭﻴﺩ ﺠﻤﻊ ﺍﻟﻌﺩﺩ ‪ ٢‬ﺇﻟﻰ ﺠﻤﻴﻊ ﻋﻨﺎﺼﺭ ﺍﻟﺸﻌﺎﻉ ]‪ x = [1 3 -5‬ﻭﻭﻀﻊ ﺍﻟﻨـﺎﺘﺞ‬
‫ﻀﻤﻥ ﺸﻌﺎﻉ ﺠﺩﻴﺩ ‪ y‬ﻋﻨﺩﻫﺎ ﻨﻜﺘﺏ ﺍﻟﺘﻌﻠﻴﻤﺘﻴﻥ ﺍﻟﺘﺎﻟﻴﺘﻴﻴﻥ ‪:‬‬
‫; ]‪x = [1 3 -5‬‬
‫‪y=x+2‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﺴﻁﺭ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪y‬‬
‫‪3‬‬ ‫‪5‬‬ ‫‪-3‬‬
‫ﺠﻤﻊ ﻋﻨﺎﺼﺭ ﺸﻌﺎﻋﻴﻥ ‪:‬‬

‫‪٨‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺇﺫﺍ ﺃﺭﺩﻨﺎ ﺠﻤﻊ ﻋﻨﺎﺼﺭ ﺍﻟﺸﻌﺎﻋﻴﻥ ]‪ x = [1 3 -5‬ﻭ ]‪ y = [2 4 6‬ﻭﻭﻀﻊ ﺍﻟﻨﺎﺘﺞ ﻓـﻲ ﺸـﻌﺎﻉ‬
‫ﺠﺩﻴﺩ ‪ z‬ﻤﺎﻋﻠﻴﻨﺎ ﺇﻻ ﻜﺘﺎﺒﺔ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﺎﻟﻴﺔ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ‪.‬‬
‫; ]‪x = [1 3 -5‬‬
‫; ]‪y = [2 4 6‬‬
‫‪z=x+y‬‬
‫ﻓﻨﺤﺼل ﻋﻠﻰ ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪z‬‬
‫‪3‬‬ ‫‪7‬‬ ‫‪1‬‬

‫ﻤﻼﺤﻅﺔ ‪ :‬ﻴﺠﺏ ﺍﻻﻨﺘﺒﺎﻩ ﺇﻟﻰ ﺃﻥ ﻋﺩﺩ ﻋﻨﺎﺼﺭ ﺍﻟﺸﻌﺎﻋﻴﻥ ﻴﺠﺏ ﺃﻥ ﻴﻜﻭﻥ ﻤﺘﺴـﺎﻭﻴﺎﹰ ﻭﺇﻻ ﺤﺼـﻠﻨﺎ‬
‫ﻋﻠﻰ ﺭﺴﺎﻟﺔ ﺨﻁﺄ‪.‬‬

‫ﻀﺭﺏ ﻋﻨﺎﺼﺭ ﺸﻌﺎﻋﻴﻥ ‪:‬‬


‫ﻻﻴﻤﻜﻥ ﻋﻤل ﺫﻟﻙ ﺒﻌﻤﻠﻴﺔ ﺍﻟﻀﺭﺏ ﺍﻟﻌﺎﺩﻴﺔ ﻟﻌﺩﻡ ﺇﻤﻜﺎﻨﻴﺔ ﻋﻤل ﺫﻟﻙ ﺭﻴﺎﻀﻴﺎﹰ ﻟﻜﻥ ﻤﺎﺘﻼﺏ ﺃﻭﺠﺩ ﺤﻼﹰ‬
‫ﻟﺫﻟﻙ ﺒﻭﻀﻊ ﻨﻘﻁﺔ ﻗﺒل ﻋﻤﻠﻴﺔ ﺍﻟﺠﺩﺍﺀ ﻓﺒﺫﻟﻙ ﻴﻔﻬﻡ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺃﻨﻨﺎ ﺴﻨﻀﺭﺏ ﻜل ﻋﻨﺼﺭ ﻤﻥ ﺍﻟﺸﻌﺎﻉ‬
‫ﺍﻷﻭل ﺒﻤﻘﺎﺒﻠﻪ ﻤﻥ ﺍﻟﺸﻌﺎﻉ ﺍﻟﺜﺎﻨﻲ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﻜﻲ ﻨﻘﻭﻡ ﺒﻀﺭﺏ ﻋﻨﺎﺼﺭ ﺍﻟﺸﻌﺎﻋﻴﻥ ‪ x‬ﻭ ‪ y‬ﻤﻥ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻭﻭﻀﻊ ﺍﻟﻨﺎﺘﺞ ﻓﻲ ﺸﻌﺎﻉ‬
‫ﺠﺩﻴﺩ ‪ z‬ﻨﻘﻭﻡ ﺒﻜﺘﺎﺒﺔ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫; ]‪x = [1 3 -5‬‬
‫; ]‪y = [2 4 6‬‬
‫‪z = x .* y‬‬
‫ﻓﻨﺤﺼل ﻋﻠﻰ ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪z‬‬
‫‪2‬‬ ‫‪12‬‬ ‫‪-30‬‬
‫ﻴﻤﻜﻥ ﺍﺴﺘﺨﺩﺍﻡ ﻨﻔﺱ ﺍﻟﺸﻲﺀ ﻹﺠﺭﺍﺀ ﻋﻤﻠﻴﺔ ﺍﻟﺘﻘﺴﻴﻡ ﺃﻭ ﺍﻟﺭﻓﻊ ﺇﻟﻰ ﻗﻭﺓ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﺇﺫﺍ ﻜﺎﻥ ]‪ t = [0 1 2 3 4 5‬ﺃﻭﺠﺩ ‪. y = t2‬‬
‫ﺍﻟﺤل ﺒﺎﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ‪:‬‬
‫;‪t = 0:1:5‬‬
‫‪y = t.^2‬‬
‫ﻓﻨﺤﺼل ﻋﻠﻰ ﻤﺎﻴﻠﻲ ‪:‬‬
‫=‪y‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪9‬‬ ‫‪16‬‬ ‫‪25‬‬

‫ﺘﻌﻠﻴﻤﺔ ‪: length‬‬

‫‪٩‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺘﻌﻁﻴﻨﺎ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﻋﺩﺩ ﻋﻨﺎﺼﺭ ﺍﻟﺸﻌﺎﻉ‪.‬‬


‫]‪x = [5 8 9 4 7‬‬ ‫ﻤﺜﺎل ‪:‬‬
‫)‪m = length(x‬‬
‫ﻨﺤﺼل ﻋﻠﻰ ‪:‬‬
‫=‪m‬‬
‫‪5‬‬

‫ﺘﻌﻠﻴﻤﺔ ‪: size‬‬
‫ﺘﻌﻁﻲ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺤﺠﻡ ﺍﻟﺸﻌﺎﻉ ﻭﺒﻤﻌﻨﻰ ﺁﺨﺭ ﻋﺩﺩ ﺍﻷﺴﻁﺭ ﻭﻋﺩﺩ ﺍﻷﻋﻤﺩﺓ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﻟﻭ ﺃﺨﺫﻨﺎ ﺍﻟﺸﻌﺎﻉ ‪ x‬ﻤﻥ ﺍﻟﻤﺜﺎل ﺍﻟﻤﺎﻀﻲ ﻭﻜﺘﺒﻨﺎ ‪ size(x) :‬ﻷﻋﻁﺎﻨﺎ ﺫﻟﻙ ﺍﻟﺠﻭﺍﺏ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫= ‪ans‬‬
‫‪1‬‬ ‫‪5‬‬
‫ﻴﻤﺜل ﺍﻟﻌﺩﺩ ﺍﻷﻭل ﻋﺩﺩ ﺍﻷﺴﻁﺭ ﻭﺍﻟﺜﺎﻨﻲ ﻋﺩﺩ ﺍﻷﻋﻤﺩﺓ‪.‬‬

‫ﺘﻌﻠﻤﺘﻲ ‪ min‬ﻭ ‪: max‬‬


‫ﺘﻌﻁﻲ ﻫﺎﺘﺎﻥ ﺍﻟﺘﻌﻠﻴﻤﺎﺘﺎﻥ ﺃﺼﻐﺭ ﻭﺃﻜﺒﺭ ﻗﻴﻤﺔ ﻤﻭﺠﻭﺩﺓ ﺩﺍﺨل ﺍﻟﺸﻌﺎﻉ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﻟﻨﺩﺨل ﺍﻟﺸﻌﺎﻉ ﺍﻟﺘﺎﻟﻲ ]‪ x = [5 8 0 -2 6 3 6 22‬ﻭﻟﻨﻜﺘﺏ )‪ min(x‬ﻓﻨﺤﺼل ﻋﻠﻰ ‪:‬‬
‫= ‪ans‬‬
‫‪-2‬‬
‫= ‪ans‬‬ ‫ﻭﻟﻭ ﻜﺘﺒﻨﺎ )‪ max(x‬ﻟﺤﺼﻠﻨﺎ ﻋﻠﻰ ‪:‬‬
‫‪22‬‬

‫ﺍﻟﺭﺴﻡ ﻓﻲ ﻤﺎﺘﻼﺏ ‪:‬‬


‫ﺇﺤﺩﻯ ﻁﺭﻕ ﺍﻟﺭﺴﻡ ﻓﻲ ﻤﺎﺘﻼﺏ ﻫﻲ ﺍﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ plot‬ﺍﻟﺘﻲ ﺘﺭﺴﻡ ﺸﻌﺎﻉ ﺒﺩﻻﻟﺔ ﺸﻌﺎﻉ ﺁﺨﺭ‪.‬‬
‫ﻴﻤﺜل ﺍﻟﺸﻌﺎﻉ ﺍﻷﻭل ﺴﻴﻨﺎﺕ ﺍﻟﻨﻘﺎﻁ ﺍﻟﻤﻨﺘﻤﻴﺔ ﺇﻟﻰ ﺍﻟﻤﻨﺤﻨﻲ ﻭﻴﻤﺜل ﺍﻟﺸﻌﺎﻉ ﺍﻟﺜﺎﻨﻲ ﻋﻴﻨـﺎﺕ ﺍﻟﻨﻘـﺎﻁ‬
‫ﺍﻟﻤﻨﺘﻤﻴﺔ ﺇﻟﻰ ﺍﻟﻤﻨﺤﻨﻲ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﺃﺭﺴﻡ ﺍﻟﻤﻨﺤﻨﻲ ﺍﻟﺫﻱ ﻴﺼل ﺒﻴﻥ ﺍﻟﻨﻘﺎﻁ ﺍﻟﺘﺎﻟﻴﺔ ‪.{(0,0) , (-1,3) , (2,4) , (4,-5)} :‬‬
‫ﻨﻨﺸﺊ ﺸﻌﺎﻋﻴﻥ ﺍﻷﻭل ‪ x‬ﻴﻤﺜل ﺴﻴﻨﺎﺕ ﺍﻟﻨﻘﺎﻁ ﻭﺍﻟﺜﺎﻨﻲ ‪ y‬ﻴﻤﺜل ﻋﻴﻨﺎﺕ ﻫﺫﻩ ﺍﻟﻨﻘﺎﻁ ﺜﻡ ﻨﺴﺘﺨﺩﻡ ﺍﻷﻤﺭ‬
‫‪.plot‬‬
‫ﺍﻟﺤل ‪:‬‬
‫; ]‪>> x = [0 -1 2 4‬‬
‫; ]‪>> y = [0 3 4 -5‬‬
‫)‪>> plot (x , y‬‬

‫‪١٠‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻋﻨﺩﻫﺎ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫)‪(2 , 4‬‬
‫)‪(-1 , 3‬‬

‫)‪(0 , 0‬‬

‫)‪(4 , -5‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﺭﺴﻡ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻷﻤﺭ ‪ plot‬ﻤﺭﺒﻊ ﻤﺭﻜﺯﻩ ﻴﻘﻊ ﻓﻲ ﻨﻘﻁﺔ ﺍﻷﺤﺩﺍﺜﻴﺎﺕ ﻭﻁﻭل ﻀﻠﻌﻪ ‪.٢‬‬

‫ﻫﻨﺎﻙ ﺍﻟﻜﺜﻴﺭ ﻤﻥ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﺘﺭﺘﺒﻁ ﻤﻊ ﺍﻷﻤﺭ ‪ plot‬ﺴﻨﻭﻀﺤﻬﺎ ﻤﻥ ﺨﻼل ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫ﻤﺜﺎل ‪ :‬ﺃﺭﺴﻡ ﺍﻟﺩﺍﻟﺘﻴﻥ ﺍﻟﺘﺎﻟﻴﺘﻴﻴﻥ ‪:‬‬
‫)‪ x = sin (θ‬ﺒﺎﻷﺤﻤﺭ ﺍﻟﻤﺘﻘﻁﻊ ﻭ )‪ y = cos (θ‬ﺒﺎﻷﺨﻀﺭ ﺍﻟﻤﺘﻭﺍﺼل ﻋﻠﻰ ﺭﺴﻡ ﻭﺍﺤﺩ‪.‬‬
‫ﺍﻟﺤل ‪:‬‬
‫;‪>> th = 0 : pi/20 : 2*pi‬‬
‫;)‪>> x= sin(th‬‬
‫;)‪>> y = cos(th‬‬
‫)'‪>> plot(th,x,'r:',th,y,'g‬‬
‫)'‪>> legend('x' , 'y‬‬
‫)'‪>> title ('Sine and cosine functions‬‬
‫)]‪>> axis ([-2*pi 3*pi -2 2‬‬
‫)')‪>> xlabel('time(s‬‬
‫)'‪>> ylabel('x,y‬‬
‫ﺸﺭﺡ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ‪:‬‬
‫ﻨﻘﻭﻡ ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻷﻭل ﺒﺈﻨﺸﺎﺀ ﺸﻌﺎﻉ ﺍﻟﺯﻭﺍﻴﺎ ﺒﻴﻨﻤﺎ ﻓﻲ ﺍﻟﺴﻁﺭﻴﻥ ﺍﻟﺜﺎﻨﻲ ﻭﺍﻟﺜﺎﻟﺙ ﻨﻘـﻭﻡ ﺒﺤﺴـﺎﺏ‬
‫ﺩﺍﻟﺘﻲ ﺍﻟﺠﻴﺏ ﻭﺍﻟﺘﺠﻴﺏ‪.‬‬

‫‪١١‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻟﺭﺍﺒﻊ ﻨﻁﻠﺏ ﻤﻥ ﻤﺎﺘﻼﺏ ﺭﺴﻡ ﺍﻟﺩﺍﻟﺘﻴﻴﻥ ﻭﻜﺘﺎﺒﺘﻬﺎ ﺒﻬﺫﻩ ﺍﻟﻁﺭﻴﻘﺔ ﺘﻌﻨﻲ ﺃﺭﺴﻡ ﺍﻟﺩﺍﻟـﺔ ‪x‬‬
‫ﺒﺩﻻﻟﺔ ‪ th‬ﺒﺎﻷﺤﻤﺭ '‪ 'r‬ﻭﺍﻟﻤﻨﻘﻁ '‪ ':‬ﺃﻱ ﻟﻠﺘﻌﺒﻴﺭ ﻋﻥ ﺍﻷﺤﻤﺭ ﺍﻟﻤﻨﻘﻁ ﻨﻜﺘﺏ '‪ 'r:‬ﺜﻡ ﺍﺭﺴﻡ ﺍﻟﺩﺍﻟـﺔ ‪y‬‬
‫ﺒﺩﻻﻟﺔ ‪ th‬ﺒﺎﻷﺨﻀﺭ '‪.'g‬‬
‫ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻟﺨﺎﻤﺱ ﻨﻁﻠﺏ ﻤﻥ ﻤﺎﺘﻼﺏ ﺘﺤﺩﻴﺩ ﺍﻟﻤﺼﻁﻠﺤﺎﺕ ﻭﻫﻭﺴﻴﺭﺒﻁ ﺃﻭل ﻤﺼﻁﻠﺢ ﻤـﻊ ﺃﻭل‬
‫ﺭﺴﻡ ﻭﺜﺎﻨﻲ ﻤﺼﻁﻠﺢ ﻤﻊ ﺜﺎﻨﻲ ﺭﺴﻡ ﻭﻫﻜﺫﺍ ﻭﺴﻴﻅﻬﺭ ﻨﺎﻓﺫﺓ ﺼﻐﻴﺭﺓ ﻓﻲ ﺃﻋﻠﻰ ﺍﻟﻴﺴﺎﺭ ﻤﻥ ﺍﻟﺸـﻜل‬
‫ﻋﻠﻴﻬﺎ ﺃﻟﻭﺍﻥ ﺍﻟﺨﻁﻭﻁ ﻭﺍﻟﺩﺍﻟﺔ ﺍﻟﺘﻲ ﻴﻌﺒﺭ ﻋﻨﻬﺎ ﻜل ﻟﻭﻥ‪.‬‬
‫ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻟﺴﺎﺩﺱ ﻨﻜﺘﺏ ﻋﻨﻭﺍﻥ ﺍﻟﺭﺴﻡ ﻭﺴﻴﻅﻬﺭﻩ ﺃﻋﻠﻰ ﺍﻟﺸﻜل ﻓﻲ ﺍﻟﻤﻨﺘﺼﻑ‪.‬‬
‫ﺘﻌﻠﻴﻤﺔ ‪ axis‬ﺍﻟﺘﻲ ﺠﺎﺀﺕ ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻟﺴﺎﺒﻊ ﺘﺤﺩﺩ ﺃﺒﻌﺎﺩ ﺍﻟﻤﺤﺎﻭﺭ ﺍﻹﺤﺩﺍﺜﻴﺔ ﻭﻫﻲ ﺘﻌﻨﻲ ﻤﻥ ﺍﻟﻴﺴﺎﺭ‬
‫ﺇﻟﻰ ﺍﻟﻴﻤﻴﻥ ﻤﺎﻴﻠﻲ )ﺃﺼﻐﺭ ﻗﻴﻤﺔ ﻟـ ‪ ، x‬ﺃﻜﺒﺭ ﻗﻴﻤﺔ ﻟـ ‪ ، x‬ﺃﺼﻐﺭ ﻗﻴﻤﺔ ﻟـ ‪ ، y‬ﺃﻜﺒﺭ ﻗﻴﻤﺔ ﻟــ‬
‫‪.(y‬‬
‫ﺘﻌﻠﻴﻤﺘﺎ ‪ xlabel‬ﻭ ‪ ylabel‬ﺍﻟﻠﺘﺎﻥ ﺠﺎﺀﺘﺎ ﻓﻲ ﺍﻟﺴﻁﺭﻴﻥ ﺍﻟﺜﺎﻤﻥ ﻭﺍﻟﺘﺎﺴﻊ ﺘﺘﺩﺨﻼﻥ ﻋﻨﻭﺍﻨﻴﻥ ﻟﻠﻤﺤﺎﻭﺭ‬
‫ﺍﻹﺤﺩﺍﺜﻴﺔ‪.‬‬
‫ﻭﻫﻜﺫﺍ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫‪title‬‬

‫‪legend‬‬

‫‪ylabel‬‬

‫‪xlabel‬‬

‫ﺘﻤﺭﻴﻥ ‪ :‬ﺃﺭﺴﻡ ﺍﻟﺸﻌﺎﻉ ﺍﻟﻤﻌﺒﺭ ﻋﻨﻪ ﺒﺎﻟﻌﻼﻗﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬


‫‪ 3t‬‬ ‫‪for‬‬ ‫‪0 ≤ t < 10‬‬
‫‪y = 2‬‬
‫‪t‬‬ ‫‪for‬‬ ‫‪10 ≤ t < 20‬‬
‫ﺍﻟﺤل ‪:‬‬

‫‪١٢‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻫﻨﺎﻙ ﻋﺩﺓ ﻁﺭﻕ ﻟﺤل ﻫﺫﻩ ﺍﻟﻤﺴﺄﻟﺔ ﺃﺴﻬﻠﻬﺎ ﺃﻥ ﻨﻘﻭﻡ ﺒﺤﺴﺎﺏ ﻜل ﻤﺠﺎل ﻟـ ‪ t‬ﻋﻠﻰ ﺤﺩﻯ ﺜﻡ ﻨﻘـﻭﻡ‬
‫ﺒﺘﺠﻤﻴﻊ ﺍﻟﻤﺠﺎﻟﻴﻥ‪.‬‬
‫ﺒﻤﺎ ﺃﻥ ﺍﻟﻬﺩﻑ ﻫﻭ ﺭﺴﻡ ﺘﺎﺒﻊ ﻟﺫﺍ ﻴﺘﻭﺠﺏ ﻋﻠﻴﻨﺎ ﺍﺨﺘﻴﺎﺭ ﺍﻟﺨﻁﻭﺓ ﺒﻴﻥ ﻜل ﻨﻘﻁﺘﻴﻥ ﻭﻜﻠﻤﺎ ﺼـﻐﺭﺕ‬
‫ﺍﻟﺨﻁﻭﺓ ﻜﺎﻥ ﺍﻟﺭﺴﻡ ﺃﺩﻕ‪ .‬ﺍﻟﺨﻁﻭﺓ ﺍﻟﺘﻲ ﺍﺨﺘﺭﻨﺎﻫﺎ ﻫﻨﺎ ﻫﻲ ‪.0.2‬‬
‫ﻨﻔﺭﺽ ﺍﻟﻤﺠﺎل ﺍﻷﻭل ‪ t1‬ﻴﺘﺭﺍﻭﺡ ﺒﻴﻥ ‪ 0‬ﻭ ‪ 9.8‬ﻷﻨﻨﺎ ﻁﻠﺒﻨﺎ ﻓﻲ ﺍﻟﻤﺴﺄﻟﺔ ﺃﻥ ﻴﻜﻭﻥ ‪ t‬ﻓﻲ ﺍﻟﻤﺠـﺎل‬
‫ﺍﻷﻭل ﺃﺼﻐﺭ ﺘﻤﺎﻤﺎﹰ ﻤﻥ ‪ 10‬ﻭﺤﺴﺏ ﺍﻟﺨﻁﻭﺓ ﺍﻟﺘﻲ ﺍﺨﺘﺭﻨﺎﻫﺎ ﻓﺈﻥ ﺃﺼﻐﺭ ﻗﻴﻤﺔ ﺘﻤﺎﻤﺎ ﻤﻥ ‪ 10‬ﻫـﻲ‬
‫‪.10-0.2=9.8‬‬
‫ﻴﻤﻜﻨﻨﺎ ﺍﻵﻥ ﺤﺴﺎﺏ ‪.y1=3*t١‬‬
‫ﻨﻔﺭﺽ ﺍﻟﻤﺠﺎل ﺍﻷﻭل ‪ t2‬ﻴﺘﺭﺍﻭﺡ ﺒﻴﻥ ‪ 10‬ﻭ ‪ 19.8‬ﻷﻨﻨﺎ ﻁﻠﺒﻨﺎ ﻓﻲ ﺍﻟﻤﺴﺄﻟﺔ ﺃﻥ ﻴﻜﻭﻥ ‪ t‬ﻓﻲ ﺍﻟﻤﺠﺎل‬
‫ﺍﻟﺜﺎﻨﻲ ﺃﺼﻐﺭ ﺘﻤﺎﻤﺎﹰ ﻤﻥ ‪ 20‬ﻭﺤﺴﺏ ﺍﻟﺨﻁﻭﺓ ﺍﻟﺘﻲ ﺍﺨﺘﺭﻨﺎﻫﺎ ﻓﺈﻥ ﺃﺼﻐﺭ ﻗﻴﻤﺔ ﺘﻤﺎﻤﺎ ﻤﻥ ‪ 20‬ﻫـﻲ‬
‫‪.20-0.2=19.8‬‬
‫ﻴﻤﻜﻨﻨﺎ ﺍﻵﻥ ﺤﺴﺎﺏ ‪ y2=t2.^2‬ﻨﺫﻜﺭ ﻫﻨﺎ ﺃﻨﻨﺎ ﻭﻀﻌﻨﺎ ﺍﻟﻨﻘﻁﺔ ﻗﺒل ﺇﺸﺎﺭﺓ ﺍﻟﻘﻭﺓ ﻷﻨﻨﺎ ﻨﺭﻴﺩ ﺘﺭﺒﻴﻊ ﻜل‬
‫ﻋﻨﺼﺭ ﻤﻥ ﻋﻨﺎﺼﺭ ﺍﻟﺸﻌﺎﻉ ‪. t2‬‬
‫ﻟﻤﻡ ﻴﺘﺒﻕ ﺍﻵﻥ ﺇﻻ ﺃﻥ ﻨﺸﻜل ﺸﻌﺎﻉ ﻤﻥ ﺍﻟﺸﻌﺎﻋﻴﻥ ‪ t1‬ﻭ ‪ t2‬ﻭﺸﻌﺎﻉ ﺁﺨﺭ ﻤﻥ ﺍﻟﺸـﻌﺎﻋﻴﻥ ‪ y1‬ﻭ ‪y2‬‬
‫ﻭﺃﻥ ﻨﻘﻭﻡ ﺒﺎﻟﺭﺴﻡ‪.‬‬
‫ﺇﺫﺍ ﻴﺼﺒﺢ ﺘﺴﻠﺴل ﺍﻷﻭﺍﻤﺭ ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫;‪>> t1=0:0.2:9.8‬‬
‫;‪>> y1=3*t1‬‬
‫;‪>> t2=10:0.2:19.8‬‬
‫;‪>> y2=t2.^2‬‬
‫;]‪>> t=[t1 t2‬‬
‫;]‪>> y=[y1 y2‬‬
‫)‪>> plot(t,y‬‬

‫ﻓﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫‪١٣‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻴﻤﻜﻨﻨﺎ ﺃﻥ ﻨﺫﻜﺭ ﻫﻨﺎ ﺘﻌﻠﻴﻤﺔ ﺠﺩﻴﺩﺓ ﻤﻔﻴﺩﺓ ﻋﻨﺩ ﺍﻟﺘﻌﺎﻤل ﻤﻊ ﺍﻟﻤﻨﺤﻨﻴﺎﺕ ﻭﻫﻲ ﺘﻌﻠﻴﻤﺔ )‪.ginput(n‬‬
‫ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺘﻌﻁﻴﻨﺎ ﺇﺤﺩﺍﺜﻴﺎﺕ ﺍﻟﻨﻘﻁﺔ ﻤﻥ ﺍﻟﺸﻜل ﺍﻟﺘﻲ ﻨﻨﻘﺭ ﻋﻠﻴﻬﺎ ﺒﻭﺍﺴﻁﺔ ﺍﻟﻔﺄﺭﺓ‪ n .‬ﺘﻌﺒﺭ ﻋـﻥ‬
‫ﻋﺩﺩ ﺍﻟﻨﻘﺎﻁ ﺍﻟﺘﻲ ﻨﺭﻴﺩ ﺇﻅﻬﺎﺭ ﺇﺤﺩﺍﺜﻴﺎﺘﻬﺎ‪.‬‬

‫ﺘﻤﺭﻴﻥ ‪ :‬ﺃﺭﺴﻡ ﺘﺎﺒﻊ ﺍﻟﻘﻔﺯﺓ ﺍﻟﻭﺍﺤﺩﻴﺔ ﻤﺘﺄﺨﺭﺍﹰ ‪ 5‬ﺜﻭﺍﻥ‪.‬‬

‫ﻜﺘﺎﺒﺔ ﺍﻟﺒﺭﺍﻤﺞ ﻓﻲ ﻤﺎﺘﻼﺏ ‪:‬‬


‫ﻜل ﻤﺎ ﻋﻤﻠﻨﺎﻩ ﻜﺎﻥ ﻋﺒﺎﺭﺓ ﻋﻥ ﺘﻨﻔﻴﺫ ﺒﻌﺽ ﺍﻷﻭﺍﻤﺭ ﻓﻲ ﻨﺎﻓﺫﺓ ﺍﻷﻭﺍﻤﺭ ﻟﺤل ﻤﺴﺄﻟﺔ ﻤﺎ‪ .‬ﻫﺫﺍ ﺍﻷﻤـﺭ‬
‫ﻴﻌﺘﺒﺭ ﻜﺎﻓﻴﺎﹰ ﻋﻨﺩ ﺤل ﺍﻟﻤﺴﺎﺌل ﺍﻟﺒﺴﻴﻁﺔ‪.‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺤﺭﺭ ﺍﻟﻨﺼﻭﺹ ﻓﻲ ﻤﺎﺘﻼﺏ ﻴﺴﺎﻋﺩﻨﺎ ﻋﻠﻰ ﻜﺘﺎﺒﺔ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻷﻭﺍﻤﺭ ﺜﻡ ﺘﻨﻔﻴﺫﻫﺎ ﺩﻓﻌﺔ‬
‫ﻭﺍﺤﺩﺓ‪ .‬ﻫﺫﺍ ﺍﻷﻤﺭ ﻴﻌﻁﻴﻨﺎ ﻤﻴﺯﺘﺎﻥ ﻫﺎﻤﺎﺘﺎﻥ ﻭﻫﻤﺎ‪:‬‬
‫‪ -١‬ﺇﻤﻜﺎﻨﻴﺔ ﺘﻌﺩﻴل ﺃﻱ ﺃﻤﺭ ﺩﻭﻥ ﺍﻟﺤﺎﺠﺔ ﺇﻟﻰ ﺇﻋﺎﺩﺓ ﻜﺘﺎﺒﺔ ﺍﻷﻭﺍﻤﺭ ﻜﻠﻬﺎ ﻋﻨﺩ ﺃﻱ ﺨﻁﺄ‪.‬‬
‫‪ -٢‬ﺴﻬﻭﻟﺔ ﻓﻲ ﻗﺭﺍﺀﺓ ﺍﻷﻭﺍﻤﺭ ﻭﻓﻬﻡ ﺘﺴﻠﺴﻠﻬﺎ‪.‬‬

‫ﻴﺘﻡ ﻓﺘﺢ ﻤﺤﺭﺭ ﺍﻟﻨﺼﻭﺹ ﻋﻥ ﻁﺭﻴﻕ ﺍﻟﻀﻐﻁ ﺒﺎﻟﺘﺴﻠﺴل ﻋﻠﻰ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪ File à New à M-file‬ﺃﻭ ﺒﺎﻟﻀﻐﻁ ﻋﻠﻰ ﺍﻷﻴﻘﻭﻨﺔ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻲ ﺃﻗﺼـﻰ ﺍﻟﻴﺴـﺎﺭ ﻤـﻥ‬
‫ﺍﻟﺒﺭﻨﺎﻤﺞ ﻭﺍﻟﺘﻲ ﺸﻜﻠﻬﺎ ﺼﻔﺤﺔ ﺒﻴﻀﺎﺀ‪.‬‬

‫‪١٤‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻋﻨﺩ ﻓﺘﺢ ﻤﺤﺭﺭ ﺍﻟﻨﺼﻭﺹ ﻨﺠﺩ ﺃﻨﻪ ﻴﻤﺜل ﻨﺎﻓﺫﺓ ﻋﺎﺩﻴﺔ ﻤﺜل ﻜل ﺒﺭﺍﻤﺞ ﺍﻟﻭﻴﻨﺩﻭﺯ ﻭﻨﺠﺩ ﺃﻨﻪ ﻴﺤﻭﻱ‬
‫ﻤﻌﻅﻡ ﺍﻷﻭﺍﻤﺭ ﻤﻌﺭﻭﻓﺔ ﻟﺩﻴﻨﺎ ﻤﺜل ﺍﻟﺒﺤﺙ ﻭﺍﻟﻁﺒﺎﻋﺔ ﻭﺍﻟﻘﺹ ﻭﺍﻟﻠﺼﻕ ﺇﻀﺎﻓﺔ ﺇﻟﻰ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺨﺎﺼﺔ‬
‫ﺒﻌﻤﻠﻴﺎﺕ ﺘﻨﻔﻴﺫ ﺍﻟﺒﺭﺍﻤﺞ‪.‬‬
‫ﻟﻜﻲ ﻨﺘﺄﻗﻠﻡ ﻤﻊ ﺍﺴﺘﺨﺩﺍﻡ ﺍﻟﻤﺤﺭﺭ ﻟﻜﺘﺎﺒﺔ ﺍﻟﺒﺭﺍﻤﺞ ﺴﻨﻘﻭﻡ ﺒﺈﻋﻁﺎﺀ ﻤﺜﺎل ﺇﻴﻀﺎﺤﻲ‪.‬‬
‫ﻤﺜﺎل ‪:‬‬
‫ﺃﻜﺘﺏ ﺒﺭﻨﺎﻤﺞ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪ Matlab‬ﻴﺭﺴﻡ ﺍﻹﺸﺎﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪1‬‬
‫= ) ‪y (t‬‬ ‫∑‬
‫‪n =1,3,5,...q‬‬ ‫‪n‬‬
‫) ‪sin(2n π ft‬‬

‫ﺍﻟﻤﻁﻠﻭﺏ ﻤﻥ ﺍﻟﺒﺭﻨﺎﻤﺞ ‪:‬‬


‫‪ – ١‬ﻴﻁﻠﺏ ﻤﻥ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺇﺩﺨﺎل ﻗﻴﻤﺔ ‪.q‬‬
‫‪ -٢‬ﻴﺤﺴﺏ ‪ y‬ﻭﻴﺭﺴﻤﻬﺎ‪.‬‬
‫ﺍﻟﺤل ‪ :‬ﺴﻨﻜﺘﺏ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺜﻡ ﺴﻨﺸﺭﺤﻪ ﺴﻁﺭﺍﹰ ﺴﻁﺭﺍﹰ‪.‬‬

‫‪% this is my first program‬‬


‫‪close all‬‬
‫;‪t=0:1e-5:0.05‬‬
‫;)'=‪q=input('q‬‬
‫;))‪y=zeros(1,length(t‬‬
‫‪for n=1:2:q,‬‬
‫;)‪x=1/n*sin(n*2*pi*50*t‬‬
‫;‪y=y+x‬‬
‫‪end‬‬
‫)‪plot(t,y‬‬

‫ﺍﻟﺴﻁﺭ ﺍﻷﻭل ‪ :‬ﻜل ﺴﻁﺭ ﺠﺎﺀ ﺒﻌﺩ ﺍﻟﺭﻤﺯ ‪ %‬ﺴﻴﻌﺘﺒﺭﻩ ﻤﺎﺘﻼﺏ ﺘﻌﻠﻴﻕ ﻭﻟﻥ ﻴﻘﻭﻡ ﺒﺘﻨﻔﻴﺫﻩ )ﻨﻼﺤـﻅ‬
‫ﺃﻥ ﺍﻟﺘﻌﻠﻴﻘﺎﺕ ﻤﻜﺘﻭﺒﺔ ﺒﺎﻷﺨﻀﺭ(‪.‬‬
‫ﺍﻟﺴﻁﺭ ﺍﻟﺜﺎﻨﻲ ‪ :‬ﻴﻘﻭﻡ ﻫﺫﺍ ﺍﻟﺴﻁﺭ ﺒﺈﻏﻼﻕ ﺠﻤﻴﻊ ﺍﻷﺸﻜﺎل ﺍﻟﻤﻔﺘﻭﺤﺔ ﺴﺎﺒﻘﺎﹰ‪.‬‬
‫ﺍﻟﺴﻁﺭ ﺍﻟﺜﺎﻟﺙ ‪ :‬ﺒﻤﺎ ﺃﻨﻨﺎ ﺴﻨﻘﻭﻡ ﺒﺭﺴﻡ ﺇﺸﺎﺭﺓ ﺠﻴﺒﻴﺔ ﻓﺄﻭل ﺸﻲﺀ ﻤﺘﻭﺠﺏ ﻋﻠﻴﻨﺎ ﻫﻭ ﺘﺸﻜﻴل ﺸـﻌﺎﻉ‬
‫ﺍﻟﺯﻤﻥ‪ .‬ﺒﺩﺍﻴﺔ ﻫﺫﺍ ﺍﻟﺸﻌﺎﻉ ﻫﻭ ﺍﻟﻠﺤﻅﺔ ‪ 0‬ﻭﻨﻬﺎﻴﺘﻪ ﺍﺨﺘﻴﺎﺭﻴﺔ ﺒﺤﻴﺙ ﺘﺤﻘﻕ ﻟﻨﺎ ﺭﺴﻡ ﻤﻘﺒﻭل ﻭﺒﻤـﺎ ﺃﻥ‬
‫ﺇﺸﺎﺭﺘﻨﺎ ﺠﻴﺒﻴﺔ ﺫﺍﺕ ﺘﺭﺩﺩ ‪ 50 Hz‬ﺇﺫﺍ ﺯﻤﻥ ﻜل ﺩﻭﺭ ﻴﺴﺎﻭﻱ ‪ .1/50=0.02 Sec‬ﺇﺫﺍﹰ ﺃﻗل ﻗﻴﻤـﺔ‬
‫ﻴﺠﺏ ﺍﺨﺘﻴﺎﺭﻫﺎ ﻟﻨﻬﺎﻴﺔ ﺍﻟﺸﻌﺎﻉ ‪ t‬ﻴﺠﺏ ﺃﻥ ﺘﻜﻭﻥ ‪ 0.02‬ﻟﻜﻲ ﻨﻀﻤﻥ ﻋﻠﻰ ﺍﻷﻗل ﺭﺴـﻡ ﺍﻹﺸـﺎﺭﺓ‬
‫ﺍﻟﺠﻴﺒﻴﺔ ﻤﻜﺭﺭﺓ ﻤﺭﺓ ﻭﺍﺤﺩﺓ‪) .‬ﺃﻨﺎ ﻫﻨﺎ ﺍﺨﺘﺭﺕ ‪ 0.05‬ﻟﻜﻲ ﺃﺭﺴﻡ ﺍﻷﺸﺎﺭﺓ ﻤﺭﺘﺎﻥ ﻭﻨﺼﻑ(‪ .‬ﺒﻘـﻲ‬

‫‪١٥‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻟﺩﻴﻨﺎ ﺍﺨﺘﻴﺎﺭ ﺍﻟﺨﻁﻭﺓ ﻭﻗﻠﻨﺎ ﺃﻥ ﻫﺫﺍ ﺍﻻﺨﺘﻴﺎﺭ ﻴﺠﺏ ﺃﻥ ﻴﺤﻘﻕ ﺩﻗﺔ ﻤﻘﺒﻭﻟﺔ ﻟﻠﺭﺴﻡ ﻭﺘﻡ ﻫﻨـﺎ ﺍﺨﺘﻴـﺎﺭ‬
‫ﺨﻁﻭﺓ ﻤﺴﺎﻭﻴﺔ ﻟـ ‪.1X10-5‬‬
‫ﺍﻟﺴﻁﺭ ﺍﻟﺭﺍﺒﻊ ‪ :‬ﺘﻌﻠﻴﻤﺔ ‪ input‬ﺘﻁﻠﺏ ﻤﻥ ﺍﻟﻤﺴﺘﺜﻤﺭ ﺃﻥ ﻴﺩﺨل ﻗﻴﻤﺔ ﻤﺎ ﻭﺴﻴﺭﺒﻁﻬﺎ ﻤﻊ ﺍﻟﻤﺘﺤـﻭل‬
‫ﺍﻟﻤﻭﺠﻭﺩ ﻗﺒل ﺇﺸﺎﺭﺓ ﺍﻟـ = ‪ .‬ﺍﻟﺠﻤﻠﺔ ﺍﻟﺘﻲ ﺘﺄﺘﻲ ﺒﻴﻥ ﺍﻟﻘﻭﺴﻴﻥ ﻫﻲ ﻤﺎ ﺴـﻴﻅﻬﺭﻩ ﻤـﺎﺘﻼﺏ ﻋﻠـﻰ‬
‫ﺍﻟﺸﺎﺸﺔ‪ .‬ﻭﻫﻭ ﻤﺠﺭﺩ ﺇﻴﻀﺎﺡ ﻭﻴﻤﻜﻨﻨﺎ ﻜﺘﺎﺒﺔ ﻤﺎﻨﺸﺎﺀ ﻤﺜل ‪ Enter q‬ﺃﻭ =‪ q‬ﺃﻭ ‪this is q value‬‬
‫ﻭﻫﻜﺫﺍ‪.‬‬
‫ﺍﻟﺴﻁﺭ ﺍﻟﺨﺎﻤﺱ ‪ :‬ﺘﻌﻠﻴﻤﺔ ‪ zeros‬ﺘﻘﻭﻡ ﺒﺈﻨﺸﺎﺀ ﺸﻌﺎﻉ ﺃﻭ ﻤﺼﻔﻭﻓﺔ ﻤﻥ ﺍﻷﺼـﻔﺎﺭ‪ .‬ﺃﺒﻌـﺎﺩ ﻫـﺫﻩ‬
‫ﺍﻟﻤﺼﻔﻭﻓﺔ ﺍﻟﺘﻲ ﺍﺨﺘﺭﻨﺎﻫﺎ ﻫﻨﺎ ﻫﻲ ﺴﻁﺭ ﻭﺍﺤﺩ ﻭﻋﺩﺩ ﺃﻋﻤﺩﺓ ﻴﺴﺎﻭﻱ ﻁﻭل ‪ t‬ﺃﻱ ﻋﺩﺩ ﺃﻋﻤـﺩﺓ ‪.t‬‬
‫ﺘﻔﻴﺩﻨﺎ ﻫﺫﻩ ﺍﻟﻤﺼﻔﻭﻓﺔ ﻟﺘﺸﻜﻴل ﺍﻹﺸﺎﺭﺓ ‪ y‬ﺍﻟﺘﻲ ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻥ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻹﺸﺎﺭﺍﺕ‪ .‬ﻭﺒﻜـﻼﻡ‬
‫ﺁﺨﺭ ﺴﺘﻜﻭﻥ ﻤﺜل ﻤﺨﺯﻥ ﻨﻀﻴﻑ ﺇﻟﻴﻪ ﻓﻲ ﻜل ﻤﺭﺓ ﺍﻹﺸﺎﺭﺓ ﺍﻟﻤﺤﺴﻭﺒﺔ‪.‬‬
‫ﺍﻷﺴﻁﺭ ﺍﻟﺴﺎﺩﺱ ﻭﺍﻟﺴﺎﺒﻊ ﻭﺍﻟﺜﺎﻤﻥ ﻭﺍﻟﺘﺎﺴﻊ ‪ :‬ﺘﺸﻜل ﻫﺫﻩ ﺍﻷﺴﻁﺭ ﺒﻨﻴﺔ ﺤﻠﻘﺔ ‪.for‬‬
‫ﺘﻜﺘﺏ ﺤﻠﻘﺔ ‪ for‬ﺒﺎﻟﻁﺭﻴﻘﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫‪for n = n1 : step : n2 ,‬‬


‫; ‪Expressions‬‬
‫‪end‬‬

‫‪ n1‬ﻫﻲ ﺍﻟﻘﻴﻤﺔ ﺍﻷﻭﻟﻰ ﺍﻟﺘﻲ ﺴﻴﺄﺨﺫﻫﺎ ﺍﻟﻤﺘﺤﻭل ‪ . n‬ﺒﻤﺎ ﺃﻨﻪ ﻓﻲ ﻤﺜﺎﻟﻨـﺎ ‪ . n=1,3,5,…q‬ﻓﺈﻨﻨـﺎ‬
‫ﻭﻀﻌﻨﺎ ﺒﺩﻷً ﻤﻥ ‪ n1‬ﺍﻟﻘﻴﻤﺔ ‪.1‬‬
‫‪ step‬ﻫﻲ ﺍﻟﺨﻁﻭﺓ ﻭﻨﻼﺤﻅ ﻤﻥ ﺍﻟﻤﺜﺎل ﺃﻥ ‪ n‬ﺴﻴﺄﺨﺫ ﺍﻟﻘﻴﻡ …‪ 1,3,5‬ﻟﺫﻟﻙ ﻜﺎﻨﺕ ﺍﻟﺨﻁﻭﺓ ‪.2‬‬
‫‪ n2‬ﺍﻟﻘﻴﻤﺔ ﺍﻟﺘﻲ ﻴﺠﺏ ﺃﻥ ﻻﻴﺘﺠﺎﻭﺯﻫﺎ ‪ n‬ﻭﻫﻲ ﺤﺴﺏ ﻤﺜﺎﻟﻨﺎ ﺍﻟﻘﻴﻤﺔ ‪.q‬‬
‫‪ Expression‬ﻫﻲ ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﻲ ﺴﻴﻨﻔﺫﻫﺎ ﻤﺎﺘﻼﺏ ﻀﻤﻥ ﺍﻟﺤﻠﻘﺔ ‪ for‬ﻭﻫﻲ ﻓﻲ ﻤﺜﺎﻟﻨﺎ ‪:‬‬
‫ﺤﺴﺎﺏ ﻜل ﺤﺩ ﻤﻥ ﺍﻟﺴﻠﺴﻠﺔ ﻭﺘﺴﻤﻴﺘﻪ ‪ x‬ﺜﻡ ﺠﻤﻊ ﻫﺫﺍ ﺍﻟﺤﺩ ﺇﻟﻰ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺴﺎﺒﻘﺔ ﻭﻭﻀﻌﻪ ﻓﻲ ‪.y‬‬
‫‪ end‬ﻴﻤﺜل ﻨﻬﺎﻴﺔ ﺍﻟﺤﻠﻘﺔ‪.‬‬

‫ﻤﻼﺤﻅﺔ ﻴﺠﺏ ﺃﻥ ﺘﻨﺘﻬﻲ ﻜل ﺤﻠﻘﺔ ‪ for‬ﺒﺘﻌﻠﻴﻤﺔ ‪ end‬ﻓﺈﺫﺍ ﻜﺎﻥ ﻟﺩﻴﻨﺎ ﺤﻠﻘﺔ ‪ for‬ﻀﻤﻥ ﺤﻠﻘﺔ ﺃﺨﺭﻯ‬
‫ﻓﺈﻥ ‪ end‬ﺍﻷﻭﻟﻰ ﺘﻤﺜل ﻨﻬﺎﻴﺔ ﺍﻟﺤﻠﻘﺔ ﺍﻟﺩﺍﺨﻠﻴﺔ ﻭ‪ end‬ﺍﻟﺜﺎﻨﻴﺔ ﺘﻤﺜل ﻨﻬﺎﻴﺔ ﺍﻟﺤﻠﻘﺔ ﺍﻟﺨﺎﺭﺠﻴﺔ‪.‬‬
‫ﺍﻟﺴﻁﺭ ﺍﻟﻌﺎﺸﺭ ﻫﻭ ﻋﺒﺎﺭﺓ ﻋﻥ ﺭﺴﻡ ﻫﺫﺍ ﺍﻟﺘﺎﺒﻊ‪.‬‬

‫‪١٦‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺘﻤﺭﻴﻥ ‪ :‬ﺃﻜﺘﺏ ﺒﺭﻨﺎﻤﺞ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪ Matlab‬ﻴﻘﻭﻡ ﺒﺤل ﻤﻌﺎﺩﻟﺔ ﻤﻥ ﺍﻟﺩﺭﺠﺔ ﺍﻟﺜﺎﻨﻴﺔ ﻭﻴﺭﺴﻤﻬﺎ‪.‬‬
‫ﺘﻌﻁﻰ ﺍﻟﻤﻌﺎﺩﻟﺔ ﺒﺎﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪y(x) = a x2 + b x + c‬‬
‫ﺍﻟﻤﻁﻠﻭﺏ ﻤﻥ ﺍﻟﺒﺭﻨﺎﻤﺞ ‪:‬‬
‫‪ – ١‬ﻴﻁﻠﺏ ﻤﻥ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺇﺩﺨﺎل ﻗﻴﻡ ‪.a, b, c‬‬
‫‪ -٢‬ﻴﺤﺴﺏ ﺍﻟﺩﻟﺘﺎ ﻭﻴﻌﻁﻴﻬﺎ ﺍﻟﺭﻤﺯ ‪.delta‬‬
‫‪ -٣‬ﺇﺫﺍ ﻜﺎﻨﺕ ﺩﻟﺘﺎ ﺃﺼﻐﺭ ﻤﻥ ﺍﻟﺼﻔﺭ ﻴﻁﺒﻊ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ‪.impossible solution‬‬
‫‪ -٤‬ﻴﻘﻭﻡ ﺒﺭﺴﻡ ﺍﻟﺘﺎﺒﻊ ‪ y‬ﻭﻴﺤﺩﺩ ﻋﻠﻴﻪ ﻤﻜﺎﻥ ﺍﻟﺠﺫﻭﺭ‪.‬‬

‫ﺍﻟﺤل ‪:‬‬
‫;)'?=‪a=input('a‬‬
‫;)'?=‪b=input('b‬‬
‫;)'?=‪c=input('c‬‬
‫;‪delta=b^2-4*a*c‬‬
‫)‪if (delta<0‬‬
‫)'‪disp('impossible solution‬‬
‫‪break‬‬
‫‪end‬‬
‫)‪x1=(-b+sqrt(delta))/(2*a‬‬
‫)‪x2=(-b-sqrt(delta))/(2*a‬‬
‫;‪xmin=min(x1,x2)-5‬‬
‫;‪xmax=max(x1,x2)+5‬‬
‫;)‪x=linspace(xmin,xmax,100‬‬
‫;‪y=a*x.^2+b.*x+c‬‬
‫‪plot(x,y), hold on‬‬
‫)'‪plot(x1,0,'r+‬‬
‫)'‪plot(x2,0,'r+‬‬

‫ﻜﺜﻴﺭﺍﺕ ﺍﻟﺤﺩﻭﺩ ‪:‬‬


‫ﻴﻌﺒﺭ ﺃﻴﻀﺎﹰ ﻋﻥ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﻓﻲ ‪ Matlab‬ﺒﺸﻌﺎﻉ ﺤﻴﺙ ﻴﺘﻡ ﺇﺩﺨﺎل ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﻭﻓـﻕ‬
‫ﺍﻟﺘﺭﺘﻴﺏ ﺍﻟﻤﺘﻨﺎﻗﺹ‪ .‬ﻟﻨﻔﺭﺽ ﺃﻨﻪ ﻟﺩﻴﻨﺎ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪2x 4 + 3x 3 − 5x 2 + x − 9‬‬
‫ﺤﺘﻰ ﻨﺩﺨل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﻫﺫﺍ ﻓﻲ ‪ Matlab‬ﻭﻨﺘﻌﺎﻤل ﻤﻌﻪ ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﺍﻟﺘﻌﺒﻴـﺭ‬
‫ﺍﻟﺘﺎﻟﻲ‪:‬‬

‫‪١٧‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫; ]‪>> a = [2 3 -5 1 -9‬‬
‫ﺤﻴﺙ ‪ a‬ﻴﻤﺜل ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺫﻱ ﺴﻨﺘﻌﺎﻤل ﻤﻌﻪ ﻭﺴﻨﻌﻁﻲ ﺃﻤﺜﻠﺔ ﻋﻠﻰ ﻜﻴﻔﻴﺔ ﺍﻟﺘﻌﺎﻤل‬
‫ﻤﻊ ﻫﺫﺍ ﺍﻟﺸﻌﺎﻉ‪.‬‬

‫ﻤﻼﺤﻅﺔ ‪ :‬ﻴﺠﺏ ﺃﻥ ﻴﺴﺎﻭﻱ ﻋﺩﺩ ﻋﻨﺎﺼﺭ ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ‪ n+1‬ﺤﻴﺙ ‪ n‬ﻫﻲ ﻤﺭﺘﺒـﺔ‬
‫ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ‪.‬‬
‫ﻤﺜﺎل ‪ :‬ﺃﺩﺨل ﻓﻲ ‪ Matlab‬ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪y (x ) = x 4 − 9‬‬
‫ﺒﻤﺎ ﺃﻥ ‪ n=4‬ﺇﺫﺍﹰ ﻋﺩﺩ ﻋﻨﺎﺼﺭ ﺸﻌﺎﻉ ﺍﻟﻌﻭﺍﻤل ﻴﺠﺏ ﺃﻥ ﻴﺴﺎﻭﻱ ‪ ٥‬ﻭﻴﻤﻜﻥ ﺇﺩﺨﺎل ﺫﻟﻙ ﻋﻠﻰ ﺍﻟﺸﻜل‬
‫ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫; ]‪>> a = [1 0 0 0 -9‬‬

‫ﺘﻌﻠﻴﻤﺔ ‪ : polyval‬ﺘﻘﻭﻡ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺒﺤﺴﺎﺏ ﻗﻴﻤﺔ ﺍﻟﺘﺎﺒﻊ ﻋﻨﺩ ﻨﻘﻁﺔ ﻤﺎ ‪.‬‬

‫ﻤﺜﺎل ‪ :‬ﻟﻴﻜﻥ ﻟﺩﻴﻨﺎ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫‪y (x ) = 2x 4 + 3x 3 − 5x 2 + x − 9‬‬
‫ﺃﺤﺴﺏ ﻗﻴﻤﺔ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﻫﺫﺍ ﻋﻨﺩ ﺍﻟﻨﻘﻁﺔ ‪ x=0‬ﻭﺍﻟﻨﻘﻁﺔ ‪: x=-1‬‬
‫ﺴﻨﻜﺘﺏ ﺍﻵﻥ ﺘﺒﺎﻋﺎﹰ ﺍﻷﻭﺍﻤﺭ ﺍﻟﻤﺩﺨﻠﺔ ‪:‬‬
‫‪ -١‬ﻨﻌﺭﻑ ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ‬
‫; ]‪>> a = [2 3 -5 1 -9‬‬
‫‪ -٢‬ﻨﻁﺒﻕ ﺍﻟﺘﻌﻠﻴﻤﺔ ﻋﻨﺩ ﺍﻟﻨﻘﻁﺔ ‪٠‬‬
‫)‪>> Polyval (a , 0‬‬
‫ﻓﻴﻨﺘﺞ ‪:‬‬
‫= ‪ans‬‬
‫‪-9‬‬
‫‪ -٢‬ﻨﻁﺒﻕ ﺍﻟﺘﻌﻠﻴﻤﺔ ﻋﻨﺩ ﺍﻟﻨﻘﻁﺔ ‪١-‬‬
‫)‪>> Polyval (a , -1‬‬
‫ﻓﻴﻨﺘﺞ ‪:‬‬
‫= ‪ans‬‬
‫‪-16‬‬

‫‪١٨‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺘﻌﻠﻴﻤﺔ ‪ : roots‬ﺘﻘﻭﻡ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺒﺤﺴﺎﺏ ﻗﻴﻡ ﺠﺫﻭﺭ ﺍﻟﺘﺎﺒﻊ‪.‬‬


‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﺠﺫﻭﺭ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪2x 4 + 3x 3 − 5x 2 + x − 9 = 0‬‬
‫‪ -١‬ﻨﻨﺸﺊ ﻜﻤﺎ ﺘﻌﻭﺩﻨﺎ ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ‪:‬‬
‫; ]‪>> a = [2 3 -5 1 -9‬‬
‫‪ -٢‬ﻨﻁﺒﻕ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪:‬‬
‫)‪>> roots(a‬‬
‫ﻓﻴﻨﺘﺞ ‪:‬‬
‫= ‪ans‬‬
‫‪-2.7141‬‬
‫‪1.4525‬‬
‫‪-0.1192 + 1.0617i‬‬
‫‪-0.1192 - 1.0617i‬‬
‫ﻨﻼﺤﻅ ﺃﻥ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﻫﺫﺍ ﻟﻪ ﺠﺫﺭﺍﻥ ﻋﻘﺩﻴﺎﻥ ﻭﺠﺫﺭﺍﻥ ﺤﻘﻴﻘﻴﺎﻥ‪.‬‬

‫ﺘﻌﻠﻴﻤﺔ ‪ :conv‬ﺘﻘﻭﻡ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺒﺤﺴﺎﺏ ﺠﺩﺍﺀ ﺘﺎﺒﻌﻴﻥ‪.‬‬


‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﺠﺩﺍﺀ ﻜﺜﻴﺭﻱ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺘﺎﻟﻴﻴﻥ ‪:‬‬
‫‪y 1 (x ) = x − x + 1‬‬
‫‪2‬‬

‫‪y 2 ( x ) = 5x + 3‬‬
‫ﻟﻭ ﺤﺴﺒﻨﺎ ﺫﻟﻙ ﺒﺄﻴﺩﻴﻨﺎ ﻟﺤﺼﻠﻨﺎ ﻋﻠﻰ ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪y (x ) = 5x 3 − 2x 2 + 2x + 3‬‬
‫ﻟﻨﺭ ﻤﺎﺫﺍ ﺴﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﻋﻨﺩ ﺘﻁﺒﻴﻕ ﺍﻟﺴﻁﻭﺭ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻷﻭل ; ]‪>> a = [1 -1 1‬‬
‫ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﺜﺎﻨﻲ ; ]‪>> b = [5 3‬‬
‫ﺸﻌﺎﻉ ﻋﻭﺍﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ ﺍﻟﻨﺎﺘﺞ ﻋﻥ ﺠﺩﺍﺅﻫﻤﺎ )‪>> c=conv(a,b‬‬
‫ﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪c‬‬
‫‪5‬‬ ‫‪-2‬‬ ‫‪2‬‬ ‫‪3‬‬
‫ﻭﻫﻭ ﻤﺎﻴﻤﺜل ﻋﻭﺍﻤل ﺍﻟﺸﻌﺎﻉ ‪ y‬ﺍﻟﺫﻱ ﺤﺴﺒﻨﺎﻩ ﺒﺄﻴﺩﻴﻨﺎ‪.‬‬

‫ﺘﻌﻠﻴﻤﺔ ‪ : polyder‬ﺘﻘﻭﻡ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺒﺤﺴﺎﺏ ﻤﺸﺘﻕ ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ‪.‬‬


‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﻤﺸﺘﻕ ﺍﻟﺘﺎﺒﻊ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪y (x ) = 2x 4 + 3x 3 − 5x 2 + x − 9‬‬

‫‪١٩‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪y ′(x ) = 8x 3 + 9x 2 − 10x + 1‬‬


‫ﻟﻨﻁﺒﻕ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫; ]‪>> a = [2 3 -5 1 -9‬‬
‫)‪>> polyder(a‬‬
‫ﻓﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺠﻭﺍﺏ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫= ‪ans‬‬
‫‪8‬‬ ‫‪9‬‬ ‫‪-10‬‬ ‫‪1‬‬

‫ﺘﻌﻠﻴﻤﺔ ‪ : polyint‬ﺘﻘﻭﻡ ﻫﺫﻩ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺒﺤﺴﺎﺏ ﺘﻜﺎﻤل ﻜﺜﻴﺭ ﺍﻟﺤﺩﻭﺩ‪.‬‬


‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﺘﻜﺎﻤل ﺍﻟﺘﺎﺒﻊ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪y (x ) = 2x 4 + 3x 3 − 5x 2 + x − 9‬‬
‫‪2 5 3 4 5 2 1 2‬‬
‫‪∫ y (x ) = 5 x + 4 x − 3 x + 2 x − 9x‬‬
‫ﻟﻨﻁﺒﻕ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫; ]‪>> a = [2 3 -5 1 -9‬‬
‫)‪>> polyint(a‬‬
‫ﻓﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺠﻭﺍﺏ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫= ‪ans‬‬
‫‪0.4000‬‬ ‫‪0.7500 -1.6667‬‬ ‫‪0.5000 -9.0000‬‬ ‫‪0‬‬

‫ﺘﻤﺭﻴﻥ ‪ :‬ﺃﻭﺠﺩ ﻤﻴل ﺍﻟﻤﻨﺤﻨﻲ ‪ y‬ﻋﻨﺩ ﺍﻟﻨﻘﻁﺔ ‪x = 0‬‬


‫‪y ( x ) = x 2 − 4x + 1‬‬

‫ﺍﻟﻤﺼﻔﻭﻓﺎﺕ‬
‫ﺇﺩﺨﺎل ﻤﺼﻔﻭﻓﺔ ﻓﻲ ‪ Matlab‬ﻴﺘﻡ ﺒﻨﻔﺱ ﺍﻟﺴﻬﻭﻟﺔ ﺍﻟﺘﻲ ﻴﺘﻡ ﺒﻬﺎ ﺇﺩﺨﺎل ﺍﻟﺸـﻌﺎﻉ ﻭﻫـﻲ ﻗﻭﺴـﻴﻥ‬
‫ﻜﺒﻴﺭﻴﻥ ﻴﺤﻭﻴﺎﻥ ﻋﻨﺎﺼﺭ ﺍﻟﻤﺼﻔﻭﻓﺔ ﺤﻴﺙ ﺃﻨﻪ ﺒﻴﻥ ﻜل ﻋﻨﺼﺭﻴﻥ ﻴﻭﺠﺩ ﻤﺴﺎﻓﺔ‪ .‬ﺍﻟﻔﺭﻕ ﺍﻟﻭﺤﻴﺩ ﺒﻴﻥ‬
‫ﺍﻟﻤﺼﻔﻭﻓﺔ ﻭﺍﻟﺸﻌﺎﻉ ﻫﻭ ﺃﻨﻪ ﻴﺘﻡ ﺍﻟﺘﻤﻴﻴﺯ ﺒﻴﻥ ﺍﻷﺴﻁﺭ ﺒﻭﻀﻊ ;‬
‫ﻤﺜﺎل ‪ :‬ﺃﺩﺨل ﺍﻟﻤﺼﻔﻭﻓﺔ ﺍﻟﺘﺎﻟﻴﺔ ﻓﻲ ‪: Matlab‬‬
‫‪ 1 3‬‬
‫‪A=‬‬ ‫‪‬‬
‫‪ −5 4 ‬‬
‫ﻟﻠﻘﻴﺎﻡ ﺒﺫﻟﻙ ﻨﺩﺨل ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻟﺴﻁﺭ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫]‪>> A = [1 3 ; -5 4‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪A‬‬

‫‪٢٠‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪1 3‬‬
‫‪-5 4‬‬
‫ﻟﻨﺘﻌﺭﻑ ﺍﻵﻥ ﻋﻠﻰ ﺒﻌﺽ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺘﻲ ﻴﻤﻜﻥ ﺇﺠﺭﺍﺀﻫﺎ ﻋﻠﻰ ﺍﻟﻤﺼﻔﻭﻓﺎﺕ ﻤﻥ ﺨﻼل ﺍﻷﻤﺜﻠﺔ‪.‬‬

‫ﻤﻨﻘﻭل ﻤﺼﻔﻭﻓﺔ ‪:‬‬


‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﻤﻨﻘﻭل ﺍﻟﻤﺼﻔﻭﻓﺔ ‪ A‬ﻭﺃﺩﺨﻠﻬﺎ ﺘﺤﺕ ﺍﺴﻡ ‪.B‬‬
‫ﻴﺘﻡ ﺇﻴﺠﺎﺩ ﻤﻨﻘﻭل ﻤﺼﻔﻭﻓﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺭﻤﺯ ' ﻟﺫﻟﻙ ﻨﻜﺘﺏ ﺍﻟﺘﻌﻠﻴﻤﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫'‪>> B = A‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪B‬‬
‫‪1 -5‬‬
‫‪3 4‬‬

‫ﺠﺩﺍﺀ ﺍﻟﻤﺼﻔﻭﻓﺎﺕ ‪:‬‬


‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﺠﺩﺍﺀ ﺍﻟﻤﺼﻔﻭﻓﺘﻴﻥ ﺍﻟﺘﺎﻟﻴﺘﻴﻥ ﻭﺃﺩﺨﻠﻪ ﻓﻲ ‪ Matlab‬ﺘﺤﺕ ﺍﺴﻡ ‪: C‬‬
‫‪ 1 3‬‬ ‫‪0 2‬‬
‫‪A=‬‬ ‫‪‬‬ ‫‪B =‬‬ ‫‪‬‬
‫‪ −5 4 ‬‬ ‫‪1 6 ‬‬
‫ﻴﺘﻡ ﺇﻴﺠﺎﺩ ﺠﺩﺍﺀ ﻤﺼﻔﻭﻓﺘﻴﻥ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺭﻤﺯ * ﻟﺫﻟﻙ ﻨﻜﺘﺏ ﺍﻷﺴﻁﺭ ﺍﻟﺘﺎﻟﻴﺔ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ‬
‫ﻟـ ‪: Matlab‬‬
‫; ]‪>> A = [1 3 ; - 5 4‬‬
‫; ]‪>> B = [0 2 ; 1 6‬‬
‫‪>> C = A * B‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫=‪C‬‬
‫‪3‬‬ ‫‪20‬‬
‫‪4‬‬ ‫‪14‬‬

‫ﻤﻘﻠﻭﺏ ﻤﺼﻔﻭﻓﺔ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﻤﻘﻠﻭﺏ ﺍﻟﻤﺼﻔﻭﻓﺔ ‪ A‬ﺍﻟﻤﻌﻁﺎﺓ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻭﺍﺭﻤﺯ ﻟﻬﺎ ﺒـ ‪D‬‬

‫ﻴﺘﻡ ﺇﻴﺠﺎﺩ ﻤﻘﻠﻭﺏ ﻤﺼﻔﻭﻓﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ inv‬ﻟﺫﻟﻙ ﻨﻜﺘﺏ ﺍﻟﺴـﻁﺭ ﺍﻟﺘـﺎﻟﻲ ﻓـﻲ ﺍﻟﻭﺍﺠﻬـﺔ‬
‫ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪: Matlab‬‬
‫)‪>> D = inv (A‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫‪٢١‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫=‪D‬‬
‫‪0.2105 -0.1579‬‬
‫‪0.2632 0.0526‬‬

‫ﻤﺭﺘﺒﺔ ﻤﺼﻔﻭﻓﺔ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﻤﺭﺘﺒﺔ ﺍﻟﻤﺼﻔﻭﻓﺘﻴﻴﻥ ﺍﻟﺘﺎﻟﻴﺘﻴﻥ ‪:‬‬


‫‪ 1 3‬‬ ‫‪1 5 2 ‬‬
‫‪A=‬‬ ‫‪‬‬ ‫‪E =‬‬ ‫‪‬‬
‫‪ −5 4 ‬‬ ‫‪1 3 8 ‬‬

‫ﻴﺘﻡ ﺇﻴﺠﺎﺩ ﻤﺭﺘﺒﺔ ﻤﺼﻔﻭﻓﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ rank‬ﻟﺫﻟﻙ ﻨﻜﺘﺏ ﺍﻷﺴﻁﺭ ﺍﻟﺘﺎﻟﻴـﺔ ﻓـﻲ ﺍﻟﻭﺍﺠﻬـﺔ‬
‫ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪: Matlab‬‬
‫; ]‪>> A = [1 3 ; - 5 4‬‬
‫; ]‪>> E = [1 5 2 ; 1 3 8‬‬
‫)‪>> a = rank (A) , b = rank(E‬‬

‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫=‪a‬‬
‫‪2‬‬
‫=‪b‬‬
‫‪2‬‬
‫ﻤﻼﺤﻅﺔ ‪ :‬ﺘﻡ ﺍﺴﺘﺨﺩﺍﻡ ﺍﻟﻔﺎﺼﻠﺔ ﻓﻲ ﺍﻟﺴﻁﺭ ﺍﻷﺨﻴﺭ ﻟﺘﻨﻔﻴﺫ ﺃﻤﺭﻴﻴﻥ ﻤﺘﺘﺎﻟﻴﻴﻥ ﻓﻲ ‪.Matlab‬‬

‫ﺍﻟﻤﺼﻔﻭﻓﺔ ﺍﻟﻭﺍﺤﺩﻴﺔ ‪:‬‬

‫ﻴﻤﻜﻨﻨﺎ ﺃﻴﻀﺎﹰ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪ Matlab‬ﺘﺸﻜﻴل ﺍﻟﻤﺼﻔﻭﻓﺔ ﺍﻟﻭﺍﺤﺩﻴﺔ ﻭﺫﻟﻙ ﻤﻥ ﺨﻼل ﺍﻟﺘﻌﻠﻴﻤﺔ ‪:‬‬

‫)ﻋﺩﺩ ﻋﻨﺎﺼﺭ ﺍﻟﻘﻁﺭ ﺍﻟﺭﺌﻴﺴﻲ(‪eye‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﺩﺨل ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻴﻭﻟﺩ ﻤﺼﻔﻭﻓﺔ ﻭﺍﺤﺩﻴﺔ ﺫﺍﺕ ﺃﺒﻌﺎﺩ ‪:3*3‬‬
‫)‪>> eye (3‬‬
‫ﻴﻌﻁﻴﻨﺎ ‪: Matlab‬‬
‫= ‪ans‬‬
‫‪1 0‬‬ ‫‪0‬‬
‫‪0 1‬‬ ‫‪0‬‬
‫‪0 0‬‬ ‫‪1‬‬

‫‪٢٢‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺍﻷﻤﺭ ﺍﻷﺨﻴﺭ ﺍﻟﺫﻱ ﺴﻨﺘﺤﺩﺙ ﻋﻨﻪ ﻫﻨﺎ ﻫﻭ ﻜﻴﻔﻴﺔ ﺇﻴﺠﺎﺩ ﻤﻌﻴﻥ ﺍﻟﻤﺼﻔﻭﻓﺔ‪ .‬ﻫﺫﺍ ﺍﻷﻤﺭ ﻫﻭ ‪.det‬‬

‫ﻤﻌﻴﻥ ﺍﻟﻤﺼﻔﻭﻓﺔ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﻤﻌﻴﻥ ﺍﻟﻤﺼﻔﻭﻓﺔ ‪ A‬ﺍﻟﻤﻌﻁﺎﺓ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ‪:‬‬


‫; ]‪>> A = [1 3 ; - 5 4‬‬
‫)‪>> det (A‬‬
‫ﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫= ‪ans‬‬
‫‪19‬‬

‫ﻫﻨﺎﻙ ﺍﻟﻜﺜﻴﺭ ﻤﻥ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺘﻲ ﻴﻤﻜﻥ ﺘﻁﺒﻴﻘﻬﺎ ﻋﻠﻰ ﺍﻟﻤﺼﻔﻭﻓﺎﺕ ﺴﻨﺘﻌﺭﻑ ﺇﻟﻴﻬﺎ ﻋﻨﺩ ﺤﺎﺠﺘﻨﺎ ﻟﻬﺎ‪.‬‬

‫ﺘﻭﺍﺒﻊ ﺍﻻﻨﺘﻘﺎل ﻟﻸﻨﻅﻤﺔ ﺍﻟﻤﺴﺘﻤﺭﺓ‬

‫ﻴﻤﻜﻨﻨﺎ ‪ Matlab‬ﻤﻥ ﺘﻌﺭﻴﻑ ﺘﻭﺍﺒﻊ ﺍﻻﻨﺘﻘﺎل ﻭﺍﻟﺘﻌﺎﻤل ﻤﻌﻬﺎ ﺒﺴﻬﻭﻟﺔ‪ .‬ﻴﺘﻡ ﺇﺩﺨﺎل ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺇﻟﻰ‬
‫‪ Matlab‬ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ tf‬ﺍﻟﺘﻲ ﺘﻜﺘﺏ ﻭﻓﻕ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﻤﺜل ﻓﻲ ‪ Matlab‬ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫‪2s − 3‬‬
‫=‪h‬‬
‫‪s + 2s − 10‬‬
‫‪2‬‬

‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻷﺴﻁﺭ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫ﻜﺜﻴﺭ ﺤﺩﻭﺩ ﺍﻟﺒﺴﻁ ; ]‪>> a = [2 -3‬‬


‫ﻜﺜﻴﺭ ﺤﺩﻭﺩ ﺍﻟﻤﻘﺎﻡ ; ]‪>> b = [1 2 -10‬‬
‫)‪>> h = tf (a , b‬‬
‫ﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺎﺘﺞ ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫‪Transfer function:‬‬
‫‪2s-3‬‬
‫‪--------------‬‬
‫‪s^2 + 2 s – 10‬‬
‫ﺇﺫﻥ ﺘﻡ ﺘﺨﺯﻴﻥ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ‪ h‬ﻓﻲ ﺫﺍﻜﺭﺓ ‪.Matlab‬‬

‫ﻴﻤﻜﻨﻨﺎ ﺃﻴﻀﺎﹰ ﺇﺩﺨﺎل ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ zpk‬ﺤﻴﺙ ﻨﺤﺩﺩ ﺍﻷﺼﻔﺎﺭ ﻭﺍﻷﻗﻁﺎﺏ ﻭﺍﻟﺭﺒﺢ‪.‬‬

‫‪٢٣‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻤﺜﺎل ‪ :‬ﻋﺭﻑ ﻓﻲ ‪ Matlab‬ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫)‪2(s − 3)(s + 1‬‬
‫=‪h‬‬
‫)‪(s + 5)(s + 6)(s + 11‬‬
‫)‪>> h=zpk([3 -1], [-5 -6 -11],2‬‬

‫ﺃﻴﻀﺎﹰ ﻴﻤﻜﻨﻨﺎ ﺇﺩﺨﺎل ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺒﺸﻜل ﻤﺒﺎﺸﺭ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ )'‪.s=tf('s‬‬

‫ﻤﺜﺎل ‪ :‬ﻋﺭﻑ ﻓﻲ ‪ Matlab‬ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫)‪2(s − 3‬‬
‫=‪h‬‬
‫‪s2 +5‬‬
‫)'‪>> s=tf('s‬‬
‫)‪>> h=2*(s-3)/(s^2+5‬‬

‫ﻴﻤﻜﻨﻨﺎ ﺇﻴﺠﺎﺩ ﺠﺩﺍﺀ ﺘﺎﺒﻌﻲ ﺍﻨﺘﻘﺎل ﻭﻤﺠﻤﻭﻋﻬﻤﺎ ﺒﺎﺴﺘﺨﺩﺍﻡ ﻋﻤﻠﻴﺘﻲ ﺍﻟﻀﺭﺏ ﻭﺍﻟﺠﻤﻊ ﺍﻟﻌﺎﺩﻴﺘﻴﻥ‪.‬‬

‫ﻤﺜﺎل ‪ :‬ﻟﻴﻜﻥ ﻟﺩﻴﻨﺎ ﺘﺎﺒﻌﻲ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻴﻴﻥ ‪:‬‬


‫‪2s − 3‬‬ ‫‪1‬‬
‫= ‪h1‬‬ ‫= ‪h2‬‬
‫‪s + 2s − 10‬‬
‫‪2‬‬
‫‪s +5‬‬

‫ﻭﺍﻟﻤﻁﻠﻭﺏ ﺇﻴﺠﺎﺩ ‪sys2= h1+ h2 ، sys1= h1+ h2‬‬

‫ﻴﺘﻡ ﺫﻟﻙ ﺒﺈﺩﺨﺎل ﺍﻷﻭﺍﻤﺭ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫ﺒﺴﻁ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻷﻭل ; ]‪>> a1 = [2 -3‬‬


‫ﻤﻘﺎﻡ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻷﻭل ; ]‪>> b1 = [1 2 -10‬‬
‫ﺒﺴﻁ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺜﺎﻨﻲ ; ]‪>> a2 = [1‬‬
‫ﻤﻘﺎﻡ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺜﺎﻨﻲ ; ]‪>> b2 = [1 5‬‬
‫ﺘﺸﻜﻴل ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻷﻭل ; )‪>> h1 = tf(a1 , b1‬‬
‫ﺘﺸﻜﻴل ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺜﺎﻨﻲ ; )‪>> h2 = tf(a2 , b2‬‬
‫ﺠﺩﺍﺀ ﻭﺠﻤﻊ ﺘﺎﺒﻌﻲ ﺍﻻﻨﺘﻘﺎل ‪>> sys1 = h1 * h2 , sys2 = h1 + h2‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻷﺴﻁﺭ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪Transfer function:‬‬
‫‪2s-3‬‬
‫‪----------------‬‬
‫‪s^3 + 7 s^2 - 50‬‬

‫‪٢٤‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪Transfer function:‬‬
‫‪3 s^2 + 9 s - 25‬‬
‫‪----------------‬‬
‫‪s^3 + 7 s^2 - 50‬‬

‫ﺇﺫﺍ ﺃﺭﺩﻨﺎ ﺇﻴﺠﺎﺩ ﺃﺼﻔﺎﺭ ﻭﺃﻗﻁﺎﺏ ﺘﺎﺒﻊ ﺍﻨﺘﻘﺎل ﻴﻤﻜﻨﻨﺎ ﺘﻁﺒﻴﻕ ﺍﻟﺘﻌﻠﻴﻤﺘﻴﻥ ‪ pole‬ﻭ ‪: zero‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﺃﺼﻔﺎﺭ ﻭﺃﻗﻁﺎﺏ ﺘﺎﺒﻌﻲ ﺍﻻﻨﺘﻘﺎل ‪ sys1‬ﻭ ‪ sys2‬ﺍﻟﻠﺫﺍﻥ ﺘﻡ ﺤﺴﺎﺒﻬﻤﺎ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ‬
‫)‪>> pole(sys1‬‬
‫= ‪ans‬‬
‫‪-5.0000‬‬
‫‪-4.3166‬‬
‫‪2.3166‬‬

‫)‪>> zero(sys1‬‬
‫= ‪ans‬‬
‫‪1.5000‬‬

‫)‪>> pole(sys2‬‬
‫= ‪ans‬‬
‫‪-5.0000‬‬
‫‪-4.3166‬‬
‫‪2.3166‬‬

‫)‪>> zero(sys2‬‬
‫= ‪ans‬‬
‫‪-4.7532‬‬
‫‪1.7532‬‬

‫ﺍﻟﺘﺤﻭﻴل ﺒﻴﻥ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﻭﻤﺘﺤﻭﻻﺕ ﺍﻟﺤﺎﻟﺔ ‪:‬‬

‫ﻴﺘﻡ ﺍﻟﺘﺤﻭﻴل ﺒﻴﻥ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﻭﻤﺘﺤﻭﻻﺕ ﺍﻟﺤﺎﻟﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ .tf2ss‬ﻟﻨﺄﺨﺫ ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ‬
‫ﺍﻟﺫﻱ ﻴﻭﻀﺢ ﻟﻨﺎ ﺫﻟﻙ ‪:‬‬

‫= ‪ h‬ﻋﻨﺩﻤﺎ ﻨﻌﻴﺩ ﻜﺘﺎﺒﺔ ﻫﺫﺍ ﺍﻟﺘﺎﺒﻊ ﺒﺎﺴﺘﺨﺩﺍﻡ‬ ‫ﻤﺜﺎل ‪ :‬ﻟﻴﻜﻥ ﻟﺩﻴﻨﺎ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ‬
‫‪1‬‬
‫‪s + s +1‬‬
‫‪2‬‬

‫ﻤﺘﺤﻭﻻﺕ ﺍﻟﺤﺎﻟﺔ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫‪٢٥‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪x 1′ = − x 1 − x 2 + u‬‬
‫‪x 2′ = x 1‬‬
‫‪y = x2‬‬

‫ﺃﻱ ﺃﻥ ﻤﺼﻔﻭﻓﺎﺕ ‪ A‬ﻭ ‪ B‬ﻭ ‪ C‬ﻭ ‪ D‬ﺘﻌﻁﻰ ﻭﻓﻕ ﺍﻟﻘﻴﻡ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫‪ −1 −1‬‬ ‫‪1 ‬‬
‫‪A=‬‬ ‫‪‬‬ ‫‪, B =  ,‬‬ ‫‪C = [ 0 1] ,‬‬ ‫‪D =0‬‬
‫‪1 0‬‬ ‫‪0‬‬

‫ﻟﻨﺴﺘﺨﺩﻡ ﺍﻵﻥ ﺘﻌﻠﻴﻤﺎﺕ ‪: Matlab‬‬


‫; ]‪>> num = [1‬‬
‫; ]‪>> den = [1 1 1‬‬
‫)‪>> [A, B, C, D] = tf2ss(num , den‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬
‫=‪A‬‬
‫‪-1‬‬ ‫‪-1‬‬
‫‪1‬‬ ‫‪0‬‬
‫=‪B‬‬
‫‪1‬‬
‫‪0‬‬
‫=‪C‬‬
‫‪0‬‬ ‫‪1‬‬
‫=‪D‬‬
‫‪0‬‬
‫ﻨﻼﺤﻅ ﺃﻥ ﺍﻟﺤل ﻤﺘﻭﺍﻓﻕ ﻤﻊ ﻤﺎ ﺤﺼﻠﻨﺎ ﻋﻠﻴﻪ ﻋﻨﺩ ﺍﻟﺤل ﺍﻟﻴﺩﻭﻱ‪.‬‬

‫ﺍﻟﺘﻌﻠﻴﻤﺔ ﺍﻟﻤﻌﺎﻜﺴﺔ ﻟﻠﺘﻌﻠﻴﻤﺔ ﺍﻟﺴﺎﺒﻘﺔ ﻭﺍﻟﺘﻲ ﺘﻌﻁﻴﻨﺎ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻨﻁﻼﻗﺎﹰ ﻤﻥ ﻤﺼﻔﻭﻓﺎﺕ ﺍﻟﺤﺎﻟﺔ ﻫﻲ‬
‫‪.ss2tf‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﻭﺠﺩ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻨﻁﻼﻗﺎ ﻤﻥ ﺍﻟﻤﺼﻔﻭﻓﺎﺕ ﺍﻟﺘﻲ ﺤﺼﻠﻨﺎ ﻋﻠﻴﻬﺎ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ‪:‬‬
‫; ] ‪>> A = [ -1 -1 ; 1 0‬‬
‫; ] ‪>> B = [ 1 ; 0‬‬
‫; ] ‪>> C = [ 0 1‬‬
‫; ‪>> D = 0‬‬
‫) ‪>> [num , den] = ss2tf ( A , B , C , D‬‬

‫ﻓﻴﻌﻁﻴﻨﺎ ‪ Matlab‬ﺍﻟﺠﻭﺍﺏ ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫= ‪num‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1.0000‬‬
‫= ‪den‬‬

‫‪٢٦‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫‪1.0000‬‬ ‫‪1.0000‬‬ ‫‪1.0000‬‬

‫ﻭﻫﻲ ﻋﻭﺍﻤل ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺃﻱ ﺃﻨﻪ ﻤﻥ ﺍﻟﺸﻜل ‪:‬‬


‫‪1‬‬
‫=‪h‬‬
‫‪s + s +1‬‬
‫‪2‬‬

‫ﺘﺤﻠﻴل ﺍﻻﺴﺘﺠﺎﺒﺎﺕ ﺍﻟﻌﺎﺒﺭﺓ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪Matlab‬‬

‫ﻴﻤﻜﻥ ﺍﻻﺴﺘﻔﺎﺩﺓ ﻤﻥ ﺇﻤﻜﺎﻨﻴﺎﺕ ‪ Matlab‬ﻹﻴﺠﺎﺩ ﺍﻻﺴﺘﺠﺎﺒﺔ ﺍﻟﻌﺎﺒﺭﺓ )ﺍﻻﺴﺘﺠﺎﺒﺔ ﻟﻠﻘﻔﺯﺓ ﺍﻟﻭﺍﺤﺩﻴـﺔ(‬


‫ﻭﺍﻻﺴﺘﺠﺎﺒﺔ ﺍﻟﻨﺒﻀﻴﺔ ﺍﻟﻌﺎﺒﺭﺓ )ﺍﻻﺴﺘﺠﺎﺒﺔ ﻟﻠﻨﺒﻀﺔ ﺍﻟﻭﺍﺤﺩﻴﺔ(‪.‬‬

‫ﺍﻻﺴﺘﺠﺎﺒﺔ ﺍﻟﻨﺒﻀﻴﺔ ﺍﻟﻌﺎﺒﺭﺓ ‪ :‬ﻨﺤﺼل ﻋﻠﻰ ﻫﺫﻩ ﺍﻻﺴﺘﺠﺎﺒﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ impulse‬ﻭﻟﺘﻭﻀﻴﺢ‬
‫ﺫﻟﻙ ﺴﻨﺄﺨﺫ ﻤﺜﺎﻟﻴﻥ ﻟﻨﻅﺎﻤﻴﻥ ﺃﺤﺩﻫﻤﺎ ﻤﻥ ﺍﻟﺩﺭﺠﺔ ﺍﻷﻭﻟﻰ ﻭﺍﻵﺨﺭ ﻤﻥ ﺍﻟﺩﺭﺠﺔ ﺍﻟﺜﺎﻨﻴﺔ‪.‬‬

‫= ‪ h‬ﻭﺍﻟﻤﻁﻠﻭﺏ ﺭﺴـﻡ ﺍﻟﻤﻤﻴـﺯﺓ‬ ‫ﻤﺜﺎل ‪ :‬ﻟﻴﻜﻥ ﻟﺩﻴﻨﺎ ﺍﻟﻨﻅﺎﻡ ﺍﻟﻤﻤﺜل ﺒﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ‬
‫‪100‬‬
‫‪0.4s + 1‬‬
‫ﺍﻟﻨﺒﻀﻴﺔ ﺍﻟﻌﺎﺒﺭﺓ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪: Matlab‬‬

‫ﻟﻨﻜﺘﺏ ﺍﻷﺴﻁﺭ ﺍﻟﺘﺎﻟﻴﺔ ﻋﻠﻰ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪: Matlab‬‬


‫; ] ‪>> num = [ 100‬‬
‫; ] ‪>> den = [ 0.4 1‬‬
‫)‪>> impulse (num , den‬‬
‫)')‪>> title ('Unit-impulse response of h(s)=100/(0.4s+1‬‬

‫ﻋﻨﺩﻫﺎ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫‪٢٧‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻨﺫﻜﺭ ﺃﻥ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ title‬ﺘﻀﻴﻑ ﻋﻨﻭﺍﻥ ﺇﻟﻰ ﺍﻟﺭﺴﻡ‪.‬‬

‫ﻤﺜﺎل ‪ :‬ﻟﻴﻜﻥ ﻟﺩﻴﻨﺎ ﻨﻅﺎﻤﻴﻥ ﻤﻤﺜﻠﻴﻥ ﺒﺘﺎﺒﻌﻲ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻴﻴﻥ‬


‫‪ωn21‬‬ ‫‪ωn22‬‬
‫= ‪h1‬‬ ‫‪,‬‬ ‫= ‪h2‬‬
‫‪s 2 + 2ζ 1ωn 1s + ωn21‬‬ ‫‪s 2 + 2ζ 2ωn 2s + ωn2 2‬‬

‫ﻓﺈﺫﺍ ﻜﺎﻥ ‪ ξ2=0.7 ، ξ1=0.1 ، ωn1=ωn2=10‬ﻭﺍﻟﻤﻁﻠﻭﺏ ﺭﺴﻡ ﺍﻟﻤﻤﻴﺯﺓ ﺍﻟﻨﺒﻀﻴﺔ ﺍﻟﻌﺎﺒﺭﺓ ﻟﻜل‬
‫ﻤﻥ ﺍﻟﺘﺎﺒﻌﻴﻥ ﻋﻠﻰ ﻨﻔﺱ ﺍﻟﺸﻜل ﺒﺎﺴﺘﺨﺩﺍﻡ ‪: Matlab‬‬

‫ﻟﻜﺘﺏ ﺍﻷﺴﻁﺭ ﺍﻟﺘﺎﻟﻴﺔ ﻋﻠﻰ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪: Matlab‬‬


‫; ‪>> wn1 = 10‬‬
‫; ‪>> wn2 = 10‬‬
‫; ‪>> ksi1 = 0.1‬‬
‫; ‪>> ksi2 = 0.7‬‬
‫; ]‪>> num1 = [wn1^2‬‬
‫; ]‪>> den1 = [1 2*ksi1*wn1 wn1^2‬‬
‫; ]‪>> num2 = [wn2^2‬‬
‫; ]‪>> den2 = [1 2*ksi2*wn2 wn2^2‬‬
‫‪>> impulse (num1 , den1, 'r') , hold on‬‬
‫)'‪>> impulse (num2 , den2, 'g‬‬
‫)'‪>> legend ('ksi=0.1',' ksi=0.7‬‬

‫‪٢٨‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻋﻨﺩﻫﺎ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﺍﻟﺭﻤﺯﺍﻥ '‪ 'r‬ﻭ '‪ 'g‬ﺍﻟﻠﺫﺍﻥ ﺍﺴﺘﺨﺩﻤﻨﺎﻫﻤﺎ ﻤﻊ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ impulse‬ﻴﺸـﻜﻼﻥ ﺒﺩﺍﻴـﺔ ﻜﻠﻤﺘـﻲ ‪ red‬ﻭ‬
‫‪ green‬ﺃﻱ ﺃﻨﻨﺎ ﻫﻨﺎ ﺤﺩﺩﻨﺎ ﻟﻭﻥ ﺍﻟﻤﻨﺤﻨﻲ‪.‬‬

‫ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ legend‬ﺘﻀﻴﻑ ﺇﻴﻀﺎﺤﺎﺕ ﺇﻟﻰ ﺍﻟﺭﺴﻡ‪ .‬ﻓﻬﻲ ﺘﺭﺒﻁ ﺃﻭل ﺴﻠﺴﻠﺔ ﺤﺭﻓﻴﺔ ﻤﻊ ﺃﻭل ﻤﻨﺤﻨﻲ‬
‫ﻭﺜﺎﻨﻲ ﺴﻠﺴﻠﺔ ﺤﺭﻓﻴﺔ ﻤﻊ ﺜﺎﻨﻲ ﻤﻨﺤﻨﻲ ﻭﻫﻜﺫﺍ‪.‬‬

‫ﺍﻻﺴﺘﺠﺎﺒﺔ ﺍﻟﻌﺎﺒﺭﺓ ‪ :‬ﻨﺤﺼل ﻋﻠﻰ ﻫﺫﻩ ﺍﻻﺴﺘﺠﺎﺒﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻌﻠﻴﻤﺔ ‪ step‬ﻭﻟﺘﻭﻀﻴﺢ ﺫﻟﻙ ﺴﻨﺄﺨﺫ‬
‫ﻨﻔﺱ ﺍﻟﻤﻌﻁﻴﺎﺕ ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻭﺴﻨﻘﺎﺭﻥ ﺒﻴﻥ ﺍﺴﺘﺠﺎﺒﺘﻴﻥ ﻋﺎﺒﺭﺘﻴﻥ ﻟﻨﻅـﺎﻤﻴﻥ ﻴﺨﺘﻠﻔـﺎﻥ ﻋـﻥ‬
‫ﺒﻌﻀﻬﻤﺎ ﺒﻤﻌﺎﻤل ﺍﻟﺘﺨﺎﻤﺩ‪.‬‬

‫ﻤﺜﺎل ‪ :‬ﺍﺭﺴﻡ ﺍﻻﺴﺘﺠﺎﺒﺔ ﺍﻟﻌﺎﺒﺭﺓ ﻟﺘﺎﺒﻌﻲ ﺍﻻﻨﺘﻘﺎل ﻓﻲ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻋﻠﻰ ﺸﻜل ﻭﺍﺤﺩ ‪:‬‬
‫; ‪>> wn1 = 10‬‬
‫; ‪>> wn2 = 10‬‬
‫; ‪>> ksi1 = 0.1‬‬
‫; ‪>> ksi2 = 0.7‬‬
‫; ]‪>> num1 = [wn1^2‬‬
‫; ]‪>> den1 = [1 2*ksi1*wn1 wn1^2‬‬

‫‪٢٩‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫; ]‪>> num2 = [wn2^2‬‬


‫; ]‪>> den2 = [1 2*ksi2*wn2 wn2^2‬‬
‫‪>> step (num1 , den1) , hold on‬‬
‫)'‪>> step (num2 , den2, ':‬‬
‫)'‪>> legend ('ksi=0.1',' ksi=0.7‬‬
‫ﻋﻨﺩﻫﺎ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫ﺍﻟﻤﻤﻴﺯﺍﺕ ﺍﻟﺘﺭﺩﺩﻴﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪Matlab‬‬

‫ﻴﻤﻜﻨﻨﺎ ‪ Matlab‬ﺃﻴﻀﺎﹰ ﻤﻥ ﺭﺴﻡ ﺍﻟﻤﻤﻴﺯﺍﺕ ﺍﻟﺘﺭﺩﺩﻴﺔ ﺍﻟﻤﺘﻤﺜﻠﺔ ﺒﻤﻨﺤﻨﻴﺎﺕ ‪ Nyquist‬ﻭ ‪.Bode‬‬

‫ﻤﻤﻴﺯﺓ ﺍﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ )‪ : (Nyquist‬ﺍﻟﺘﻌﻠﻴﻤﺔ ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻫـﻲ ‪ nyquist‬ﻭﻫـﻲ ﻤﻭﻀـﺤﺔ‬


‫ﺒﺎﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﺭﺴﻡ ﻤﻤﻴﺯﺓ ﺍﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ ﻟﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪:Matlab‬‬
‫‪10000‬‬
‫= ) ‪H (S‬‬
‫‪S + 140S + 10000‬‬
‫‪2‬‬

‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫‪٣٠‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫; ]‪>> num = [10000‬‬


‫; ]‪>> den = [1 140 10000‬‬
‫)‪>> nyquist (num , den‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻭﻫﻭ ﻴﻤﺜل ﻤﻨﺤﻨﻲ ﺍﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ ﻟﻬﺫﺍ ﺍﻟﺘﺎﺒﻊ )ﻤﻨﺤﻨﻲ ﻨﻴﻜﻭﻴﺴﺕ(‪.‬‬

‫ﻴﻤﻜﻥ ﺍﺴﺘﺨﺩﺍﻡ ﺘﻌﻠﻴﻤﺔ ﻨﻴﻜﻭﻴﺴﺕ ﺒﺎﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ )‪ [alpha,beta]=nyquist(num,den,w‬ﻋﻨﺩﻫﺎ‬


‫ﺘﻌﻁﻴﻨﺎ ﻗﻴﻤﺔ ﺍﻟﻘﺴﻡ ﺍﻟﺤﻘﻴﻘﻲ ﻭﺍﻟﺘﺨﻴﻠﻲ ﻟﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﻤﻭﺍﻓﻕ ﻟﻠﺘﺭﺩﺩ ‪.w‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﺤﺴﺏ ﻗﻴﻤﺘﻲ ﺍﻟﻘﺴﻡ ﺍﻟﺤﻘﻴﻘﻲ ﻭﺍﻟﺘﺨﻴﻠﻲ ﻟﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ﻋﻨﺩ ﺍﻟﺘﺭﺩﺩﺍﺕ ‪0, 10, 100‬‬
‫‪ Hz‬ﺒﺎﺴﺘﺨﺩﺍﻡ ‪:Matlab‬‬
‫‪10000‬‬
‫= ) ‪H (S‬‬
‫‪S + 140S + 10000‬‬
‫‪2‬‬

‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬


‫; ]‪>> num = [10000‬‬
‫; ]‪>> den = [1 140 10000‬‬
‫;‪>> w1=0 , w2=2*pi*10, w3=2*pi*100‬‬
‫)‪>> [alpha1,beta1]=nyquist (num , den,w1‬‬
‫)‪>> [alpha2,beta2]=nyquist (num , den,w2‬‬
‫)‪>> [alpha3,beta3]=nyquist (num , den,w3‬‬

‫‪٣١‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﺍﻟﻤﻤﻴﺯﺓ ﺍﻟﺘﺭﺩﺩﻴﺔ ﺍﻟﻠﻭﻏﺎﺭﻴﺘﻤﻴﺔ )‪ : (Bode‬ﺍﻟﺘﻌﻠﻴﻤﺔ ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻫﻲ ‪ bode‬ﻭﻫﻲ ﻤﻭﻀﺤﺔ ﺒﺎﻟﻤﺜﺎل‬


‫ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﺭﺴﻡ ﺍﻟﻤﻤﻴﺯﺓ ﺍﻟﺘﺭﺩﺩﻴﺔ ﺍﻟﻠﻭﻏﺎﺭﻴﺘﻤﻴﺔ ﻟﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ﺒﺎﺴﺘﺨﺩﺍﻡ ‪:Matlab‬‬
‫‪10000‬‬
‫= ) ‪H (S‬‬
‫‪S + 140S + 10000‬‬
‫‪2‬‬

‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬


‫; ]‪>> num = [10000‬‬
‫; ]‪>> den = [1 140 10000‬‬
‫)‪>> bode (num , den‬‬
‫ﻓﻴﻌﻁﻴﻨﺎ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻴﻤﻜﻥ ﺍﺴﺘﺨﺩﺍﻡ ﺘﻌﻠﻴﻤﺔ ﺒﻭﺩ ﺒﺎﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ )‪ [mag,phase]=bode(num,den,w‬ﻋﻨﺩﻫﺎ ﺘﻌﻁﻴﻨﺎ ﻤﻁﺎل‬


‫ﻭﺼﻔﺤﺔ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﻋﻨﺩ ﺍﻟﺘﺭﺩﺩ ‪.w‬‬

‫ﻤﺜﺎل ‪ :‬ﺃﺤﺴﺏ ﻤﻁﺎل ﻭﺼﻔﺤﺔ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ﻋﻨﺩ ﺍﻟﺘﺭﺩﺩﺍﺕ ‪ 0, 10, 100 Hz‬ﺒﺎﺴـﺘﺨﺩﺍﻡ‬
‫‪:Matlab‬‬
‫‪10000‬‬
‫= ) ‪H (S‬‬
‫‪S + 140S + 10000‬‬
‫‪2‬‬

‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟـ ‪ Matlab‬ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫‪٣٢‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫; ]‪>> num = [10000‬‬


‫; ]‪>> den = [1 140 10000‬‬
‫;‪>> w1=0 , w2=2*pi*10, w3=2*pi*100‬‬
‫)‪>> [mag1,phase1]=bode (num , den,w1‬‬
‫)‪>> [mag2, phase2]=bode (num , den,w2‬‬
‫)‪>> [mag3, phase3]=bode (num , den,w3‬‬

‫ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﻓﻲ ﺍﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ ‪ :‬ﺴﻨﺩﺭﺱ ﺫﻟﻙ ﻤﻥ ﺨﻼل ﺍﻟﻤﺜﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻤﺜﺎل ‪ :‬ﻟﻴﻜﻥ ﻟﺩﻴﻨﺎ ﺘﺎﺒﻊ ﺍﻻﻨﺘﻘﺎل ﺍﻟﺘﺎﻟﻲ ‪:‬‬


‫‪10000‬‬
‫= ) ‪H (S‬‬
‫‪S + 140S 2 + 10000S + 10‬‬
‫‪3‬‬

‫ﻭﺍﻟﻤﻁﻠﻭﺏ ﺩﺭﺍﺴﺔ ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﻓﻲ ﺍﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ‪.‬‬

‫ﻨﻜﺘﺏ ﻓﻲ ﺍﻟﻭﺍﺠﻬﺔ ﺍﻷﺴﺎﺴﻴﺔ ﻟﻤﺎﺘﻼﺏ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬


‫; ]‪>> num = [10000‬‬
‫; ]‪>> den = [1 140 10000 10‬‬
‫)‪>> margin (num , den‬‬
‫ﻋﻨﺩﻫﺎ ﻴﺭﺴﻡ ﻤﺎﺘﻼﺏ ﻤﻨﺤﻨﻲ ﺒﻭﺩ ﻤﺤﺩﺩﺍﹰ ﻋﻠﻴﻪ ﻫﺎﻤﺵ ﺍﻻﺴﻘﺭﺍﺭ ﺒﺎﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ ﻜﻤﺎ ﻫﻭ‬
‫ﻤﻭﻀﺢ ﻋﻠﻰ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬

‫‪٣٣‬‬
‫ﺍﺴﺘﺨﺩﺍﻡ ﻤﺎﺘﻼﺏ ﻓﻲ ﺘﺤﻠﻴل ﺍﻷﻨﻅﻤﺔ ﺍﻟﺨﻁﻴﺔ‬ ‫ﺩ‪ .‬ﻋﻤﺎﺩ ﺍﻟﺭﻭﺡ‬

‫ﻨﻼﺤﻅ ﺃﻥ ﺍﻟﺸﻜل ﻴﻭﻀﺢ ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﺒﺎﻟﻤﻁﺎل ﻋﻨﺩ ﺘﻘﺎﻁﻊ ﻤﻨﺤﻨﻲ ﺍﻟﺼﻔﺤﺔ ﻤـﻊ ﺍﻟﻤﺴـﺘﻘﻴﻡ‬
‫‪ θ = −180‬ﺒﻴﻨﻤﺎ ﻴﻌﻁﻲ ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﺒﺎﻟﺼﻔﺤﺔ ﻓﻲ ﻤﻨﻁﻘﺔ ﺘﻘﺎﻁﻊ ﻤﻨﺤﻨـﻲ ﺍﻟﻤﻁـﺎل ﻤـﻊ‬
‫ﺍﻟﺼﻔﺭ‪.‬‬

‫ﺒﻔﺭﺽ ﺃﻨﻨﺎ ﻻﻨﺭﻴﺩ ﺍﻟﺭﺴﻡ ﻭﻨﺭﻴﺩ ﻓﻘﻁ ﻗﻴﻡ ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﺒﺎﻟﻤﻁﺎل ﻭﺍﻟﺼﻔﺤﺔ ﻋﻨﺩﻫﺎ ﻴﻤﻜﻨﻨﺎ ﻜﺘﺎﺒﺔ‬
‫ﺍﻟﺘﻌﻠﻴﻤﺔ ﺒﺎﻟﺸﻜل ﺍﻟﺘﺎﻟﻲ ‪:‬‬
‫)‪>> [Gm,Pm,Wcg,Wcp]=margin(num , den‬‬

‫ﻋﻨﺩﻫﺎ ﻨﺤﺼل ﻋﻠﻰ ﺍﻹﺠﺎﺒﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪:‬‬


‫= ‪Gm‬‬
‫‪139.9990‬‬
‫= ‪Pm‬‬
‫‪89.2551‬‬
‫= ‪Wcg‬‬
‫‪100.0000‬‬
‫= ‪Wcp‬‬
‫‪1.0000‬‬
‫ﺤﻴﺙ ‪ Gm‬ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﺒﺎﻟﻤﻁﺎل )ﻜﻘﻴﻤﺔ ﻭﻟﻴﺱ ﻜﺭﺒﺢ( ﻭ ‪ Wcg‬ﺍﻟﺘﺭﺩﺩ ﺍﻟﻤﻭﺍﻓﻕ‬
‫)‪.(rad/sec‬‬

‫ﻭ ‪ Pm‬ﻫﺎﻤﺵ ﺍﻻﺴﺘﻘﺭﺍﺭ ﺒﺎﻟﺼﻔﺤﺔ )ﺒﺎﻟﺩﺭﺠﺎﺕ( ﻭ ‪ Wcp‬ﺍﻟﺘﺭﺩﺩ ﺍﻟﻤﻭﺍﻓﻕ )‪.(rad/sec‬‬

‫‪٣٤‬‬

You might also like