Download as pdf or txt
Download as pdf or txt
You are on page 1of 137

‫الطبعت األولى‬

‫‪2015‬‬

‫املاتالب‬
‫لــــ‬

‫مهندسي االتصاالت‬

‫لــ‬

‫فراس عوض‬

‫‪-2-‬‬
‫إهداء‬

‫ألمتي العربية و اإلسالمية‬

‫لبلدي احلبيب سوريا‬

‫ألبي و أمي‬

‫ألصدقائي‬

‫‪-3-‬‬
‫الفهرس ‪:‬‬

‫الصفحة‬ ‫العنوان‬
‫‪6‬‬ ‫‪.......‬‬
‫هقذهت ‪........................................................................................ :‬‬
‫‪8‬‬ ‫الفصل األول ‪ :‬بذايت العمل ‪.......................................................................‬‬
‫‪9‬‬ ‫‪ ) 1 – 1‬هقذهت ‪.............................................................................‬‬
‫‪9‬‬ ‫‪ ) 2 – 1‬نظرة تاريخيت لبرناهج ‪............................................ MatLab‬‬
‫‪10‬‬ ‫‪ ) 3 – 1‬التؼرف ػلى الىاجهت الرئيسيت للبرناهج باإلصذار ‪.......... R2013a‬‬
‫‪13‬‬ ‫‪ ) 4 – 1‬التؼليواث و التىابغ األساسيت ‪.................................................‬‬
‫‪15‬‬ ‫‪ ) 5 – 1‬الوتغيراث في برناهج ‪............................................ MatLab‬‬
‫‪17‬‬ ‫‪ ) 6 – 1‬التؼليواث الخاصت باإلظهار و اإلدخال ‪.......................................‬‬
‫‪19‬‬ ‫‪ ) 7 – 1‬طريقت ػرض األرقام و تذويرها ‪.............................................‬‬
‫‪21‬‬ ‫‪ ) 8 – 1‬بؼض الوحارف الخاصت و استخذاهاتها ‪.....................................‬‬
‫‪22‬‬ ‫‪ ) 9 – 1‬توارين ‪.............................................................................‬‬
‫‪24‬‬ ‫الفصل الثاني ‪ :‬المصفوفاث ‪......................................................................‬‬
‫‪25‬‬ ‫‪ ) 1 – 2‬هقذهت ‪.............................................................................‬‬
‫‪26‬‬ ‫‪ ) 2 – 2‬إنشاء المصفوفات ‪...............................................................‬‬
‫‪30‬‬ ‫‪ ) 3 – 2‬فهرسة المصفوفات ‪.............................................................‬‬
‫‪33‬‬ ‫‪ ) 4 – 2‬خواص المصفوفات ‪............................................................‬‬
‫‪35‬‬ ‫‪ ) 5 – 2‬العمليات على المصفوفات ‪.....................................................‬‬
‫‪42‬‬ ‫‪ ) 6 – 2‬المصفوفة متعددة األبعاد ‪......................................................‬‬
‫‪43‬‬ ‫‪ ) 7 – 2‬مصفوفة األحرف ‪...............................................................‬‬
‫‪45‬‬ ‫‪ ) 8 – 2‬مصفوفة الخاليا ‪.................................................................‬‬
‫‪47‬‬ ‫‪ ) 9 – 2‬مصفوفة التراكيب ‪..............................................................‬‬
‫‪51‬‬ ‫‪ ) 10 – 2‬تمارين ‪........................................................................‬‬
‫‪55‬‬ ‫الفصل الثالث ‪ :‬الرياضياث في الماتالب ‪.......................................................‬‬
‫‪56‬‬ ‫‪ ) 1 – 3‬الرياضياث البسيطت ‪.............................................................‬‬
‫‪57‬‬ ‫‪ ) 2 – 3‬اإلحصاء ‪..........................................................................‬‬
‫‪60‬‬ ‫‪ ) 3 – 3‬األعداد العقدية ‪..................................................................‬‬
‫‪61‬‬ ‫‪ ) 4 – 3‬المثلثات ‪...........................................................................‬‬
‫‪62‬‬ ‫‪ ) 5 – 3‬الرياضيات المنفصلة ‪...........................................................‬‬
‫‪64‬‬ ‫‪ ) 6 – 3‬كثيرات الحدود ‪..................................................................‬‬
‫‪66‬‬ ‫‪ ) 7 – 3‬التوابع الرمزية و الرياضيات ‪.................................................‬‬
‫‪68‬‬ ‫‪ ) 8 – 3‬العمليات و التوابع المنطقية ‪....................................................‬‬
‫‪72‬‬ ‫‪ ) 9 – 3‬تمارين ‪................................................. ........................‬‬
‫‪75‬‬ ‫الفصل الرابع ‪ :‬الرسم في الماتالب ‪.............................................................‬‬
‫‪76‬‬ ‫‪ ) 1 – 4‬هقذهت ‪.............................................................................‬‬
‫‪76‬‬ ‫‪ ) 2 – 4‬التابغ ‪....................................................................... plot‬‬
‫‪78‬‬ ‫‪ ) 3 – 4‬تحسين الرسم ‪...................................................................‬‬
‫‪85‬‬ ‫‪ ) 4 – 4‬الرسم ثنائي البعد باستخدام توابع مشابهة للتابع ‪.................. plot‬‬
‫‪87‬‬ ‫‪ ) 5 – 4‬الرسم ثالثي البعد ‪................................................................‬‬
‫‪98‬‬ ‫‪ ) 6 – 4‬رسم السطوح ‪....................................................................‬‬
‫‪-4-‬‬
‫‪90‬‬ ‫‪ ) 7 – 4‬الرسم في اإلحداثيات العقدية ‪.................. ............................‬‬
‫‪93‬‬ ‫‪ ) 8 – 4‬رسم البيانات المتقطعة ‪.........................................................‬‬
‫‪95‬‬ ‫‪ ) 9 – 4‬رسم تمثيل البيانات ‪.............................................................‬‬
‫‪100‬‬ ‫‪ ) 10 – 4‬تمارين ‪.........................................................................‬‬
‫‪103‬‬ ‫الفصل الخامس ‪ :‬البرمجت في الماتالب ‪........................................................‬‬
‫‪104‬‬ ‫‪ ) 1 – 5‬هقذهت ‪.............................................................................‬‬
‫‪104‬‬ ‫‪ ) 2 – 5‬التحكن بتذفق التؼليواث ‪..........................................................‬‬
‫‪113‬‬ ‫‪ ) 3 – 5‬التعرف على ملفات ‪.................................................. M-file‬‬
‫‪116‬‬ ‫‪ ) 4 – 5‬نصائح و خطط في البرمجة ‪.................. ..............................‬‬
‫‪117‬‬ ‫‪ ) 5 – 5‬تمارين ‪............................................................................‬‬
‫‪120‬‬ ‫الفصل السادس ‪ :‬أنواع البياناث و إدارة ملفاث البياناث ‪...................................‬‬
‫‪121‬‬ ‫‪ ) 1 – 6‬هقذهت ‪..............................................................................‬‬
‫‪121‬‬ ‫‪ ) 2 – 6‬أنىاع البياناث في الواتالب ‪.....................................................‬‬
‫‪123‬‬ ‫‪ ) 3 – 6‬تصدير البيانات و استيرادها باستخدام ‪ save‬و ‪............... load‬‬
‫‪125‬‬ ‫‪ ) 4 – 6‬التعامل مع الملفات ‪.................. ........................................‬‬
‫‪127‬‬ ‫‪ ) 5 – 6‬تمارين ‪............................................................................‬‬
‫‪129‬‬ ‫الولحقاث ‪........................................................................................... :‬‬
‫‪137‬‬ ‫الوراجغ ‪............................................................................................ :‬‬

‫‪-5-‬‬
‫مقدمة ‪:‬‬
‫ثسم هللا اًرمحن اًرحمي‬
‫تفضي من هللا و ثوفيق منو خي خالهل اىهتيت من اعداد ىذا اًعمي سائ ًال اايه بن يىون خاًص ًا ًوهجو اًىرمي و بن ييفعيا‬
‫تو يف ادلهيا و الآخرت و بن ييفع لك من يلرب يف ىذا اًىتاة و يطَة اًعمل منو فلد اهطَلت تفىرت و يه نتاتة مَخص‬
‫ًزماليئ يف اًس ية ادلراس ية اًثاًثة من ىيدسة االثصاالث يف خامعة حَة و ًىن لمهية ىذه املادت كررث اوشائو عىل‬
‫شلك نتاة و مقت ابالضافة ًتغطية مجيع مواضيع امللرر اضافة لك ما يَزم ملن يححث يف ثعمل جرانمج املاثالة و اٍمتىن منو‬
‫‪ ,‬و ٍمتىني زماليئ اًطالة من استيعاتو جتيخت اًتوسع و اكن اًىتاة عىل ىذا اًشلك ‪:‬‬
‫اًفصي الول ‪ :‬و فيو مقت جمتىني ادلارس من اًتعامي مع املاثالة يف بوىل املراحي و يه اًتعامي معو عىل بهو بآةل حاس حة‬
‫ثس يطة مث ماىية املتغرياث فيو و طرق االدخال واالخراج و تعض اًتعَاميث الساس ية ‪.‬‬
‫اًفصي اًثاين ‪ :‬و يف احلليلة بعتربه ًة اًىتاة نام ىو ًة املاثالة فتحدجت فيو عن املصفوفاث ثشلك عام اًعددية و‬
‫احلرفية و مصفوفاث اخلالاي و اًرتاهية و بعن بين بعطيتو حلو اذلي يتوحة عيل فبدرحت مجيع اًتواتع و اًتعَاميث‬
‫اًالزمة‪.‬‬
‫اًفصي اًثاًث ‪ :‬و بمسيتو اًرايضياث يف املاثالة فيو حل ًا يعاجل مجيع املسائي اًرايضية من معَياث حساتية معلدت م‬
‫معَياث منطلية ابالضافة دليع اًتواتع اًرايضية اًالزمة مقت تتغطية اًرايضياث الساس ية من تاكمي و اش تلاق و لك ما‬
‫يَزمو املحتدئ يف دراسة ىيدسة االثصاالث ‪.‬‬
‫اًفصي اًراتع ‪ :‬و كد خصصتو ًرمس اًتواتع اًيت طاملا ثعرتضيا ابالضافة لهواع عديدت من اًرسوماث اكٍمتثيي اًحياين و‬
‫االحصايئ و اًرمس جاليث اًحعد ‪.‬‬
‫اًفصي اخلامس ‪ :‬و عيواهو اًربجمة يف املاثالة فىام س يعرف بن املاثالة يعمي وىوهو تيئة جرجمة نام بن اًربجمة حبد ذاهتا‬
‫س يحتاهجا يف مجيع ثطحيلاثيا يف املاثالة ‪.‬‬
‫اًفصي اًسادس ‪ :‬و يتعامي مع املَفاث اًيصية و اًثيائية ًتخزين املتغرياث و كد عرضت فيو بهواع املَفاث يف املاثالة ٌَعمل‬
‫ًيس بنرث ‪.‬‬
‫و نام س تالحظ من خالل دراس تم ثساطة اًتعحري و كةل اًالكم و اس تعضت عن ذكل جىرثت المثةل و كََت‬
‫من الس ئةل و اًامترين اٍهنائية يف هناية لك فصي و ذكل ًضيق اًوكت ًيس بنرث ‪.‬‬

‫‪-6-‬‬
‫‪ CD‬مرفق مع اًىتاة ًتلوم ماكن اًرشح اذلي التد منو ملن يلوم‬ ‫نام بردفت ىذا اًىتاة مبجموعة فيديوىاث يف‬
‫ابدلراسة من دون معمل‪.‬‬
‫و مك وددث ًو بين بمجي لك ما س يحتاخو هميدس االثصاالث يف املاثالة وًىن ذكل س يحتاج ًىتة و ًيس‬
‫ًىتاة واحد و ىذا ما بآمهل يف املس تلدي ان شاء هللا مفا ىذا اًىتاة اال غيض من فيض ‪.‬‬

‫فراس عوض‬

‫‪-7-‬‬
‫انفصم‬
‫‪1‬‬
‫ثذايخ انؼًم‬
‫‪get start‬‬
‫أهداف هذا الفصل ‪:‬‬

‫إعطاء نظرة تاريخية عن البرنامج و التعرف على واجهته‬


‫الرئيسية و التعامل معه بواسطة التوابع األساسية ثم االنتقال‬
‫للتعرف على المتغيرات في الماتالب و طريقة إنشائها و‬
‫التعامل معها وطرق اإلدخال و اإلخراج‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 1 - 1‬يقذيخ ‪:‬‬
‫‪Introduction‬‬
‫نى ‪ٚ‬ؼذ ‪ٚ‬خفٗ ػهٗ أزذ أًْ‪ٛ‬خ ْزا انؼًالق انز٘ ال غُٗ نُب ػُّ ف‪ ٙ‬دساعزُب نُٓذعخ‬
‫االرصبالد ز‪ٛ‬ث ‪ٚ‬مذو نُب ث‪ٛ‬ئخ نًؼبندخ خً‪ٛ‬غ انًغبئم انز‪ ٙ‬رٕاخُٓب يٍ دساعخ اإلشبساد ٔ انُظى‬
‫إنٗ ًَزخخ َظى االرصبالد ٔ يسبكبرٓب إنٗ يؼبندخ اإلشبسح ثًب ف‪ٓٛ‬ب إشبسح انصٕد ٔ انصٕسح ٔ‬
‫دساعخ انسمٕل انكٓشٔيغُبغ‪ٛ‬غ‪ٛ‬خ ٔ انٕٓائ‪ٛ‬بد ٔ انشاداس ٔ رسه‪ٛ‬م انشجكبد انؼصجَٕ‪ٛ‬خ ٔ رصً‪ٛ‬ى‬
‫انٕاخٓبد انشعٕي‪ٛ‬خ ‪ ٔ GUI‬كزبثخ انجشايح ‪ ٔ ,‬انؼذ‪ٚ‬ذ يٍ انًٓبو انز‪ ٙ‬ال ‪ًٚ‬كٍ إزصبئٓب ف‪ْ ٙ‬زا‬
‫انًٕظغ ٔ نكُُب عُجذأ دساعزُب ثؤفكبس ثغ‪ٛ‬طخ ٔ أعبع‪ٛ‬بد رًكُُب يٍ انزؼبيم يغ ْزا انجشَبيح ف‪ٙ‬‬
‫يشازم الزمخ ‪...‬‬

‫‪ ) 2 - 1‬نظزح تبريخيخ نجزنبيج ®‪: MatLab‬‬


‫®‪An historical overview on MatLab‬‬
‫رؼزجش كهًخ ‪ MatLab‬اخزصبس ٔ ديح نكهًز‪ ٔ Matrix Laboratory ٙ‬لذ‬
‫أُخزشع ف‪ ٙ‬عجؼ‪ُٛٛ‬بد انمشٌ انًبظ‪ ٙ‬يٍ لجم ‪ Cleve Moler‬سئ‪ٛ‬ظ لغى ف‪ ٙ‬خبيؼخ‬
‫‪ٔ , New Maxico‬لذ كبٌ اخزشػّ ف‪ ٙ‬انجذا‪ٚ‬خ ن‪ًٛ‬كٍ انطالة يٍ انزؼبيم يغ ثذٌٔ‬
‫رؼهى نغخ ‪ Fortran‬فٕٓ ػجبسح ػٍ ث‪ٛ‬ئخ زٕعجخ سلً‪ٛ‬خ ٔ نغخ ثشيدخ ٔ عشػبٌ يب‬
‫اَزشش ف‪ ٙ‬خبيؼبد أخشٖ ٔ اللٗ رشز‪ٛ‬جبً كج‪ٛ‬شاً ف‪ ٙ‬ػبنى انش‪ٚ‬بظ‪ٛ‬بد ‪.‬‬
‫ٔ ف‪ ٙ‬ػبو ‪ 1984‬رؤعغذ ششكخ انــ ‪ MathWorks‬ػهٗ ‪ٚ‬ذ كم يٍ ‪Jack‬‬
‫‪ Cleve ٔ Steve Bangert ٔ Little‬فمذ كبٌ انــ ‪ MatLab‬خبصبً ثُٓذعخ‬
‫انزسكى ٔ نكٍ اَزشش ن‪ٛ‬غط‪ ٙ‬ػذح يدبالد ٔ لذ ثذأ كآنخ زبعجخ ثغ‪ٛ‬طخ نهًصفٕفبد‬
‫رسٕ٘ ػهٗ ‪ 80‬ربثغ ٔ ا‪ ْٕ ٌٜ‬ثشَبيح ُْذع‪ ٙ‬ظخى ‪ٚ‬سزٕ٘ ػهٗ أكثش يٍ ‪8000‬‬
‫ربثغ ‪.‬‬
‫ٔ يب ‪ٚ‬ضال انــ ‪ٚ MatLab‬زبثغ رطٕسِ يٍ خالل إظبفخ رطج‪ٛ‬مبد رمذو زهٕل‬
‫خبصخ رذػٗ ثــ ‪ ٔ Toolbox‬كزنك ثئظبفخ انًض‪ٚ‬ذ يٍ انزٕاثغ اندذ‪ٚ‬ذح ‪.‬‬

‫‪-9-‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 3 . 1‬انتؼزف ػهى انىاجهخ انزئيسيخ نهجزنبيج ثبإلصذار ‪R2013a‬‬


‫‪Main window of MatLab R2013a‬‬

‫عندما تقوم بتشغٌل البرنامج ستظهر لك الشاشة المبٌنة فً األسفل و التً تعبر عن‬
‫الواجهة الرئٌسٌة للبرنامج ‪:‬‬

‫انشكم ‪ : 1 – 1‬انىاجهخ انزئيسيخ نهجزنبيج‬

‫ٔ انز‪َ ٙ‬دذ ف‪ٓٛ‬ب – كغ‪ٛ‬شْب يٍ ٔاخٓبد انجشايح انز‪ ٙ‬رؼًم رسذ ث‪ٛ‬ئخ ‪ - Windows‬يب ‪ٚ‬ه‪: ٙ‬‬

‫‪ ‬نبفذح األوايز ‪ٔ ْٙٔ : Command Window‬اخٓخ انزؼبيم يغ انجشَبيح ٔ ْ‪ ٙ‬أداح‬


‫إدخبل انزؼه‪ًٛ‬بد إل ‪ , ّٚ‬ز‪ٛ‬ث َالزع ظٕٓس انؼاليخ << ٔانز‪ٚ ٙ‬مف انًؤشش ػُذْب‬
‫يُزظشاً رُف‪ٛ‬ز أ٘ أيش ‪ٚ‬مٕو انًغزخذو ثئدخبنّ ثًدشد انعغػ ػهٗ يفزبذ ‪. Enter‬‬
‫‪ ‬نبفذح فعبء انؼًم ‪ ٔ : Workspace‬انز‪ ٙ‬رسٕ٘ ػهٗ انًزغ‪ٛ‬شاد انًٕخٕدح ف‪ ٙ‬خهغخ‬
‫انًبرالة ٔ ثبنُمش انًعبػف ػهٗ اعى انًزغ‪ٛ‬ش عزفزر َبفزح رشجّ ٔسلخ يهف إكغم فٓ‪ٙ‬‬
‫ػجبسح ػٍ صفٕف ٔ أػًذح أ٘ يصفٕفخ ٔ يٍ ُْب َدذ أٌ انجُ‪ٛ‬خ األعبع‪ٛ‬خ ف‪ ٙ‬انًبرالة‬
‫ْ‪ ٙ‬انًصفٕفخ ززٗ ٔ إٌ كبٌ انًزغ‪ٛ‬ش انز٘ لًذ ثئدخبنّ ْٕ ػذد ثغ‪ٛ‬ػ فئَّ ‪ٚ‬خضٌ ف‪ٙ‬‬
‫انًبرالة ػهٗ أَّ يصفٕفخ ثؤثؼبد ‪ 1×1‬كًب ْٕ يٕظر ثبنشكم انزبن‪: ٙ‬‬

‫‪- 10 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫انشكم ‪ : 2 – 1‬يتغيز يفتىح في نبفذح فعبء انؼًم‬

‫فبنغب‪ٚ‬خ يٍ ْزِ انُبفزح كًب سئ‪ُٛ‬ب ْ‪ ٙ‬إظٓبس انًزغ‪ٛ‬شاد ٔ رؼذ‪ٚ‬م ل‪ًٛ‬زٓى ‪.‬‬

‫‪ ‬نبفذح سجم انتؼهيًبد ‪ ْٙ ٔ : Command history‬رسٕ٘ ػهٗ انزؼه‪ًٛ‬بد انز‪ٙ‬‬


‫لًذ ثئدخبنٓب ف‪ْ ٙ‬زِ اندهغخ ٔ اندهغبد انغبثمخ ٔ ‪ًٚ‬كُُب أٌ َؼ‪ٛ‬ذ رُف‪ٛ‬ز رؼه‪ًٛ‬خ عبثمخ‬
‫ثبنُمش انًعبػف ػهٗ انزؼه‪ًٛ‬خ يٍ َبفزح ‪ًٚ ٔ Command history‬كٍ االَزمبل كزنك‬
‫ث‪ ٍٛ‬انزؼه‪ًٛ‬بد انغبثمخ ثضس االَزمبل نألػهٗ ↑ ‪ ٔ .‬إرا أسدد رؼذ‪ٚ‬م انزؼه‪ًٛ‬خ انغبثمخ‬
‫لجم رُف‪ٛ‬زْب فمى ثغسجٓب يٍ ‪ ٔ Command history‬إفالرٓب ف‪Command ٙ‬‬
‫‪. Window‬‬

‫انشكم ‪ : 3 – 1‬نبفذح سجم انتؼهيًبد ‪.‬‬

‫‪ ‬يجهذ انؼًم انحبني ‪ٚ ْٕ ٔ : current folder‬سٕ٘ ػهٗ يسزٕ‪ٚ‬بد يدهذ انؼًم‬


‫انز٘ َمٕو ثسفع يهفبد انًبرالة ف‪. ّٛ‬‬

‫‪- 11 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫انشكم ‪ : 4 – 1‬نقطخ ننبفذح يجهذ انؼًم انحبني‬

‫‪ ‬يسبر انًجهذ انحبني ‪ ٔ :‬يٍ ُْب َغزط‪ٛ‬غ رغ‪ٛٛ‬ش انًدهذ انسبن‪. ٙ‬‬

‫انشكم ‪ : 5 – 1‬يىظخ يسبر انًجهذ انحبني‬

‫‪ ‬يحتىيبد انتجىيت ‪: Home‬‬

‫قبئًخ يهف ‪ ٔ :‬رسٕ٘ ػهٗ يدًٕػخ األ‪ٚ‬مَٕبد‬


‫انالصيخ إلَشبء انًهفبد ٔ فزسٓب ٔ انجسث ػُٓب ٔ‬
‫يمبسَخ ث‪ ٍٛ‬يهف‪ٍٛ‬‬

‫قبئًخ انًتغيزاد ‪ ٔ :‬رسٕ٘ ػهٗ يدًٕػخ األ‪ٚ‬مَٕبد‬


‫انالصيخ إلَشبء يزغ‪ٛ‬ش خذ‪ٚ‬ذ أٔ زفع أٔ اعز‪ٛ‬شاد‬
‫يزغ‪ٛ‬ش أٔ يدًٕػخ يٍ انًزغ‪ٛ‬شاد‬

‫‪- 12 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫قبئًخ انًحبكبح ‪ ٔ :‬رسٕ٘ األ‪ٚ‬مَٕخ انز‪ ٙ‬رُمهُب إنٗ‬


‫ػبنى انًسبكبح ف‪MatLab ٙ‬‬

‫قبئًخ ثيئخ انؼًم ‪ ٔ :‬رسزٕ٘ ػهٗ يب ‪ٚ‬هضو نزغ‪ٛ‬ش ث‪ٛ‬ئخ‬


‫انؼًم يٍ خالل ظجػ انُٕافز انؼذ‪ٚ‬ذح ٔ ظجػ‬
‫خصبئص انجشَبيح ‪.‬‬

‫قبئًخ انًىارد ‪ ٔ :‬يُٓب َغزط‪ٛ‬غ انسصٕل ػهٗ انذػى‬


‫ٔ انًغبػذح ٔ دخٕل ف‪َ ٙ‬مبشبد ‪ online‬ف‪ ٙ‬يدزًغ‬
‫‪ ٔ MatLab‬إظبفخ ي‪ٛ‬ضاد خذ‪ٚ‬ذح نهجشَبيح ‪.‬‬

‫‪ ) 4 . 1‬انتؼهيًبد و انتىاثغ األسبسيخ ‪:‬‬


‫‪Basic commands and functions‬‬

‫عندما تعمل فً الماتالب تحتاج لبعض التعلٌمات و التوابع ( الفرق بٌن التعلٌمة و التابع‬
‫هو أن التعلٌمة تتبع بفراغ و متحول أو أكثر بٌنما التابع ٌحتاج ألقواس لكً ندخل إلٌه‬
‫المتحوالت و نستطٌع إسناد نتٌجة التابع إلى متغٌر ) التً تساعدك فً عملك و بعض هذه‬
‫التعلٌمات ضروري و هام و بعضها للرفاهٌة برأًٌ و لكن البد من التعرف علٌها ‪:‬‬

‫عندما ترٌد تسجٌل الجلسة و تخزٌنها كملف نص أكتب فً الماتالب ‪:‬‬

‫‪ diary filename.txt‬‬


‫ٔ إل‪ٚ‬مبف رغد‪ٛ‬م اندهغخ اكزت ‪. diary off :‬‬

‫عندما ال تسعفك ذاكرتك فً تذكر تعلٌمة ٌمكنك طلب المساعدة من خالل التعلٌمة ‪:‬‬

‫‪ Help word‬‬


‫حٌث ُتستخدم هذه التعلٌمة للبحث عن مزٌد من المعلومات حول تابع أو تعلٌمة فً برنامج‬
‫الماتالب بكتابة ‪ help‬و بجانبها الكلمة المُراد البحث عنها ‪.‬‬

‫و عندما تمتلئ نافذة التعلٌمات باألوامر و النتائج و ٌصبح ذلك مزعج بالنسبة لك فبإمكانك‬
‫استخدام األمر‬

‫‪ Clc‬‬
‫رُغزخذو ْزِ انزؼه‪ًٛ‬خ نًغر انشبشخ ف‪َ ٙ‬بفزح األٔايش ‪. Command Window‬‬

‫و كذلك األمر بالنسبة للشكل التخطٌطً ‪:‬‬

‫‪- 13 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ Clf‬‬
‫ززف انشكم انزخط‪ٛ‬ط‪ ٙ‬انسبن‪ ٔ , ٙ‬ثبنزبن‪ ٙ‬ززف َبفزح انشكم انزخط‪ٛ‬ط‪.Graph Window ٙ‬‬

‫‪ Which Function_name‬‬


‫رمٕو ْزِ انزؼه‪ًٛ‬خ ثبنزؤكذ ْم انزبثغ ‪ Function_name‬يٕخٕداً أو ال ‪.‬‬

‫)'‪ TF=iskeyword ('str‬‬


‫رمٕو ْزِ انزؼه‪ًٛ‬خ ثفسص انغهغهخ ‪ْ str‬م ْ‪ ٙ‬يٍ انكهًبد انًفزبز‪ٛ‬خ نهًبرالة أو ال ‪ ٔ ,‬ػُذيب‬
‫َكزت ‪ iskeyword‬ثًفشدْب فئٌ انًبرالة ع‪ٛ‬ؼ‪ٛ‬ذ لبئًخ ثبنكهًبد انًفزبز‪ٛ‬خ ‪.‬‬

‫‪ date‬‬
‫رمٕو ْزِ انزؼه‪ًٛ‬خ ثئػبدح عهغهخ رسٕ٘ انزبس‪ٚ‬خ ثبنشكم ‪. day - month - year‬‬

‫‪ clock‬‬
‫‪ 6‬ػُبصش ْ‪ ٙ‬ثبنزشر‪ٛ‬ت كًب ‪ٚ‬ه‪: ٙ‬‬ ‫ثئػبدح شؼبع ‪ٚ‬سٕ٘‬ ‫رمٕو ْزِ انزؼه‪ًٛ‬خ‬
‫[‪. ]year month day hour minute seconds‬‬

‫)‪ e=etime(t2,t1‬‬
‫رمٕو ْزِ انزؼه‪ًٛ‬خ ثسغبة انٕلذ انًمطٕع ث‪ٔ ٍٛ‬لز‪ ٔ t2 ٔ t1 ٍٛ‬رؼ‪ٛ‬ذ انُز‪ٛ‬دخ ثبنثٕاَ‪. ٙ‬‬

‫‪ cd newfolder‬‬
‫‪ٚ‬مٕو ثزغ‪ٛٛ‬ش يغبس يدهذ انؼًم انسبن‪ ٙ‬ز‪ٛ‬ث َكزت انًغبس كبيم أٔ َغج‪ ٙ‬ظًٍ انمٕع‪. ٍٛ‬‬

‫‪ tic‬‬
‫رغزخذو ْزِ انزؼه‪ًٛ‬خ يغ انزؼه‪ًٛ‬خ ‪ toc‬نسغبة انضيٍ انز٘ اعزغشلّ انًبرالة ف‪ ٙ‬يؼبندخ أيش يب‬
‫ز‪ٛ‬ث َكزت ‪ tic‬ثى رؼه‪ًٛ‬خ يب ثى ‪ ٔ toc‬ػُذْب ع‪ٛ‬ؼ‪ٛ‬ذ انًبرالة صيٍ انًؼبندخ يمذساً ثبنثبَ‪ٛ‬خ ‪.‬‬

‫شاهد الحلقة األولى من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 14 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 5 . 1‬انًتغيزاد في ثزنبيج ‪: MatLab‬‬


‫‪Variables At MatLab‬‬

‫‪ًٚ‬كٍ رخص‪ٛ‬ص انًزغ‪ٛ‬شاد ف‪ ٙ‬انــ ‪ MatLab‬نزًث‪ٛ‬م انم‪ٛ‬ى انشلً‪ٛ‬خ ٔ لٕاػذ رغً‪ٛ‬خ ْزِ‬
‫انًزغ‪ٛ‬شاد ْ‪: ٙ‬‬

‫‪ٚ‬دت أٌ ‪ٚ‬جذأ اعى انًزغ‪ٛ‬ش ثسشف ‪.‬‬ ‫‪-‬‬


‫‪ًٚ‬كٍ اعزخذاو األزشف االَكه‪ٛ‬ض‪ٚ‬خ ‪ ٔ a ~ z‬األسلبو ‪ ٔ 0 ~ 9‬األَذس عكٕس _ ‪.‬‬ ‫‪-‬‬
‫اعى انًزغ‪ٛ‬ش ف‪ ٙ‬انًبرالة زغبط نسبنخ األزشف ‪ Case Sensitive‬أ٘ أَّ ‪ٚ‬فشق ث‪ٍٛ‬‬ ‫‪-‬‬
‫انسشف انكج‪ٛ‬ش ٔ انصغ‪ٛ‬ش ٔ ‪ًٚ‬كٍ اعزخذاو كالًْب ‪.‬‬
‫لذ ‪ٚ‬طٕل االعى كًب رش‪ٚ‬ذ ٔ نكٍ أغٕل غٕل ألعى انًزغ‪ٛ‬ش ْٕ ‪ ٔ 63‬نًؼشفخ رنك اكزت‬ ‫‪-‬‬
‫انزؼه‪ًٛ‬خ انزبن‪ٛ‬خ ف‪ ٙ‬انًبرالة ‪namelengthmax :‬‬
‫ٔ أَصر ثؤٌ ‪ٚ‬كٌٕ اعى انًزغ‪ٛ‬ش داالً ػهٗ يب ‪ٚ‬سزٕ‪ ّٚ‬أ٘ إرا كبٌ انًزغ‪ٛ‬ش ‪ٚ‬سٕ٘ اعًب ً‬ ‫‪-‬‬
‫اكزت ‪ name‬أٔ ػًشاً اكزت ‪. age‬‬
‫أال ‪ٚ‬كٌٕ اعًب ً نزؼه‪ًٛ‬خ أٔ ربثغ ٔ أال ‪ٚ‬كٌٕ يٍ أعًبء انًزغ‪ٛ‬شاد انًسدٕصح ‪ ٔ ,‬ف‪ ٙ‬اندذٔل‬ ‫‪-‬‬
‫(‪ ) 1- 1‬أعًبء انًزغ‪ٛ‬شاد انًسدٕصح ٔ يسزٕ‪ٚ‬برٓب‬

‫المتغير‬ ‫الوصف‬
‫‪ans‬‬ ‫هو االسم االفتراضً لناتج العملٌة التً ال تقوم باسنادها إلى متغٌر‬
‫‪pi‬‬ ‫نسبة محٌط الدائرة إلى قطرها … ‪𝜋 = 3.1415926‬‬
‫‪eps‬‬ ‫أصغٌر قٌمة ٌمكن التفرٌق من خاللها بٌن رقمٌن‬
‫‪inf‬‬ ‫الالنهاٌة و هً ناتج التقسٌم على ‪ 0‬مثال ‪1/0 :‬‬
‫‪i,j‬‬ ‫الوحدة التخٌلٌة لألعداد العقدٌة و تساوي ‪−1‬‬
‫‪nan‬‬ ‫عدم تعٌٌن أو لٌس رقما َ ‪ ,‬مثال ‪0/0 :‬‬
‫‪realmax‬‬ ‫أكبر رقم حقٌقً ذو فاصلة عائمة ٌمكن تمثٌله فً حاسوبك‬
‫‪realmin‬‬ ‫أصغر رقم حقٌقً ذو فاصلة عائمة ٌمكن تمثٌله فً حاسوبك‬
‫‪computer‬‬ ‫نوع الحاسب الذي تعمل علٌه‬
‫‪version‬‬ ‫إصدار برنامج الماتالب‬
‫جذول ‪ : 1 – 1‬ثؼط انًتغيزاد انخبصخ انًحجىسح و انًىجىدح في انًبتالة‬

‫وٌمكنك التأكد فٌما إذا كان االسم التً تود إعطاؤه لمتغٌر صالح أم ال من خالل التعلٌمة ‪:‬‬

‫‪ isvarname Variable_name‬‬


‫فئرا كبٌ انُبرح ‪ 1‬فبالعى صبنر ٔ إرا كبٌ ‪ 0‬فٕٓ ال ‪ٚ‬صهر ألٌ ‪ٚ‬كٌٕ اعًب ً نًزغ‪ٛ‬ش ‪.‬‬

‫وٌمكنك التأكد فٌما إذا كان االسم التً تود إعطاؤه لمتغٌر محجوز من قبل متغٌر آخر أم ال‬
‫من خالل التعلٌمة ‪:‬‬

‫‪- 15 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ exist Variable_name‬‬


‫فئرا كبٌ انُبرح ‪ 0‬فبالعى يزبذ ٔ إرا كبٌ ‪ 1‬فٕٓ يسدٕص ‪.‬‬

‫و هناك بعض التعلٌمات الخاصة بالمتغٌرات و هً ‪:‬‬

‫‪ Who‬‬
‫ُتستخدم هذه التعلٌمة لمعرفة أسماء المُتغٌرات الموجودة فً جلسة ‪ MatLab‬الحالٌة ‪.‬‬

‫‪ Whos‬‬
‫ُتستخدم هذه التعلٌمة لمعرفة أسماء و أحجام المُتغٌرات الموجودة فً جلسة ‪ MatLab‬الحالٌة ‪.‬‬

‫‪ Clear‬‬
‫رُغزخذو ْزِ انزؼه‪ًٛ‬خ نسزف خً‪ٛ‬غ انًزغ‪ٛ‬شاد ‪ ٔ ,‬إػبدح انم‪ٛ‬ى االفزشاظ‪ٛ‬خ نهًزغ‪ٛ‬شاد انخبصخ ‪ٔ ,‬إرا‬
‫‪ ٔ , clear var1 var2‬إرا أسدَب ززف‬ ‫أسدَب ززف يزغ‪ٛ‬ش ٔازذ أٔ أكثش َكزت انص‪ٛ‬غخ‬
‫انًزغ‪ٛ‬شاد انز‪ ٙ‬رجذأ ثبنسشٔف ‪ var‬يثالً َكزت ‪. clear *var‬‬

‫و إلسناد قٌمة لمتغٌر نكتب ‪:‬‬

‫‪ variable_name = number‬‬


‫أو ‪:‬‬

‫; ‪ variable_name = mathematical expression‬‬


‫و عندما نرٌد كتابة تعبٌر رٌاضً ما فإنه ٌجب علٌنا التفرٌق بٌن الشكل الرٌاضً و شكله‬
‫فً الماتالب و نورد فٌما ٌلً بعض التعابٌر الرٌاضٌة و بشكلها الرٌاضً و البرمجً ‪:‬‬

‫) ‪𝑥 = 6 𝑎2 + 𝑐  x = 6 * ( a^2 + c‬‬
‫𝑐∗𝑏‪𝑎 +‬‬
‫=𝑦‬ ‫)‪ y = (a+b*c)/(d/f‬‬
‫𝑓‪𝑑 /‬‬

‫‪9‬‬ ‫𝑐‬
‫=𝑧‬ ‫𝑏𝑎‬ ‫) ‪− 4  9/5*( (a^b^c) – 4‬‬
‫‪5‬‬

‫و من التعابٌر السابقة نستنتج النتائج التالٌة ‪:‬‬

‫الوصف‬ ‫العمليات‬ ‫ترتيب القوى‬


‫ُ‬
‫الرفع إلى قوة هو أقوى العملٌات و ٌُنفذ أوال و إذا كان لدٌنا‬
‫عدة عملٌات رفع إلى قوة فتسلسل القوة هو من الٌمٌن إلى‬ ‫^‬ ‫‪1‬‬
‫الٌسار ‪.‬‬
‫الضرب و القسمة متساوٌتان فً القوة و تسلسل القوة من‬
‫* و ‪/‬‬ ‫‪2‬‬
‫الٌسار إلى الٌمٌن‬
‫الجمع و الطرح متساوٌٌن فً القوة و تسلسل القوة من‬
‫‪ +‬و ‪-‬‬ ‫‪3‬‬
‫الٌسار إلى الٌمٌن ‪.‬‬
‫انجذول ‪ : 2-1‬يجين أفعهيخ تنفيذ انؼًهيبد ثبنتزتيت في انــ ‪MatLab‬‬

‫‪- 16 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ -‬أولوٌة العملٌات و أقواها هً التً فً داخل األقواس الداخلٌة ‪.‬‬


‫‪ -‬عدد األقواس الٌمٌنٌة ٌساوي عدد األقواس الٌسارٌة ‪.‬‬

‫يثبل ‪: 1-1‬‬
‫;‪>> x= 5‬‬ ‫‪>> a=2+x^y‬‬
‫‪>> y=3+x‬‬ ‫=‪a‬‬
‫=‪y‬‬ ‫‪390627‬‬
‫‪8‬‬ ‫))‪>> b=3*(5/(2*7^3‬‬
‫‪>> z=5*y/4‬‬ ‫=‪b‬‬
‫=‪z‬‬ ‫‪0.0219‬‬
‫‪10‬‬ ‫>>‬
‫و للمزٌد حول العملٌات الرٌاضٌة اذهب إلى الفصل الثالث ‪.‬‬

‫‪ ) 6 - 1‬انتؼهيًبد انخبصخ ثبإلظهبر و اإلدخبل ‪:‬‬


‫‪input and display commands :‬‬

‫ػُذ اعزخذايُب نهــ ‪ ٔ MatLab‬ػُذ كزبثخ يهفبد ‪ script‬ف‪ ٙ‬انــ ‪ MatLab‬فئَُب عُسزبج‬
‫نزؼه‪ًٛ‬بد رظٓش انُزبئح نهًغزخذو ٔ رطهت يٍ انًغزخذو إدخبل ث‪ٛ‬بَبد – رًبيب ً يثم رؼه‪ًٛ‬بد ‪Cin‬‬
‫ٔ ‪ Cout‬ف‪ ٙ‬نغخ انــ ‪ْ ٔ - C++‬زا يب عُزؼهًّ ُْب ف‪ْ ٙ‬زا انمغى ‪:‬‬

‫نهم‪ٛ‬بو ثئظٓبس ل‪ًٛ‬خ يزغ‪ٛ‬ش نذ‪ُٚ‬ب ثالثخ غشق ‪:‬‬

‫‪ – 1‬ثكزبثخ اعًّ فمػ ‪.‬‬

‫‪ – 2‬ثبعزخذاو انزبثغ )(‪: disp‬‬

‫) ‪ Disp ( x‬‬
‫‪ُٚ‬غزخذو ْزا انزبثغ نؼشض انًزغ‪ٛ‬ش ‪ , x‬إرا كبَذ ‪ x‬يزغ‪ٛ‬ش فغ‪ٛ‬ظٓش ل‪ًٛ‬خ انًزغ‪ٛ‬ش ‪ x‬دٌٔ إظٓبس اعى‬
‫انًزغ‪ٛ‬ش ‪ ٔ ,‬إرا كبٌ انًزغ‪ٛ‬ش ْٕ عهغهخ '‪ 'string‬فغ‪ٛ‬ظٓش يب ثذاخم األلٕاط ‪.‬‬

‫‪ – 3‬ثبعزخذاو انزبثغ )(‪. fprintf‬‬

‫) ‪ fprintf ('string' , x‬‬


‫الفرق بٌن هذا التابع و الذي قبله هو أن هذا التابع ٌقوم بإظهار سلسلة و قٌمة متغٌر على عكس‬
‫التابع السابق الذي ٌُظهر إما سلسلة أو قٌمة متغٌر ‪ ,‬و عندما ٌتم عرض المتغٌر فً الناتج تنفٌذ‬
‫التعلٌمة فهو عبارة عن نص ‪ ,‬أي تم دمج المتغٌر مع نص السلسلة و ٌمكننا التحكم بهذا الدمج‬
‫من خالل أربعة أمور و هً ‪ flag‬و ‪ w‬و ‪ d‬و ‪: f‬‬

‫‪% flag W.d f‬‬

‫‪- 17 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪- %:‬‬

‫تعنً بداٌة وضع قٌمة المتغٌر ‪.‬‬

‫‪- flag :‬‬

‫‪ +‬فٌدل على‬ ‫و قد ٌحوي ‪ 0‬فٌدل على ملئ الخانات على ٌسار العدد باألصفار و قد ٌحوي‬
‫وضع إشارة العدد سالبة أو موجبة و ‪.‬‬

‫‪- w:‬‬

‫ٌحدد هذا المتغٌر عرض الحقل لمكان المتغٌر و هو عدد صحٌح ‪.‬‬

‫‪- d:‬‬

‫ٌحدد هذا الحقل عدد الخانات بعد الفاصلة العائمة و إذا لم نضعه أو وضعناه صفر فلن ٌكون‬
‫هناك خانات بعد الفاصلة و هو عدد صحٌح ‪.‬‬

‫‪- f:‬‬

‫و هو ٌحدد نوع التدوٌن المستخدم و قد ٌكون كما فً الجدول التالً ‪:‬‬

‫انٕصف‬ ‫انًسذد‬
‫زشف ٔازذ‬ ‫‪c‬‬
‫سلى ػشش٘ يؤشش‬ ‫‪d‬‬
‫انص‪ٛ‬غخ األع‪ٛ‬خ ثبعزخذاو ‪e‬‬ ‫‪e‬‬
‫انص‪ٛ‬غخ األع‪ٛ‬خ ثبعزخذاو ‪E‬‬ ‫‪E‬‬
‫فبصهخ ثبثزخ‬ ‫‪f‬‬
‫انص‪ٛ‬غخ األصغش‪ٚ‬خ نهشكم ‪ e‬أٔ ‪f‬‬ ‫‪g‬‬
‫انص‪ٛ‬غخ األصغش‪ٚ‬خ نهشكم ‪ E‬أٔ ‪f‬‬ ‫‪G‬‬
‫سلى غ‪ٛ‬ش يؤشش ثبنص‪ٛ‬غخ انثًبَ‪ٛ‬خ‬ ‫‪o‬‬
‫عهغهخ زشف‪ٛ‬خ‬ ‫‪s‬‬
‫سلى ػشش٘ غ‪ٛ‬ش يؤشش‬ ‫‪u‬‬
‫ص‪ٛ‬غخ عذ ػشش‪ٚ‬خ ثبعزخذاو أزشف صغ‪ٛ‬شح (‪)a-f‬‬ ‫‪x‬‬
‫ص‪ٛ‬غخ عذ ػشش‪ٚ‬خ ثبعزخذاو أزشف كج‪ٛ‬شح (‪)A-F‬‬ ‫‪X‬‬
‫انجذول ‪ : 2-1‬أنىاع انتذوين انًستخذيخ في انطجبػخ‬

‫ٌطول الحدٌث هنا و لكن نكتفً بهذا الشًء ‪.‬‬

‫‪- 18 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ' ‪ error ( ' string‬‬


‫ٌُستخدم هذا التابع إلظهار رسالة خطأ حٌث ٌظهر النص بداخل عالمات التنصٌص باللون‬
‫األحمر ‪.‬‬

‫) ' ‪ X=Input ( ' string‬‬


‫‪ x‬بإظهار رسالة على‬ ‫ٌُستخدم هذا التابع للطلب من المستخدم أن ٌقوم بإدخال قٌمة المتغٌر‬
‫الشاشة توضح للمستخدم ذلك ‪ ,‬إذا كنا نرٌد إدخال المتغٌر على شكل سلسلة نكتب الصٌغة التالٌة‬
‫) '‪X=input(' string' , 's‬‬

‫)'‪ x=Str2num ('s‬‬


‫ٌقوم هذا التابع بتحوٌل السلسلة ‪ s‬إلى رقم ‪ , x‬بشرط أن تكون السلسلة هً شكل الرقم و لٌس‬
‫حرف ‪ ,‬و للقٌام بتحوٌل العدد ‪ x‬إلى سلسلة ‪ s‬نكتب )‪. s=num2str(x‬‬

‫ٔ ف‪ًٛ‬ب ‪ٚ‬ه‪َٕ ٙ‬سد اندذٔل ( ‪ ) 3-1‬ثجؼط انؼاليبد انز‪ ٙ‬رغبػذَب ف‪ ٙ‬رسغت غجبػخ انُزبئح‬

‫المعامل‬ ‫الوصف‬
‫‪\b‬‬ ‫تقوم بمسح حرف سابق واحد‬
‫‪\n‬‬ ‫االنتقال إلى سطر جديد‬
‫‪\t‬‬ ‫إضافة ‪ 4‬فرااات أفقيا ًا‬
‫‪\ char‬‬ ‫طباعة المحرف ‪. char‬‬
‫انجذول ‪ : 3-1‬انًؼبيالد انًستخذيخ في انطجبػخ‬

‫يثبل ‪: 2-1‬‬
‫)'‪>> x=input('enter value of x:‬‬ ‫)‪>> disp('x') , disp(x‬‬
‫‪enter value of x:5‬‬ ‫‪x‬‬
‫=‪x‬‬ ‫‪5‬‬
‫‪5‬‬ ‫‪>> fprintf( 'the value of x is :\t‬‬
‫)‪>> c=num2str(x‬‬ ‫)‪%1.5d\n' , x‬‬
‫=‪c‬‬ ‫‪the value of x is : 00005‬‬
‫‪5‬‬ ‫>>‬

‫‪ ) 7 - 1‬غزيقخ ػزض األرقبو تذويزهب ‪:‬‬


‫‪To format and round numbers :‬‬
‫و البد لنا فً هذا القسم من التعرف على طرق عرض األرقام فً الماتالب و التغٌٌر‬
‫بٌن تلك الطرق ‪ ,‬حٌث نستخدم التعلٌمة ‪ format‬لتغٌٌر طرٌقة عرض الرقم ‪:‬‬

‫‪ format style‬‬


‫َغزخذو ْزِ انزؼه‪ًٛ‬خ نزغ‪ٛٛ‬ش غش‪ٚ‬مخ ػشض األسلبو ف‪ ٙ‬انًبرالة فمػ ٔ ن‪ٛ‬ظ رغ‪ٛٛ‬ش غش‪ٚ‬مخ زفع‬
‫انشلى ‪ ٔ ,‬إرا كزجُب فمػ ‪ format‬فئٌ انًبرالة ‪ٚ‬ؼٕد إنٗ انطش‪ٚ‬مخ االفزشاظ‪ٛ‬خ ٔ غشق ػشض‬
‫انًبرالة نألسلبو يج‪ُٛ‬خ ف‪ ٙ‬اندذٔل ( ‪: ) 4-1‬‬

‫‪- 19 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثال‬ ‫الوصف‬ ‫‪Style‬‬


‫و هً الطرٌقة االفتراضٌة حٌث ٌكون هناك‬
‫‪40.3322‬‬ ‫‪Short‬‬
‫‪ 4‬خانات للرقم بعد الفاصلة العشرٌة‬
‫ٌكون هناك ‪ 4‬خانات للرقم بعد الفاصلة‬
‫‪40.332200000000000‬‬ ‫‪Long‬‬
‫العشرٌة‬
‫ٌكون التدوٌن علمً ب ‪ 4‬خانات بعد‬
‫‪4.0332e+01‬‬ ‫‪shortE‬‬
‫الفاصلة‬
‫ٌكون التدوٌن علمً ب ‪ 15‬خانة بعد‬
‫‪4.033220000000000e+01‬‬ ‫‪longE‬‬
‫الفاصلة‬
‫التدوٌن بخمس خانات فقط للرقم مع ما بعد‬
‫‪40.332‬‬ ‫‪shortG‬‬
‫الفاصلة العشرٌة‬
‫التدوٌن الهندسً القصٌر ‪ :‬حٌث ٌكون هناك‬
‫‪40.3322e+000‬‬ ‫‪ 4 shortENG‬خانات لما بعد الفاصلة العشرٌة و األس‬
‫مكون من ‪ 3‬خانات أو مضاعفات الــ ‪. 3‬‬
‫التدوٌن الهندسً الطوٌل ‪ :‬حٌث ٌكون هناك‬
‫‪ 15 longENG‬خانة لما بعد الفاصلة العشرٌة و األس ‪40.3322000000000e+000‬‬
‫مكون من ‪ 3‬خانات أو مضاعفات الــ ‪. 3‬‬
‫التدوٌن المصرفً ( العملة ) و ٌكتب على‬
‫‪40.33‬‬ ‫‪bank‬‬
‫شكل خانتٌن قبل الفاصلة و خانتٌن بعدها ‪.‬‬
‫‪11898/295‬‬ ‫النسبة ‪ :‬كتابة الرقم على شكل بسط و مقام‬ ‫‪rat‬‬
‫‪40442a858793dd98‬‬ ‫النظام الست عشري‬ ‫‪hex‬‬
‫انجذول ‪ : 4-1‬يجين نًػ ػزض انزقى في انــ ‪ MatLab‬و انًستخذو يغ تؼهيًخ ‪. format‬‬

‫أما لتدوٌر الرقم فنستخدم أحد التوابع التالٌة ‪:‬‬

‫)‪ round( a‬‬


‫انزمش‪ٚ‬ت إنٗ ألشة ػذد صس‪ٛ‬ر ‪.‬‬

‫)‪ ceil( a‬‬


‫انزمش‪ٚ‬ت ثبردبِ انالَٓب‪ٚ‬خ انًٕخجخ ( أ٘ إنٗ انؼذد انصس‪ٛ‬ر األكجش ) ‪.‬‬

‫)‪ floor( a‬‬


‫انزمش‪ٚ‬ت ثبردبِ انالَٓب‪ٚ‬خ انغبنجخ ( أ٘ إنٗ انؼذد انصس‪ٛ‬ر األصغش )‬

‫‪‬‬ ‫)‪fix( a‬‬


‫انزمش‪ٚ‬ت إنٗ انؼذد انصس‪ٛ‬ر َفغّ ( أ٘ ززف يب ثؼذ انفبصهخ ) ‪.‬‬

‫يثبل ‪: 3-1‬‬
‫‪>> a=-45.3‬‬ ‫)‪>> floor(a‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪-45.3000‬‬ ‫‪-46‬‬
‫)‪>> round(a‬‬ ‫)‪>> fix(a‬‬

‫‪- 20 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪-45‬‬ ‫‪-45‬‬
‫)‪>> ceil(a‬‬ ‫>>‬
‫= ‪ans‬‬
‫‪-45‬‬

‫‪ ) 8 - 1‬ثؼط انًحبرف انخبصخ و استخذايبتهب ‪:‬‬


‫‪some of characters and its uses .‬‬
‫‪ٕٚ‬خذ ف‪ ٙ‬انــ ‪ MatLab‬ثؼط انشيٕص انز‪ ٙ‬رشكم ف‪ ٙ‬زذ رارٓب رؼه‪ًٛ‬خ يُفشدح ٔيٍ ْزِ‬
‫انشيٕص يب ‪ٚ‬ه‪: ٙ‬‬

‫; ‪‬‬
‫إٌ ٔظغ انفبصهخ انًُمٕغخ ثؼذ انؼجبسح رؼُ‪ ٙ‬ثؤٌ ‪ٚ‬مٕو انجشَبيح ثزُف‪ٛ‬ز انؼجبسح ٔ ػذو إظٓبس انُبرح‬

‫‪ ,‬‬
‫‪ًٚ‬كُُب كزبثخ ػذح رؼه‪ًٛ‬بد يُفصهخ ػهٗ عطش ٔازذ ٔ رنك ثٕظغ انفبصهخ ث‪ ٍٛ‬رهك انزؼه‪ًٛ‬بد ‪.‬‬

‫‪ %‬‬
‫ٔ رؼُ‪ ٙ‬أٌ انُص ف‪ ٙ‬انغطش انز٘ ‪ٚ‬جذأ ثشيض انُغجخ انًئٕ‪ٚ‬خ يب ْٕ إال رؼه‪ٛ‬ك ٔ ال ‪ُٚ‬فزِ ثشَبيح انــ‬
‫‪. MatLab‬‬

‫… ‪‬‬
‫سيض انًزبثؼخ ٔ ػُذيب ‪ٕٚ‬ظغ ف‪َٓ ٙ‬ب‪ٚ‬خ ػجبسح فٕٓ ‪ٚ‬ذل ػهٗ أٌ ركًهخ انؼجبسح يٕخٕدح ف‪ ٙ‬انغطش‬
‫انزبن‪. ٙ‬‬

‫يثبل ‪: 3-1‬‬
‫‪>> a=4 , b=3; ...‬‬ ‫‪>> % computing a+b+c‬‬
‫‪c=5‬‬ ‫‪>> a+b+c‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪4‬‬ ‫‪12‬‬
‫=‪c‬‬ ‫>>‬
‫‪5‬‬

‫****نهاية الفصل****‬

‫شاهد الحلقة الثانية من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 21 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: ‫تًبرين‬
exercises :

‫ انًبرالة ؟‬ٙ‫خ ف‬ٛ‫ز انؼجبساد انزبن‬ٛ‫ يب ْٕ َبرح رُف‬- 1

(a) 2+3=a (d) % disp('hi')


(b) cd (e) date
(c) 1/0 (f) t=clock;
fprintf('%2.0f : %2.0f\n',t(4),t(5))
>> 2+3=a
2+3=a
|
Error: The expression to the left of the equals sign is not a valid target
for an assignment. (‫)إسنبد خبغئ‬
>> cd
C:\Program Files\MATLAB\R2013a\bin
>> 1/0
ans =
Inf
>> %disp('hi')
>> date
ans =
30-Aug-2014
>> t=clock;
>> fprintf('%2.0f : %2.0f\n',t(4),t(5))
22 : 3
>>

‫ عجت ػذو اعزخذاو ثؼط‬ٙ‫ انًبرالة ٔ أػط‬ٙ‫شاد ف‬ٛ‫ زذد األعًبء انًمجٕنخ كًزغ‬- 2
: ‫األعًبء‬

(a) a2 (b) a.2 (c) 2a (d) 'a'one


(e) aone (f) _x_1 (g) miXedUp (h) pay day
(i) inf (j) Pay_Day (k) min*2 (l) what

(a) a2 ‫ر‬ٛ‫اعى صس‬


(b) a.2 ‫سٕ٘ َمطخ‬ٚ َّ‫اعى خبغئ أل‬
(c) 2a ‫جذأ ثشلى‬ٚ َّ‫اعى خبغئ أل‬
(d) 'a'one ‫ص‬ٛ‫سٕ٘ ػاليخ رُص‬ٚ َّ‫اعى خبغئ أل‬

- 22 -
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪(e‬‬ ‫اعى صس‪ٛ‬ر ‪aone‬‬


‫)‪(f‬‬ ‫اعى خبغئ ألَّ ‪ٚ‬جذأ ثؤَذسعكٕس ‪_x_1‬‬
‫)‪(g‬‬ ‫اعى صس‪ٛ‬ر ‪miXedUp‬‬
‫)‪(h‬‬ ‫اعى خبغئ ألَّ ‪ٚ‬سٕ٘ فشاؽ ‪pay day‬‬
‫)‪(i‬‬ ‫اعى خبغئ ألَّ يٍ انًزغ‪ٛ‬شاد انخبصخ ‪inf‬‬
‫)‪(j‬‬ ‫اعى صس‪ٛ‬ر ‪Pay_Day‬‬
‫)‪(k‬‬ ‫اعى خبغئ ألَّ ‪ٚ‬سٕ٘ ػاليخ اندذاء ‪min*2‬‬
‫)‪(l‬‬ ‫اعى خبغئ ألَّ اعى رؼه‪ًٛ‬خ ‪what‬‬

‫‪ٚ - 3‬ؼطٗ ر‪ٛ‬بس انسبنخ انثبثزخ انز٘ ‪ًٚ‬ش ف‪ ٙ‬داسح يكَٕخ يٍ يمبٔيخ ٔيهف ٔ يكثف ػهٗ‬
‫انزغهغم ثبنؼاللخ ‪:‬‬
‫𝐸‬
‫=𝐼‬
‫‪2‬‬
‫‪1‬‬
‫‪𝑅2‬‬ ‫‪+ 2𝜋𝜔𝐿 −‬‬
‫𝐶𝜔𝜋‪2‬‬
‫ٔ انًطهٕة كزبثخ ْزا انزؼج‪ٛ‬ش ف‪ ٙ‬انًبرالة ٔ زغبة ل‪ًٛ‬خ انز‪ٛ‬بس ػُذ ل‪ٛ‬ى ‪R=5 , C=10 , L=4 ,‬‬
‫‪ ٔ , E=2 , 𝜔 = 2‬اػشض اندٕاة ثبنزذٔ‪ ٍٚ‬انؼهً‪. ٙ‬‬
‫;‪>> R=5;L=4;C=10;E=2;w=2‬‬
‫)‪>> I=E/sqrt(R^2+(2*pi*w*L - 1/(2*pi*w*C))^2‬‬
‫=‪I‬‬
‫‪0.0396‬‬
‫‪>> format shorteng‬‬
‫‪>> I‬‬
‫=‪I‬‬
‫‪39.5995e-003‬‬
‫>>‬

‫‪- 23 -‬‬
‫انفصم‬
‫‪2‬‬
‫انمصفىفاخ‬
‫‪Arrays‬‬
‫أهداف هذا الفصل ‪:‬‬

‫التعامل مع المصفوفات بمختلف أنواعها بدءاً بمصفوفات‬


‫األرقام و كيفية إنشائها و تحديد خواصها و فهرستها و‬
‫إجراء العمليات الرياضية و المنطقية و غيرها عليها و انتقاالً‬
‫للمصفوفات متعددة البعد و فهم فكرتها ثم السالسل و التوابع‬
‫المستخدمة معها و التحويل بينها و بين األنواع األخرى و‬
‫من ثم مصفوفات الخاليا و طرق إنشائها و خواصها و أخيراً‬
‫دراسة مصفوفات التراكيب و التوابع المستخدمة إلنشائها و‬
‫تعديل محتوياتها و إضافة و حذف سجالت و أعمدة و ننهي‬
‫هذا الفصل ببعض التمارين و التطبيقات ‪.‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 1 . 2‬مقذمح ‪:‬‬
‫‪Introduction‬‬

‫‪ُ٠‬ؼزجش اٌغجش اٌخط‪ ٟ‬لٍت ‪ ٚ‬س‪ٚ‬ػ اٌّبرالة ‪ ٚ‬ف‪ ٟ‬اٌؾم‪١‬مخ فئْ وٍّخ ‪ِ MAT-LAB‬ب ٘‪ٟ‬‬
‫إٌ‪ ٝ‬رغّ‪١‬غ ٌىٍّز‪ّ٘ ٓ١‬ب ‪ MATrix – LABoratory‬أ‪ِ ٞ‬خزجش اٌّظف‪ٛ‬فبد وّب روشٔب عبثمب ً ‪ٚ ,‬‬
‫إْ اٌّبرالة – ِزّ‪١‬ضاً ػٓ أ‪٠‬خ ٌغخ ثشِغخ أخش‪٠ – ٜ‬ؾفضن ػٍ‪ ٝ‬االعزخذاَ اٌّىضف ٌألشؼخ ‪ٚ‬‬
‫اٌّظف‪ٛ‬فبد ‪.‬‬
‫‪ ٚ‬لجً اٌجذء ف‪٘ ٟ‬زا اٌفظً الثذ ِٓ اٌزؼشف ػٍ‪ ٝ‬ثؼغ اٌّظطٍؾبد ‪:‬‬
‫‪ ٚ : array‬اٌز‪ ٟ‬رؼٕ‪ِ ٟ‬غّ‪ٛ‬ػخ ِٓ األش‪١‬بء ِشرجخ ثشىً ِٕبعت ‪ٔ ٚ‬غزط‪١‬غ اإلشبسح إٌ‪ٙ١‬ب‬
‫ثّؤشش أ‪ ٚ‬أوضش ‪ ٚ .‬ف‪ ٟ‬اٌّبرالة رجذأ ػٕ‪ٔٛ‬خ اٌؼٕبطش ف‪ array ٟ‬ثذءاً ِٓ اٌشلُ ‪١ٌ ٚ 1‬ظ اٌظفش‬
‫‪ ٚ ,‬إْ أثؼبد٘ب ٘‪ ٟ‬ثؼذد اٌّؤششاد اٌز‪ٔ ٟ‬ؾزبع‪ٙ‬ب ٌٍ‪ٛ‬ط‪ٛ‬ي إٌ‪ ٝ‬ػٕظش ِب ِٕ‪ٙ‬ب فّضالً راد اٌجؼذ‬
‫اٌ‪ٛ‬اؽذ ( شؼبع ) ٔغزط‪١‬غ اٌ‪ٛ‬ط‪ٛ‬ي إٌ‪ٙ١‬ب ثّؤشش ‪ٚ‬اؽذ ‪.‬‬
‫‪ : Matrix‬ف‪ array ٟٙ‬صٕبئ‪١‬خ اٌجؼذ ‪ٔ ٚ‬ؼغ ف‪ٙ١‬ب أسلبَ فٍ‪ٙ‬ب ل‪ٛ‬اػذ خبطخ ٌٍؼشة ‪ٚ‬‬
‫اٌغّغ ‪ ٚ‬اٌؼٍّ‪١‬بد األخش‪ ٚ . ٜ‬رذػ‪ ٝ‬أثؼبد اٌّظف‪ٛ‬فخ ثبألعطش ‪ ٚ‬األػّذح ‪.‬‬
‫‪ ٛ٘ : Vector‬ؽبٌخ خبطخ ِٓ اٌّظف‪ٛ‬فخ ؽ‪١‬ش ٌٗ ثؼذ ‪ٚ‬ؽ‪١‬ذ ‪ ٚ‬لذ ‪٠‬ى‪ ْٛ‬شؼبع عطش‪ٞ‬‬
‫ؽ‪١‬ش ‪ّ٠‬زٍه عطش ‪ٚ‬ؽ‪١‬ذ ‪ ٚ‬ػذح أػّذح ‪ ٚ ,‬لذ ‪٠‬ى‪ ْٛ‬شؼبع ػّ‪ٛ‬د‪ ٞ‬ؽ‪١‬ش ‪ّ٠‬زٍه ػّ‪ٛ‬د ‪ٚ‬ؽ‪١‬ذ ‪ ٚ‬ػذح‬
‫أعطش ‪.‬‬
‫‪ ٚ‬ؽز‪ ٝ‬رى‪ ْٛ‬فىشح اٌّظف‪ٛ‬فخ ػبِخ ‪ ٚ‬شبٍِخ فئٕٔب ٔؼشف اٌىّ‪١‬خ اٌغٍّ‪١‬خ ‪ Scalar‬وّب ‪ٍٟ٠‬‬
‫‪ِ ٟ٘ :‬ظف‪ٛ‬فخ راد عطش ‪ٚ‬ؽ‪١‬ذ ‪ ٚ‬ػّ‪ٛ‬د ‪ ٚ‬ؽ‪١‬ذ ‪.‬‬
‫‪ٚ‬ف‪ ٟ‬اٌّبرالة ال فشق ث‪ِ ٓ١‬ظف‪ٛ‬فخ ‪ ٚ‬شؼبع ‪ ٚ‬وّ‪١‬خ عٍّ‪١‬خ ِٓ ؽ‪١‬ش اٌجٕ‪١‬خ فىٍ‪ٙ‬ب ٌ‪ٙ‬ب ثٕ‪١‬خ‬
‫اٌّظف‪ٛ‬فخ ‪ٕ٘ ٚ ,‬بن أٔ‪ٛ‬اع ٌٍّظف‪ٛ‬فبد ِٓ ؽ‪١‬ش اٌّؾز‪ِ : ٟ٘ ٚ ٜٛ‬ظف‪ٛ‬فخ األسلبَ ‪ٔ ٚ‬ذػ‪٘ٛ‬ب‬
‫‪ Numeric Array‬أ‪ ٚ‬ثبخزظبس ‪ِ ٚ , Matrix‬ظف‪ٛ‬فخ ِؾبسف ‪ٚ character Array‬‬
‫ِظف‪ٛ‬فخ خال‪٠‬ب ‪ِ ٚ Cell Array‬ظف‪ٛ‬فخ رشاو‪١‬ت ‪ ٚ Structure Array‬عٕذسط وً ٔ‪ٛ‬ع‬
‫ثبٌزفظ‪ ٚ ً١‬اٌشىً (‪ٛ٠ ) 1 - 2‬ػؼ رمغ‪ ُ١‬اٌــ ‪ ِٓ Arrays‬ؽ‪١‬ش األثؼبد ‪ ِٓ ٚ‬ؽ‪١‬ش اٌّؾز‪. ٜٛ‬‬

‫انشكم ‪ : 1-2‬تقسُم انمصفىفاخ حسة األتعاد و انمحتىي‬

‫‪- 25 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 2 . 2‬إوشاء انمصفىفاخ‬
‫‪Matrices Creation‬‬
‫إن الشكل الشائع للمصفوفة في الرياضيات هو ‪:‬‬

‫انشكم ‪ : 2-2‬انشكم انزَاضٍ نهمصفىفح‬

‫حيث تتكون كما قلنا من عدد من األعمدة و الصفوف ‪ ,‬أما في الماتالب فهناك طريقتين إلنشاء‬
‫المصفوفات ‪:‬‬

‫‪ -‬إن الطريقة األبسط إلنشاء مصفوفة في الماتالب هي ثبعزخذاَ اٌزؼٍ‪ّ١‬خ اٌزبٌ‪١‬خ ؽ‪١‬ش‬
‫أ‪ ٚ‬فبطٍخ ‪ٔ ٚ ,‬فظً ث‪ٓ١‬‬ ‫‪Space‬‬ ‫ٔفظً ث‪ ٓ١‬ػٕبطش اٌغطش اٌ‪ٛ‬اؽذ ثفشاؽ‬
‫األعطش ثفبطٍخ ِٕم‪ٛ‬ؽخ أ‪ ٚ‬ثبٌغؽؽ ػٍ‪ ٝ‬صس ‪ ٚ , Enter‬إؽبؽخ اٌّظف‪ٛ‬فخ وبٍِخً ثم‪ٛ‬ط‬
‫ِشثغ ِٓ اٌشىً ] [ ‪.‬‬

‫] ‪ A= [ a11 a12 … ; a21 a22 … ; ….‬‬


‫مثال ‪: 1-2‬‬
‫] ‪>> a = [ 1 3 ; 2 4‬‬
‫=‪a‬‬
‫‪1 3‬‬
‫‪2 4‬‬
‫>>‬

‫‪ -‬و الطريقة األخرى هي استخدام التوابع التي تساعدنا على إنشاء المصفوفات بشكل‬
‫أسرع و تكون المصفوفات الناتجة ذات صفات خاصة و من هذه التوابع ما يلي ‪:‬‬

‫) ‪ A = ( first , step , end‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬شؼبػ‪١‬خ ( عطش ‪ٚ‬اؽذ ) ػٕبطش٘ب رجذأ ثـ ‪ ٚ first‬رٕز‪ ٟٙ‬ثــ‬
‫‪ ٚ end‬ثخط‪ٛ‬ح ػذ ٘‪ٚ , step ٟ‬إرا ٌُ ٔذخً خط‪ٛ‬ح اٌؼذ فغ‪١‬ؼزجش٘ب اٌجشٔبِظ رغب‪٠ ٚ , 1 ٞٚ‬غت‬

‫‪- 26 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫𝑑𝑛𝑒 < 𝑡𝑠𝑟𝑖𝑓 ‪ ٚ ,‬اٌؼىظ طؾ‪١‬ؼ ‪ٚ ,‬‬ ‫ِشاػبح أٔٗ إرا أسدٔب اٌؼذ رظبػذ‪٠ ٞ‬غت أْ ‪٠‬ى‪ْٛ‬‬
‫‪ّ٠‬ىٕٕب وزبثزٗ ثأل‪ٛ‬اط دائش‪٠‬خ أ‪ ٚ‬ثأل‪ٛ‬اط ِشثؼخ أ‪ ٚ‬ثذ‪ ْٚ‬أل‪ٛ‬اط ‪.‬‬

‫مثال ‪: 2-2‬‬
‫)‪>> a=(7:-2:-3‬‬ ‫‪>> a=1:3:12‬‬
‫=‪a‬‬ ‫=‪a‬‬
‫‪7 5 3 1‬‬ ‫‪-1‬‬ ‫‪-3‬‬ ‫‪1 4 7‬‬ ‫‪10‬‬
‫>>‬ ‫>>‬
‫) ‪ A = linspace ( first , last , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬شؼبػ‪١‬خ ( عطش ‪ٚ‬اؽذ ) ػٕبطش٘ب ُِ‪ٛ‬صػخ خط‪١‬ب ً ( أ‪ ٞ‬أْ‬
‫األثؼبد ث‪ ٓ١‬اٌؼٕبطش ِزغب‪٠ٚ‬خ ) ث‪ ٓ١‬ل‪ّ١‬ز‪ّ٘ ٓ١‬ب ‪ ٚ last ٚ first‬ػذد ػٕبطش٘ب ٘‪ ,. n ٛ‬إرا ٌُ‬
‫فغ‪١‬ؼ‪ ٟ‬اٌزبثغ ل‪ّ١‬خ ‪. last‬‬
‫د‬ ‫ٔؼغ ل‪ّ١‬خ ٌــ ‪ n‬فغ‪١‬ؼزجش٘ب اٌّبرالة ‪ ٚ 100‬إرا وبٔذ ‪n<2‬‬

‫) ‪ A = logspace ( first , last , n‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬شؼبػ‪١‬خ ( عطش ‪ٚ‬اؽذ ) ػٕبطش٘ب ُِ‪ٛ‬صػخ ٌ‪ٛ‬غبس‪٠‬زّ‪١‬ب ً ث‪ٓ١‬‬
‫ل‪ّ١‬ز‪ّ٘ ٓ١‬ب ‪ ٚ 10^last ٚ 10^first‬ػذد ػٕبطش٘ب ٘‪. n ٛ‬‬

‫مثال ‪: 3-2‬‬
‫)‪>> a=linspace(1,9,4‬‬
‫=‪a‬‬
‫‪1.0000 3.6667 6.3333‬‬ ‫‪9.0000‬‬
‫)‪>> logspace(2,4,7‬‬
‫= ‪ans‬‬
‫* ‪1.0e+04‬‬
‫‪0.0100 0.0215 0.0464‬‬ ‫‪0.1000‬‬ ‫‪0.2154‬‬ ‫‪0.4642‬‬ ‫‪1.0000‬‬
‫>>‬
‫) ‪ = ones ( m , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬وً ػٕبطش٘ب ‪ٚ‬اؽذ ‪ٚ ,‬إرا وزجٕب ‪ ones‬فمؾ فئٔٗ ‪٠‬ؼ‪١‬ذ ل‪ّ١‬خ ‪. 1‬‬

‫) ‪ A = zeros ( m , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬وً ػٕبطش٘ب طفش ‪ٚ ,‬إرا وزجٕب ‪ zeros‬فمؾ فئٔٗ ‪٠‬ؼ‪١‬ذ ل‪ّ١‬خ ‪. 0‬‬

‫) ‪ A =eye ( m , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬وً ػٕبطش٘ب طفش ِبػذا اٌمطش اٌشئ‪١‬غ‪ ٟ‬ف‪ ٟٙ‬رغب‪, 1 ٞٚ‬‬
‫‪ٚ‬إرا وزجٕب ‪ eye‬فمؾ فئٔٗ ‪٠‬ؼ‪١‬ذ ل‪ّ١‬خ ‪. 1‬‬

‫‪- 27 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثال ‪: 4-2‬‬
‫)‪>> ones(1,6‬‬ ‫)‪>> eye(4‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪1 1 1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1 0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫)‪>> zeros(2,3‬‬ ‫‪0 1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫= ‪ans‬‬ ‫‪0 0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪0 0 0‬‬ ‫‪0 0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪0 0 0‬‬ ‫>>‬
‫) ‪ A = rand ( m , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬أثؼبد٘ب ‪ٚ m×n‬رؾ‪ ٞٛ‬ػٕبطش ػش‪ٛ‬ائ‪١‬خ ث‪ ٓ١‬اٌظفش ‪ ٚ‬اٌ‪ٛ‬اؽذ ‪,‬‬
‫‪ٌ ٚ‬زغ‪١١‬ش اٌّغبي ‪ ٚ‬عؼٍٗ ث‪ٔ b ٚ a ٓ١‬ىزت اٌظ‪١‬غخ ‪. r = a + (b-a).*rand(m,n) :‬‬

‫) ‪ A =randn ( m , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬رؾ‪ ٞٛ‬ػٕبطش ػش‪ٛ‬ائ‪١‬خ رخؼغ ٌمبٔ‪ ْٛ‬اٌز‪ٛ‬ص‪٠‬غ اٌطج‪١‬ؼ‪. ٟ‬‬

‫) ‪ A =randperm ( max‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬شؼبػ‪١‬خ رؾ‪ ٞٛ‬ػٍ‪ ِٓ max ٝ‬ايػٕبطش راد رشر‪١‬ت ػش‪ٛ‬ائ‪ٟ‬‬
‫ث‪ ٓ١‬اٌــ ‪ ٚ 1‬اٌؼذد ‪ ٚ max‬إرا وبْ ٌٗ دخالْ ِضالً )‪. A=randperm (max,n‬فئٔٗ ‪٠‬ؼ‪١‬ذ‬
‫ِظف‪ٛ‬فخ راد ػٕبطش ث‪ ٓ١‬اٌــ ‪ ٚ 1‬اٌــ ‪ ٚ max‬ػذد٘ب ‪ ٟ٘ ٚ n‬راد رشر‪١‬ت ػش‪ٛ‬ائ‪. ٟ‬‬

‫) ‪ A =randi ( max , N‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ِشثؼخ ‪ A‬رؾ‪ ٞٛ‬ػٕبطش راد رشر‪١‬ت ػش‪ٛ‬ائ‪ ٟ‬ث‪ ٓ١‬اٌــ ‪ ٚ 1‬اٌؼذد‬
‫‪ٚ m‬راد أثؼبد ‪ , N×N‬أِب إرا وبْ ٌٗ صالصخ ِذاخً ِضالً )‪. A=randperm(max,N,M‬فئٔٗ‬
‫‪٠‬ؼ‪١‬ذ ِظف‪ٛ‬فخ راد ػٕبطش ث‪ ٓ١‬اٌــ ‪ ٚ 1‬اٌــ ‪ max‬ثزشر‪١‬ت ػش‪ٛ‬ائ‪ٚ ٟ‬راد أثؼبد ‪. N×M‬‬

‫مثال ‪: 5-2‬‬
‫)‪>> rand(3,4‬‬ ‫)‪>> randn(2‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪0.9575‬‬ ‫‪0.9706‬‬ ‫‪0.8003‬‬ ‫‪0.6715 0.7172‬‬
‫‪0.9157‬‬ ‫‪-1.2075 1.6302‬‬
‫‪0.9649‬‬ ‫‪0.9572‬‬ ‫‪0.1419‬‬ ‫)‪>> randperm(5‬‬
‫‪0.7922‬‬ ‫= ‪ans‬‬
‫‪0.1576‬‬ ‫‪0.4854‬‬ ‫‪0.4218‬‬ ‫‪4 5 1 3 2‬‬
‫‪0.9595‬‬ ‫)‪>> randi(5,3,2‬‬
‫)‪>> 3+5.*rand(1,3‬‬ ‫= ‪ans‬‬
‫= ‪ans‬‬ ‫‪1 2‬‬
‫‪5.1937 4.9078 6.8276‬‬ ‫‪4 1‬‬
‫‪1 1‬‬
‫>>‬

‫‪- 28 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ A =magic ( m,n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ عؾش‪٠‬خ ‪ A‬راد طفخ خبطخ ( ِغّ‪ٛ‬ع أ‪ ٞ‬عطش أ‪ ٚ‬أ‪ ٞ‬ػّ‪ٛ‬د أ‪ٚ‬‬
‫أ‪ ٞ‬لطش ِزغب‪. ) ٞٚ‬‬

‫مثال ‪: 6-2‬‬
‫)‪>> magic(5‬‬
‫= ‪ans‬‬
‫‪17 24 1 8 15‬‬
‫‪23 5 7 14 16‬‬
‫‪4 6 13 20 22‬‬
‫‪10 12 19 21 3‬‬
‫‪11 18 25 2 9‬‬
‫>>‬
‫) ‪ A = diag ( V , k‬‬
‫ػٕذِب ‪٠‬ى‪ v ْٛ‬ػجبسح ػٓ شؼبع ر‪ n ٚ‬ػٕظش فئْ ٘زا اٌزبثغ ط ‪٠‬م‪ َٛ‬ثئٔشبء ِظف‪ٛ‬فخ ‪ A‬وً‬
‫ػٕبطش٘ب طفش ِبػذا اٌمطش ( ‪٠‬ؾذد ِ‪ٛ‬لغ اٌمطش اٌجبساِزش ‪ K‬فئرا وبْ ‪ K=0‬فغ‪١‬ى‪ ْٛ‬اٌمطش‬
‫سئ‪١‬غ‪ , ٟ‬أِب إرا وبْ ‪ K>0‬فغ‪١‬ى‪ ْٛ‬ف‪ٛ‬ق اٌمطش اٌشئ‪١‬غ‪ , ٟ‬أِب إرا وبْ ‪ K<0‬فغ‪١‬ى‪ ْٛ‬رؾذ اٌمطش‬
‫اٌشئ‪١‬غ‪ ٚ , ) ٟ‬ػٕبطش ٘زا اٌمطش ٘‪ ٟ‬ػٕبطش اٌّظف‪ٛ‬فخ ‪ ٚ V‬عزى‪ ْٛ‬اٌّظف‪ٛ‬فخ ِشثؼخ راد ثؼذ‬
‫|‪ , n+|k‬أِب إرا وزجٕب )‪ a=diag(M‬فئٔٗ ع‪١‬ؼ‪١‬ذ ٌٕب شؼبع ػّ‪ٛ‬د‪٠ ٞ‬ؾ‪ ٞٛ‬ػٕبطش اٌمطش اٌشئ‪١‬غ‪ٟ‬‬
‫ٌٍّظف‪ٛ‬فخ ‪. M‬‬

‫انشكم ‪ : 3-2‬مخطط تصىرٌ نمصفىفح و انسهم َمثم انقطز انزئُسٍ حُث ‪. k=0‬‬

‫إِب إرا وبْ ‪ِ v‬ظف‪ٛ‬فخ فئْ اٌزبثغ ثبٌشىً اٌغبةق ‪٠‬ؼ‪١‬ذ شؼبع ‪٠‬ؾ‪ ٞٛ‬ػٕبطش اٌمطش ر‪ ٚ‬اٌشلُ ‪ٚ k‬‬
‫إرا وبْ اٌزبثغ ثبٌشىً )‪ diag(m‬فئٔٗ ‪٠‬ؼ‪١‬ذ شؼبع ‪٠‬ؾ‪ ٞٛ‬ػٕبطش اٌمطش اٌشئ‪١‬غ‪ ٟ‬ف‪ ٟ‬اٌّظف‪ٛ‬فخ ‪.‬‬

‫مثال ‪: 7-2‬‬
‫)‪>> v=(1:3‬‬
‫=‪v‬‬ ‫)‪>> m=diag(a‬‬
‫‪1 2 3‬‬ ‫=‪m‬‬
‫)‪>> a=diag(v,0‬‬ ‫‪1‬‬

‫‪- 29 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫=‪a‬‬ ‫‪2‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪3‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫>>‬
‫‪0‬‬ ‫‪0‬‬ ‫‪3‬‬
‫) ‪ X=sparse(i , j , V , m , n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثزؾذ‪٠‬ذ اٌؼٕبطش غ‪١‬ش اٌظفش‪٠‬خ ٌٍّظف‪ٛ‬فخ اٌّزٕبصشح ‪ٌ ٚ‬زىٓ ‪ , S‬ؽ‪١‬ش ‪ٛ٘ : i ( :‬‬
‫شؼبع أعطش اٌؼٕبطش ‪ : j ٚ ,‬شؼبع أػّذح اٌؼٕبطش ‪ ٛ٘ : V ٚ ,‬شؼبع اٌؼٕبطش غ‪١‬ش اٌظفش‪٠‬خ ‪,‬‬
‫‪ : m ٚ‬ػذد أعطش اٌّظف‪ٛ‬فخ اٌّزٕبصشح ‪ : n ٚ , S‬ػذد أػّذح ٘زٖ اٌّظف‪ٛ‬فخ ‪.‬‬

‫)‪ S = full(x‬‬
‫يقوم هذا التابع بتشكيل المصفوفة المتناثرة ‪ S‬من قائمة العناصر غير الصفرية ‪. x‬‬

‫مثال ‪: 8-2‬‬
‫)‪>> X = sparse ( [ 1 3 2 ] , [ 2 2 1 ] >> S = full(X‬‬
‫) ‪, [ 6 -2 8 ] , 4 , 3‬‬ ‫=‪S‬‬
‫=‪X‬‬ ‫‪0 6 0‬‬
‫)‪(2,1‬‬ ‫‪8‬‬ ‫‪8 0 0‬‬
‫)‪(1,2‬‬ ‫‪6‬‬ ‫‪0 -2 0‬‬
‫)‪(3,2‬‬ ‫‪-2‬‬ ‫‪0 0 0‬‬
‫>>‬

‫‪ ) 3 . 2‬فهزسح انمصفىفاخ ‪:‬‬


‫‪Matrices Indexing‬‬
‫ػٕذِب ‪٠‬ى‪ٌ ْٛ‬ذ‪ٕ٠‬ب ِظف‪ٛ‬فخ ‪ٔ ٚ A‬ش‪٠‬ذ اٌ‪ٛ‬ط‪ٛ‬ي إٌ‪ ٝ‬ػٕظش ِب ِٓ ٘زٖ اٌّظف‪ٛ‬فخ فئٕٔب ٔىزت‬

‫)‪A(i,j‬‬
‫ؽ‪١‬ش ‪ ٛ٘ i :‬سلُ اٌغطش ‪ j ٚ‬سلُ اٌؼّ‪ٛ‬د ‪ِ ٛ٘ ٚ .‬ب ‪ُ٠‬ذػ‪ ٝ‬ثبٌذٌ‪ ً١‬اٌّضد‪ٚ‬ط ‪ ,‬أِب اٌذٌ‪ ً١‬اٌفشد‪ ٞ‬ف‪ٛٙ‬‬

‫)‪A(n‬‬
‫ؽ‪١‬ش ‪ ٛ٘ n :‬رشر‪١‬ت اٌؼٕظش ف‪ ٟ‬اٌّظف‪ٛ‬فخ ‪٠ ٚ‬ى‪ ْٛ‬رشر‪١‬ت اٌّظف‪ٛ‬فخ وّب ‪: ٍٟ٠‬‬

‫انشكم ‪ : 4-2‬تزتُة انعىاصز فٍ انمصفىفح األعمذج مه انُسار إنً انُمُه و انعمىد مه األعهً‬
‫نألسفم ‪.‬‬

‫‪- 30 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫ٕ٘بن ػبِالْ ِ‪ّٙ‬بْ ف‪ ٟ‬ف‪ٙ‬شعخ اٌّظف‪ٛ‬فبد ‪:‬‬

‫) ‪ colon ( :‬‬
‫‪ٚ‬وّب ػشفٕب عبثمب ثأْ ٘زا اٌؼبًِ ‪ٕ٠‬شأ ِظف‪ٛ‬فخ شؼبػ‪١‬خ إرا اعزخذِٕبٖ وّب ‪v = first : last ٍٟ٠‬‬

‫)‪ A(1:4,:‬رؼٕ‪ ٟ‬ػٕبطش‬ ‫أِب ف‪ ٟ‬ف‪ٙ‬شعخ اٌّظف‪ٛ‬فبد فئٕٔب ٔغزخذِٗ ٌٕؼٕ‪ ٟ‬ثٗ " اٌىً " فّضالً‬
‫األعطش ِٓ األ‪ٚ‬ي إٌ‪ ٝ‬اٌشاثغ ‪ ٚ‬وً األػّذح ف‪٘ ٟ‬زٖ األعطش ‪.‬‬

‫‪ end‬‬
‫‪٠‬ؼٕ‪٘ ٟ‬زا اٌؼبًِ " إٌ‪ ٝ‬آخش " فّضالُ )‪ A(end‬رؼٕ‪ ٟ‬اٌؼٕظش ف‪ ٟ‬آخش عطش ‪ ٚ‬آخش ػّ‪ٛ‬د أِب‬
‫)‪ A(end,2:end‬فزؼٕ‪ ٟ‬ػٕبطش اٌغطش األخ‪١‬ش ِٓ اٌّظف‪ٛ‬فخ ‪ ٚ‬األػّذح ِٓ اٌؼّ‪ٛ‬د اٌضبٔ‪ ٟ‬إٌ‪ٝ‬‬
‫اٌؼّ‪ٛ‬د األخ‪١‬ش ‪.‬‬

‫مثال ‪: 9-2‬‬
‫)‪>> m=magic(5‬‬ ‫) ‪>> c=m(1:3 , :‬‬
‫=‪m‬‬ ‫=‪c‬‬
‫‪17 24 1 8 15‬‬ ‫‪17 24 1 8 15‬‬
‫‪23 5 7 14 16‬‬ ‫‪23 5 7 14 16‬‬
‫‪4 6 13 20 22‬‬ ‫‪4 6 13 20 22‬‬
‫‪10 12 19 21 3‬‬ ‫)‪>> d=m(3:end,1:2:end‬‬
‫‪11 18 25 2 9‬‬ ‫=‪d‬‬
‫)‪>> a=m(5,1‬‬ ‫‪4 13 22‬‬
‫=‪a‬‬ ‫‪10 19 3‬‬
‫‪11‬‬ ‫‪11 25 9‬‬
‫)‪>> b=m(20‬‬ ‫>>‬
‫=‪b‬‬
‫‪2‬‬
‫‪ٕ٘ ٚ‬بن ٔ‪ٛ‬ع ِٓ اٌف‪ٙ‬شعخ ‪ُ٠‬ذػ‪ ٝ‬ثبٌف‪ٙ‬شعخ إٌّطم‪١‬خ ؽ‪١‬ش ٔغزخذَ األشؼخ أ‪ ٚ‬اٌّظف‪ٛ‬فبد‬
‫إٌّطم‪١‬خ إٌبرغخ ػٓ اٌؼٍّ‪١‬بد إٌّطم‪١‬خ ‪ ٚ‬اٌؼالئم‪١‬خ ٌإلشبسح إٌ‪ِ ٝ‬ظف‪ٛ‬فخ فشػ‪١‬خ ‪ ٚ‬ف‪ٙ‬شعخ‬
‫ِظف‪ٛ‬فخ ‪:‬‬

‫مثال ‪: 10-2‬‬

‫)‪>> m=magic(5‬‬ ‫))‪>> a=m(isprime(m‬‬


‫=‪m‬‬ ‫=‪a‬‬
‫‪17 24 1 8 15‬‬ ‫‪17‬‬
‫‪23 5 7 14 16‬‬ ‫‪23‬‬
‫‪4 6 13 20 22‬‬ ‫‪11‬‬
‫‪10 12 19 21 3‬‬ ‫‪5‬‬
‫‪11 18 25 2 9‬‬ ‫‪7‬‬
‫)‪>> n=m(m>22‬‬ ‫‪13‬‬
‫=‪n‬‬ ‫‪19‬‬
‫‪23‬‬ ‫‪2‬‬

‫‪- 31 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪24‬‬ ‫‪3‬‬
‫‪25‬‬ ‫>>‬
‫‪ ٚ‬اٌزبثغ إٌّطم‪ ٟ‬اٌش‪١ٙ‬ش اٌز‪ٔ ٞ‬غزخذِٗ ف‪ ٟ‬اٌف‪ٙ‬شعخ إٌّطم‪١‬خ ٘‪: ٛ‬‬

‫) ‪ ind = find ( M‬‬


‫‪٠‬ؼ‪١‬ذ ٌٕب ٘زا اٌزبثغ شؼبع ػّ‪ٛ‬د‪٠ ٞ‬ؾ‪ ٞٛ‬األدٌخ اٌّفشدح ٌٍؼٕبطش اٌغ‪١‬ش طفش‪٠‬خ ‪ٕ٘ ٚ‬بن أشىبي‬
‫أخش‪ٌٍ ٜ‬زبثغ ‪:‬‬

‫) ‪o [r , c ] = find ( M‬‬
‫‪٠‬ؼ‪١‬ذ ٌٕب شؼبػ‪ ٓ١‬ػّ‪ٛ‬د‪ r ٓ١٠‬شؼبع األعطش ‪ c ٚ‬شؼبع األػّذح ‪ ٚ‬اٌٍزاْ ‪٠‬ؾذداْ ٌٕب اٌذٌ‪ ً١‬اٌّضد‪ٚ‬ط‬
‫ٌٍؼٕبطش اٌغ‪١‬ش طفش‪٠‬خ ‪.‬‬

‫) ‪o [r , c , v ] = find ( x‬‬
‫‪ّ٠‬ىٕٕب وزبثخ رؼج‪١‬ش ِٕطم‪٠ ٚ x ٟ‬م‪ َٛ‬اٌزبثغ ثئػبدح شؼبػ‪ٌٍ c ٚ r ٓ١‬ذالٌخ ػٍ‪ ٝ‬اٌؼٕبطش اٌز‪ ٟ‬رؾمك‬
‫اٌزؼج‪١‬ش إٌّطم‪ ٚ ٟ‬ث‪ّٕ١‬ب اٌشؼبع ‪ v‬ف‪ ٛٙ‬شؼبع ػّ‪ٛ‬د‪٠ ٞ‬ؾذد اٌؼٕبطش اٌغ‪١‬ش طفش‪٠‬خ اٌز‪ ٟ‬ؽظٍٕب‬
‫ػٍ‪ٙ١‬ب ػجش اٌزؼج‪١‬ش إٌّطم‪. ٟ‬‬

‫‪ ٚ‬ػٓ و‪١‬ف‪١‬خ اعزخذاِٗ ثشىً ػبَ ‪ ٚ‬اعزخذاِٗ ف‪ ٟ‬اٌف‪ٙ‬شعخ إٌّطم‪١‬خ ٔمذَ اٌّضبي اٌزبٌ‪ٟ‬‬

‫مثال ‪: 11-2‬‬

‫)‪>> m=magic(5‬‬ ‫‪13‬‬


‫=‪m‬‬ ‫‪14‬‬
‫‪17 24 1 8 15‬‬ ‫‪15‬‬
‫‪23 5 7 14 16‬‬ ‫‪19‬‬
‫‪4 6 13 20 22‬‬ ‫‪21‬‬
‫‪10 12 19 21 3‬‬ ‫‪24‬‬
‫‪11 18 25 2 9‬‬ ‫‪25‬‬
‫)‪>> ind=find(rem(m,2)~=0‬‬ ‫))‪>> n=m(find(m>20‬‬
‫= ‪ind‬‬ ‫=‪n‬‬
‫‪1‬‬ ‫‪23‬‬
‫‪2‬‬ ‫‪24‬‬
‫‪5‬‬ ‫‪25‬‬
‫‪7‬‬ ‫‪21‬‬
‫‪11‬‬ ‫‪22‬‬
‫‪12‬‬ ‫>>‬

‫شاهد الحلقة الثالثة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 32 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 4 . 2‬خىاص انمصفىفاخ‬
‫‪Matrices properties‬‬
‫هناك مجموعة من التوابع التي تساعدنا في معرفة خواص المصفوفات مثل أبعادها و أكبر بعد‬
‫و عدد العناصر و ‪ ...‬إلخ ‪..‬‬

‫) ‪ t=trace ( a‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ِغّ‪ٛ‬ع ػٕبطش اٌمطش اٌشئ‪١‬غ‪ ٟ‬يٌّظف‪ٛ‬فخ اٌّشثؼخ ‪. a‬‬

‫) ‪ [ r , c ] = size ( a‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ػذد األػّذح ‪ ٚ‬اٌظف‪ٛ‬ف ف‪ ٟ‬اٌّظف‪ٛ‬فخ ‪. a‬‬

‫) ‪ C = size ( a , 2‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ػذد األػّذح ‪ columns‬ف‪ ٟ‬اٌّظف‪ٛ‬فخ ‪. a‬‬

‫) ‪ R = size ( a , 1‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ػذد اٌظف‪ٛ‬ف ‪ rows‬ف‪ ٟ‬اٌّظف‪ٛ‬فخ ‪. a‬‬

‫) ‪ N = length ( a‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ أؽ‪ٛ‬ي ثؼذ ٌٍّظف‪ٛ‬فخ ‪. a‬‬

‫) ‪ D = ndims ( a‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ػذد أثؼبد اٌّظف‪ٛ‬فخ ‪. a‬‬

‫) ‪ E = numel ( a‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ػذد ػٕبطش اٌّظف‪ٛ‬فخ ‪. a‬‬

‫) ‪ F = nnz ( a‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ػذد اٌؼٕبطش غ‪١‬ش اٌظفش‪٠‬خ ف‪ ٟ‬اٌّظف‪ٛ‬فخ ‪. a‬‬

‫مثال ‪: 12-2‬‬
‫‪>> a = [ 4 8 0 ; 5 2 1 ; 0 7 0 ; 8 3‬‬ ‫=‪r‬‬
‫]‪-1‬‬ ‫‪4‬‬
‫=‪a‬‬ ‫)‪>> N=length(a‬‬
‫‪4 8 0‬‬ ‫=‪N‬‬
‫‪5 2 1‬‬ ‫‪4‬‬
‫‪0 7 0‬‬ ‫)‪>> D=ndims(a‬‬
‫‪8 3 -1‬‬ ‫=‪D‬‬
‫)‪>> size(a‬‬ ‫‪2‬‬
‫= ‪ans‬‬ ‫)‪>> E=numel(a‬‬
‫‪4 3‬‬ ‫=‪E‬‬
‫)‪>> c=size(a,2‬‬ ‫‪12‬‬
‫=‪c‬‬ ‫)‪>> F=nnz(a‬‬

‫‪- 33 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪3‬‬ ‫=‪F‬‬
‫)‪>> r=size(a,1‬‬ ‫‪9‬‬
‫>>‬

‫) ‪ TF = ismatrix ( a‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌذخً ‪ِ ( a‬ظف‪ٛ‬فخ أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك وبْ‬
‫اٌغ‪ٛ‬اة ‪. 0‬‬

‫) ‪ TF = isempty ( a‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌّظف‪ٛ‬فخ ‪ ( a‬فبسغخ أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك‬
‫وبْ اٌغ‪ٛ‬اة ‪. 0‬‬

‫) ‪ TF = isscalar ( a‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌّظف‪ٛ‬فخ ‪ ( a‬عٍّ‪١‬خ أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك‬
‫وبْ اٌغ‪ٛ‬اة ‪. 0‬‬

‫) ‪ TF = isvector ( a‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌّظف‪ٛ‬فخ ‪ ( a‬شؼبػ‪١‬خ أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك‬
‫وبْ اٌغ‪ٛ‬اة ‪. 0‬‬

‫) ‪ TF = iscolumn ( v‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌشؼبع ‪ ( V‬ػّ‪ٛ‬د أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك وبْ‬
‫اٌغ‪ٛ‬اة ‪. 0‬‬

‫) ‪ TF = isrow ( v‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌشؼبع ‪ ( V‬عطش أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك وبْ‬
‫اٌغ‪ٛ‬اة ‪. 0‬‬

‫) ‪ TF = issprase ( a‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض اٌّظف‪ٛ‬فخ ‪ِ ( a‬زٕبصشح أَ ال ) فئرا رؾممذ وبْ اٌغ‪ٛ‬اة ‪ ٚ 1‬إرا ٌُ رزؾمك‬
‫وبْ اٌغ‪ٛ‬اة ‪. 0‬‬

‫مثال ‪: 13-2‬‬
‫] ‪>> a= [ 2 4 8 ; -1 0 5 ; 1 1 1‬‬ ‫))‪>> isscalar(a(3,2‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪2 4 8‬‬ ‫‪1‬‬
‫‪-1 0 5‬‬ ‫))‪>> iscolumn(a(3,:‬‬
‫‪1 1 1‬‬ ‫= ‪ans‬‬
‫)‪>> issparse(a‬‬ ‫‪0‬‬
‫= ‪ans‬‬ ‫))‪>> isrow(a(3,:‬‬
‫‪0‬‬ ‫= ‪ans‬‬
‫>>‬ ‫‪1‬‬

‫‪- 34 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 5 . 2‬انعمهُاخ عهً انمصفىفاخ‬


‫‪Operations at Matrices‬‬
‫‪ ٚ‬أ‪ٚ‬د ٕ٘ب رمغ‪ ُ١‬اٌؼٍّ‪١‬بد ‪ ٚ‬رظٕ‪١‬ف‪ٙ‬ب ٌ‪١‬غ‪ِ ًٙ‬الؽظخ االخزالفبد ‪ ٚ‬اٌفش‪ٚ‬ق ‪:‬‬

‫‪ - 1‬انعمهُاخ انزَاضُح ‪:‬‬


‫‪ .a‬انعهمُاخ تُه انمصفىفاخ ‪:‬‬
‫‪ -‬اٌغّغ ‪ ٚ‬اٌطشػ ‪ّ٠ :‬ىٕٕب عّغ‪/‬ؽشػ ِظف‪ٛ‬فز‪ ٓ١‬ثششؽ أْ رزغب‪ ٜٚ‬أثؼبد رٍه اٌّظف‪ٛ‬فز‪ٓ١‬‬
‫‪ٕٔ ٚ‬غض ػٍّ‪١‬خ اٌغّغ‪/‬اٌطشػ ثبعزخذاَ اٌشِض ‪. - /+‬‬
‫‪ -‬اٌؼشة ‪ :‬إرا وٕب ٔش‪٠‬ذ ػشة ِظف‪ٛ‬فز‪ ٓ١‬ثجؼؼ‪ّٙ‬ب ‪٠‬غت أْ ‪٠‬زؾمك اٌششؽ " ػذد أػّذح‬
‫اٌّظف‪ٛ‬فخ األ‪٠ ٌٝٚ‬غب‪ ٞٚ‬ػذد أعطش اٌّظف‪ٛ‬فخ اٌضبٔ‪١‬خ " ‪ ٚ ,‬ع‪١‬ى‪ٌٍّ ْٛ‬ظف‪ٛ‬فخ إٌبرغخ‬
‫ٔفظ ػذد أعطش اٌّظف‪ٛ‬فخ األ‪ٔ ٚ ٌٝٚ‬فظ ػذد أػّذح اٌّظف‪ٛ‬فخ اٌضبٔ‪١‬خ ‪ ,‬أِب ثبٌٕغجخ‬
‫ٌؼشة شؼبع ثشؼبع ف‪ٕٙ‬بن ٔ‪ٛ‬ػ‪ٌ ٓ١‬ؼشة األشؼخ ‪:‬‬
‫‪ o‬اٌغذاء اٌذاخٍ‪ٔٚ : dot product ٟ‬م‪ َٛ‬ث‪ٙ‬زا اٌغذاء ػٕذِب ‪٠‬ى‪ ْٛ‬ؽ‪ ٌٟٛ‬اٌشؼبػ‪ٓ١‬‬
‫ِزغب‪ ٓ١٠ٚ‬ثؼشة شؼبع عطش‪ ٞ‬ثشؼبع ػّ‪ٛ‬د‪ ٚ ٞ‬إٌبرظ ٘‪ ٛ‬ل‪ّ١‬خ عٍّ‪١‬خ ‪.‬‬
‫‪ o‬اٌغذاء اٌخبسع‪ٔٚ : cross product ٟ‬م‪ َٛ‬ث‪ٙ‬زا اٌغذاء ثؼشة شؼبع ػّ‪ٛ‬د‪ٞ‬‬
‫ثشؼبع عطش‪ ٚ ٞ‬إٌبرظ ٘‪ ٛ‬راد ِظف‪ٛ‬فخ ( ػذد األعطش ‪٠‬غب‪ ٞٚ‬ؽ‪ٛ‬ي اٌشؼبع‬
‫اٌؼّ‪ٛ‬د‪ ٚ ٞ‬ػذد األػّذح ‪٠‬غب‪ ٞٚ‬ػذد ؽ‪ٛ‬ي اٌشؼبع اٌغطش‪. ) ٞ‬‬
‫‪ -‬اٌمغّخ ‪ٕ٘ :‬بن ف‪ ٟ‬اٌّبرالة ٔ‪ٛ‬ػ‪ ِٓ ٓ١‬اٌمغّخ ‪:‬‬
‫‪ o‬اٌمغّخ اٌ‪١ٕ١ّ١‬خ ‪ ٚ A\B :‬رى‪٘ ْٛ‬زٖ اٌمغّخ ِؾممخ إرا وبْ ٌىً ِٓ اٌّظف‪ٛ‬فز‪ٓ١‬‬
‫‪ٔ B ٚ A‬فظ ػذد األعطش ‪.‬‬
‫‪ o‬اٌمغّخ اٌ‪١‬غبس‪٠‬خ ‪ ٚ A/B :‬رى‪٘ ْٛ‬زٖ اٌمغّخ ِؾممخ إرا وبْ ٌىً ِٓ اٌّظف‪ٛ‬فز‪ٓ١‬‬
‫‪ٔ B ٚ A‬فظ ػذد األػّذح ‪.‬‬

‫مثال ‪: 14-2‬‬
‫] ‪>> a=[ 1 5 ; 5 0‬‬ ‫‪>> a*b‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪1 5‬‬ ‫‪2 39‬‬
‫‪5 0‬‬ ‫‪10 20‬‬
‫] ‪>> b=[2 4 ; 0 7‬‬ ‫‪>> a/b‬‬
‫=‪b‬‬ ‫= ‪ans‬‬
‫‪2 4‬‬ ‫‪0.5000 0.4286‬‬
‫‪0 7‬‬ ‫‪2.5000 -1.4286‬‬
‫‪>> a+b‬‬ ‫‪>> a\b‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪3 9‬‬ ‫‪0 1.4000‬‬
‫‪5 7‬‬ ‫‪0.4000 0.5200‬‬
‫‪>> a-b‬‬
‫= ‪ans‬‬
‫‪-1 1‬‬
‫‪5 -7‬‬

‫‪- 35 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثال ‪: 15-2‬‬
‫]‪>> a=[1:4‬‬ ‫‪>> a*a‬‬
‫=‪a‬‬ ‫* ‪Error using‬‬
‫‪1 2 3‬‬ ‫‪4‬‬ ‫‪Inner matrix‬‬ ‫‪dimensions must‬‬
‫']‪>> b=[4:-1:1‬‬ ‫‪agree.‬‬
‫=‪b‬‬ ‫‪>> b*b‬‬
‫‪4‬‬ ‫* ‪Error using‬‬
‫‪3‬‬ ‫‪Inner matrix‬‬ ‫‪dimensions must‬‬
‫‪2‬‬ ‫‪agree.‬‬
‫‪1‬‬ ‫][=)‪>> b(4‬‬
‫‪>> a*b‬‬ ‫=‪b‬‬
‫= ‪ans‬‬ ‫‪4‬‬
‫‪20‬‬ ‫‪3‬‬
‫‪>> b*a‬‬ ‫‪2‬‬
‫= ‪ans‬‬ ‫‪>> a*b‬‬
‫‪4 8 12‬‬ ‫‪16‬‬ ‫* ‪Error using‬‬
‫‪3 6 9‬‬ ‫‪12‬‬ ‫‪Inner matrix‬‬ ‫‪dimensions must‬‬
‫‪2 4 6‬‬ ‫‪8‬‬ ‫‪agree.‬‬
‫‪1 2 3‬‬ ‫‪4‬‬ ‫‪>> b*a‬‬
‫= ‪ans‬‬
‫‪4 8 12‬‬ ‫‪16‬‬
‫‪3 6 9‬‬ ‫‪12‬‬
‫‪2 4 6‬‬ ‫‪8‬‬
‫>>‬

‫‪ .b‬انعمهُاخ تُه انمصفىفاخ عىصز نعىصز ‪:‬‬


‫ٕ٘بن ٔ‪ٛ‬ع خبص ِٓ اٌؼٍّ‪١‬بد اٌؾغبث‪١‬خ ػٍ‪ ٝ‬اٌّظف‪ٛ‬فبد ٔذػ‪ ٖٛ‬ثبٌؼٍّ‪١‬خ ػٕظش ٌؼٕظش‬
‫‪ ٚ element by element operation‬ف‪ّ١‬ب ‪ ٍٟ٠‬رفظ‪ ً١‬رٍه اٌؼٍّ‪١‬بد ‪:‬‬
‫‪ -‬اٌغّغ ‪ ٚ‬اٌطشػ ‪ :‬ال فشق ث‪ ٓ١‬اٌؼٍّ‪١‬خ اٌطج‪١‬ؼ‪١‬خ ‪ ٚ‬اٌؼٍّ‪١‬خ ػٕظش ٌؼٕظش ألٔٗ ف‪ ٟ‬اٌؾبٌز‪ٓ١‬‬
‫ٔم‪ َٛ‬ثغّغ‪ /‬ؽشػ اٌؼٕظش ِٓ اٌّظف‪ٛ‬فخ األ‪ِ ٌٝٚ‬غ اٌؼٕظش اٌز‪٠ ٞ‬مبثٍٗ ِٓ اٌّظف‪ٛ‬فخ‬
‫اٌضبٔ‪١‬خ ‪.‬‬
‫‪ -‬اٌؼشة ‪ ٚ‬اٌمغّخ ‪ٔ :‬م‪ َٛ‬ثؼشة ‪ /‬لغّخ وً ػٕظش ِٓ اٌّظف‪ٛ‬فخ األ‪ِ ٌٝٚ‬غ اٌؼٕظش‬
‫اٌز‪٠ ٞ‬مبثٍٗ ِٓ اٌّظف‪ٛ‬فخ اٌضبٔ‪١‬خ ‪ٕ٘ ٚ‬ب ‪٠‬غت أْ ‪٠‬زؾمك اٌششؽ " أْ رى‪ ْٛ‬اٌّظف‪ٛ‬فز‪ٌٙ ٓ١‬ب‬
‫ٔفظ األثؼبد " ‪.‬‬

‫مثال ‪: 16-2‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪1‬‬ ‫‪5‬‬ ‫‪2 39‬‬
‫‪5‬‬ ‫‪0‬‬ ‫‪10 20‬‬
‫=‪b‬‬ ‫‪>> a.*b‬‬
‫‪2‬‬ ‫‪4‬‬ ‫= ‪ans‬‬
‫‪0‬‬ ‫‪7‬‬ ‫‪2 20‬‬
‫‪>> a*b‬‬ ‫‪0 0‬‬

‫‪- 36 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ .c‬العمليات بين المصفوفة و الكمية السلمية ‪:‬‬

‫اٌغّغ ‪ ٚ‬اٌطشػ ‪ّ٠ :‬ىٕٕب عّغ ‪ /‬ؽشػ وّ‪١‬خ عٍّ‪١‬خ ِٓ اٌّظف‪ٛ‬فخ ‪ ٚ‬رٌه ثبعزخذاَ ‪A+s‬‬ ‫‪-‬‬
‫أ‪. s+A ٚ‬‬
‫اٌؼشة ‪ّ٠ :‬ىٕٕب ػشة ِظف‪ٛ‬فخ ثىّ‪١‬خ عٍّ‪١‬خ ؽ‪١‬ش ‪٠‬زُ ػشة اٌىّ‪١‬خ اٌغٍّ‪١‬خ ثغّ‪١‬غ‬ ‫‪-‬‬
‫ػٕبطش اٌّظف‪ٛ‬فخ ‪ ٚ‬رٌه ثبعزخذاَ ‪ A*s‬أ‪. s*A ٚ‬‬
‫اٌشفغ ٌم‪ٛ‬ح ‪ّ٠ :‬ىٕٕب سفغ ِظف‪ٛ‬فخ ٌم‪ٛ‬ح وّ‪١‬خ عٍّ‪١‬خ ‪ ٚ‬رٌه ثبعزخذاَ ‪٠ ٚ , A^s‬زُ رٌه ػجش‬ ‫‪-‬‬
‫ػشة اٌّظف‪ٛ‬فخ ثٕفغ‪ٙ‬ب ثؼذد اٌىّ‪١‬خ اٌغٍّ‪١‬خ ‪ٕ٘ ٚ‬ب ‪٠‬غت أْ رى‪ ْٛ‬اٌّظف‪ٛ‬فخ ِشثؼخ ‪.‬‬
‫‪ s\A‬أ‪ , A/s ٚ‬ؽ‪١‬ش ‪٠‬زُ‬ ‫اٌمغّخ ‪ّ٠ :‬ىٕٕب رمغ‪ ُ١‬اٌّظف‪ٛ‬فخ ػٍ‪ ٝ‬وّ‪١‬خ عٍّ‪١‬خ ثبعزخذاَ‬ ‫‪-‬‬
‫رمغ‪ ُ١‬وً ػٕظش ِٓ ػٕبطش اٌّظف‪ٛ‬فخ ػٍ‪ ٝ‬رٍه اٌىّ‪١‬خ اٌغٍّ‪١‬خ ‪.‬‬

‫مثال ‪: 17-2‬‬
‫]‪>> A=[3 2; 5 0‬‬ ‫‪>> A*4‬‬
‫=‪A‬‬ ‫= ‪ans‬‬
‫‪3 2‬‬ ‫‪12 8‬‬
‫‪5 0‬‬ ‫‪20 0‬‬
‫‪>> A-2‬‬ ‫‪>> A/2‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪1 0‬‬ ‫‪1.5000 1.0000‬‬
‫‪3 -2‬‬ ‫‪2.5000‬‬ ‫‪0‬‬
‫‪>> 3+A‬‬ ‫‪>> A^2‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪6 5‬‬ ‫‪19 6‬‬
‫‪8 3‬‬ ‫‪15 10‬‬

‫‪ - 2‬انعمهُاخ عهً انمصفىفاخ نتغُُز انمحتىي ‪:‬‬


‫‪ .a‬إضافح سطز أو عمىد إنً وهاَح انمصفىفح ‪:‬‬

‫إلػبفخ عطش ٔىزت ‪:‬‬

‫] ‪A(m , : ) = [ V‬‬

‫‪ٛ٘ V‬‬ ‫ؽ‪١‬ش اٌــ ‪ ٛ٘ m‬ػذد أوجش ِٓ ػذد أعطش اٌّظف‪ٛ‬فخ ‪ ٛ٘ ٚ‬سلُ اٌغطش اٌ ُّؼبف ‪ٚ‬‬
‫شؼبع ‪٠‬ؾ‪ ٞٛ‬ػذد ػٕبطش ‪٠‬غب‪ ٞٚ‬ػذد أػّذح اٌّظف‪ٛ‬فخ ‪. A‬‬

‫إلػبفخ ػّ‪ٛ‬د ٔىزت ‪:‬‬

‫] ‪A(: , n ) = [ V‬‬

‫‪ٛ٘ V‬‬ ‫ؽ‪١‬ش اٌــ ‪ ٛ٘ n‬ػذد أوجش ِٓ ػذد أػّذح اٌّظف‪ٛ‬فخ ‪ ٛ٘ ٚ‬سلُ اٌؼّ‪ٛ‬د اٌ ُّؼبف ‪ٚ‬‬
‫شؼبع ‪٠‬ؾ‪ ٞٛ‬ػذد ػٕبطش ‪٠‬غب‪ ٞٚ‬ػذد أعطش اٌّظف‪ٛ‬فخ ‪. A‬‬

‫‪- 37 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ٌٍّ S‬ظف‪ٛ‬فخ ػّٓ عطش أ‪ ٚ‬ػّ‪ٛ‬د ‪ ٚ‬رٌه ثزؾذ‪٠‬ذ ل‪ّ١‬خ ٘زا‬ ‫وّب ‪ّ٠‬ىٕٕب إػبفخ ػٕظش ‪ٚ‬اؽذ‬
‫اٌؼٕظش فمؾ ‪:‬‬

‫‪A(m , n ) = S‬‬

‫‪ٕ٘ ٚ‬ب ‪٠‬غت أْ ‪٠‬ى‪ ْٛ‬أؽذ ِٓ ‪ n‬أ‪ m ٚ‬أوجش ِٓ اٌجؼذ اٌّ‪ٛ‬افك ِٓ أثؼبد اٌّظف‪ٛ‬فخ ‪.‬‬

‫إرا وبْ ‪ m‬أطغش ِٓ ػذد أعطش اٌّظف‪ٛ‬فخ ‪ n ٚ‬أطغش ِٓ ػذد أػّذح اٌّظف‪ٛ‬فخ فغ‪١‬زُ اعزجذاي‬
‫اٌؼٕظش ‪ ٚ‬وزٌه األِش ثبٌٕغجخ ٌٍغطش أ‪ ٚ‬اٌؼّ‪ٛ‬د ‪٘ ٚ‬زا ِب عٕ‪ٛ‬ػؾٗ ثبٌّضبي اٌمبدَ ‪.‬‬

‫‪ .b‬حذف سطز أو عمىد مه مصفىفح ‪:‬‬

‫ٌؾزف عطش ٔىزت ‪:‬‬

‫] [ = ) ‪A(m , :‬‬

‫ؽ‪١‬ش اٌــ ‪ ٛ٘ m‬ػذد أطغش أ‪٠ ٚ‬غب‪ ٞٚ‬ػذد أعطش اٌّظف‪ٛ‬فخ ‪ ٛ٘ ٚ‬سلُ اٌغطش اٌّؾز‪ٚ‬ف ‪.‬‬

‫ٌؾزف ػّ‪ٛ‬د ٔىزت ‪:‬‬

‫] [ = ) ‪A(: , n‬‬

‫ؽ‪١‬ش اٌــ ‪ ٛ٘ n‬ػذد أطغش أ‪٠ ٚ‬غب‪ ٞٚ‬ػذد أػّذح اٌّظف‪ٛ‬فخ ‪ ٛ٘ ٚ‬سلُ اٌؼّ‪ٛ‬د اٌّؾز‪ٚ‬ف ‪.‬‬

‫‪ .c‬دمج انمصفىفاخ ‪:‬‬


‫‪ -‬دِظ ِظف‪ٛ‬فز‪ ٓ١‬أ‪ ٚ‬أوضش أفم‪١‬ب ً ‪:‬‬

‫إرا وبٔذ ‪ِ B ٚ A‬ظف‪ٛ‬فز‪ ٓ١‬راد ٔفظ ػذد األعطش ‪ ٚ‬رٌه ثبعزخذاَ ‪:‬‬

‫] ‪C=[ A , B‬‬

‫‪ -‬دِظ ِظف‪ٛ‬فز‪ ٓ١‬أ‪ ٚ‬أوضش ػّ‪ٛ‬د‪٠‬ب ً ‪:‬‬

‫إرا وبٔذ ‪ِ B ٚ A‬ظف‪ٛ‬فز‪ ٓ١‬راد ٔفظ ػذد األػّذح ‪ ٚ‬رٌه ثبعزخذاَ ‪:‬‬

‫] ‪C=[ A ; B‬‬

‫مثال ‪: 18-2‬‬
‫)‪>> A=magic(3‬‬ ‫)‪>> B=randi(7,4,2‬‬
‫=‪A‬‬ ‫=‪B‬‬
‫‪8 1 6‬‬ ‫‪6 5‬‬
‫‪3 5 7‬‬ ‫‪7 1‬‬
‫‪4 9 2‬‬ ‫‪1 2‬‬
‫]‪>> A(:,4)=[1 2 3‬‬ ‫‪7 4‬‬
‫=‪A‬‬ ‫]‪>> C=[A , B‬‬
‫‪8 1 6 1‬‬ ‫=‪C‬‬

‫‪- 38 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪3 5 7 2‬‬ ‫‪8 6 1 6‬‬ ‫‪5‬‬


‫‪4 9 2 3‬‬ ‫‪3 7 2 7‬‬ ‫‪1‬‬
‫]‪>> A(5,:)=[4 1 7 9‬‬ ‫‪4 2 3 1‬‬ ‫‪2‬‬
‫=‪A‬‬ ‫‪4 7 9 7‬‬ ‫‪4‬‬
‫‪8 1 6 1‬‬ ‫)‪>> X=ones(2,5‬‬
‫‪3 5 7 2‬‬ ‫=‪X‬‬
‫‪4 9 2 3‬‬ ‫‪1 1 1 1‬‬ ‫‪1‬‬
‫‪0 0 0 0‬‬ ‫‪1 1 1 1‬‬ ‫‪1‬‬
‫‪4 1 7 9‬‬ ‫]‪>> Y=[C;X‬‬
‫][=)‪>> A(4,:‬‬ ‫=‪Y‬‬
‫=‪A‬‬ ‫‪8 6 1 6‬‬ ‫‪5‬‬
‫‪8 1 6 1‬‬ ‫‪3 7 2 7‬‬ ‫‪1‬‬
‫‪3 5 7 2‬‬ ‫‪4 2 3 1‬‬ ‫‪2‬‬
‫‪4 9 2 3‬‬ ‫‪4 7 9 7‬‬ ‫‪4‬‬
‫‪4 1 7 9‬‬ ‫‪1 1 1 1‬‬ ‫‪1‬‬
‫][=)‪>> A(:,2‬‬ ‫‪1 1 1 1‬‬ ‫‪1‬‬
‫=‪A‬‬ ‫>>‬
‫‪8 6 1‬‬
‫‪3 7 2‬‬
‫‪4 2 3‬‬
‫‪4 7 9‬‬

‫‪ - 3‬العمليات التقليدية على المصفوفات ‪:‬‬

‫)‪ X=inv(A‬‬
‫‪٠‬ؼط‪ٕ١‬ب ٘زا اٌزبثغ ِمٍ‪ٛ‬ة اٌّظف‪ٛ‬فخ ‪. A‬‬

‫)‪ X=det(A‬‬
‫‪٠‬ؼط‪ٕ١‬ب ٘زا اٌزبثغ ِؾذد اٌّظف‪ٛ‬فخ ‪. A‬‬

‫'‪ X=A‬‬
‫‪٠‬ؼط‪ٕ١‬ب ٘زا اٌزبثغ ِٕم‪ٛ‬ي اٌّظف‪ٛ‬فخ ‪ٌ ٚ , A‬ىٓ إرا وبْ ‪ A‬رؾ‪ ٞٛ‬ػٕبطش ػمذ‪٠‬خ فئْ إٌّم‪ٛ‬ي‬
‫ع‪١‬ؾ‪ِ ٞٛ‬شافك رٍه اٌؼٕبطش ‪ ٚ‬إلثمبء اٌؼٕبطش اٌؼمذ‪٠‬خ ػٍ‪ ٝ‬ؽبٌ‪ٙ‬ب ٔىزت '‪. X=A.‬‬

‫)‪ X=rank(A‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثزؾذ‪٠‬ذ سرجخ اٌّظف‪ٛ‬فخ ‪ ٟ٘ ٚ A‬سرجخ أوجش ِؾذد ل‪ّ١‬زٗ ال رغب‪ ٞٚ‬اٌظفش ‪.‬‬

‫)‪ [v,d]=eig(A‬‬
‫‪٠‬ؼط‪ٕ١‬ب ٘زا اٌزبثغ ِظف‪ٛ‬فخ اٌم‪ ُ١‬اٌخبطخ ‪ِ ٟ٘ ٚ ( d‬ظف‪ٛ‬فخ لطش‪٠‬خ ػٕبطش لطش٘ب اٌشئ‪١‬غ‪ٟ٘ ٟ‬‬
‫اٌم‪ ُ١‬اٌخبطخ ) ٌٍّظف‪ٛ‬فخ ‪ِ ٚ A‬ظف‪ٛ‬فخ األشؼخ اٌخبطخ ‪. A‬‬

‫‪- 39 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثال ‪: 19-2‬‬
‫] ‪>> A = [ 3 5 ; 2 4‬‬ ‫)‪>> n=rank(A‬‬
‫=‪A‬‬ ‫=‪n‬‬
‫‪3 5‬‬ ‫‪2‬‬
‫‪2 4‬‬ ‫)‪>> [v , d ] =eig(A‬‬
‫)‪>> X=inv(A‬‬ ‫=‪v‬‬
‫=‪X‬‬ ‫‪-0.8798 -0.8037‬‬
‫‪2.0000 -2.5000‬‬ ‫‪0.4754 -0.5950‬‬
‫‪-1.0000 1.5000‬‬ ‫=‪d‬‬
‫)‪>> Y=det(A‬‬ ‫‪0.2984‬‬ ‫‪0‬‬
‫=‪Y‬‬ ‫‪0 6.7016‬‬
‫‪2‬‬ ‫>>‬
‫'‪>> Z=A‬‬
‫=‪Z‬‬
‫‪3 2‬‬
‫‪5 4‬‬
‫‪ - 4‬تغُُز شكم انمصفىفح ‪:‬‬

‫)‪ Fliplr(A‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثمٍت اٌّظف‪ٛ‬فخ ‪ ِٓ A‬اٌ‪١‬غبس ٌٍ‪. ٓ١ّ١‬‬

‫)‪ Flipud(A‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثمٍت اٌّظف‪ٛ‬فخ ‪ ِٓ A‬األػٍ‪ٌ ٝ‬ألعفً ‪.‬‬

‫)‪ rot90(A‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثمٍت اٌّظف‪ٛ‬فخ ‪ 90 A‬دسعخ ٌٍ‪١‬غبس ‪.‬‬

‫)‪ u=triu(A,k‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ِضٍض‪١‬خ ػٍ‪٠ٛ‬خ راد لطش ‪ ِٓ K‬اٌّظف‪ٛ‬فخ ‪. A‬‬

‫)‪ u=triu(A,k‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ ِضٍض‪١‬خ عفٍ‪١‬ب راد لطش ‪ ِٓ K‬اٌّظف‪ٛ‬فخ ‪. A‬‬

‫)‪ B=repmat(A,m,n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ عذ‪٠‬ذح ِٓ اٌّظف‪ٛ‬فخ ‪ ٟ٘ ٚ A‬ػجبسح ػٓ رىشاس ٌٍّظف‪ٛ‬فخ ‪A‬‬
‫‪ِm‬شح ػٍ‪ ٝ‬األعطش ‪ِ n ٚ‬شح ػٍ‪ ٝ‬األػّذح ‪ ,‬وّب ‪ّ٠‬ىٕٕب وزبثز‪ٙ‬ب ثبٌشىً )]‪B=repmat(A,[m n‬‬
‫‪ّ٠ ٚ ,‬ىٕٕب ػًّ ِظف‪ٛ‬فخ راد صالصخ أثؼبد ‪ ٚ‬رٌه ثىزبثخ )] ‪. B=repmat(A,[m n p‬‬

‫)‪ B=reshape(A,m,n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ عذ‪٠‬ذح ِٓ اٌّظف‪ٛ‬فخ ‪ ٟ٘ ٚ A‬ػجبسح ػٓ ِظف‪ٛ‬فخ ِشىٍخ ػجش‬
‫ٔمً األػّذح راد أثؼبد عذ‪٠‬ذح ‪m‬عطش ‪ n ٚ‬ػّ‪ٛ‬د ‪ٌ ٚ,‬ىٓ إرا ٌُ ‪٠‬ىٓ ػذد ػٕبطش اٌّظف‪ٛ‬فخ ‪A‬‬
‫‪٠‬غب‪ m*n ٞٚ‬ع‪١‬ؾذس خطأ ‪ ,‬وّب ‪ّ٠‬ىٕٕب ػًّ ِظف‪ٛ‬فخ راد صالصخ أثؼبد ‪ ٚ‬رٌه ثىزبثخ‬
‫)] ‪. B=reshape(A,[m n p‬‬

‫‪- 40 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثال ‪: 20-2‬‬
‫)‪>> m=magic(5‬‬ ‫)‪>> l=tril(m,2‬‬
‫=‪m‬‬ ‫=‪l‬‬
‫‪17 24 1 8 15‬‬ ‫‪17 24 1 0 0‬‬
‫‪23 5 7 14 16‬‬ ‫‪23 5 7 14 0‬‬
‫‪4 6 13 20 22‬‬ ‫‪4 6 13 20 22‬‬
‫‪10 12 19 21 3‬‬ ‫‪10 12 19 21 3‬‬
‫‪11 18 25 2 9‬‬ ‫‪11 18 25 2 9‬‬
‫)‪>> fliplr(m‬‬ ‫] ‪>> a=[1 2 ; 3 4‬‬
‫= ‪ans‬‬ ‫=‪a‬‬
‫‪15 8 1 24 17‬‬ ‫‪1 2‬‬
‫‪16 14 7 5 23‬‬ ‫‪3 4‬‬
‫‪22 20 13 6 4‬‬ ‫)‪>> r=repmat(a,3,2‬‬
‫‪3 21 19 12 10‬‬ ‫=‪r‬‬
‫‪9 2 25 18 11‬‬ ‫‪1 2 1 2‬‬
‫)‪>> flipud(m‬‬ ‫‪3 4 3 4‬‬
‫= ‪ans‬‬ ‫‪1 2 1 2‬‬
‫‪11 18 25 2 9‬‬ ‫‪3 4 3 4‬‬
‫‪10 12 19 21 3‬‬ ‫‪1 2 1 2‬‬
‫‪4 6 13 20 22‬‬ ‫‪3 4 3 4‬‬
‫‪23 5 7 14 16‬‬ ‫)‪>> s=reshape(r,8,3‬‬
‫‪17 24 1 8 15‬‬ ‫=‪s‬‬
‫)‪>> rot90(m‬‬ ‫‪1 2 1‬‬
‫= ‪ans‬‬ ‫‪3 4 3‬‬
‫‪15 16 22 3 9‬‬ ‫‪1 2 2‬‬
‫‪8 14 20 21 2‬‬ ‫‪3 4 4‬‬
‫‪1 7 13 19 25‬‬ ‫‪1 1 2‬‬
‫‪24 5 6 12 18‬‬ ‫‪3 3 4‬‬
‫‪17 23 4 10 11‬‬ ‫‪2 1 2‬‬
‫)‪>> u=triu(m‬‬ ‫‪4 3 4‬‬
‫=‪u‬‬ ‫>>‬
‫‪17 24 1 8 15‬‬
‫‪0 5 7 14 16‬‬
‫‪0 0 13 20 22‬‬
‫‪0 0 0 21 3‬‬
‫‪0 0 0 0 9‬‬

‫شاهد الحلقة الرابعة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 41 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 6 . 2‬انمصفىفح متعذدج األتعاد ‪:‬‬


‫‪Multidimensional Matrix :‬‬
‫وً اٌّظف‪ٛ‬فبد اٌز‪ ٟ‬رؼبٍِٕب ِؼ‪ٙ‬ب ف‪ّ١‬ب عجك وبٔذ راد ثؼذ‪ ( ٓ٠‬أعطش ‪ ٚ‬أػّذح ) ‪ٌ ٚ‬ىٓ ِبرا إْ‬
‫وبْ ٌٍّظف‪ٛ‬فخ ثؼذ صبٌش ؟! ٌه أْ رزخ‪ ً١‬رٌه فبٌّبرالة ‪ّ٠‬ىٕٕب ِٓ إٔشبء اٌّظف‪ٛ‬فبد صالصخ األثؼبد‬
‫‪ ٚ‬اٌزؼبًِ ِؼ‪ٙ‬ب ‪ٌ ٚ ,‬ىٓ لجً اٌجذء ثّؼبٌغخ ٘زا إٌ‪ٛ‬ع ِٓ اٌّظف‪ٛ‬فبد أ‪ٚ‬د اٌزٕ‪ٌٍ ٗ٠ٛ‬فىشح أ‪ ٚ‬اٌؾبعخ‬
‫ِٓ ِضً ٘زٖ ِظف‪ٛ‬فبد ‪ ٚ‬رٌه ِٓ خالي اٌّضبٌ‪ ٓ١‬اٌزبٌ‪: ٓ١١‬‬

‫‪ -‬اٌّضبي األ‪ٚ‬ي ‪ :‬ف‪ ٟ‬غشفخ ِب ‪ٛ٠‬عذ ِى‪١‬ف ‪ ٚ‬إرا أسدٔب ِؼشفخ دسعخ اٌؾشاسح ف‪ٔ ٟ‬مطخ ِب‬
‫‪zٚx‬‬ ‫ِٓ فشاؽ اٌغشفخ ٔؾزبط صالصخ إؽذاص‪١‬بد ؽ‪١‬ش ٔم‪ َٛ‬ثزخض‪ ٓ٠‬إؽذائ‪١‬بد اٌّؾ‪ٛ‬س‪ٓ٠‬‬
‫ِضالً ف‪ِ ٟ‬ظف‪ٛ‬فخ ‪ ٚ‬اٌجؼذ اٌضبٌش ٔخضٔٗ ف‪ ٟ‬اٌجؼذ اٌضبٌش ٌٍّظف‪ٛ‬فخ ‪. y ٛ٘ ٚ‬‬
‫‪ -‬اٌّضبي اٌضبٔ‪ : ٟ‬رؾ‪ ٞٛ‬اٌظ‪ٛ‬سح اٌشلّ‪١‬خ ػٍ‪ ٝ‬ثىغالد ‪ ٚ‬وً ثىغً ِّضً ثضالص‪١‬خ ‪ٚ RGB‬‬
‫ٌزّض‪ ً١‬اٌظ‪ٛ‬سح اٌشلّ‪١‬خ ف‪ ٟ‬اٌّبرالة ٔؾزبط ِظف‪ٛ‬فخ أثؼبد٘ب اٌجؼذ األ‪ٚ‬ي ٘‪ ٛ‬ػذد‬
‫اٌجىغالد ف‪ ٟ‬ؽ‪ٛ‬ي اٌظ‪ٛ‬سح ‪ ٚ‬اٌجؼذ اٌضبٔ‪ ٛ٘ ٟ‬ػذد اٌجىغالد ف‪ ٟ‬ػشع اٌظ‪ٛ‬سح ‪ٚ‬‬
‫ٔؾزبط ‪ٌٍ 3‬جؼذ اٌضبٌش ‪ٌ ٛ٘ ٚ‬زخض‪ ٓ٠‬ل‪ RGB ُ١‬وّب ٘‪ِٛ ٛ‬ػؼ ثبٌشىً اٌزبٌ‪: ٟ‬‬

‫انشكم ‪ : 5-2‬انمصفىفح ثالثُح انثعذ انممثهح نهصىرج انزقمُح فٍ انماتالب ‪.‬‬

‫إلٔشبء اٌّظف‪ٛ‬فخ صالص‪١‬خ اٌجؼذ ٔىزت ِضالً ‪:‬‬

‫مثال ‪: 21-2‬‬
‫;]‪>> triM(:,:,1)=[2 4 6 ; 1 9 6‬‬ ‫= )‪triM(:,:,2‬‬
‫;]‪>> triM(:,:,2)=[0 1 7 ; 2 8 3‬‬ ‫‪0 1 7‬‬
‫‪>>triM‬‬ ‫‪2 8 3‬‬
‫= )‪>>triM(:,:,1‬‬ ‫)‪>> ndims(triM‬‬
‫‪2 4 6‬‬ ‫= ‪ans‬‬
‫‪1 9 6‬‬ ‫‪3‬‬

‫‪- 42 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫وّب ‪ّ٠‬ىٕٕب إٔشبء اٌّظف‪ٛ‬فخ صالص‪١‬خ اٌجؼذ ثبعزخذاَ أ‪ ِٓ ٞ‬اٌز‪ٛ‬اثغ اٌغب٘ضح اٌز‪ ٟ‬اعزخذِٕب٘ب‬
‫إلٔشبء اٌّظف‪ٛ‬فخ اٌؼبد‪٠‬خ ثئػبفخ ل‪ّ١‬خ ٌٍجؼذ اٌضبٌش ‪ّ٠ ٚ ,‬ىٕٕب رطج‪١‬ك عّ‪١‬غ اٌز‪ٛ‬اثغ ‪ ٚ‬اٌؼٍّ‪١‬بد‬
‫ػٍ‪ ٝ‬اٌّظف‪ٛ‬فبد صالص‪١‬خ اٌجؼذ ‪:‬‬

‫مثال ‪: 22-2‬‬
‫)‪>> r=randn(2,2,2‬‬ ‫= )‪u(:,:,2‬‬
‫= )‪r(:,:,1‬‬ ‫‪-2 0‬‬
‫‪1.4384 -0.7549‬‬ ‫‪0 0‬‬
‫‪0.3252 1.3703‬‬ ‫‪>> t=u+10‬‬
‫= )‪r(:,:,2‬‬ ‫= )‪t(:,:,1‬‬
‫‪-1.7115 -0.2414‬‬ ‫‪11 9‬‬
‫‪-0.1022 0.3192‬‬ ‫‪10 11‬‬
‫)‪>> u=round(r‬‬ ‫= )‪t(:,:,2‬‬
‫= )‪u(:,:,1‬‬ ‫‪8 10‬‬
‫‪1 -1‬‬ ‫‪10 10‬‬
‫‪0 1‬‬ ‫>>‬

‫‪ ) 7 . 2‬مصفىفح األحزف ‪:‬‬


‫‪character array :‬‬

‫وّب ػشفٕب اٌــ ‪ array‬ف‪ ٟ‬ثذا‪٠‬خ ٘زا اٌفظً فئٔ‪ٙ‬ب ِغّ‪ٛ‬ػخ ِٓ األش‪١‬بء ِشرجخ ثشىً ِٕبعت ‪ٚ‬‬
‫ٔغزط‪١‬غ اإلشبسح إٌ‪ٙ١‬ب ثّؤشش أ‪ ٚ‬أوضش ‪ٚ‬وّب لٍٕب ثأْ اٌّظف‪ٛ‬فخ ‪ array ٟ٘ Matrix‬رؾ‪ ٞٛ‬أسلبَ‬
‫فئْ اٌغٍغخ ‪ array ٟ٘ String‬رؾ‪ ٞٛ‬أؽشف ‪ ٚ‬أسلبَ ( اٌشلُ شىالً ‪١ٌ ٚ‬ظ ل‪ّ١‬خً ) ‪ ٚ‬سِ‪ٛ‬ص ‪ٚ ,‬‬
‫٘زا ِب ٔذػ‪ ٖٛ‬ف‪ ٟ‬اٌّبرالة ثــ ‪. character Array‬‬

‫نقوم بإنشاء مصفوفة محارف بكتابة ‪:‬‬

‫' ‪ S=' text‬‬


‫‪ ٚ‬ثزٌه رى‪ ٟ٘ S ْٛ‬عٍغٍخ رؾ‪ 4 ٞٛ‬أؽشف ٘‪ ٚ t ٚ xٚ e ٚ t ٟ‬ف‪ّ١‬ب ‪ ٍٟ٠‬ثؼغ اٌز‪ٛ‬اثغ اٌز‪ٟ‬‬
‫رغبػذٔب ف‪ ٟ‬اٌزؼبًِ ِغ اٌغالعً ‪:‬‬

‫)‪ S=blank(n‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء عٍغٍخ رؾز‪ ٞٛ‬ػٍ‪ ٝ‬فشاغبد ػذد٘ب ‪. n‬‬

‫)‪ S=deblank(S‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثؾزف وً اٌفشاغبد ف‪ٙٔ ٟ‬ب‪٠‬خ اٌغٍغٍخ ‪. S‬‬

‫)‪ S=strtrim(S‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثؾزف وً اٌفشاغبد ف‪ ٟ‬ثذا‪٠‬خ ‪ٙٔ ٚ‬ب‪٠‬خ اٌغٍغٍخ ‪. S‬‬

‫‪- 43 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪ S= lower(S‬‬
‫‪٠‬م‪ َٛ‬ثزؾ‪ ً٠ٛ‬عّ‪١‬غ األؽشف ف‪ ٟ‬اٌغٍغٍخ ‪ S‬إٌ‪ ٝ‬ؽبٌخ األؽشف اٌظغ‪١‬شح ‪.‬‬

‫)‪ S= upper(S‬‬
‫‪٠‬م‪ َٛ‬ثزؾ‪ ً٠ٛ‬عّ‪١‬غ األؽشف ف‪ ٟ‬اٌغٍغٍخ ‪ S‬إٌ‪ ٝ‬ؽبٌخ األؽشف اٌىج‪١‬شح ‪.‬‬

‫)‪ TF= ischar(S‬‬


‫‪٠‬م‪ َٛ‬ثفؾض ‪٠ ٚ S‬ؾذد ف‪ّ١‬ب إرا وبٔذ عٍغٍخ أَ ‪.‬‬

‫)‪ TF= isletter(S‬‬


‫‪٠‬م‪ َٛ‬ثفؾض وً ِؾشف ِٓ اٌغٍغٍخ ‪٠ ٚ S‬ؾذد ف‪ّ١‬ب إرا وبْ ؽشف أ‪ ٚ‬غ‪١‬شٖ ‪ٚ ,‬ع‪١‬ؼ‪١‬ذ ِظف‪ٛ‬فخ‬
‫ثٕفظ أثؼبد ‪ِ ٚ s‬ىبْ وً ؽشف ‪ِٕ 1‬طم‪ ٚ ٟ‬غ‪١‬شٖ ‪ِٕ 0‬طم‪. ٟ‬‬

‫)‪ TF= isspace(S‬‬


‫‪٠‬م‪ َٛ‬ثفؾض وً ِؾشف ِٓ اٌغٍغٍخ ‪٠ ٚ S‬ؾذد ف‪ّ١‬ب إرا وبْ فشاؽ أ‪ ٚ‬غ‪١‬شٖ ‪ٚ ,‬ع‪١‬ؼ‪١‬ذ ِظف‪ٛ‬فخ‬
‫ثٕفظ أثؼبد ‪ِ ٚ s‬ىبْ وً فشاؽ ‪ِٕ 1‬طم‪ ٚ ٟ‬غ‪١‬شٖ ‪ِٕ 0‬طم‪. ٟ‬‬

‫)‪ c=char(x‬‬
‫‪ٞ‬ل‪٘ َٛ‬زا اٌزبثغ ثزؾ‪ x ً٠ٛ‬اٌشلُ ف‪ ٟ‬ش‪١‬فشح اٌــ ‪ ASCI‬إٌ‪ ٝ‬اٌّؾشف اٌز‪٠ ٞ‬مبثٍٗ ‪ ٚ ,‬اٌزبثغ اٌّؼبوظ‬
‫ٌٗ ٘‪x=double(c) ٛ‬‬

‫)‪ TF= strcmp(s1,s2‬‬


‫‪٠‬م‪ َٛ‬ثفؾض اٌغٍغٍز‪٠ ٚ s2 ٚ s1 ٓ١‬ؼ‪١‬ذ ‪ِٕ 1‬طم‪ ٟ‬إرا وبٔزب ِزطبثمز‪ ٓ١‬ثغغ إٌظش ػٓ ؽبٌخ‬
‫األؽشف ‪ٕ٘ ٚ ,‬بن أشىبي أخش‪ٌٍ ٜ‬زبثغ ِضً )‪ TF=strcmpi(s1,s2‬ؽ‪١‬ش ‪ٕ٠‬ظش ٘زا اٌزبثغ ٌؾبٌخ‬
‫ألؽشف ‪.‬‬

‫)'‪ s= strrep(s,'old part','new part‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثبعزجذاي لغُ ِٓ اٌغٍغٍخ ‪٠ ٚ old part ٛ٘ ٚ s‬غزجذٌٗ ثبٌمغُ اٌغذ‪٠‬ذ ‪new part‬‬
‫‪٠ ٚ‬غٕذ اٌغٍغٍخ اٌغذ‪٠‬ذح إٌ‪. s ٝ‬‬

‫) ‪ str= sprintf(format_spec , A1 , … , An‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ اٌ‪ٙ‬بَ ثزؾ‪ ً٠ٛ‬اٌج‪١‬بٔبد إٌ‪ ٝ‬شىً عٍغٍخ ‪ ٚ‬رٌه ؽغت اٌّؾذد ‪ format_spec‬و‬
‫تعيد الناتج بترتيب في األعمدة إلى السلسلة ‪. str‬‬

‫مثال ‪: 23-2‬‬
‫' ‪>> s='hi i''m engineer‬‬ ‫))‪>> isspace(s(3‬‬
‫=‪s‬‬ ‫= ‪ans‬‬
‫‪hi i'm engineer‬‬ ‫‪1‬‬
‫))‪>> s(4)=upper(s(4‬‬ ‫'‪>> a='hi hello‬‬
‫=‪s‬‬ ‫=‪a‬‬
‫‪hi I'm engineer‬‬ ‫‪hi hello‬‬
‫)‪>> b=blanks(3‬‬ ‫) '‪>> b=strcat( 'hi' , ' Hello‬‬

‫‪- 44 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫=‪b‬‬ ‫=‪b‬‬
‫‪hi Hello‬‬
‫]‪>> s=[s,b‬‬ ‫)‪>> strcmp(a,b‬‬
‫=‪s‬‬ ‫= ‪ans‬‬
‫‪hi I'm engineer‬‬ ‫‪0‬‬
‫)‪>> numel(s‬‬ ‫)‪>> strcmpi(a,b‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪19‬‬ ‫‪1‬‬
‫)‪>> s=strtrim(s‬‬ ‫; )‪>> A1=2 ;A2=round(pi‬‬
‫=‪s‬‬ ‫; ‪A3=1/eps‬‬
‫‪hi I'm engineer‬‬ ‫‪>> str=sprintf('%3d , %f ,‬‬
‫)‪>> numel(s‬‬ ‫)‪%e',A1,A2,A3‬‬
‫= ‪ans‬‬ ‫= ‪str‬‬
‫‪15‬‬ ‫‪2 , 3.000000 , 4.503600e+15‬‬
‫))‪>> isletter(s(3‬‬ ‫)'‪>>b=strrep(b,'ello','i‬‬
‫= ‪ans‬‬ ‫=‪b‬‬
‫‪0‬‬ ‫‪hi hi‬‬

‫‪ ) 8 . 2‬مصفىفح انخالَا ‪:‬‬


‫‪Cell Array :‬‬

‫أِب اٌــ ‪ cell Array‬ف‪ِ array ٟٙ‬زؼذدح األثؼبد رؾز‪ ٞٛ‬ػٍ‪ِ ٝ‬غّ‪ٛ‬ػخ ِٓ اٌخال‪٠‬ب ‪ ٚ‬لذ‬
‫رى‪٘ ْٛ‬زٖ اٌخٍ‪١‬خ ٘‪ ٟ‬عٍغٍخ أ‪ِ ٚ‬ظف‪ٛ‬فخ أسلبَ ‪ ,‬و بالنسبة لمصفوفة الخاليا فنستطيع إنشائها‬
‫بكتابة مثالً ‪:‬‬

‫} ][ ‪c={ rand(1,3) , 'hello' , 13*pi ; 'MatLab' , [1:7] ,‬‬

‫ػبء اٌؼًّ ٔغذ أْ‬ ‫ؽ‪١‬ش ٔالؽظ إٔٔب ٔغزخذَ ٕ٘ب أل‪ٛ‬اط اٌّغّ‪ٛ‬ػخ }{ ‪ ٚ‬إرا ِب الؽظٕب ٔبفزح ف‬
‫سِض اٌّزغ‪١‬ش ‪٠ ٛ٘ ٚ {} : ٛ٘ c‬ذي ػٍ‪ ٝ‬أْ ‪ٔ ٚ , Cell Array ٟ٘ c‬غزخذَ ٘زٖ األل‪ٛ‬اط‬
‫أ‪٠‬ؼب ً ٌف‪ٙ‬شعخ ِظف‪ٛ‬فخ اٌخال‪٠‬ب وّب عٕالؽظ الؽمب ً ‪ ٚ ,‬ث‪ّٕ١‬ب ٔغزخذَ اٌّظف‪ٛ‬فخ ِزؼذدح األثؼبد‬
‫ٌزخض‪ ٓ٠‬عٍغٍخ ِٓ اٌّظف‪ٛ‬فبد راد ٔفظ اٌجؼذ فئٕٔب ٔغزط‪١‬غ ث‪ٛ‬اعطخ ِظف‪ٛ‬فخ اٌخال‪٠‬ب رخض‪ٓ٠‬‬
‫عٍغٍخ ِٓ اٌّظف‪ٛ‬فبد راد أثؼبد ِخزٍفخ ‪ ٚ ,‬ف‪ّ١‬ب ‪ٔ ٍٟ٠‬غزؼشع ثؼغ اٌز‪ٛ‬اثغ اٌز‪ ٟ‬رغبػذٔب ػٍ‪ٝ‬‬
‫اٌزؼبًِ ِغ ِظف‪ٛ‬فبد اٌخال‪٠‬ب ‪:‬‬

‫)‪ c=cell(dim‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثئٔشبء ِظف‪ٛ‬فخ خال‪٠‬ب فبسغخ ِشثؼخ ‪ٚ‬ثؼذ٘ب ‪ّ٠ ٚ dim‬ىٕٕب إػبفخ ‪ ٚ‬رؾذ‪٠‬ذ األثؼبد‬

‫)‪ m=cell2mat(c‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثزؾ‪ِ ً٠ٛ‬ظف‪ٛ‬فخ اٌخال‪٠‬ب إٌ‪ِ ٝ‬ظف‪ٛ‬فخ أػذاد أ‪ِ ٚ‬ظف‪ٛ‬فخ ِؾبسف ثؾغت ِؾز‪٠ٛ‬بد‬
‫‪٠ ٚ c‬شزشؽ أْ رى‪ ْٛ‬عّ‪١‬غ خال‪٠‬ب ‪ٔ ِٓ c‬فظ إٌ‪ٛ‬ع ‪ ٚ ,‬اٌزبثغ اٌّؼبوظ ٘‪. c=mat2cell(m) ٛ‬‬

‫‪- 45 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪ celldisp(c‬‬
‫‪ُ٠‬غزخذَ ٘زا اٌزبثغ ٌؼشع وً ِؾز‪٠ٛ‬بد ِظف‪ٛ‬فخ اٌخال‪٠‬ب ‪ c‬ؽ‪١‬ش ال ‪ّ٠‬ىٕٕب ػشع اٌّؾز‪٠ٛ‬بد‬
‫ثىزبثخ اعُ ِظف‪ٛ‬فخ اٌخال‪٠‬ب وّب وٕب ٔفؼً ِغ اٌّظف‪ٛ‬فبد اٌؼبد‪٠‬خ ‪.‬‬

‫)‪ cellplot(c‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ اٌجغ‪١‬ؾ ثئػطبئٕب شىً ر‪ٛ‬ػ‪١‬ؾ‪ٌّ ٟ‬ؾز‪٠ٛ‬بد ِظف‪ٛ‬فخ اٌخال‪٠‬ب ‪.‬‬

‫)‪ TF=iscell(c‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفؾض ‪٠ ٚ c‬ؾذد ف‪ّ١‬ب إرا وبٔذ ِظف‪ٛ‬فخ خال‪٠‬ب أ‪ ٚ‬ال ‪.‬‬

‫مثال ‪: 24-2‬‬
‫)‪>> c=cell(1,3‬‬ ‫][=}‪>> c{1,2‬‬
‫=‪c‬‬ ‫=‪c‬‬
‫][ ][ ][‬ ‫]‪[2x2 double‬‬ ‫][‬
‫)‪>> iscell(c‬‬ ‫]‪[ 3.1416] [1x2 double‬‬
‫= ‪ans‬‬ ‫))}‪>> max(max(c{1,1‬‬
‫‪1‬‬ ‫= ‪ans‬‬
‫;'‪>> a=magic(2);b=prod(a);s1='hi‬‬ ‫‪4‬‬
‫; }‪>> c={ a , s1 ; pi , b‬‬ ‫}'‪>> c1={ a , b‬‬
‫)‪>> celldisp(c‬‬ ‫= ‪c1‬‬
‫= }‪c{1,1‬‬ ‫]‪[2x2 double] [2x1 double‬‬
‫‪1 3‬‬ ‫)‪>> cell2mat(c1‬‬
‫‪4 2‬‬ ‫= ‪ans‬‬
‫= }‪c{2,1‬‬ ‫‪1 3 4‬‬
‫‪3.1416‬‬ ‫‪4 2 6‬‬
‫= }‪c{1,2‬‬ ‫)‪>> cellplot(c‬‬
‫‪hi‬‬ ‫>>‬
‫= }‪c{2,2‬‬
‫‪4 6‬‬

‫‪- 46 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 9 – 2‬مصفىفح انتزاكُة‬
‫‪structure array creation :‬‬
‫ٌ‪١‬غذ اٌّظف‪ٛ‬فبد ‪ ٚ‬األشؼخ ٘‪ ٟ‬اٌطش‪٠‬مخ اٌز‪ّ٠ ٟ‬ىٕٕب اٌّبرالة ِٓ خالٌ‪ٙ‬ب ث‪ٛ‬ػغ اٌج‪١‬بٔبد ِغزّؼخ‬
‫ِغ ثؼؼ‪ٙ‬ب اٌجؼغ ثً ٕ٘بن ِظف‪ٛ‬فخ اٌخال‪٠‬ب وّب سئ‪ٕ١‬ب ف‪ ٟ‬ثذا‪٠‬خ ٘زا اٌفظً ‪ٌ ٚ‬ىٓ ِظف‪ٛ‬فخ‬
‫اٌخال‪٠‬ب ثبٌشغُ ِٓ أٔ‪ٙ‬ب رؾ‪ ٞٛ‬ث‪١‬بٔبد ِٓ أٔ‪ٛ‬اع ِخزٍفخ عالعً ٔظ‪١‬خ ‪ ٚ‬أسلبَ فئٔٗ ال ‪ٛ٠‬عذ أ‪ٞ‬‬
‫ساثؾ ث‪٘ ٓ١‬زٖ اٌخال‪٠‬ب ‪ ٚ‬اٌج‪١‬بٔبد ‪ ٚ ,‬اٌجٕ‪١‬خ اٌز‪ ٟ‬عٕزؾذس ػٕ‪ٙ‬ب ف‪٘ ٟ‬زا اٌمغُ ٘‪ ٟ‬شج‪ٙ١‬خ ثزٍه اٌز‪ٟ‬‬
‫رض‪ٚ‬دٔب ث‪ٙ‬ب ٌغخ اٌجشِغخ ‪ ٚ c‬غ‪١‬ش٘ب ‪ structure Array ٟ٘ٚ‬أ‪ِ ٞ‬ظف‪ٛ‬فخ ِٓ اٌزشاو‪١‬ت ‪ ٚ‬ثّب‬
‫أٔ‪ٙ‬ب ِظف‪ٛ‬فخ فئٔ‪ٙ‬ب رؾ‪ ٞٛ‬أػّذح ‪ ٚ‬طف‪ٛ‬ف ‪ٌٕ ,‬ذػ‪ ٛ‬األػّذح ٕ٘ب ثبٌؾم‪ٛ‬ي ‪ ٚ‬اٌظف‪ٛ‬ف ثبٌغغالد ‪ٚ‬‬
‫ثبٌزبٌ‪ٔ ٟ‬غذ أٔٗ رشجٗ إٌ‪ ٝ‬ؽذ ِب ‪ٚ‬سلخ ػًّ ثشٔبِظ ‪... accel‬‬

‫تىاء مصفىفح انتزاكُة ‪:‬‬

‫‪ّ٠‬ىٕٕب ثٕبء ِظف‪ٛ‬فخ اٌزشاو‪١‬ت وّب ‪ ٍٟ٠‬ثبعزخذاَ اٌزبثغ ‪:‬‬

‫)…… ‪ s=struct('fildname_1' , value1 , 'fieldname_2' , value2 ,‬‬


‫ؽ‪١‬ش ‪٠‬م‪٘ َٛ‬زا اٌزبثغ ‪٠‬م‪ َٛ‬ثجٕبء ِظف‪ٛ‬فخ رشاو‪١‬ت رؾ‪ ٞٛ‬ػذد ِٓ اٌؾم‪ٛ‬ي ( األػّذح ) ثبألعّبء‬
‫اٌّؼطبح ػّٓ إشبساد اٌزٕظ‪١‬ض ‪ ٚ‬ل‪٘ ُ١‬زٖ اٌؾم‪ٛ‬ي ٘‪ ٟ‬اٌــ ‪ value‬اٌّ‪ٛ‬افمخ ‪.‬‬

‫مثال ‪: 25-2‬‬
‫;) ][ ‪>> s=struct('name' , [] , 'age' , [] , 'study' ,‬‬
‫ٌمذ لّذ ف‪ ٟ‬اٌّضبي اٌغبثك ثئٔشبء ِظف‪ٛ‬فخ رشاو‪١‬ت رؾ‪ ٞٛ‬صالصخ ؽم‪ٛ‬ي ٘‪ ٟ‬االعُ ‪ ٚ‬اٌؼّش ‪ٚ‬‬
‫اٌذساعخ ‪ ٚ‬رشوذ ل‪ّ١‬خ اٌؾم‪ٛ‬ي فبسغخ ٌٕم‪ َٛ‬ثٍّئ‪ٙ‬ب ف‪ ٟ‬اٌّضبي اٌزبٌ‪: ٟ‬‬

‫مثال ‪: 26-2‬‬
‫;'‪>> s(1).name='ahmad' ; s(2).name='mohammad‬‬
‫;‪s(1).age=20 ; s(2).age=18‬‬
‫;'‪s(1).study='art' ; s(2).study='computer‬‬
‫ٔغذ ِٓ اٌّضبي اٌغبثك أٔٗ أطجؼ ٌذ‪ٕ٠‬ب عغٍ‪ ( ٓ١‬طف‪ ) ٓ١‬ف‪ِ ٟ‬ظف‪ٛ‬فخ اٌزشاو‪١‬ت ‪ّ٠ ٚ , s‬ىٓ أْ‬
‫وضُف سجم كامم مه خالل انتاتع ‪ struct‬كما َهٍ ‪:‬‬

‫) '‪s(record_number)= struct('name' , 'fahd' , 'age' , 26 , ' study' , 'sport‬‬

‫نعزض محتىَاخ مصفىفح انتزاكُة وكتة تحسة ما وزَذ أن َظهز نىا ‪:‬‬

‫‪ -‬إرا أسدٔب ػشع ِؾز‪٠ٛ‬بد ؽمً وبًِ ٔىزت ‪:‬‬


‫‪structure_array_name . field_name‬‬
‫‪ -‬إرا أسدٔب ػشع ِؾز‪٠ٛ‬بد عغً ثأوٍّٗ ٔىزت ‪:‬‬
‫) ‪structure_array_name( record_number‬‬
‫‪ -‬إرا أسدٔب ػشع ِؾز‪ ٜٛ‬رمبؽغ عغً ‪ ٚ‬ؽمً ٔىزت ‪:‬‬
‫‪structure_array_name( record_number ) . field_name‬‬

‫‪- 47 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: 27-2 ‫مثال‬
>> s >> s(1)
s= ans =
1x2 struct array with fields: name: 'ahmad'
name age: 20
age study: 'art'
study >> s(2)
>> s.name ans =
ans = name: 'mohammad'
ahmad age: 18
ans = study: 'computer'
mohammad >> s(2).age
>> s.age ans =
ans = 18
20 >>
ans =
18
>> s.study
ans =
art
ans =
computer
ٗ‫ػؾ‬ٛ٠ ‫ب وّب‬٠‫فخ خال‬ٛ‫ ِظف‬ٚ‫ عٍغٍخ أ‬ٚ‫بد اٌؾمً ػّٓ شؼبع أ‬٠ٛ‫ػغ ِؾز‬ٚ ‫ّىٕٕب‬٠ ‫وّب‬
: ٌٟ‫اٌّضبي اٌزب‬

: 28-2 ‫مثال‬
>> a=[s.age] >> ischar(str)
a= ans =
20 18 1
>> isvector(a) >> c={s.study}
ans = c=
1 'art' 'computer'
>> str=[s.name] >> iscell(c)
str = ans =
ahmadmohammad 1
: ‫ت‬١‫فخ اٌزشاو‬ٛ‫ب ِغ ِظف‬ِٙ‫ لذ ٔغزخذ‬ٟ‫اثغ اٌز‬ٛ‫ ٔؼشع ثؼغ اٌز‬ٍٟ٠ ‫ّب‬١‫ ف‬ٚ

 isstruct(s)
. ٟ‫ ِٕطم‬0 ٚ‫ أ‬1 ‫ذ‬١‫ؼ‬١‫ ع‬ٌٟ‫ ثبٌزب‬ٚ ‫ ال‬ٚ‫ت أ‬١‫فخ رشاو‬ٛ‫ ِظف‬ٟ٘ s ‫ذ فّب إرا وبٔذ‬٠‫رؾذ‬

 isfield (s,'fieldname' )
0 ٚ‫ أ‬1 ‫ذ‬١‫ؼ‬١‫ ع‬ٌٟ‫ ثبٌزب‬ٚ ‫ ال‬ٚ‫ أ‬s ‫ت‬١‫فخ اٌزشاو‬ٛ‫ ؽمً ِٓ ِظف‬ٛ٘ field ً‫ذ فّب إرا وبْ اٌؾم‬٠‫رؾذ‬
. ٟ‫ِٕطم‬

- 48 -
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ names= fieldnames ( S‬‬


‫‪٠‬ؼ‪١‬ذ ِظف‪ٛ‬فخ خالثب رؾ‪ ٞٛ‬أعّبء اٌؾم‪ٛ‬ي ‪.‬‬

‫‪ s=orderfields (s).‬‬


‫‪٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ٔغخخ ػٓ ِظف‪ٛ‬فخ اٌزشاو‪١‬ت ‪ s‬راد أػّذح ِشرجخ ؽغت رشر‪١‬ت ش‪١‬فشح األعى‪, ٟ‬‬
‫ٕ٘بن أشىبي أخش‪ٌٍ ٜ‬زبثغ ‪:‬‬

‫) ‪o s=orderfields (s1 , s2‬‬


‫‪٠‬م‪ َٛ‬ثزشر‪١‬ت ؽم‪ٛ‬ي ‪ s1‬وّب ٘‪ ٛ‬رشر‪١‬ت ؽم‪ٛ‬ي ‪ s2‬ثششؽ أْ رؾ‪ ٞٛ‬وً ِٓ ‪ٔ s2 ٚ s1‬فظ أعّبء‬
‫اٌؾم‪ٛ‬ي ‪.‬‬

‫) ‪ rmfield (s , field‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثؾزف اٌؾمً ‪ِ ِٓ field‬ظف‪ٛ‬فخ اٌزشاو‪١‬ت ‪. s‬‬

‫)‪ cell2struct(c , fields , dim‬‬


‫‪٠‬ؾ‪ٛ‬ي ِظف‪ٛ‬فخ اٌخال‪٠‬ب ‪ c‬إٌ‪ِ ٝ‬ظف‪ٛ‬فخ رشاو‪١‬ت ‪ ٚ‬أعّبء اٌؾم‪ٛ‬ي ٘‪ field ٟ‬ؽ‪١‬ش ٔىزج‪ٙ‬ب ػٍ‪ ٝ‬شىً‬
‫‪ ٛ٘ dim‬أ‪ِ ٞ‬ؾ‪ٛ‬س ِٓ‬ ‫ِظف‪ٛ‬فخ ِؾبسف أ‪ِ ٚ‬ظف‪ٛ‬فخ خال‪٠‬ب ِى‪ٔٛ‬خ ِٓ ػذد ِٓ اٌغالعً ‪ٚ‬‬
‫ِؾب‪ٚ‬س ِظف‪ٛ‬فخ اٌخال‪٠‬ب ع‪١‬غزخذِٗ اٌّبرالة إلٔشبء ِظف‪ٛ‬فخ اٌزشاو‪١‬ت ‪ ٚ‬اٌزبثغ اٌّؼبوظ ٌٗ ٘‪ٛ‬‬
‫)‪. c=struct2cell(s‬‬

‫مثال ‪: 29-2‬‬
‫)‪>> names=fieldnames(s‬‬ ‫)‪>> cellplot(c‬‬
‫= ‪names‬‬
‫'‪'name‬‬
‫'‪'age‬‬
‫'‪'study‬‬
‫)‪>> s=orderfields(s‬‬
‫=‪s‬‬
‫‪1x2 struct array with fields:‬‬
‫‪age‬‬
‫‪name‬‬
‫‪study‬‬
‫)'‪>> s=rmfield(s,'study‬‬
‫=‪s‬‬
‫‪1x2 struct array with fields:‬‬
‫‪age‬‬
‫‪name‬‬
‫)‪>> c=struct2cell(s‬‬
‫= )‪c(:,:,1‬‬
‫]‪[20‬‬
‫'‪'ahmad‬‬
‫= )‪c(:,:,2‬‬ ‫{‪>> ss=cell2struct(c,‬‬ ‫'‪'age‬‬ ‫‪,‬‬
‫]‪[18‬‬ ‫)‪'name'} , 1‬‬

‫‪- 49 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫'‪'mohammad‬‬ ‫= ‪ss‬‬
‫‪1x2 struct array with fields:‬‬
‫‪age‬‬
‫‪name‬‬
‫‪>> ss.name‬‬
‫= ‪ans‬‬
‫‪ahmad‬‬
‫= ‪ans‬‬
‫‪mohammad‬‬
‫>>‬

‫****نهاية الفصل****‬

‫شاهد الحلقة الخامسة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 50 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: ‫ ) تمارَه‬10 - 2
exercises :
: ‫ اٌّبرالة‬ٟ‫خ ف‬١ٌ‫ز وً ِٓ اٌؼجبساد اٌزب‬١‫ ٔبرظ رٕف‬ٛ٘ ‫ ِب‬- 1
a) zeros*ones
b) A=[3:7]'*[1:4]
c) I=[65:68]; H=char(I)
d) d=5; d*(ones(2,3))
e) r=4+ 6.* rand(1,10)
>> zeros*ones
ans =
0
>> A=[3:7]'*[1:4]
A=
3 6 9 12
4 8 12 16
5 10 15 20
6 12 18 24
7 14 21 28
>> I=[65:68];H=char(I)
H=
ABCD
>> d=5;d*(ones(2,3))
ans =
5 5 5
5 5 5
>> r=4+6.*rand(1,10)
r=
7.9344 4.2143 9.0948 9.6040 8.0724 8.5464 8.4588
6.3534 7.9329 5.0271
>>
: ‫ٕب‬٠‫ْ ٌذ‬ٛ‫ى‬٠ ‫ ػٕذِب‬- 2

>> m=magic(3)
m=
8 1 6
3 5 7
4 9 2
>> A=[1 2 ; 3 4 ]
A=
1 2
3 4

- 51 -
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫] ‪>> B=[ 5 6 ; 7 8‬‬


‫=‪B‬‬
‫‪5 6‬‬
‫‪7 8‬‬
‫))‪>> R=fix(randn(2,3‬‬
‫=‪R‬‬
‫‪0 3 -1‬‬
‫‪0 2 3‬‬
‫‪>> s=3‬‬
‫=‪s‬‬
‫‪3‬‬
‫] ‪>> v1=[3 5 7‬‬
‫= ‪v1‬‬
‫‪3 5 7‬‬
‫] ‪>> v2= [ 5 8 3‬‬
‫= ‪v2‬‬
‫‪5 8 3‬‬
‫>>‬
‫فّب ٘‪ٔ ٛ‬برظ اٌؼٍّ‪١‬بد اٌزبٌ‪١‬خ ف‪ ٟ‬اٌّبرالة ‪:‬‬
‫‪>> A+B >> A/B >>A.\s >>v1*v2' >>v1'*v2 >>m^s >>m.^s‬‬
‫>> ‪>> sqrt(v1) >>inv(A)*A‬‬

‫‪ - 3‬أٔشئ ِظف‪ٛ‬فخ ‪ ٚ 3x3‬لُ ثّب ‪ ٍٟ٠‬ثبٌزشر‪١‬ت ‪:‬‬


‫‪ .a‬ثذي ث‪ ٓ١‬اٌؼّ‪ٛ‬د اٌضبٔ‪ ٚ ٟ‬اٌضبٌش ‪.‬‬
‫‪ .b‬اعزجذي اٌؼٕبطش اٌز‪ ٟ‬أوجش ِٓ ‪ 3‬ثــ ‪. 0‬‬
‫‪ .c‬أػف عطش عذ‪٠‬ذ وً ػٕظش ف‪ِ ٛ٘ ٗ١‬غّ‪ٛ‬ع اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪.‬‬
‫‪ .d‬أػف ػّ‪ٛ‬د عذ‪٠‬ذ وً ػٕظش ف‪ ٛ٘ ٗ١‬أطغش ػٕبطش اٌغطش اٌّ‪ٛ‬افك ‪.‬‬
‫‪ .e‬أػف أوجش ػٕظش ف‪ ٟ‬اٌّظف‪ٛ‬فخ اٌغذ‪٠‬ذح وؼٕظش ِ‪ٛ‬لؼٗ ( ‪) 5,5‬‬
‫‪ .f‬أعؼً اٌؼّ‪ٛ‬د األ‪ٚ‬ي ‪٠‬ؾ‪ ٞٛ‬اٌشلُ ‪5‬‬
‫‪ .g‬اعّغ ٘زٖ اٌّظف‪ٛ‬فخ ِغ ِظف‪ٛ‬فخ عؾش‪٠‬خ ِٓ ٔفظ اٌّشرجخ ‪.‬‬
‫‪ .h‬لُ ثمٍت اٌّظف‪ٛ‬فخ سأع‪١‬ب ً‬

‫] ‪>> m=[3 8 1 ; 4 2 0 ; 2 1 1‬‬


‫=‪m‬‬
‫‪3 8 1‬‬
‫‪4 2 0‬‬
‫‪2 1 1‬‬
‫‪>> t=m(:,2) ; m(:,2)=m(:,3 ) ;m(:,3)=t; m‬‬
‫=‪m‬‬
‫‪3 1 8‬‬

‫‪- 52 -‬‬
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

4 0 2
2 1 1
>> m(4,:)=sum(m)
m=
3 1 8
4 0 2
2 1 1
9 2 11
>> m(:,4)=min(m,[],2)
m=
3 1 8 1
4 0 2 0
2 1 1 1
9 2 11 2
>> m(5,5)=max(max(m))
m=
3 1 8 1 0
4 0 2 0 0
2 1 1 1 0
9 2 11 2 0
0 0 0 0 11

>> m(:,1)=5*ones(5,1)
m=
5 1 8 1 0
5 0 2 0 0
5 1 1 1 0
5 2 11 2 0
5 0 0 0 11
>> n=m+magic(5)
n=
22 25 9 9 15
28 5 9 14 16
9 7 14 21 22
15 14 30 23 3
16 18 25 2 20
>> fliplr(n)
ans =
15 9 9 25 22
16 14 9 5 28
22 21 14 7 9
3 23 30 14 15
20 2 25 18 16
>>

- 53 -
‫الفصل الثاني‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫ ثــ‬ٟٙ‫ رٕز‬ٚ 33 ‫ ِؾشفب ً ٌٍطجبػخ رجذأ ثــ‬95 ِٓ ْٛ‫ رزى‬ASCI ‫فشح اٌــ‬١‫ إرا ػٍّذ ثأْ ش‬- 4
. ً ‫ب‬٠‫ عذ ػشش‬ٚ ً ‫ب‬٠‫ب ػشش‬ٍٙ‫مبث‬٠ ‫ ِب‬ASCI ‫فشح اٌــ‬١‫الً ثّؾبسف ش‬ٚ‫ فأؽجغ عذ‬127
>> v1=33:127;
>> v2=dec2bin(v1);
>> v3=char(v1);
>> for i=1:95
disp(sprintf('%3d %s %c',v1(i),v2(i,:),v3(i)))
end
.. B ‫راجع الملحق‬
: ٌٟ‫ي اٌزب‬ٚ‫ أدخً اٌغذ‬ٚ student ‫ت‬١‫فخ اٌزشاو‬ٛ‫ أٔشئ ِظف‬- 5

name class Result


Ahmad 3 1(true)
Mona 2 0(false)
Maher 4 0
Noor 4 1
: ٍٟ٠ ‫صُ لُ ثّب‬

. ‫ اؽزف عغً اٌطبٌت اٌضبٌش‬- 1


. ‫ ؽجبػخ أعّبء اٌطالة‬- 2
Marah 1 1 : ‫خ‬١ٌ‫بٔبد اٌطبٌت اٌزب‬١‫ إػبفخ ث‬- 3
.) 0 ( ‫ ساعت‬ٌٝ‫ ) إ‬1 ( ‫ي ِٓ ٔبعؼ‬ٚ‫ ٌٍطبٌت األ‬result ً‫ّخ اٌؾم‬١‫ش ل‬١‫ غ‬- 4
>> student(1)=struct('name','Ahmad' , 'class' , 3 , 'result',true);
>> student(2)=struct('name','Mona' , 'class' , 2 , 'result',false);
>> student(3)=struct('name','Maher' , 'class' , 4 , 'result',false);
>> student(4)=struct('name','Noor' , 'class' , 4 , 'result',true);
>>student(3)=[];
>> name=sprintf('%s %s %s', student(1).name ,student(2).name
,student(3).name)
name =
Ahmad Mona Noor
>>student(4).name='marah' ; student(4).class=1 ;
student(4).result=true ;
>>student(1).result=false;

- 54 -
‫انفصم‬
‫‪3‬‬
‫انزيبضيبت في انمبتالة‬
‫‪Mathematics at‬‬
‫‪MatLab‬‬
‫أهداف هذا الفصل ‪:‬‬

‫كيفية التعامل مع التوابع و العمليات الرياضية‬


‫بدءاً من العمليات الرياضية البسيطة من جمع و‬
‫طرح و مروراً بمختلف علوم الرياضيات من‬
‫مثلثات و عقدية و إحصاء و كثيرات الحدود و‬
‫التكامل و االشتقاق و انتها ًء بعلم المنطق‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 1 . 3‬انزيبضيبت انبسيطة ‪:‬‬


‫‪Simple Math‬‬
‫ٌمكننا القٌام بالعملٌات الرٌاضٌة فً الماتالب بكل بساطة كما فً اآللة الحاسبة و للقٌام بذلك‬
‫ٌجب معرفة العملٌة الرٌاضٌة و ما ٌكافئها فً الماتالب و هذا موضح بالجدول التالً ‪:‬‬

‫‪Mathematics‬‬ ‫‪MATLAB‬‬ ‫‪Example‬‬


‫‪A+B‬‬ ‫‪A+B‬‬ ‫‪1+2=3‬‬
‫‪A–B‬‬ ‫‪A–B‬‬ ‫‪3–2=1‬‬
‫‪A×B‬‬ ‫‪A*B‬‬ ‫‪3*2=6‬‬
‫‪A/B‬‬ ‫‪4/2 =2‬‬
‫‪A÷B‬‬
‫‪A\B‬‬ ‫‪4 \ 2 = 2 / 4 = 0.5‬‬
‫‪B‬‬
‫‪A‬‬ ‫‪A^B‬‬ ‫‪3^2=6‬‬
‫; ‪A=2 , B=1‬‬
‫‪A=A+B‬‬ ‫‪A=+B‬‬
‫‪A=+B =3‬‬
‫انجدول ‪ : 1-3‬يبين رمىس انعمهيبت انزيبضية و مب يُكبفئهب في انــ ‪MatLab‬‬

‫و هناك بعض التوابع المفٌدة هنا فً هذا المجال و التً ال بد من التعرف علٌها ‪:‬‬

‫)‪ sqrt(a‬‬
‫‪٠‬ؼ‪١‬ذ اٌجزس اٌزشث‪١‬ؼ‪ٌٍ ٟ‬ؼذد ‪. a‬‬

‫)‪ nthroot(a,n‬‬
‫‪٠‬ؼ‪١‬ذ اٌجزس ِٓ اٌّشرجخ ‪ٌٍ n‬ؼذد ‪. a‬‬

‫) ‪ Sign ( x‬‬
‫إٔٗ ص‪١‬ؼ‪١‬ذ ‪ 0‬إرا وبْ ‪ −1 ٚ , 𝑥 = 0‬إرا وبْ ‪𝑥 < 0‬‬
‫‪٠‬ضزخذَ ٘زا اٌزبثغ ٌّؼشفخ إشبسح اٌؼذد ‪ x‬ف‬
‫‪ 1 ٚ ,‬إرا وبْ ‪. 𝑥 > 0‬‬

‫) ‪ Abs ( x‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ ٌّؼشفخ اٌم‪ّ١‬خ اٌ ُّطٍمخ ٌٍؼذد ‪ , x‬أ‪. |𝑥| ٞ‬‬

‫) ‪ Exp ( x‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إل‪٠‬جبد اٌؼذد إٌ‪١‬جش‪ِ ٞ‬شف‪ٛ‬ػب ً ٌٍم‪ٛ‬ح ‪ , x‬أ‪. 𝑒 𝑥 ٞ‬‬

‫) ‪ Log ( x‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إل‪٠‬جبد اٌٍ‪ٛ‬غبس‪٠‬زُ اٌطج‪١‬ؼ‪ٌٍ ٟ‬ؼذد ‪ , x‬أ‪. log 𝑥 ٞ‬‬

‫) ‪ Log10 ( x‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إل‪٠‬جبد اٌٍ‪ٛ‬غبس‪٠‬زُ ر‪ ٚ‬األصبس ‪ٌٍ 10‬ؼذد ‪ , x‬أ‪. log10 𝑥 ٞ‬‬

‫‪- 56 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ Log2 ( x‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إل‪٠‬جبد اٌٍ‪ٛ‬غبس‪٠‬زُ ر‪ ٚ‬األصبس ‪ٌٍ 2‬ؼذد ‪ , x‬أ‪. log 2 𝑥 ٞ‬‬

‫)‪ rem( a,b‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ثبل‪ ٟ‬لضّخ ‪ a‬ػٍ‪. b ٝ‬‬

‫مثبل ‪: 1-3‬‬
‫‪>> a=3+6‬‬ ‫)‪>> abs(a‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪9‬‬ ‫‪9‬‬
‫‪>> b=6^3‬‬ ‫)‪>> exp(c‬‬
‫=‪b‬‬ ‫= ‪ans‬‬
‫‪216‬‬ ‫‪1.0966e+03‬‬
‫‪>> c=56/8‬‬ ‫)‪>> log(ans‬‬
‫=‪c‬‬ ‫= ‪ans‬‬
‫‪7‬‬ ‫‪7‬‬
‫)‪>> sqrt(b‬‬ ‫)‪>> log10(200‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪14.6969‬‬ ‫‪2.3010‬‬
‫)‪>> nthroot(a,3‬‬ ‫)‪>> log2(5‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪2.0801‬‬ ‫‪2.3219‬‬
‫)‪>> sign(c‬‬ ‫)‪>> rem(b,c‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪1‬‬ ‫‪6‬‬
‫>>‬

‫‪ ) 2 . 3‬اإلحصبء ‪:‬‬
‫‪Statistics :‬‬
‫)‪ prod( A‬‬
‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ – إرا وبْ اٌذخً شؼبع – ػٕظش ‪ٚ‬ح‪١‬ذ ٘‪ ٛ‬جذاء ػٕبطش اٌشؼبع ‪ ,‬أِب إرا وبْ‬
‫اٌذخً ِظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ٔ ٌٗ ٞ‬فش ػذد األػّذح ‪ ٚ‬وً ػٕظش ف‪٘ ٟ‬زا اٌشؼبع ٘‪ٛ‬‬
‫‪ ٚ‬إرا أسدٔب أْ ‪٠‬حذس اٌجذاء ػٍ‪ ٝ‬األصطش فإٕٔب ٔىزت‬ ‫جذاء اٌؼٕبطش ف‪ ٟ‬اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك‬
‫)‪ ٚ cumprod(A,2‬ف‪٘ ٟ‬زٖ اٌحبٌخ ‪٠‬ى‪ ْٛ‬إٌبرج شؼبع ػّ‪ٛ‬د‪ٔ ٌٗ ٞ‬فش ػذد األصطش‪.‬‬

‫)‪ cumprod( A‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ‪ -‬إرا وبْ اٌذخً شؼبع – شؼبع ٌٗ ٔفش اٌجؼذ ‪ ٚ‬وً ػٕظش ٘‪ ٛ‬اٌجذاء اٌزشاوّ‪ٟ‬‬
‫ٌٍؼٕبطش اٌضبثمخ ‪ ,‬أِب إرا وبْ اٌذخً ِظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ ِظف‪ٛ‬فخ ٌ‪ٙ‬ب ٔفش األثؼبد ‪٠ ٚ‬حذس اٌجذاء‬
‫اٌزشاوّ‪ ٟ‬ػٍ‪ ٝ‬األػّذح ‪ ٚ‬إرا أسدٔب أْ ‪٠‬حذس ػٍ‪ ٝ‬األصطش فإٕٔب ٔىزت )‪. cumprod(A,2‬‬

‫‪- 57 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪ sum ( A‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ – إرا وبْ اٌذخً شؼبع – ػٕظش ‪ٚ‬ح‪١‬ذ ٘‪ِ ٛ‬جّ‪ٛ‬ع ػٕبطش اٌشؼبع ‪ ,‬أِب إرا وبْ‬
‫اٌذخً ِظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ٔ ٌٗ ٞ‬فش ػذد األػّذح ‪ ٚ‬وً ػٕظش ف‪٘ ٟ‬زا اٌشؼبع ٘‪ٛ‬‬
‫ِجّ‪ٛ‬ع اٌؼٕبطش ف‪ ٟ‬اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ ٚ‬إرا أسدٔب أْ ‪٠‬حذس اٌّجّ‪ٛ‬ع ػٍ‪ ٝ‬األصطش فإٕٔب ٔىزت‬
‫)‪ ٚ sum(A,2‬ف‪٘ ٟ‬زٖ اٌحبٌخ ‪٠‬ى‪ ْٛ‬إٌبرج شؼبع ػّ‪ٛ‬د‪ٔ ٌٗ ٞ‬فش ػذد األصطش‪.‬‬

‫)‪ cumsum( A‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ‪ -‬إرا وبْ اٌذخً شؼبع – شؼبع ٌٗ ٔفش اٌجؼذ ‪ ٚ‬وً ػٕظش ٘‪ ٛ‬اي ِجّ‪ٛ‬ع اٌزشاوّ‪ٟ‬‬
‫ٌٍؼٕبطش اٌضبثمخ ‪ ,‬أِب إرا وبْ اٌذخً ِظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ ِظف‪ٛ‬فخ ٌ‪ٙ‬ب ٔفش األثؼبد ‪٠ ٚ‬حذس‬
‫ايِجّ‪ٛ‬ع اٌزشاوّ‪ ٟ‬ػٍ‪ ٝ‬األػّذح ‪ ٚ‬إرا أسدٔب أْ ‪٠‬حذس ػٍ‪ ٝ‬األصطش فإٕٔب ٔىزت‬
‫)‪. cumprod(A,2‬‬

‫)‪ max ( A‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ – إرا وبْ اٌذخً شؼبع – ػٕظش ‪ٚ‬ح‪١‬ذ ٘‪ ٛ‬أوجش ػٕظش ِٓ ػٕبطش اٌشؼبع ‪ ,‬أِب‬
‫إرا وبْ اٌذخً ِظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ٔ ٌٗ ٞ‬فش ػذد األػّذح ‪ ٚ‬وً ػٕظش ف‪٘ ٟ‬زا اٌشؼبع‬
‫‪ ٚ‬إرا أسدٔب أْ ‪٠‬حذس رٌه ػٍ‪ ٝ‬األصطش فإٕٔب ٔىزت‬ ‫٘‪ ٛ‬أوجش اٌؼٕبطش ف‪ ٟ‬اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك‬
‫)‪ ٚ max(A,2‬ف‪٘ ٟ‬زٖ اٌحبٌخ ‪٠‬ى‪ ْٛ‬إٌبرج شؼبع ػّ‪ٛ‬د‪ٔ ٌٗ ٞ‬فش ػذد األصطش‪.‬‬

‫)‪ min ( A‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ – إرا وبْ اٌذخً شؼبع – ػٕظش ‪ٚ‬ح‪١‬ذ ٘‪ ٛ‬أطغش ػٕظش ِٓ ػٕبطش اٌشؼبع ‪,‬‬
‫أِب إرا وبْ اٌذخً ِظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ٔ ٌٗ ٞ‬فش ػذد األػّذح ‪ ٚ‬وً ػٕظش ف‪٘ ٟ‬زا‬
‫اٌشؼبع ٘‪ ٛ‬أطغش اٌؼٕبطش ف‪ ٟ‬اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ ٚ‬إرا أسدٔب أْ ‪٠‬حذس رٌه ػٍ‪ ٝ‬األصطش فإٕٔب ٔىزت‬
‫)‪ ٚ min(A,2‬ف‪٘ ٟ‬زٖ اٌحبٌخ ‪٠‬ى‪ ْٛ‬إٌبرج شؼبع ػّ‪ٛ‬د‪ٔ ٌٗ ٞ‬فش ػذد األصطش‪.‬‬

‫)‪ mean( a‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ِز‪ٛ‬صظ ( ِؼذي ) اٌشؼبع ‪ ٚ a‬إرا وبْ ‪ِ a‬ظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ ٞ‬ف‪ ٗ١‬وً‬
‫ػٕظش ٘‪ِ ٛ‬ز‪ٛ‬صظ اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ٌٍٚ ,‬ؼًّ ػٍ‪ ٝ‬األصطش ٔىزت )‪. mean(a,2‬‬

‫)‪ median( a‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ اٌم‪ّ١‬خ اٌ‪ٛ‬صط‪ ٝ‬اٌشؼبع ‪ ٚ a‬إرا وبْ ‪ِ a‬ظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ ٞ‬ف‪ ٗ١‬وً‬
‫ػٕظش ٘‪ ٛ‬اٌم‪ّ١‬خ اٌ‪ٛ‬صط‪ٌٍ ٝ‬ؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ٌٍٚ ,‬ؼًّ ػٍ‪ ٝ‬األصطش ٔىزت )‪. median(a,2‬‬

‫)‪ mode( a‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ ِٕ‪ٛ‬اي ( اٌم‪ّ١‬خ األوضش رىشاساً ) اٌشؼبع ‪ ٚ a‬إرا وبْ ‪ِ a‬ظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع‬
‫صطش‪ ٞ‬ف‪ ٗ١‬وً ػٕظش ٘‪ِٕٛ ٛ‬اي اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ٌٍٚ ,‬ؼًّ ػٍ‪ ٝ‬األصطش ٔىزت )‪. mode(a,2‬‬

‫)‪ std( a‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ االٔحشاف اٌّؼ‪١‬بس‪ٌٍ ٞ‬شؼبع ‪ ٚ a‬إرا وبْ ‪ِ a‬ظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ شؼبع صطش‪ ٞ‬ف‪ٗ١‬‬
‫وً ػٕظش ٘‪ ٛ‬االٔحشاف اٌّؼ‪١‬بس‪ٌٍ ٞ‬ؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ٌٍٚ ,‬ؼًّ ػٍ‪ ٝ‬األصطش ٔىزت )‪. std(a,2‬‬

‫‪- 58 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪ var( a‬‬


‫‪ُ٠‬ؼ‪١‬ذ ٘زا اٌزبثغ اٌزشزذ ( ِشثغ االٔحشاف اٌّؼ‪١‬بس‪ٌٍ )ٞ‬شؼبع ‪ ٚ a‬إرا وبْ ‪ِ a‬ظف‪ٛ‬فخ فإٔٗ ‪٠‬ؼ‪١‬ذ‬
‫شؼبع صطش‪ ٞ‬ف‪ ٗ١‬وً ػٕظش ٘‪ ٛ‬رشزذ اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ٌٍٚ ,‬ؼًّ ػٍ‪ ٝ‬األصطش ٔىزت )‪. var(a,2‬‬

‫مثبل ‪: 2-3‬‬
‫;] ‪>> a=[4 9 2 8 2 0 1 8 6 2‬‬ ‫)‪>> m=magic(3‬‬
‫)‪>> mean(a‬‬ ‫=‪m‬‬
‫= ‪ans‬‬ ‫‪8 1 6‬‬
‫‪4.2000‬‬ ‫‪3 5 7‬‬
‫)‪>> median(a‬‬ ‫‪4 9 2‬‬
‫= ‪ans‬‬ ‫)‪>> sum(m‬‬
‫‪3‬‬ ‫= ‪ans‬‬
‫)‪>> mode(a‬‬ ‫‪15 15 15‬‬
‫= ‪ans‬‬ ‫)‪>> cumsum(m‬‬
‫‪2‬‬ ‫= ‪ans‬‬
‫)‪>> var(a‬‬ ‫‪8 1 6‬‬
‫= ‪ans‬‬ ‫‪11 6 13‬‬
‫‪10.8444‬‬ ‫‪15 15 15‬‬
‫)‪>> std(a‬‬ ‫)‪>> prod(m,2‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪3.2931‬‬ ‫‪48‬‬
‫‪>> ans^2‬‬ ‫‪105‬‬
‫= ‪ans‬‬ ‫‪72‬‬
‫‪10.8444‬‬ ‫)‪>> cumprod(m,2‬‬
‫>>‬ ‫= ‪ans‬‬
‫‪8 8 48‬‬
‫‪3 15 105‬‬
‫‪4 36 72‬‬
‫)‪>> max(m‬‬
‫= ‪ans‬‬
‫‪8 9 7‬‬
‫))‪>> min(min(m,2‬‬
‫= ‪ans‬‬
‫‪2 1 2‬‬
‫>>‬

‫‪- 59 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 3 . 3‬األعداد انعقدية ‪:‬‬


‫‪Complex numbers‬‬
‫)‪ complex( a,b‬‬
‫٘زا اٌزبثغ ثزشى‪ ً١‬ػذد ػمذ‪ِ Z ٞ‬ى‪ ِٓ ْٛ‬لضُ حم‪١‬م‪ ٚ a ٟ‬لضُ رخ‪. b ٍٟ١‬‬

‫) ‪ Real ( z‬‬
‫٘زا اٌزبثغ ‪ُ٠‬ؼط‪ٕ١‬ب اٌمضُ اٌحم‪١‬م‪ ِٓ ٟ‬اٌؼذد اٌّشوت ‪. Z‬‬

‫) ‪ Imag ( z‬‬
‫٘زا اٌزبثغ ‪ُ٠‬ؼط‪ٕ١‬ب اٌمضُ اٌخ‪١‬بٌ‪ ِٓ ٟ‬اٌؼذد اٌّشوت ‪. Z‬‬

‫) ‪ Angel ( Z‬‬
‫‪ Z‬ثبٌشىً اٌمطج‪ ٟ‬أ‪ِ ٞ‬ب ‪ُ٠‬ىبفئ‬ ‫٘زا اٌزبثغ ‪٠‬ؼط‪ٕ١‬ب اٌزا‪٠ٚ‬خ اٌز‪ ٟ‬رّىٕٕب ِٓ رّض‪ ً١‬اٌؼذد اٌّشوت‬
‫𝑥‬
‫‪. tan−1‬‬
‫𝑦‬

‫)‪ abs(z‬‬
‫٘زا اٌزبثغ ‪٠‬ؼط‪ٕ١‬ب ِطبي اٌؼذد اٌؼمذ‪ ٚ Z ٞ‬إرا وبْ ‪ Z‬ػذ حم‪١‬م‪ ٟ‬فإْ اٌزبثغ ص‪١‬ؼ‪١‬ذ اٌم‪ّ١‬خ اٌّطٍمخ ٌــ‬
‫‪.Z‬‬

‫) ‪ Conj ( Z‬‬
‫٘زا اٌزبثغ ‪٠‬ؼط‪ٕ١‬ب اٌؼذد اٌّشافك ٌٍؼذد اٌّشوت ‪. Z‬‬

‫) ‪ TF=isreal ( Z‬‬
‫‪٠‬ؼط‪ٕ١‬ب ٘زا اٌزبثغ ‪ٚ‬احذ ِٕطم‪ ٟ‬إٌ‪٠ ٌُ ٝ‬ىٓ اٌذخً ػذد ػمذ‪ ٚ ٞ‬طفش ِٕطم‪ ٟ‬إرا وبْ اٌذخً ػذد‬
‫ػمذ‪. ٞ‬‬

‫مثبل ‪: 3-3‬‬
‫)‪>> z=complex(3,-2‬‬ ‫)‪>> abs(z‬‬
‫=‪z‬‬ ‫= ‪ans‬‬
‫‪3.0000 - 2.0000i‬‬ ‫‪3.6056‬‬
‫)‪>> a=real(z‬‬ ‫)‪>> angle(z‬‬
‫=‪a‬‬ ‫= ‪ans‬‬
‫‪3‬‬ ‫‪-0.5880‬‬
‫)‪>> b=imag(z‬‬ ‫)‪>> isreal(z‬‬
‫=‪b‬‬ ‫= ‪ans‬‬
‫‪-2‬‬ ‫‪0‬‬

‫‪- 60 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 4 . 3‬انمثهثبت ‪:‬‬
‫‪triangles‬‬
‫ػٕذِب رزؼبًِ ِغ اٌش‪٠‬بض‪١‬بد الثذ ٌه أْ رزؼبًِ ِغ اٌّضٍضبد ‪ٕ٘ ٚ‬ب ف‪٘ ٟ‬زا اٌمضُ صٕضشد اٌز‪ٛ‬اثغ‬
‫اٌّضٍض‪١‬خ ف‪ ٟ‬اٌّبرالة ‪ ٚ‬طش‪٠‬مخ اصزخذاِ‪ٙ‬ب ‪:‬‬

‫)‪ Sin ( var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء ج‪١‬ت اٌّزغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌشاد‪٠‬بْ ‪.‬‬

‫)‪ Cos (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء رج‪١‬ت اٌّزغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌشاد‪٠‬بْ ‪.‬‬

‫)‪ Tan (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء ظً اٌّزغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌشاد‪٠‬بْ ‪.‬‬

‫)‪ Sind ( var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء ج‪١‬ت اٌّزغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌذسجبد ‪.‬‬

‫)‪ Cosd (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء رج‪١‬ت اٌّزغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌذسجبد ‪.‬‬

‫)‪ Tand (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء ظً اٌّزغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌذسجبد ‪.‬‬

‫)‪ asin ( var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء اٌج‪١‬ت اٌؼىض‪ٌٍّ ٟ‬زغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌذسجبد ‪.‬‬

‫)‪ acos (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء اٌزج‪١‬ت اٌؼىض‪ٌٍّ ٟ‬زغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌذسجبد‪.‬‬

‫)‪ atan (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء اٌظً اٌؼىض‪ٌٍّ ٟ‬زغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌذسجبد‪.‬‬

‫)‪ asind ( var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء اٌج‪١‬ت اٌؼىض‪ٌٍّ ٟ‬زغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌشاد‪٠‬بْ ‪.‬‬

‫)‪ acosd (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء اٌزج‪١‬ت اٌؼىض‪ٌٍّ ٟ‬زغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌشاد‪٠‬بْ ‪.‬‬

‫)‪ atand (var‬‬


‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ إلػطبء اٌظً اٌؼىض‪ٌٍّ ٟ‬زغ‪١‬ش ‪ Var‬ثششط أْ ‪٠‬ى‪ ْٛ‬اٌّزغ‪١‬ش ثبٌشاد‪٠‬بْ ‪.‬‬

‫‪ ٚ‬ث‪ ٓ١‬اٌشاد‪٠‬بْ ‪ ٚ‬اٌذسجخ ٕ٘بن ربثغ ٌٍزح‪ ً٠ٛ‬ث‪ّٕٙ١‬ب ‪:‬‬

‫‪- 61 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ deg2rad( var‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ ٌزح‪ ِٓ Var ً٠ٛ‬اٌذسجبد إٌ‪ ٝ‬اٌشاد‪٠‬بْ ‪.‬‬

‫) ‪ rad2deg( var‬‬
‫‪ُ٠‬ضزخذَ ٘زا اٌزبثغ ٌزح‪ ِٓ Var ً٠ٛ‬اٌشاد‪٠‬بْ إٌ‪ ٝ‬اٌذسجبد ‪.‬‬

‫مثبل ‪: 4-3‬‬
‫‪>> theta = 30‬‬ ‫)‪>> sin(phi‬‬
‫= ‪theta‬‬ ‫= ‪ans‬‬
‫‪30‬‬ ‫‪0.5000‬‬
‫)‪>> phi=deg2rad(theta‬‬ ‫)‪>> asind(ans‬‬
‫= ‪phi‬‬ ‫= ‪ans‬‬
‫‪0.5236‬‬ ‫‪30.0000‬‬
‫>>‬

‫‪ ) 5 . 3‬انزيبضيبت انمنفصهة ‪:‬‬


‫‪Discrete Math‬‬
‫) ‪ factorial ( n‬‬
‫٘زا اٌزبثغ ‪٠‬ؼط‪ٕ١‬ب اٌؼبٍِ‪ٌ ٟ‬ــ ‪ ( n‬أ‪ِ ٞ‬ضبس‪٠‬ت األػذاد ِٓ ‪ 1‬إٌ‪ ) n ٝ‬ػٍ‪ ٝ‬شىً ػذد ِفشد ‪ ٚ‬إرا‬
‫وبٔذ ‪ِ n‬ظف‪ٛ‬فخ فبٌج‪ٛ‬اة ٘‪ِ ٛ‬ظف‪ٛ‬فخ أخش‪ ٜ‬ثٕفش األثؼبد وً ػٕظش ف‪ٙ١‬ب ٘‪ ٛ‬اٌؼبٍِ‪ ٟ‬ييػٕبطش‬
‫اٌّمبثً ِٓ اٌّظف‪ٛ‬فخ ‪. n‬‬

‫)‪ Factor ( n‬‬


‫‪٠‬حًٍ اٌؼذد ‪ n‬إٌ‪ ٝ‬ػ‪ٛ‬اٍِٗ األ‪١ٌٚ‬خ ‪٠ ٚ‬ظ‪ٙ‬ش اٌج‪ٛ‬اة ػٍ‪ ٝ‬شىً شؼبع صطش‪. ٞ‬‬

‫)‪ Primes ( x‬‬


‫‪ٛ٠‬جذ اٌؼذاد األ‪١ٌٚ‬خ األطغش ِٓ أ‪ ٚ‬رضب‪ X ٞٚ‬ػٍ‪ ٝ‬شىً شؼبع صطش‪. ٞ‬‬

‫)‪ TF = isprime(x‬‬
‫‪٠‬ؼ‪١‬ذ ‪ 1‬إرا وبْ اٌؼذد ‪ x‬أ‪١ٌٚ‬ب ً ‪ 0 ٚ‬إرا وبْ اٌؼذد ‪ x‬غ‪١‬ش أ‪ ٚ , ٌٟٚ‬إرا وبْ ‪ِ x‬ظف‪ٛ‬فخ فبٌج‪ٛ‬اة ٘‪ٛ‬‬
‫ِظف‪ٛ‬فخ ِىبفئخ رح‪ ٞٛ‬أطفبساً ‪ٚ ٚ‬احذاد ‪ ٚ‬رذي ػٍ‪ ٝ‬أْ اٌؼٕبطش أ‪١ٌٚ‬خ أ‪ ٚ‬ال ‪.‬‬

‫) ‪ Rats ( x‬‬
‫‪٠‬ح‪ٛ‬ي اٌؼذد ‪ x‬إٌ‪ ٝ‬ػذد ػبد‪ ( ٞ‬ثضظ ‪ِ ٚ‬مبَ ) ‪.‬‬

‫) ‪ Gcd( x , y‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد اٌمبصُ اٌّشزشن األػظُ ٌٍؼذد‪ ٚ Y ٚ X ٓ٠‬إرا وبٔزب ‪ِ Y ٚ X‬ظف‪ٛ‬فز‪ٓ١‬‬
‫ف‪١‬جت أْ رى‪ٔٛ‬ب ِزضب‪٠ٚ‬ز‪ ٟ‬اٌجؼذ ‪.‬‬

‫‪- 62 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ Lcm ( x , y‬‬
‫‪ ٚ Y ٚ X‬إرا وبٔزب ‪Y ٚ X‬‬ ‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد اٌ ُّضبػف اٌّشزشن األطغش ٌٍؼذد‪ٓ٠‬‬
‫ِظف‪ٛ‬فز‪ ٓ١‬ف‪١‬جت أْ رى‪ٔٛ‬ب ِزضب‪٠ٚ‬ز‪ ٟ‬اٌجؼذ ‪.‬‬

‫مثبل ‪: 5-3‬‬
‫)‪>> factorial(5‬‬ ‫‪>> 5/2‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪120‬‬ ‫‪2.5000‬‬
‫)‪>> m=magic(2‬‬ ‫)‪>> rats(ans‬‬
‫=‪m‬‬ ‫= ‪ans‬‬
‫‪1 3‬‬ ‫‪5/2‬‬
‫‪4 2‬‬ ‫)‪>> gcd(4,9‬‬
‫)‪>> factorial(m‬‬ ‫= ‪ans‬‬
‫= ‪ans‬‬ ‫‪1‬‬
‫‪1 6‬‬ ‫))‪>> lcm(m,ones(2‬‬
‫‪24 2‬‬ ‫= ‪ans‬‬
‫)‪>> primes(12‬‬ ‫‪1 3‬‬
‫= ‪ans‬‬ ‫‪4 2‬‬
‫‪2 3 5 7‬‬ ‫‪11‬‬ ‫>>‬
‫)‪>> isprime(ans‬‬
‫= ‪ans‬‬
‫‪1 1 1 1‬‬ ‫‪1‬‬

‫شاهد الحلقة السادسة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 63 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 6 . 3‬كثيزات انحدود ‪:‬‬


‫‪Polynomials‬‬
‫من أكثر ما ٌعترضنا فً الحٌاة العملٌة و فً دراسة هندسة االتصاالت هً كثٌرات الحدود ‪,‬‬
‫فكٌف نتعامل معها فً الماتالب من تمثٌل و اشتقاق و تكامل و جداء و غٌره ؟ فهذا ما سنتعلمه‬
‫فً هذا القسم ‪.‬‬

‫ٌمكننا تمثٌل كثٌرات الحدود فً الماتالب بطرٌقتٌن األولى عن طرٌق مصفوفة شعاعٌة تحوي‬
‫ثوابت كثٌر الحدود ‪ ,‬و الثانٌة هً إدخاله بشكل رمزي ‪.‬‬

‫لنقوم بإدخال كثٌر الحدود التالً ‪ 𝑓 𝑥 = 3𝑥 3 + 4𝑥 − 2‬و تمثٌله عبر الماتالب نكتب ‪:‬‬

‫;]‪>>f=[ 3 4 -2‬‬

‫و بعد أن أدخلنا كثٌر الحدود إلى الماتالب البد من التعرف على بعض التوابع التً تساعدنا فً‬
‫العملٌات على كثٌر الحدود و التعامل معه‬

‫) ‪ X=roots( P‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد جز‪ٚ‬س وض‪١‬ش اٌحذ‪ٚ‬د ‪ P‬اٌ ُّؼشف وشؼبع صطش‪. ٞ‬‬

‫) ‪ Poly ( x‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد وض‪١‬ش اٌحذ‪ٚ‬د اٌز‪ ٞ‬جز‪ٚ‬سٖ ( حٍ‪. X ٟ٘ ) ٌٗٛ‬‬

‫)‪ y = polyval(p,x‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد ل‪ّ١‬خ وض‪١‬ش اٌحذ‪ٚ‬د ‪ P‬ػٕذ ل‪ّ١‬خ ِحذدح ‪ x‬أ‪ ٚ‬شؼبع ِٓ اٌم‪ ٚ , ُ١‬إرا وبٔذ ‪x‬‬
‫ِظف‪ٛ‬فخ فإٔٗ ‪ٛ٠‬جذ ل‪ّ١‬خ وض‪١‬ش اٌحذ‪ٚ‬د ػٕذ جّ‪١‬غ ػٕبطش اٌّظف‪ٛ‬فخ فٕىزت )‪. polyvalm(p,x‬‬

‫)‪ w = conv(u,v‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد ل‪ّ١‬خ جذاء وض‪١‬ش‪ ٞ‬اٌحذ‪ٚ‬د ‪. v ٚ u‬‬

‫)‪ [q,r] = deconv(v,u‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد ل‪ّ١‬خ لضّخ وض‪١‬ش‪ ٞ‬اٌحذ‪ٚ‬د ‪ُ٠ ٚ , v ٚ u‬ؼ‪١‬ذ إٌبرج ػٍ‪ ٝ‬شىً ٔبرج اٌمضّخ ‪ٚ q‬‬
‫ثبل‪ ٟ‬اٌمضّخ ‪. r‬‬

‫)‪ k = polyder(p‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد ِشزك وض‪١‬ش اٌحذ‪ٚ‬د ‪٠ ٚ , P‬ؼ‪١‬ذ شؼبع صطش‪ٞ ٞ‬ح‪ ٞٛ‬ص‪ٛ‬اثذ وض‪١‬ش اٌحذ‪ٚ‬د‬
‫إٌبرج ‪.‬‬

‫و هنبك أشكبل أخزي نهتببع ‪:‬‬

‫) ‪ k = polyder( a , b‬‬
‫‪٠ ٚ , b ٚ a‬ؼ‪١‬ذ شؼبع صطش‪ٞ ٞ‬ح‪ ٞٛ‬ص‪ٛ‬اثذ‬ ‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد ِشزك جذاء وض‪١‬ش‪ ٞ‬اٌحذ‪ٚ‬د‬
‫وض‪١‬ش اٌحذ‪ٚ‬د إٌبرج ‪.‬‬

‫‪- 64 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ [ q , d ] = polyder( a , b‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد ِشزك لضّخ وض‪١‬ش‪ ٞ‬اٌحذ‪ٚ‬د ‪٠ ٚ , b ٚ a‬ؼ‪١‬ذ شؼبػ‪ ٓ١‬صطش‪٠ q ٓ١٠‬ح‪ٞٛ‬‬
‫أِضبي وض‪١‬ش حذ‪ٚ‬د اٌجضظ ‪٠ d ٚ‬ح‪ ٞٛ‬أِضبي وض‪١‬ش حذ‪ٚ‬د اٌّمبَ‬

‫)‪ k = polyint (p‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإ‪٠‬جبد رىبًِ وض‪١‬ش اٌحذ‪ٚ‬د ‪٠ ٚ , P‬ؼ‪١‬ذ شؼبع صطش‪ٞ ٞ‬ح‪ ٞٛ‬ص‪ٛ‬اثذ وض‪١‬ش اٌحذ‪ٚ‬د‬
‫إٌبرج ‪ ٚ‬رٌه ػٍ‪ ٝ‬اػزجبس أْ صبثذ اٌزىبًِ ‪٠‬ضب‪ ٞٚ‬اٌظفش ‪ ٚ‬إرا أسدٔب ‪ٚ‬ضغ ل‪ّ١‬خ ٌضبثذ اٌزىبًِ‬
‫ٔىزت ) ‪. polyint(P , C‬‬

‫)‪ [r,p,k] = residue(b,a‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ اٌ‪ٙ‬بَ ثزحٍ‪ ً١‬اٌىضش 𝑏‪ ٚ 𝑎/‬رح‪ ٍٗ٠ٛ‬إٌ‪ِ ٝ‬جّ‪ٛ‬ع وض‪ٛ‬س ثض‪١‬طخ ‪ ....‬ح‪١‬ش ‪ِ r‬ظف‪ٛ‬فخ‬
‫شؼبػ‪١‬خ رح‪ ٞٛ‬اٌض‪ٛ‬اثذ اٌز‪ ٟ‬ف‪ ٟ‬اٌجض‪ٛ‬ط ‪ p ٚ ,‬رح‪ ٞٛ‬أِضبي وض‪١‬ش اٌحذ‪ٚ‬د ف‪ ٟ‬وً وضش ثض‪١‬ظ ‪p ٚ ,‬‬
‫ثبل‪ ٟ‬ػٍّ‪١‬خ اٌزحٍ‪. ً١‬‬

‫و هنبك شكم آخز نهتببع ‪:‬‬

‫)‪ [b,a] = residue(r,p,k‬‬


‫ثجضبطخ ‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثؼٍّ‪١‬خ ُِؼبوضخ (أ‪٠ ٞ‬م‪ َٛ‬ثزح‪ ً٠ٛ‬اٌىض‪ٛ‬س اٌجض‪١‬طخ إٌ‪ ٝ‬وضش ‪ٚ‬احذ وج‪١‬ش) ‪.‬‬

‫)‪ p = polyfit (x , y , n‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثإٌجبس ل‪ ُ١‬اٌشؼبػ‪ Y ٚ X ٓ١‬ثىض‪١‬ش حذ‪ٚ‬د ِٓ اٌذسجخ ‪ , n‬ف‪١‬ظ‪ٙ‬ش إٌبرج ػٍ‪ ٝ‬شىً‬
‫شؼبع ‪٠‬ح‪ ٞٛ‬ص‪ٛ‬اثذ وض‪١‬ش اٌحذ‪ٚ‬د إٌبرج ( ‪ ِٓ ٛ٘ ٚ‬اٌز‪ٛ‬اثغ اٌّف‪١‬ذح ػٍّ‪١‬ب ً )‪.‬‬

‫مثبل ‪: 6-3‬‬
‫;]‪>> a=[4 4 1‬‬ ‫)‪>> polyint(b‬‬
‫‪>> syms x‬‬ ‫= ‪ans‬‬
‫)‪>> b=sym2poly(2*x - 3‬‬ ‫‪1 -3 0‬‬
‫=‪b‬‬ ‫)‪>> polyder(a‬‬
‫‪2 -3‬‬ ‫= ‪ans‬‬
‫)‪>> roots(a‬‬ ‫‪8 4‬‬
‫= ‪ans‬‬ ‫)]‪>> polyval(a,[2 6‬‬
‫‪-0.5000‬‬ ‫= ‪ans‬‬
‫‪-0.5000‬‬ ‫‪25 169‬‬
‫)‪poly(ans‬‬ ‫)‪>> [r , p , k ] = residue(b,a‬‬
‫= ‪ans‬‬ ‫=‪r‬‬
‫‪1.0000 1.0000 0.2500‬‬ ‫‪0.5000‬‬
‫‪>> 4*ans‬‬ ‫‪-1.0000‬‬
‫= ‪ans‬‬ ‫=‪p‬‬
‫‪4 4 1‬‬ ‫‪-0.5000‬‬
‫)‪>> conv(a,b‬‬ ‫‪-0.5000‬‬
‫= ‪ans‬‬ ‫=‪k‬‬
‫‪8 -4 -10 -3‬‬ ‫][‬
‫)‪>> [q , r ]=deconv(a,b‬‬ ‫)‪>> [x,y] = residue(r,p,k‬‬

‫‪- 65 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫=‪q‬‬ ‫=‪x‬‬
‫‪2‬‬ ‫‪5‬‬ ‫‪0.5000 -0.7500‬‬
‫=‪r‬‬ ‫=‪y‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪16‬‬ ‫‪1.0000 1.0000 0.2500‬‬
‫>>‬
‫مثبل ‪: 7-3‬‬
‫;]‪>> x=[1:10‬‬
‫;]‪>> y=[2 4 6 10 20 34 50 69 94 130‬‬
‫)'*‪>> plot(x,y,'r‬‬
‫‪>> hold on‬‬
‫;)‪>> p=polyfit(x,y,5‬‬
‫;)‪>> f=poly2sym(p‬‬
‫)] ‪>> ezplot(f , [ 1 ,10‬‬

‫‪ ) 7 . 3‬انتىابع انزمشية و انزيبضيبت ‪:‬‬


‫‪Symbolic functions and Math‬‬

‫توجد طرٌقة أخرى فً الماتالب لتمثٌل التوابع ككثٌرات الحدود و غٌرها و إجراء العملٌات‬
‫علٌها ‪ .‬و لنقوم بتعرٌف تابع فً الماتالب نعرف متغٌرات هذا التابع أوالً و ذلك باستخدام‬
‫التعلٌمة ‪:‬‬

‫‪ syms x y z‬‬


‫رم‪٘ َٛ‬زٖ اٌزؼٍ‪ّ١‬خ ثزؼش‪٠‬ف اٌّزغ‪١‬شاد ‪ِ x y z‬ضالً ػٍ‪ ٝ‬أٔ‪ٙ‬ب ِزغ‪١‬شاد سِز‪٠‬خ ‪.‬‬

‫‪ ٚ‬ثؼذ رؼش‪٠‬ف اٌّزغ‪١‬شاد ‪ّ٠‬ىٕٕب إدخبي اٌزبثغ وّب ‪: ٍٟ٠‬‬

‫‪- 66 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪‬‬ ‫‪f = functin‬‬


‫ح‪١‬ش ٔىزت اٌزؼج‪١‬ش اٌش‪٠‬بض‪ ٟ‬اٌّزؼٍك ثبٌزبثغ اٌز‪ٔ ٞ‬ش‪٠‬ذ إدخبٌٗ ‪.‬‬

‫‪ ٚ‬ثؼذ إدخبي اٌزبثغ ال ثذ ِٓ اٌزؼشف ػٍ‪ ٝ‬اٌؼٍّ‪١‬بد اٌز‪ّ٠ ٟ‬ىٕٕب رطج‪١‬م‪ٙ‬ب ػٍ‪ ٚ ٗ١‬اٌز‪ٛ‬اثغ اٌز‪ٟ‬‬
‫رضبػذٔب ف‪ ٟ‬رٌه ‪:‬‬

‫االشزمبق ‪:‬‬

‫)‪ diff(f , x‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثبشزمبق اٌزبثغ ‪ f‬ثبٌٕضجخ ٌٍّزح‪ٛ‬ي ‪ّ٠ ٚ x‬ىٕٕب اشزمبق اٌزبثغ ‪ f‬ثبٌٕضجخ ألوضش ِٓ‬
‫ِزح‪ٛ‬ي ثبصزخذاَ اٌظ‪١‬غخ )‪ ٚ diff( f , x1,x2‬اٌز‪ ٟ‬رىبفئ اٌظ‪١‬غخ )‪ , dif(diff(f,x1),x2‬وّب‬
‫‪ّ٠‬ىٕٕب ثبصزخذاَ اٌّؼبًِ ‪ $‬رحذ‪٠‬ذ سرجخ اٌّشزك وّب ف‪ ٟ‬اٌظ‪١‬غخ )‪. diff(f,x $ n‬‬

‫اٌزىبًِ ‪:‬‬

‫)‪ int(f , x‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثّىبٍِخ اٌزبثغ ‪ f‬ثبٌٕضجخ ٌٍّزح‪ٛ‬ي ‪ x‬رىبِالً غ‪١‬ش ِحذد ‪ ٚ‬إرا أدسٔب اٌّىبٍِخ ِٓ ل‪ّ١‬خ‬
‫إٌ‪ ٝ‬ل‪ّ١‬خ رىبًِ ِحذد ٔىزت اٌظ‪١‬غخ ‪. int( f , x=a1..a2) :‬‬

‫إٌ‪ٙ‬ب‪٠‬بد ‪:‬‬

‫)‪ limit(f, x = x0‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثحضبة ٔ‪ٙ‬ب‪٠‬خ اٌزبثغ ‪ f‬ػٕذِب ‪٠‬ضؼ‪ ٝ‬اٌّزح‪ٛ‬ي ‪ x‬إٌ‪ ٝ‬اٌــ ‪. x0‬‬

‫حً اٌّؼبدالد ‪:‬‬

‫حً ِؼبدٌخ ججش‪٠‬خ ‪:‬‬

‫) ‪ solve ( eq , x‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثحً اٌّؼبدٌخ ‪ eq‬ثبٌٕضجخ ٌٍّزح‪ٛ‬ي ‪. x‬‬

‫حً جٍّخ ِٓ اٌّؼبدالد ‪:‬‬

‫)… ‪ solve(eq1 , eq2 , … , x1 , x2 ,‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثحً جٍّخ اٌّؼبدالد … ‪ eq1 , eq2 , eq‬ثبٌٕضجخ ٌٍّزح‪ٛ‬الد ‪. x1, x2,x3‬‬

‫حً ِؼبدٌخ رفبضٍ‪١‬خ ‪:‬‬

‫)‪ solve(eq‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثحً اٌّؼبدٌخ اٌزفبضٍخ اٌؼبد‪٠‬خ اٌّّضٍخ ثبٌّؼبدٌخ ‪ eq‬ح‪١‬ش ٔجٕ‪ ٟ‬اٌّؼبدٌخ اٌزفبضٍ‪١‬خ‬
‫وّب ‪: ٍٟ٠‬‬

‫‪‬‬ ‫) )‪eq= ode( f , y(x‬‬


‫ح‪١‬ش ‪ ٛ٘ f‬شىً اٌّؼبدٌخ اٌزفبضٍ‪١‬خ ‪ ٛ٘ y(x) ٚ‬اٌزبثغ اٌخبص ثبٌّؼبدٌخ اٌزفبضٍ‪١‬خ ‪.‬‬

‫‪- 67 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثبل ‪: 8-3‬‬
‫‪>> syms x y z‬‬ ‫(‪>>r=solve‬‬ ‫‪x+y-z==2‬‬ ‫‪,‬‬
‫)‪>> f1=x^4+x^3+sin(x‬‬ ‫‪2*x+7*y+2*z==3 , x+3*y-z==1, x‬‬
‫= ‪f1‬‬ ‫)‪,y,z‬‬
‫‪sin(x) + x^3 + x^4‬‬ ‫=‪r‬‬
‫)‪>> diff( f1 , x , 4‬‬ ‫]‪x: [1x1 sym‬‬
‫= ‪ans‬‬ ‫]‪y: [1x1 sym‬‬
‫‪sin(x) + 24‬‬ ‫]‪z: [1x1 sym‬‬
‫)‪>> f2= exp(x)+x*log(x‬‬ ‫‪>> r.x‬‬
‫= ‪f2‬‬ ‫= ‪ans‬‬
‫)‪exp(x) + x*log(x‬‬ ‫‪23/8‬‬
‫)‪>> int(f2,x , 1 , 2‬‬ ‫‪>> r.y‬‬
‫= ‪ans‬‬ ‫= ‪ans‬‬
‫‪exp(2) - exp(1) + log(4) - 3/4‬‬ ‫‪-1/2‬‬
‫‪>> f3=sin(x)/x‬‬ ‫‪>> r.z‬‬
‫= ‪f3‬‬ ‫= ‪ans‬‬
‫‪sin(x)/x‬‬ ‫‪3/8‬‬
‫)‪>> limit(f3,x,inf‬‬ ‫>>‬
‫= ‪ans‬‬
‫‪0‬‬
‫)‪>> solve(x^3+x^2+x+1,x‬‬
‫= ‪ans‬‬
‫‪-1‬‬
‫‪i‬‬
‫‪-i‬‬

‫ٔضزط‪١‬غ اٌزح‪ ً٠ٛ‬ث‪ ٓ١‬وض‪١‬ش اٌحذ‪ٚ‬د ػٍ‪ ٝ‬شىً ِؼبِالد ‪ ٚ‬ػٍ‪ ٝ‬شىً سِز‪ ِٓ ٞ‬خالي اٌزبثؼ‪. ٓ١‬‬

‫) ‪ Poly2sym ( x‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثزح‪ ً٠ٛ‬وض‪١‬ش اٌحذ‪ٚ‬د اٌز‪ ٞ‬ص‪ٛ‬اثزٗ ِؼطبح ثبٌشؼبع ‪ X‬إٌ‪ ٝ‬اٌشىً اٌشِز‪ ٚ ٞ‬اٌّزغ‪١‬ش‬
‫االفزشاض‪ ٚ X ٛ٘ ٟ‬إرا أسدٔب رغ‪١١‬ش اٌّزغ‪١‬ش إٌ‪ِ C ٝ‬ضالً ٔىزت ) ‪. poly2sym(f , c‬‬

‫) ‪ Sym2poly ( x‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثزح‪ ً٠ٛ‬وض‪١‬ش اٌحذ‪ٚ‬د اٌّؼط‪ ٝ‬ثشىً سِز‪ ٞ‬ف‪ X ٟ‬إٌ‪ ٝ‬شؼبع ‪٠‬ح‪ ٞٛ‬ص‪ٛ‬اثذ وض‪١‬ش‬
‫اٌحذ‪ٚ‬د ٘زا ‪.‬‬

‫‪ ) 8 . 3‬انعمهيبت و انتىابع انمنطقية ‪:‬‬


‫‪Logical operations and functions‬‬
‫ٌٕجذأ دساصزٕب ف‪٘ ٟ‬زا اٌمضُ ثّشاجؼخ ٌٍؼٍّ‪١‬بد اٌؼالئم‪١‬خ ‪ ٚ‬إٌّطم‪١‬خ ‪ ,‬ف‪ ٟ‬اٌحم‪١‬مخ رشًّ اٌؼاللبد‬
‫اٌؼالئم‪١‬خ وّب ٘‪ِ ٛ‬ج‪ ٓ١‬ف‪ ٟ‬اٌجذ‪ٚ‬ي ( ‪ ) 2-3‬ػاللخ أوجش ‪ /‬أوجش أ‪٠ ٚ‬ضب‪ ٚ ٞٚ‬أطغش ‪ /‬أطغش أ‪ٚ‬‬
‫‪٠‬ضب‪٠ ٚ ٞٚ‬ضب‪ / ٞٚ‬ال ‪٠‬ضب‪ , ٞٚ‬أِب ثبٌٕضجخ ٌٍؼٍّ‪١‬بد إٌّطف‪١‬خ األصبص‪١‬خ ف‪Not ٚ Or ٚ And ٟٙ‬‬
‫وّب ٘‪ِٛ ٛ‬ضح ثبٌجذ‪ٚ‬ي (‪. ) 3-3‬‬

‫‪- 68 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪Operator‬‬ ‫‪Operation‬‬
‫>‬ ‫أكبر‬
‫=>‬ ‫أكبر أو ٌساوي‬
‫<‬ ‫أصغر‬
‫=<‬ ‫أصغر أو ٌساوي‬
‫==‬ ‫ٌساوي‬
‫=!‬ ‫ال ٌساوي‬
‫انجدول ‪ : 2-3‬رمىس انعمهيبت انعالئقية‬

‫‪Operator Operation‬‬
‫&‬ ‫‪And‬‬
‫|‬ ‫‪Or‬‬
‫~‬ ‫‪Not‬‬
‫انجدول ‪ : 3-3‬انعمهيبت انمنطقية في انمبتالة‬

‫‪ ٚ‬ف‪ ٟ‬اٌّبرالة ٔؼزجش أْ وً ل‪ّ١‬خ ػذد‪٠‬خ ِغب‪٠‬شح ٌٍظفش ‪ٚ‬رضب‪ٚ ٞٚ‬احذ ِٕطم‪ٚ ) true ( ٟ‬‬
‫وً لّخ ػذد‪٠‬خ طفش‪٠‬خ رضب‪ ٞٚ‬طفش ِٕطم‪ ِٓ ٚ ) false ( ٟ‬اٌّ‪ ُٙ‬لجً اٌجذء ثزّبس‪ ٚ ٓ٠‬األِضٍخ‬
‫ِؼشفخ أ‪٠ٌٛٚ‬خ اٌؼٍّ‪١‬بد وىً ( اٌحضبث‪١‬خ ‪ ٚ‬اٌؼالئم‪١‬خ ‪ ٚ‬إٌّطم‪١‬خ ) ‪٘ ٚ‬زا ِب ص‪ٛ١‬ضحٗ ٌٕب اٌجذ‪ٚ‬ي (‬
‫‪) 4-3‬‬

‫‪Priority‬‬ ‫‪Operation‬‬
‫‪1‬‬ ‫) (‬
‫‪2‬‬ ‫'‪^ , .^ , ' , .‬‬
‫‪3‬‬ ‫~‬
‫‪4‬‬ ‫\‪* , / , \ , .* , ./ , .‬‬
‫‪5‬‬ ‫‪+ , -‬‬
‫‪6‬‬ ‫‪:‬‬
‫‪7‬‬ ‫=~ ‪< , > , >= , <= , == ,‬‬
‫‪8‬‬ ‫&‬
‫‪9‬‬ ‫|‬
‫انجدول ‪ : 4-3‬أفضهية تنفيذ انعمهيبت في انمبتالة‬

‫مثبل ‪: 9-3‬‬
‫)‪>> 3+(2^4)<=32/2&3+2==floor(11/2‬‬
‫= ‪ans‬‬
‫‪0‬‬
‫>>‬
‫كما ٌمكننا القٌام بالعملٌات المنطقٌة و العالئقٌة بٌن مصفوفة و قٌمة سلمٌة حٌث تتم‬
‫العملٌة بٌن القٌمة السلمٌة و كل عنصر من عناصر المصفوفة و الناتج هو مصفوفة منطقٌة ‪ ,‬أو‬
‫شعاع و قٌمة سلمٌة حٌث تتم العملٌة بٌن القٌمة السلمٌة و كل عنصر من عناصر الشعاع و‬

‫‪- 69 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫الناتج هو شعاع منطقً ‪ ,‬أو بٌن مصفوفتٌن بشرط أن ٌكونا بنفس األبعاد حٌث تتم العملٌة بٌن‬
‫كل العناصر المتقابلة من المصفوفتٌن و الناتج هو مصفوفة منطقٌة ‪.‬‬

‫مثبل ‪: 10-3‬‬
‫= ‪>> m=sparse([1 3 2 3 5] , [ 3 3 1 ans‬‬
‫;) ‪2 5] , [ 4 9 -2 11 -21], 5 , 5‬‬ ‫‪0 0 1 0 0‬‬
‫)‪>> s=full(m‬‬ ‫‪1 0 0 0 0‬‬
‫=‪s‬‬ ‫‪0 1 1 0 0‬‬
‫‪0 0 4 0 0‬‬ ‫‪0 0 0 0 0‬‬
‫‪-2 0 0 0 0‬‬ ‫‪0 0 0 0 1‬‬
‫‪0 11 9 0 0‬‬ ‫;] ‪>> a=[3 9 0; 0 0 -1 ; 3 8 1‬‬
‫‪0 0 0 0 0‬‬ ‫;] ‪>> b=[4 0 5; 0 1 0 ; -9 2 0‬‬
‫‪0 0 0 0 -21‬‬ ‫‪>> a|b‬‬
‫‪>> 0>s‬‬ ‫= ‪ans‬‬
‫= ‪ans‬‬ ‫‪1 1 1‬‬
‫‪0 0 0 0 0‬‬ ‫‪0 1 1‬‬
‫‪1 0 0 0 0‬‬ ‫‪1 1 1‬‬
‫‪0 0 0 0 0‬‬ ‫;] ‪>> v=[ 4 6 0 0 1‬‬
‫‪0 0 0 0 0‬‬ ‫‪>> v>=1‬‬
‫‪0 0 0 0 1‬‬ ‫= ‪ans‬‬
‫‪>> 1&s‬‬ ‫‪1 1 0 0 1‬‬
‫>>‬
‫‪ ٚ‬ثبإلضبفخ إٌ‪ ٝ‬جّ‪١‬غ اٌز‪ٛ‬اثغ اٌز‪ ٟ‬اصزؼشضٕب٘ب ف‪ ٟ‬اٌمضُ ‪ ٚ 4.2‬اٌز‪ ٟ‬رجذأ ثــ ‪ٕ٘ is‬بن اٌؼذ‪٠‬ذ ِٓ‬
‫اٌز‪ٛ‬اثغ إٌّطم‪١‬خ ‪:‬‬

‫) ‪ logical ( X‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثزح‪ِ – X ً٠ٛ‬ظف‪ٛ‬فخ أ‪ ٚ‬شؼبع أ‪ ٚ‬ل‪ّ١‬خ صٍّ‪١‬خ – ِٓ اٌم‪ّ١‬خ اٌؼذد‪٠‬خ إٌ‪ ٝ‬ل‪ّ١‬خ‬
‫ِٕطم‪١‬خ ‪ 1‬إرا وبْ ػٕظش ‪/‬ػٕبطش غ‪١‬ش طفش‪٠‬خ أ‪ 0 ٚ‬إرا وبْ ػٕظش ‪ /‬أ‪ ٚ‬ػٕبطش طفش‪٠‬خ ‪.‬‬

‫) ‪ islogical ( X‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌزبثغ ثفحض ‪ِ – X‬ظف‪ٛ‬فخ أ‪ ٚ‬شؼبع أ‪ ٚ‬ل‪ّ١‬خ صٍّ‪١‬خ – ف‪ّ١‬ب إرا وبٔذ ِٕطم‪١‬خ ص‪١‬ؼ‪١‬ذ ‪1‬‬
‫ِٕطم‪ ٟ‬أ‪ِ ٚ‬ب ػذا رٌه ص‪١‬ؼ‪١‬ذ ‪ِٕ 0‬طم‪. ٟ‬‬

‫) ‪ All ( M‬‬
‫‪٠‬حذد ٌٕب ٘زا اٌزبثغ ف‪ّ١‬ب إرا وبْ وً ػٕبطش اٌّظف‪ٛ‬فخ ‪ ٟ٘ M‬غ‪١‬ش طفش‪٠‬خ ( ‪ ٚ ) true‬ح‪١‬ش ‪٠‬م‪َٛ‬‬
‫ثفحض وً ػّ‪ٛ‬د ثّفشدٖ ‪٠ ٚ‬ؼ‪١‬ذ إٌبرج ػٍ‪ ٝ‬شىً شؼبع ِٕطم‪ ٟ‬صطش‪ ٞ‬وً ػٕظش ف‪٘ ٟ‬زا‬
‫اٌشؼبع ٘‪ٔ ٛ‬برج فحض اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ ٚ ,‬إرا أسدٔب أْ ‪٠‬زُ اٌفحض ػٍ‪ ٝ‬األصطش ٔىزت ‪all(M‬‬
‫)‪ , ,2‬أِب إرا وبٔذ ‪ M‬شؼبع فإٔٗ ‪ 1‬أ‪ِٕ 0 ٚ‬طم‪٠ ٟ‬حذد ف‪ّ١‬ب إرا وبْ وً ػٕبطش اٌشؼبع غ‪١‬ش‬
‫طفش‪. ٞ‬‬

‫‪- 70 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ Any ( M‬‬
‫‪٠‬حذد ٌٕب ٘زا اٌزبثغ ف‪ّ١‬ب إرا وبْ أحذ ػٕبطش اٌّظف‪ٛ‬فخ ‪ ٟ٘ M‬غ‪١‬ش طفش‪٠‬خ ( ‪ ٚ ) true‬ح‪١‬ش‬
‫‪٠‬م‪ َٛ‬ثفحض وً ػّ‪ٛ‬د ثّفشدٖ ‪٠ ٚ‬ؼ‪١‬ذ إٌبرج ػٍ‪ ٝ‬شىً شؼبع ِٕطم‪ ٟ‬صطش‪ ٞ‬وً ػٕظش ف‪٘ ٟ‬زا‬
‫اٌشؼبع ٘‪ٔ ٛ‬برج فحض اٌؼّ‪ٛ‬د اٌّ‪ٛ‬افك ‪ ٚ ,‬إرا أسدٔب أْ ‪٠‬زُ اٌفحض ػٍ‪ ٝ‬األصطش ٔىزت ‪all(M‬‬
‫)‪ , ,2‬أِب إرا وبٔذ ‪ M‬شؼبع فإٔٗ ‪ 1‬أ‪ِٕ 0 ٚ‬طم‪٠ ٟ‬حذد ف‪ّ١‬ب إرا وبْ أحذ ػٕبطش اٌشؼبع غ‪١‬ش‬
‫طفش‪. ٞ‬‬

‫مثبل ‪: 11-3‬‬
‫] ‪>> m=[2 0 4 ; 3 0 0 ; 1 6 3‬‬ ‫)‪>> islogical(m‬‬
‫=‪m‬‬ ‫= ‪ans‬‬
‫‪2 0 4‬‬ ‫‪0‬‬
‫‪3 0 0‬‬ ‫)‪>> logical(m‬‬
‫‪1 6 3‬‬ ‫= ‪ans‬‬
‫)‪>> all(m,2‬‬ ‫‪1 0 1‬‬
‫= ‪ans‬‬ ‫‪1 0 0‬‬
‫‪0‬‬ ‫‪1 1 1‬‬
‫‪0‬‬ ‫>>‬
‫‪1‬‬
‫))‪>> any(any(m‬‬
‫= ‪ans‬‬
‫‪1‬‬
‫‪Islogical‬‬

‫) ‪ x=dec2bin ( y‬‬
‫‪ٞ‬ل‪٘ َٛ‬زا اٌزبثغ ثزح‪ ً٠ٛ‬اٌؼذد ِٓ إٌظبَ اٌؼشش‪ ٞ‬إٌ‪ ٝ‬إٌظبَ اٌضٕبئ‪ ٚ , ٟ‬اٌزبثغ اٌز‪٠ ٞ‬م‪ َٛ‬ثبٌّ‪ّٙ‬خ‬
‫اٌؼىض‪١‬خ ( اٌزح‪ ِٓ ً٠ٛ‬إٌظبَ اٌضٕبئ‪ ٟ‬إٌ‪ ٝ‬إٌظبَ اٌؼشش‪. y=bin2dec(x) ٛ٘ ) ٞ‬‬

‫) ‪ x=dec2hex ( y‬‬
‫‪ٞ‬ل‪٘ َٛ‬زا اٌزبثغ ثزح‪ ً٠ٛ‬اٌؼذد ِٓ إٌظبَ اٌؼشش‪ ٞ‬إٌ‪ ٝ‬إٌظبَ اٌضذ ػشش‪ ٚ , ٞ‬اٌزبثغ اٌز‪٠ ٞ‬م‪َٛ‬‬
‫ثبٌّ‪ّٙ‬خ اٌؼىض‪١‬خ ( اٌزح‪ ِٓ ً٠ٛ‬إٌظبَ اٌضذ ػشش‪ ٞ‬إٌ‪ ٝ‬إٌظبَ اٌؼشش‪y=hex2dec(x) ٛ٘ ) ٞ‬‬

‫****نهاية الفصل****‬

‫شاهد الحلقة السابعة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 71 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 9 - 3‬تمبرين ‪:‬‬
‫‪exercises :‬‬
‫‪ِ - 1‬ب ٘‪ٔ ٛ‬برج رٕف‪١‬ز ِب ‪ ٍٟ٠‬ف‪ ٟ‬اٌّبرالة ‪:‬‬

‫‪(a) (1>0=='r'>'R')&true‬‬ ‫))‪(e) z=1+i ; abs(sqrt(z))==sqrt(abs(z‬‬


‫)‪(b) dec2bin(15‬‬ ‫)‪(f)logical(abs(z)^2)==logical(conj(z)*z‬‬
‫)]‪(c)[r,p,k]=residue([1 2 3],[1 2‬‬ ‫‪(g) false - true‬‬
‫)‪(d) char('A'+1‬‬ ‫)‪(h) isnumeric(false*true‬‬

‫= ‪ans‬‬
‫‪0‬‬
‫= ‪ans‬‬
‫‪1111‬‬
‫=‪r‬‬
‫‪3‬‬
‫=‪p‬‬
‫‪-2‬‬
‫=‪k‬‬
‫‪1 0‬‬
‫= ‪ans‬‬
‫‪B‬‬
‫= ‪ans‬‬
‫‪1‬‬
‫= ‪ans‬‬
‫‪1‬‬
‫= ‪ans‬‬
‫‪-1‬‬
‫= ‪ans‬‬
‫‪1‬‬
‫‪ - 2‬أطجغ جذ‪ٚ‬الً ( ِظف‪ٛ‬فخ ) ‪٠‬ح‪ ٞٛ‬ف‪ ٟ‬اٌؼّ‪ٛ‬د األ‪ٚ‬ي اٌز‪ٚ‬ا‪٠‬ب ثبٌذسجبد ِٓ ‪ 00‬حز‪ٚ 3600 ٝ‬‬
‫ثخط‪ٛ‬ح ‪ ٚ 150‬اٌؼّ‪ٛ‬د اٌضبٔ‪ٔ ٟ‬فش ل‪ ُ١‬اٌز‪ٚ‬ا‪٠‬ب ثبٌشاد‪٠‬بْ ‪ ,‬اٌؼّ‪ٛ‬د ٌضبٌش ‪٠‬ح‪ ٞٛ‬ج‪١‬ت‬
‫اٌزا‪٠ٚ‬خ اٌّ‪ٛ‬افمخ ‪ ٚ ,‬اٌؼّ‪ٛ‬د اٌشاثغ ‪٠‬ح‪ ٞٛ‬رج‪١‬ت اٌزا‪٠ٚ‬خ ‪ ٚ‬اٌؼّ‪ٛ‬د اٌخبِش ‪٠‬ح‪ ٞٛ‬ظً‬
‫اٌزا‪٠ٚ‬خ اٌّ‪ٛ‬افمخ ‪.‬‬
‫;']‪>> v1=[0:30:360‬‬
‫;)‪>> v2=deg2rad(v1‬‬
‫;)‪>> v3=sin(v2‬‬
‫;)‪>> v4=cosd(v1‬‬
‫;]‪>> m=[v1 v2 v3 v4‬‬

‫‪- 72 -‬‬
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

>> disp('angle in degrees angle in radian sine of angle cosine of angle


')
>> disp(m)
angle in degrees angle in radian sine of angle cosine of angle
0 0 0 1.0000
30.0000 0.5236 0.5000 0.8660
60.0000 1.0472 0.8660 0.5000
90.0000 1.5708 1.0000 0
120.0000 2.0944 0.8660 -0.5000
150.0000 2.6180 0.5000 -0.8660
180.0000 3.1416 0.0000 -1.0000
210.0000 3.6652 -0.5000 -0.8660
240.0000 4.1888 -0.8660 -0.5000
270.0000 4.7124 -1.0000 0
300.0000 5.2360 -0.8660 0.5000
330.0000 5.7596 -0.5000 0.8660
360.0000 6.2832 -0.0000 1.0000
>>
: ‫ قم بحساب ناتج ما ٌلً باستخدام الماتالب‬- 3
sin 𝑥
(a) lim𝑥→0
𝑥
(b) lim𝑥→∞ 𝑥 . 𝑒 −𝑥
2

(c) (𝑒 𝑥 . cos 𝑥 ) 𝑑𝑥
4 2
(d) 0
(𝑥 + sin 𝑥 + 2) 𝑑𝑥
𝑑 𝑥+3
(e)
𝑑𝑥 𝑥 2 +𝑥+4
(f) 𝑓 4 ; 𝑓 𝑥 = 𝑥 3 + 𝑥 − 1

>> syms x
>> limit(sin(x)/x , x , 0)
ans =
1
>> limit(((x^2)*exp(-x)),x,inf)
ans =
0
>> int(exp(x)*cos(x))
ans =
(exp(x)*(cos(x) + sin(x)))/2
>> int(x^2+sin(x)+2,0, 4)
ans =

- 73 -
‫الفصل األول‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

91/3 - cos(4)
>> polyder([1 3],[1 1 4])
ans =
3 8 7
>> poly2sym(ans)
ans =
3*x^2 + 8*x + 7
>> polyval([1 0 1 -1],4)
ans =
67
>>

: ‫ حل جملة المعادالت التالٌة‬- 4


3𝑥 + 4𝑦 + 5𝑧 = 2
2𝑥 − 3𝑦 + 7𝑧 = −1
𝑥 − 6𝑦 + 𝑧 = 3
>> [x,y,z]=solve('3*x+4*y+5*z=2','2*x-3*y+7*z=-1','x-6*y+z=3')
x=
241/92
y=
-21/92
z=
-91/92
>>% another way using Matrix : X=[A]^-1 * B
>> A=[3 4 5;2 -3 7;1 -6 1 ];
>> B=[2;-1;3];
>> inv(A)*B
ans =
2.6196
-0.2283
-0.9891
>> rats(ans)
ans =
241/92
-21/92
-91/92
>>

- 74 -
‫انفصم‬
‫‪4‬‬
‫انرسىياخ‬
‫‪Graphics‬‬
‫أهداف هذا الفصل ‪:‬‬

‫التمكن من رسم التوابع بشكل‬


‫عام و تمثيل المصفوفات و‬
‫رسم األسطح و الرسم ثالثي‬
‫البعد و تمثيل البيانات‬
‫اإلحصائية‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 1 . 4‬يقديح ‪:‬‬
‫‪Introduction‬‬
‫ها نحن نتقدم فً دراستنا للماتالب و فً نهاٌة هذا الفصل سنكون قادرٌن على تمثٌل البٌانات و‬
‫رسم التوابع فً الماتالب حٌث ٌتمٌز الماتالب برسم التوابع المعقدة التً ٌصعب رسمها بالٌد و‬
‫ٌمكنه رسمها بعدة طرق و بعدة أشكال منها الرسم ثنائً البعد و ثالثً البعد ‪.‬‬

‫‪ ) 2 . 4‬انتاتع ‪: Plot‬‬
‫‪Plot function‬‬

‫التابع األساسً فً هذا الفصل هو ‪:‬‬

‫)‪ Plot (y‬‬


‫إرا وأد ‪ ٛ٘ Y‬شؼاع فإْ اٌراتغ ع‪١‬شعُ ل‪ ُ١‬اٌؼ‪ٕ١‬اخ تإٌغثح ٌؼٕ‪ٛ‬اْ وً ل‪ّ١‬ح ف‪ ٟ‬اٌّظف‪ٛ‬فح ‪ٚ‬‬
‫اٌّثاي اٌراٌ‪ٛ٠ ٟ‬ػخ رٌه ‪:‬‬

‫يثال ‪: 1-4‬‬
‫]‪>> a=[1 3 2 4‬‬
‫=‪a‬‬
‫‪1 3 2 4‬‬
‫)‪>> plot(a‬‬
‫>>‬

‫‪- 76 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫د‪١‬ث ٔالدع ِٓ اٌّثاي اٌغاتك أْ أ‪ٚ‬ي ٔمطح ف‪ ٟ‬إٌّذٕ‪ ٟ٘ ٟ‬إٌمطح ( ‪ ) 1 , 1‬أ‪ٚ‬ي لغُ ٘‪1 ٛ‬‬
‫أ‪ ٞ‬اٌؼٕظش األ‪ٚ‬ي ف‪ ٟ‬اٌشؼاع ‪ ٚ‬اٌمغُ اٌثأ‪ 1 ٛ٘ ٟ‬أ‪ ٞ‬أ‪ٚ‬ي ػٕظش ف‪ ٟ‬اٌشؼاع ل‪ّ١‬رٗ ‪ ٚ , 1‬إٌمطح‬
‫اٌثأ‪١‬ح ٘‪ ) 3 , 2 ( ٟ‬أ‪ٚ‬ي لغُ ٘‪ 2 ٛ‬أ‪ ٞ‬اٌؼٕظش اٌثأ‪ ٟ‬ف‪ ٟ‬اٌشؼاع ‪ ٚ‬اٌمغُ اٌثأ‪ 3 ٛ٘ ٟ‬أ‪ ٞ‬ثأ‪ٟ‬‬
‫ػٕظش ف‪ ٟ‬اٌشؼاع ل‪ّ١‬رٗ ‪٘ ٚ , 3‬ىزا ‪...‬‬

‫)‪ plot (M‬‬


‫إرا وأد ‪ِ M‬ظف‪ٛ‬فح فإْ اٌراتغ ‪٠‬شعُ وً ػّ‪ٛ‬د تإٌغثح ٌذٌ‪ ً١‬اٌظف ‪.‬‬

‫يثال ‪: 2-4‬‬
‫]‪>> m=[2 6 ; 4 1 ; 5 7‬‬
‫=‪m‬‬
‫‪2 6‬‬
‫‪4 1‬‬
‫‪5 7‬‬
‫)‪>> plot(m‬‬
‫>>‬

‫فف‪ ٟ‬اٌّثاي اٌغاتك ٔالدع أْ اٌخؾ األصسق اٌز‪ّ٠ ٞ‬ثً اٌؼّ‪ٛ‬د األ‪ٚ‬ي ‪ّ٠‬ش ِٓ إٌماؽ ( ‪( ٚ ) 2 , 1‬‬
‫‪)5,3(ٚ)4 ,2‬‬

‫) ‪ plot ( v1 , v2‬‬
‫‪٠‬م‪ َٛ‬اٌراتغ ٕ٘ا تشعُ اٌشؼاع ‪ v1‬تإٌغثح ٌٍشؼاع ‪ v2‬د‪١‬ث ‪٠‬ى‪ٔ ْٛ‬ماؽٗ لغُ ِٓ اٌشؼاع األ‪ٚ‬ي ‪ٚ‬‬
‫لغُ ِٓ اٌشؼاع اٌثأ‪. ٟ‬‬

‫‪- 77 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫يثال ‪: 3-4‬‬
‫;]‪>> t=[0:0.0001:2*pi‬‬
‫;)‪>> s=sin(t‬‬
‫)‪>> plot(t,s‬‬
‫>>‬

‫‪ ) 3 . 4‬تحسيٍ انرسى ‪:‬‬


‫‪Graphic improvements‬‬

‫‪ - 1‬تحديد نمط و لون خط الرسم و عالمات النقاط ‪:‬‬

‫‪ّ٠‬ىٕٕا ذغ‪١‬ش ٌ‪ ْٛ‬اٌخؾ اٌز‪٠ ٞ‬شعّٗ اٌراتغ ‪ ٚ plot‬رٌه ػث‪١‬ش وراتح ‪:‬‬

‫)'‪ plot(… , 'color‬‬


‫أ‪ٔ ٞ‬ىرة اٌراتغ وّا ٘‪ٌ ٚ ٛ‬ىٓ ٔؼ‪١‬ف تؼذ اٌفاطٍح داخً أل‪ٛ‬اط اٌراتغ سِض اٌٍ‪ِٛ ْٛ‬ػ‪ٛ‬ع ػّٓ‬
‫إشاسج ٔض ‪ ٚ‬اٌجذ‪ٚ‬ي اٌراٌ‪٠ ٟ‬ث‪ ٓ١‬سِ‪ٛ‬ص األٌ‪ٛ‬اْ اٌر‪ّ٠ ٟ‬ىٓ اعرخذاِ‪ٙ‬ا ف‪ ٟ‬اٌّاذالب ‪:‬‬

‫‪Symbol‬‬ ‫‪Color‬‬
‫‪Y‬‬ ‫‪Yellow‬‬
‫‪M‬‬ ‫‪Magenta‬‬

‫‪- 78 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪C‬‬ ‫‪Cyan‬‬
‫‪R‬‬ ‫‪Red‬‬
‫‪G‬‬ ‫‪Green‬‬
‫‪P‬‬ ‫‪Blue‬‬
‫‪W‬‬ ‫‪White‬‬
‫‪K‬‬ ‫‪Black‬‬
‫انجدول ‪ : 1-4‬يثيٍ ريس األنىاٌ ان ًُستخديح في رسى انخطىط انثياَيح ‪.‬‬

‫و ‪ّ٠‬ىٕٕا ذغ‪١‬ش إٌّؾ األعاع‪ ٟ‬اٌز‪٠ ٞ‬غرخذِٗ اٌّاذالب ٌشعُ اٌخؾ اٌث‪١‬أ‪ ٛ٘ ٚ ٟ‬اٌخؾ اٌّرظً "‬
‫ــــ " ‪ّ٠ ٚ‬ىٕٕا اعرخذاَ اٌجذ‪ٚ‬ي اٌراٌ‪ٌ ٟ‬ر‪ٛ‬ػ‪١‬خ إٌ‪ ٝ‬أ‪ّٔ ٞ‬ؾ ‪ّ٠‬ىٕٕا ذغ‪١‬شٖ ‪:‬‬

‫‪Symbol‬‬ ‫‪Line style‬‬


‫‪-‬‬ ‫‪Solid‬‬
‫‪--‬‬ ‫‪Dashed‬‬
‫‪:‬‬ ‫‪Dotted‬‬
‫‪-.‬‬ ‫‪Dash-dot‬‬
‫انجدول ‪ : 2-4‬يثيٍ ريس ًَط انخطىط ان ًُستخديح في رسى انخطىط انثياَيح ‪.‬‬

‫‪ ٚ‬رٌه تىراتح ‪:‬‬

‫) '‪ plot ( … , ' style‬‬


‫وّا ‪ّ٠‬ىٕٕا ذذذ‪٠‬ذ إٌماؽ اٌر‪ ٟ‬اػرّذ اٌّاذالب ػٍ‪ٙ١‬ا ف‪ ٟ‬سعُ اٌخؾ اٌث‪١‬أ‪ ٚ ٟ‬رٌه تىراتح ‪:‬‬

‫) ' ‪ plot( …. , ' marker‬‬


‫‪ ٚ‬اٌجذ‪ٚ‬ي اٌراٌ‪٠ ٟ‬ث‪ ٓ١‬اٌؼالِاخ اٌّغرخذِح ف‪ ٟ‬اٌّاذالب ‪:‬‬

‫‪Symbol‬‬ ‫‪Marker‬‬
‫‪.‬‬ ‫●‬
‫‪O‬‬ ‫◦‬
‫‪X‬‬ ‫ͯ‬
‫‪+‬‬ ‫‪+‬‬
‫*‬ ‫*‬
‫‪S‬‬ ‫□‬
‫‪D‬‬ ‫◊‬
‫‪V‬‬ ‫‪‬‬
‫^‬ ‫‪‬‬
‫<‬ ‫‪‬‬
‫>‬ ‫‪‬‬
‫‪P‬‬ ‫‪‬‬
‫‪H‬‬ ‫‪‬‬
‫انجدول ‪ : 3-4‬يثيٍ ريىز َقاط انرسى انًستخديح في رسى انًُحُياخ ‪.‬‬

‫‪ ٚ‬العرخذاَ اٌثالثح ِؼا ً ٔىرث‪ ُٙ‬تاٌرشذ‪١‬ة ‪:‬‬

‫‪- 79 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) '‪ plot ( …. ' color style marker‬‬


‫يثال ‪: 4-4‬‬
‫;]‪>> t=[0:0.001:3*pi‬‬
‫;)‪>> x=exp(t).*sin(t‬‬
‫)'‪>> plot(t,x,'k--s‬‬
‫>>‬

‫‪ – 2‬تسًيح انرسى و انًحاور و انخطىط ‪:‬‬

‫ٔالدع أْ اٌشع‪ِٛ‬اخ اٌر‪ ٟ‬لّٕا ت‪ٙ‬ا ِث‪ّٙ‬ح ‪ ٚ‬ال ذؼط‪ ٟ‬أ‪٠‬ح ِؼٍ‪ِٛ‬اخ تذ‪ ْٚ‬ذغّ‪١‬ح ٌٍّذا‪ٚ‬س ‪ٚ‬‬
‫اٌشعّح تشىً ػاَ ‪ٌٍ ٚ‬م‪١‬اَ تزٌه ٔغرخذَ اٌرؼٍ‪ّ١‬اخ اٌراٌ‪١‬ح ‪:‬‬

‫) ' ‪ xlabel( ' x_axis_label‬‬


‫ذم‪٘ َٛ‬زٖ اٌرؼٍ‪ّ١‬ح ت‪ٛ‬ػغ ِا تذاخً ػالِاخ اٌرٕظ‪١‬ض واعُ ٌٍّذ‪ٛ‬س األفم‪. ٟ‬‬

‫) ' ‪ ylabel( ' y_axis_label‬‬


‫ذم‪٘ َٛ‬زٖ اٌرؼٍ‪ّ١‬ح ت‪ٛ‬ػغ ِا تذاخً ػالِاخ اٌرٕظ‪١‬ض واعُ ٌٍّذ‪ٛ‬س اٌؼّ‪ٛ‬د‪. ٞ‬‬

‫) ‪ xlime( [ xmin , xmax‬‬


‫ذم‪٘ َٛ‬زٖ اٌرؼٍ‪ّ١‬ح ترذذ‪٠‬ذ دذ‪ٚ‬د اٌّذ‪ٛ‬س ‪. x‬‬

‫) ‪ ylime( [ ymin , ymax‬‬


‫ذم‪٘ َٛ‬زٖ اٌرؼٍ‪ّ١‬ح ترذذ‪٠‬ذ دذ‪ٚ‬د اٌّذ‪ٛ‬س ‪. y‬‬

‫‪- 80 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ' ‪ title( ' grapic _title‬‬


‫ذم‪٘ َٛ‬زٖ اٌرؼٍ‪ّ١‬ح ت‪ٛ‬ػغ ِا تذاخً ػالِاخ اٌرٕظ‪١‬ض واعُ ٌٍشعُ ‪.‬‬

‫)'‪ text(X_start , Y_start , ' text‬‬


‫‪٠‬م‪٘ َٛ‬زا اٌراتغ ت‪ٛ‬ػغ إٌض اٌز‪ ٞ‬تذاخً ػالِاخ اٌرٕظ‪١‬ض ػٍ‪ ٝ‬اٌشعُ ف‪ ٟ‬اٌّ‪ٛ‬لغ اٌز‪٠ ٞ‬ثذأ‬
‫تاإلدذائ‪١‬اخ ‪. X_start , Y_start‬‬

‫)… ‪ legend( ' plot_1 ' , 'plot_2' ,‬‬


‫ذم‪٘ َٛ‬زٖ اٌرؼٍ‪ّ١‬ح ت‪ٛ‬ػغ ِا تذاخً ػالِاخ اٌرٕظ‪١‬ض وأعّاء ٌٍخط‪ٛ‬ؽ اٌث‪١‬أ‪١‬ح اٌّ‪ٛ‬ج‪ٛ‬دج ف‪ٔ ٟ‬فظ‬
‫اٌشعُ ‪.‬‬

‫‪ – 3‬إضافح خطىط انشثكح ‪:‬‬

‫ٌر‪ٛ‬ػ‪١‬خ ِؼاٌُ اٌشعُ ‪ٚ ٚ‬ػغ شثىح ِٕمطح خٍف اٌشعُ ٔغرخذَ اٌرؼٍ‪ّ١‬ح اٌراٌ‪١‬ح ‪:‬‬

‫‪ grid on/off‬‬


‫ٔغرخذَ اٌرؼٍ‪ّ١‬ح ِغ ‪ٌٛ on‬ػغ شثىح ‪ِ ٚ‬غ ‪ٌ off‬ذزف اٌشثىح ‪.‬‬

‫‪ – 4‬أكثر يٍ خط تياَي في َفس انشكم ‪:‬‬

‫ٔذراج أد‪١‬أا ً ٌشعُ أوثش ِٓ خؾ ت‪١‬أ‪ ٟ‬ف‪ٔ ٟ‬فظ اٌشىً ‪ ٚ‬رٌه ٌ‪ٙ‬ذف اٌّماسٔح ت‪ ُٕٙ١‬أ‪ٌ ٚ‬غ‪١‬شٖ ‪ٚ‬‬
‫‪ّ٠‬ىٕٕا أجاص رٌه تطش‪٠‬مر‪: ٓ١‬‬

‫‪ -‬شكم و احد و أكثر يٍ خط ‪ :‬و ذنك تاستخداو انتعهيًح ‪:‬‬

‫‪ hold on/off‬‬


‫ذّىٕٕا اٌرؼٍ‪ّ١‬ح اٌغاتمح تاعرخذاِ‪ٙ‬ا ِغ ‪ ِٓ on‬سعُ أوثش ِٓ خؾ ػٍ‪ٔ ٝ‬فظ اٌشىً ‪ ٚ‬تذ‪ٙٔٚ‬ا فإٔٗ‬
‫إرا دا‪ٌٕٚ‬ا سعُ خؾ ت‪١‬أ‪ ٟ‬جذ‪٠‬ذ فغ‪١‬ض‪ٚ‬ي اٌخؾ اٌث‪١‬أ‪ ٟ‬األ‪ٚ‬ي ‪.‬‬

‫يثال ‪: 5-4‬‬

‫;]‪>> t=[0:0.001:2*pi‬‬
‫;)‪>> x1=sin(t‬‬
‫;)‪>> x1=sin(t+3*pi/2‬‬
‫;)‪>> x1=sin(t‬‬
‫;)‪>> x2=sin(t+3*pi/2‬‬
‫;)‪>> x3=sin(t-3*pi/2‬‬
‫)'‪>> plot(t,x1,'r--o‬‬
‫‪>> hold on‬‬
‫)'‪>> plot(t,x2,'g-x‬‬
‫)'>‪>> plot(t,x3,'k-.‬‬
‫)'‪>> legend('sin' ,'sin +120 out-of-phase','sin -120 out-of-phase‬‬
‫)'‪>> xlabel('time‬‬
‫)'‪>> ylabel('sin waves‬‬

‫‪- 81 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)'‪>> title('sine waves out-of-phase‬‬


‫>>‬

‫‪ -‬تقسيى انشكم إنى عدج أقساو و رسى كم خط تياَي في قسى و ذنك تاستخداو انتعهيًح ‪:‬‬

‫)‪ subplot(rows_number , column_number , active_segment‬‬


‫‪ِ ٚ‬ذخالخ ٘زٖ اٌرؼٍ‪ّ١‬ح ٘‪ ٟ‬ػذد اٌظف‪ٛ‬ف ‪ ٚ‬ػذد األػّذج ‪ٔ ِٕٗ ٚ‬جذ أْ اٌرمغ‪٠ ُ١‬شثٗ اٌّظف‪ٛ‬فح ‪ٚ‬‬
‫جذاء ػذد اٌظف‪ٛ‬ف ‪ ٚ‬ػذد األػّذج ع‪١‬ذٌٕا ػٍ‪ ٝ‬ػذد األلغاَ ‪ ٚ‬أخش ِذخً ٌٍرؼٍ‪ّ١‬ح ٘‪ ٛ‬اٌمغُ‬
‫اٌفؼاي ( ف‪ ٟ‬أ‪ ٞ‬لغُ ع‪١‬رُ ذٕف‪١‬ز ذؼٍ‪ّ١‬ح ‪ plot‬اٌراٌ‪١‬ح ) ‪ ٚ ,‬اٌّثاي اٌراٌ‪ ٟ‬ع‪ٛ١‬ػخ رٌه ‪.‬‬

‫يثال ‪: 6-4‬‬

‫;]‪>> t=[0:0.001:2*pi‬‬
‫;)‪>> x1=sin(t‬‬
‫;)‪>> x2=cos(t‬‬
‫;)‪>> x3=log(t‬‬
‫;)‪>> x4=exp(t‬‬
‫)‪>> subplot(2,2,1‬‬
‫)‪>> plot(t,x1‬‬
‫‪>> grid on‬‬
‫)'‪>> xlabel('time‬‬
‫)'‪>> ylabel('sin wave‬‬
‫)'‪>> title('plot 1‬‬
‫)‪>> subplot(2,2,2‬‬

‫‪- 82 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

>> plot(t,x2)
>> grid on
>> xlabel('time')
>> ylabel('cosine wave')
>> title('plot 2')
>> subplot(2,2,3)
>> plot(t,x3)
>> xlabel('time')
>> ylabel('log wave')
>> title('plot 3')
>> subplot(2,2,4)
>> plot(t,x4)
>> xlabel('time')
>> ylabel('exp wave')
>> title('plot 4')
>>

: ‫ – انتحكى في األشكال‬5

‫ ٕ٘ان‬ٚ ‫ا‬ٙ١‫ ٌٍشعُ ف‬figure Window ً‫فرخ ٔافزج شى‬٠ ‫ فإْ اٌّاذالب‬plot() ‫ػٕذِا ٔغرخذَ اٌراتغ‬
: ٟ٘ ٚ ‫ذ فاسؽ‬٠‫َ تفرخ شىً جذ‬ٛ‫ّح ذم‬١ٍ‫ذؼ‬

- 83 -
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ figure‬‬
‫ذم‪ َٛ‬اٌرؼٍ‪ّ١‬ح اٌغاتمح تفرخ ٔافزج شىً جذ‪٠‬ذج ‪ ٚ ,‬ػٕذِا ذى‪ٌ ْٛ‬ذ‪ٕ٠‬ا أوثش ِٓ ٔافزج فإٕٔا ٔغرط‪١‬غ‬
‫اٌرٕمً ت‪ ُٕٙ١‬تاعرخذاَ )‪ figure(n‬د‪١‬ث ‪ ٟ٘ n‬سلُ إٌافزج ‪.‬‬

‫‪ ٚ‬وّا أششٔا ف‪ ٟ‬اٌثذا‪٠‬اخ فإٔٗ ‪ّ٠‬ىٕٕا ِغخ ٔافزج اٌشىً ِٓ خالي اٌرؼٍ‪ّ١‬ح ‪. clf‬‬

‫‪ّ٠‬ىٕٕا ػًّ ذمش‪٠‬ة ٌٍشىً ‪ ٚ‬اخز ٌمطح ِمشتح ػٕٗ تاعرخذاَ اٌرؼٍ‪ّ١‬ح ‪:‬‬

‫)] ‪ axis ( [Xmin , Xmax , Ymin , Y max‬‬


‫‪٠‬م‪ َٛ‬اٌراتغ اٌغاتك تأخز ٌمطح ِٓ اٌشعُ ‪ ٚ‬ذىث‪١‬ش٘ا ‪ٚ‬فك ِا ٘‪ِ ٛ‬ذذد ِٓ اٌّذا‪ٚ‬س ‪ٕ٘ ,‬ان ػثاساخ‬
‫ذأذ‪ِ ٟ‬غ ذؼٍ‪ّ١‬ح ‪ِٛ ٟ٘ ٚ axis‬ػذح تاٌجذ‪ٚ‬ي ( ‪) 7 - 4‬‬

‫‪Axis +‬‬ ‫‪Meaning‬‬


‫‪On / off‬‬ ‫إظهار أو إخفاء انًحاور‬
‫‪auto‬‬ ‫يختار انًاتالب يا يُاسة انرسى ‪.‬‬
‫‪Ij‬‬ ‫تقىو تانرسى تحيث يكىٌ يركس اإلحداثياخ في‬
‫انساويح انعهىيح انيساريح‬
‫‪Xy‬‬ ‫تقىو تانرسى تحيث يكىٌ يركس اإلحداثياخ في‬
‫انساويح انسفهيح انيساريح‬
‫‪square‬‬ ‫تستخدو في انرسى ثالثي انثعد نجعم انًحاور‬
‫يتساويح‬
‫‪normal‬‬ ‫تعدل َسثح انًحاور و تثاعد وحداخ انثياَاخ‬
‫نتًهئ انرسى تانخط قدر اإليكاٌ‬
‫‪equal‬‬ ‫تعدل َسثح انًحاور و تثاعد وحداخ انثياَاخ‬
‫يتساويح‬
‫انجدول ‪ : 4-4‬انكهًاخ انتي تأتي يع تعهيًح ‪ axis‬و يدنىالتها‬

‫‪ shg‬‬
‫ذغرخذَ ٘زٖ اٌرؼٍ‪ّ١‬ح إلظ‪ٙ‬اس اٌشىً ف‪ٛ‬ساً تؼذ ذٕف‪١‬ز اٌشعُ ‪.‬‬

‫يثال ‪: 7-4‬‬

‫;]‪>> t=[-pi:0.001:pi‬‬
‫;)‪>> x=cos(t‬‬
‫)‪>> subplot(1,2,1‬‬
‫)‪>> plot(t,x‬‬
‫‪>> grid on‬‬
‫)‪>> subplot(1,2,2‬‬
‫)‪>> plot(t,x‬‬
‫‪>> grid on‬‬
‫)]‪>> axis([-2 , 2 , 0 , 1‬‬
‫)'‪>>text(-1,0.3,'zoom‬‬
‫‪>>shg‬‬

‫‪- 84 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 4 . 4‬انرسى ثُائي انثعد تاستخداو تىاتع يشاتهح نهتاتع ‪: plot‬‬


‫‪Introduction‬‬
‫ال ‪٠‬مرظش اٌشعُ ف‪ ٟ‬اٌّاذالب ػٍ‪ ٝ‬اٌراتغ ‪ٌ ٚ plot‬ىٓ ٕ٘ان اٌؼذ‪٠‬ذ ِٓ اٌر‪ٛ‬اتغ ‪ٌ ٚ‬ىٓ ٌىً ذاتغ‬
‫‪ٚ‬ظ‪١‬فح ‪ ٚ‬اعرخذاَ خاص ‪ ٚ‬ف‪ّ١‬ا ‪ ٍٟ٠‬عٕم‪ َٛ‬تغشد ذٍه اٌر‪ٛ‬اتغ ‪ ٚ‬اعرخذاِاذ‪ٙ‬ا ِغ األِثٍح ‪:‬‬

‫)(‪ semilogx‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تاٌشعُ وّا ٘‪ ٛ‬اٌراتغ ‪ٌ ٚ plot‬ىٓ اٌّذ‪ٛ‬س األفم‪٠ ٟ‬ى‪ ْٛ‬تّم‪١‬اط ٌ‪ٛ‬غاس‪٠‬رّ‪. ٟ‬‬

‫)(‪ semilogy‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تاٌشعُ وّا ٘‪ ٛ‬اٌراتغ ‪ٌ ٚ plot‬ىٓ اٌّذ‪ٛ‬س اٌؼّ‪ٛ‬د‪٠ ٞ‬ى‪ ْٛ‬تّم‪١‬اط ٌ‪ٛ‬غاس‪٠‬رّ‪. ٟ‬‬

‫)( ‪ loglog‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تاٌشعُ وّا ٘‪ ٛ‬اٌراتغ ‪ٌ ٚ plot‬ىٓ ‪٠‬ى‪ ْٛ‬وال اٌّذ‪ٛ‬س‪ ٓ٠‬اٌؼّ‪ٛ‬د‪ ٚ ٞ‬األفم‪ ٟ‬تّم‪١‬اط‬
‫ٌ‪ٛ‬غاس‪٠‬رّ‪. ٟ‬‬

‫)(‪ plotyy‬‬
‫‪٠‬غرخذَ ٘زا اٌراتغ ٌشعُ خط‪ ٓ١‬ت‪١‬أ‪ِ ٓ١١‬خرٍف‪ ٓ١‬تاٌّذ‪ٛ‬س اٌؼّ‪ٛ‬د‪ y ٞ‬أ‪ٌ ٞ‬ىً خؾ ِذ‪ٛ‬سٖ اٌؼّ‪ٛ‬د‪ٞ‬‬
‫اٌخاص ‪.‬‬

‫) ‪ ezplot( func‬‬
‫‪٠‬غرخذَ ٘زا اٌراتغ ٌشعُ ذاتغ ‪ِ func‬خضْ تشىً سِض‪. ٞ‬‬

‫يثال ‪: 8-4‬‬

‫‪- 85 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

>> subplot(2,2,1)
>> loglog(x,exp(x),'-s')
>> grid on
>> subplot(2,2,2)
>> x1=0:0.01:20;
>> plotyy(x1,10*exp(-x1).*sin(x1) , x1 , exp(-0.5*x1).*sin(3*x1))
>> subplot(2,2,3)
>> semilogx(x, log(x))
>> grid on
>> subplot(2,2,4)
>> semilogy(x, exp(x.^2))
>> grid on
>>

‫ المرفق مع الكتاب‬CD ‫شاهد الحلقة الثامنة من الــ‬

- 86 -
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 5 . 4‬انرسى ثالثي انثعد ‪:‬‬


‫‪Introduction‬‬

‫ذذػ‪ ٛ‬اٌذاجح ف‪ ٟ‬تؼغ اٌرطث‪١‬ماخ ٌٍشعُ ثالث‪١‬ح األتؼاد وّا ٘‪ ٛ‬اٌذاي تإٌغثح ٌثٕائ‪ ٟ‬اٌثؼذ ‪ٌٍ ٚ ,‬م‪١‬اَ‬
‫تزٌه ٔ‪ٛ‬سد اٌر‪ٛ‬اتغ اٌراٌ‪١‬ح ‪ ٚ‬اعرخذاِاذ‪ٙ‬ا ‪:‬‬

‫‪‬‬ ‫)‪plot3(x , y , z‬‬


‫‪٠‬غرخذَ ٘زا اٌراتغ ٌشعُ ثالث‪ ٟ‬اٌثؼذ ٌراتغ تإٌغثح ٌّرغ‪١‬ش‪ ( ٓ٠‬سعُ شؼاع تإٌغثح ٌشؼاػ‪. ) ٓ١‬‬

‫يثال ‪: 9-4‬‬

‫;‪>> x=0:0.001:10‬‬
‫;)‪>> y=sin(4*x‬‬
‫;)‪>> z=cos(4*x‬‬
‫)'‪>> plot3(x,y,z ,'k-p‬‬
‫‪>> grid on‬‬
‫>>‬

‫‪- 87 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 6 . 4‬رسى انسطىح ‪:‬‬


‫‪Surfaces plotting‬‬
‫‪٠‬ؼشف اٌّاذالب اٌغط‪ٛ‬ح تإدذاث‪١‬اخ اٌّذ‪ٛ‬س ‪ٌٍٕ z‬ماؽ ف‪ٛ‬ق اٌّغر‪ x-y ٛ‬تاعرخذاَ خط‪ٛ‬ؽ ِثاششج‬
‫ٌ‪ٛ‬طً إٌماؽ اٌّرجا‪ٚ‬سج ‪ّ٠ ٚ ,‬ىٕٕا اعرخذاَ ذاتؼ‪ ٓ١‬ف‪٘ ٟ‬زا اٌّجاي ‪ّ٘ ٚ‬ا ‪ ٚ surf ٚ mesh‬اٌفشق‬
‫ت‪ّٕٙ١‬ا أْ اٌراتغ ‪٠ mesh‬شعُ اٌخط‪ٛ‬ؽ فمؾ ‪ٍٙٔٛ٠ ٚ‬ا ‪ ٚ ,‬ت‪ّٕ١‬ا ‪٠‬م‪ َٛ‬اٌراتغ ‪ surf‬تؼًّ عطخ ِٓ وً‬
‫أستؼح خط‪ٛ‬ؽ ‪٘ ٍْٛ٠ ٚ‬زٖ األعطخ ‪.‬‬

‫)‪ mesh(x,y,z‬‬
‫‪٠‬شعُ شثىح ِٓ اٌخط‪ٛ‬ؽ اٌٍّ‪ٔٛ‬ح ‪ٚ‬فما ً ٌــ ‪ٌٚ Z‬زٌه فإْ اٌٍ‪٠ ْٛ‬رغ‪١‬ش ‪ٚ‬فما ً السذفاع اٌغطخ ‪ ,‬فإرا واْ‬
‫وً ِٓ ‪ yٚ x‬شؼاػ‪ ٚ ٓ١‬واْ ؽ‪ٛ‬ي اٌشؼاع ‪ ٚ n ٚ x‬ؽ‪ٛ‬ي اٌشؼاع ‪ m ٛ٘ y‬د‪١‬ث ‪ٟ٘ n ٚ m‬‬
‫أتؼاد اٌّظف‪ٛ‬فح ‪ z‬فإٔٗ ف‪٘ ٟ‬زٖ اٌذاٌح ع‪١‬شعُ اٌراتغ إٌماؽ ‪ ٚ‬ع‪١‬ظً ت‪ٕٙ١‬ا ‪ ٚ‬وً ٔمطح ٘‪X(i) ( ٟ‬‬
‫)‪. ) ,Y(j) , Z(I,j‬‬

‫يثال ‪: 10-4‬‬

‫;] ‪>> x=[ 1 2 3 4‬‬


‫;] ‪>> y=[ 1 2 3 4‬‬
‫;] ‪>> z=[ 1 1 1 1 ; 2 2 2 2 ; 3 3 3 3 ; 4 4 4 4‬‬
‫)‪>> mesh(x,y,z‬‬
‫)'‪>> xlabel('x‬‬
‫)'‪>> ylabel('y‬‬
‫)'‪>> zlabel('z‬‬
‫>>‬

‫ف‪ ٟ‬اٌّثاي عاتك لّد ترذذ‪٠‬ذ ل‪ ُ١‬اٌّظف‪ٛ‬فح ‪ٌ ٚ z‬ىٓ ٘زا ِش٘ك ِٓ أجً سعُ أػمذ ‪ٕ٘ ٚ‬ان ِٓ‬
‫ع‪١‬م‪ َٛ‬تزٌه ‪:‬‬

‫‪- 88 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪ [X,Y] = meshgrid(xgv,ygv‬‬


‫‪٠‬أخز ٘زا اٌراتغ شؼاع اٌشثىح ٌٍّذ‪ٛ‬س األفم‪ ٚ xgv ٟ‬شؼاع اٌشثىح ٌٍّذ‪ٛ‬س اٌؼّ‪ٛ‬د‪٠ ٚ ygv ٞ‬م‪َٛ‬‬
‫تثٕاء شثىح واٍِح ‪ٚ‬اٌخشج ٘‪ ٛ‬ػثاسج ػٓ ِظف‪ٛ‬فر‪ٕ٘ ٚ ٓ١‬ان شىً آخش ٌٍراتغ ‪:‬‬

‫)‪o [X,Y] = meshgrid(gv‬‬


‫‪٠‬م‪ َٛ‬تٕفظ اٌؼًّ ٌٍراتغ اٌغاتك ‪ٌ ٚ‬ىٓ تاعرخذاَ شؼاع ‪ٚ‬د‪١‬ذ د‪١‬ث ع‪١‬غرخذِٗ ٔفغٗ وشؼاػ‪ٚ ٓ١‬‬
‫عرى‪ ْٛ‬اٌّظف‪ٛ‬فاخ إٌاذجح ِشتؼح ‪ ٚ‬أتؼاد٘ا ٔفظ ؽ‪ٛ‬ي اٌشؼاع ‪.‬‬

‫يثال ‪: 11-4‬‬

‫;)‪>> >> [x,y]=meshgrid(-10:0.5:10‬‬


‫;‪>> R=sqrt(x.^2+y.^2)+eps‬‬
‫;‪>> Z=sin(R)./R‬‬
‫;‪>> z=sin(R)./R‬‬
‫)‪>> mesh(x,y,z‬‬
‫>>‬

‫ٌمذ لّٕا ف‪ ٟ‬اٌّثاي اٌغاتك تشعُ ذاتغ اٌــ ‪ ٟ٘ r ٚ sinc=sin(r)/r‬اٌثؼذ ػٓ اٌّثذأ ‪ٌ ٚ‬رجٕة ػذَ‬
‫اٌرؼ‪ ٓ١١‬أػفٕا اٌّمذاس اٌظغ‪١‬ش ‪. eps‬‬

‫‪ surf‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تشعُ اٌغطخ تشىً ثالث‪ ٟ‬اٌثؼذ ‪ِ ٚ‬ذخالذٗ ٔفظ ِذخالخ اٌراتغ ‪. mesh‬‬

‫‪- 89 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫يثال ‪: 12-4‬‬

‫;)‪>> [x,y]=meshgrid(-10:0.5:10‬‬
‫;‪>> R=sqrt(x.^2+y.^2)+eps‬‬
‫;‪>> z=sin(R)./R‬‬
‫)‪>> surf(x,y,z‬‬
‫‪>> colorbar‬‬
‫>>‬

‫‪ colorbar‬‬
‫ٔغرخذَ اٌرؼٍ‪ّ١‬ح اٌراٌ‪١‬ح ٌرظ‪ٙ‬ش ػّ‪ٛ‬د األٌ‪ٛ‬اْ ف‪ ٟ‬اٌّخطؾ ف‪٠ ٛٙ‬ذذد ٌ‪ ْٛ‬وً اسذفاع ٌــ ‪. Z‬‬

‫‪ ) 7 . 4‬انرسى في اإلحداثياخ انعقديح ‪:‬‬


‫‪Polar plot‬‬

‫ف‪ ٟ‬تؼغ اٌرطث‪١‬ماخ ػاِح ‪ ٚ‬ف‪ِ ٟ‬جاي االذظاالخ خاطح ٔذراج ٌشعُ اٌر‪ٛ‬اتغ اٌؼمذ‪٠‬ح ‪ٌ ٚ‬ىٓ‬
‫ٌ‪١‬ظ ف‪ ٟ‬اإلدذاث‪١‬اخ اٌذ‪٠‬ىاسذ‪١‬ح اٌرمٍ‪١‬ذ‪٠‬ح تً ف‪ ٟ‬اإلدذاث‪١‬اخ اٌمطث‪١‬ح اٌر‪ ٟ‬ذرأٌف ِٓ اٌّذ‪ٛ‬س األفم‪ٟ‬‬
‫اٌز‪ّ٠ ٞ‬ثً لغُ اٌذم‪١‬م‪ ٚ ٟ‬اٌّذ‪ٛ‬س اٌؼّ‪ٛ‬د‪ ٞ‬اٌز‪ّ٠ ٞ‬ثً اٌمغُ اٌرخ‪ ٚ ٍٟ١‬لذ ‪٠‬ى‪ ْٛ‬اٌّخطؾ اٌؼم‪ٟ‬‬
‫األوثش ش‪ٛ١‬ػا ً ٘‪ ٛ‬اٌذائشج اٌّشلّح اٌذ‪ٛ‬اف تاٌذسجاخ ‪ ٚ ,‬ف‪ّ١‬ا ‪ ٍٟ٠‬تؼغ اٌر‪ٛ‬اتغ اٌّغرخذِح ف‪ٟ‬‬
‫٘زا اٌّجاي ‪ ٚ‬ذطث‪١‬ماذ‪ٙ‬ا ‪..‬‬

‫‪- 90 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ polar(theta , rho‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تاٌشعُ ف‪ ٟ‬اٌّجاي اٌؼمذ‪ ٞ‬د‪١‬ث ‪ ٟ٘ theta‬صا‪٠ٚ‬ح اٌؼذد اٌؼمذ‪ ٛ٘ rho ٚ ٞ‬ؽ‪ٍ٠ٛ‬ح‬
‫اٌؼذد اٌؼمذ‪. ٞ‬‬

‫يثال ‪: 13-4‬‬

‫;‪>> t=0:0.01:2*pi‬‬
‫;)‪>> x1=sin(t‬‬
‫;)‪>> x=sin(t‬‬
‫)‪>> subplot(1,2,1‬‬
‫)‪>> plot(t,x‬‬
‫‪>> grid on‬‬
‫)‪>> subplot(1,2,2‬‬
‫)‪>> polar(t,x‬‬
‫>>‬

‫)‪ compass(u , v‬‬


‫‪ّ٠‬ثً األػذاد اٌؼمذ‪٠‬ح اٌر‪ ٟ‬لغّ‪ٙ‬ا اٌذم‪١‬م‪ ٟ‬اٌشؼاع ‪ ٚ u‬لغّ‪ٙ‬ا اٌرخ‪ ٍٟ١‬اٌشؼاع ‪ v‬تأع‪. ُٙ‬‬

‫يثال ‪: 14-4‬‬

‫;]‪>> u=[1 2 -1‬‬


‫;]‪>> v=[0 2 1‬‬
‫)‪>> compass(u,v‬‬
‫>>‬

‫‪- 91 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ' ‪ ezploar ( ' fun‬‬


‫ٌقوم هذا التابع برسم التابع الموجود بشكل نصً ضمن عالمات التنصٌص فً المستوي القطبً‬
‫يثال ‪: 15-4‬‬

‫)')‪>> ezpolar('sin(t)*cos(t‬‬

‫‪.‬‬

‫‪- 92 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 8 . 4‬رسى انثياَاخ انًتقطعح ‪:‬‬


‫‪Discrete data plot‬‬
‫ف‪ِ ٟ‬جاي ِؼاٌجح اإلشاسج اٌشلّ‪١‬ح ‪ ٚ‬ف‪ِ ٟ‬جاالخ أخش‪ٔ ٜ‬ذراج ٌشعُ عٍغح ِٓ اٌث‪١‬أاخ ‪ٕ٘ ٚ‬ا‬
‫عٕغرف‪١‬ذ ِٓ اٌر‪ٛ‬اتغ اٌراٌ‪١‬ح ‪:‬‬

‫) ( ‪ stem‬‬
‫‪٠‬شعُ ٘زا اٌراتغ خطا ً ِٓ تذا‪٠‬ح اٌّذ‪ٛ‬س األفم‪ٕ٠ ٚ ٟ‬ر‪٘ ٟٙ‬زا اٌخؾ تذائشج ػٕذ اٌم‪ّ١‬ح ِٓ اٌشؼاع‬
‫اٌّشاد سعّٗ ‪ٔ ,‬غرف‪١‬ذ ِٓ ٘زا اٌراتغ جذاً ف‪ِ ٟ‬جاي إٌّزجح ‪.‬‬

‫) ( ‪ stairs‬‬
‫‪٠‬شعُ ٘زا اٌراتغ خطا ً أفم‪١‬ا ً ػٕذ اٌم‪ّ١‬ح ِٓ اٌشؼاع اٌّشاد سعّٗ ‪ٔ ,‬غرف‪١‬ذ ِٓ ٘زا اٌراتغ جذاً ف‪ٟ‬‬
‫ِجاي اٌرىّّ‪. ُ١‬‬

‫يثال ‪: 16-4‬‬

‫)‪>> subplot(3,1,1‬‬
‫;‪>> t=0:0.1:10‬‬
‫;)‪>> xt=sin(t‬‬
‫)‪>> plot(t,xt‬‬
‫‪>> grid on‬‬
‫) '‪>> title('continous sine‬‬
‫)‪>> subplot(3,1,2‬‬
‫;)‪>> n=linspace(0,10,25‬‬
‫;)‪>> xn=sin(n‬‬
‫)‪>> stem(n,xn‬‬
‫‪>> grid on‬‬
‫) '‪>> title('sampled sine‬‬
‫)‪>> subplot(3,1,3‬‬
‫;)‪>> k=linspace(0,10,25‬‬
‫;)‪>> xk=sin(k‬‬
‫)‪>> stairs(n,xn‬‬
‫‪>> grid on‬‬
‫) '‪>> title('quantized sine‬‬
‫‪>> shg‬‬
‫>>‬

‫‪- 93 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) ‪ scattar ( x ,y‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تشعُ دائشج ( أ‪ ٚ‬أ‪ِ ٞ‬ذذد آخش ) ػٕذ وً ٔمطح ٌٍشعُ ‪.‬‬

‫يثال ‪: 17-4‬‬

‫;)‪>> t=linspace(1,2*pi,100‬‬
‫;)‪>> s=exp(-t‬‬
‫)‪>> scatter(t,s‬‬
‫‪>> grid on‬‬
‫>>‬

‫‪- 94 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 9 . 4‬رسى تًثيم انثياَاخ ‪:‬‬


‫‪Data presentation plot‬‬

‫)‪ bar (y‬‬


‫‪٠‬شعُ ٘زا اٌراتغ ػّ‪ٛ‬د ‪ٚ‬ادذ ٌىً ػٕظش ِٓ اٌشؼاع ‪٠ ٚ y‬رٕاعة ؽ‪ٛ‬ي ٘زا اٌؼّ‪ٛ‬د ِغ ل‪ّ١‬ح‬
‫اٌؼٕظش ‪ ٚ,‬إرا وأد ‪ِ y‬ظف‪ٛ‬فح فإٔٗ ‪٠‬شعُ وً طف ف‪ِ ٟ‬جّ‪ٛ‬ػح ِٓ األػّذج تؼذد ػٕاطش ٘زا‬
‫اٌظف ‪ ٚ‬األػّذج اٌّر‪ٛ‬افمح ذى‪ ْٛ‬راخ ٌ‪ٚ ْٛ‬ادذ ف‪ ٟ‬وً طف ‪ٕ٘ ٚ ,‬ان أشىً أخش‪ٌٍ ٜ‬راتغ ‪:‬‬

‫)‪o bar(x,y‬‬
‫‪٠‬م‪ َٛ‬تٕفظ اٌؼًّ ‪ٌ ٚ‬ىٓ ‪٠‬شعُ شؼاع ػٕذ وً ل‪ّ١‬ح ٌــ ‪. X‬‬

‫‪ّ٠‬ىٕٕا ذذذ‪٠‬ذ ػشع اٌؼّ‪ٛ‬د ‪ ِٓ ٌٗٔٛ ٚ‬خالي ‪:‬‬

‫)'‪o bar ( …. , width,'color‬‬


‫‪ّ٠ ٚ‬ىٕٕا اٌرّث‪ ً١‬تشىً ثالث‪ ٟ‬األتؼاد تاعرخذاَ اٌراتغ ‪:‬‬

‫‪- 95 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫) (‪o bar3‬‬
‫د‪١‬ث ‪٠‬م‪ َٛ‬تٕفظ اٌ‪ٛ‬ظ‪١‬فح ‪ٌ ٚ‬ىٓ ‪٠‬شعُ تشىً ثالث‪ ٟ‬األتؼاد ‪.‬‬

‫يثال ‪: 18-4‬‬

‫‪>> figure‬‬
‫)‪>> subplot(1,2,1‬‬
‫;]‪>> x=[2005:2014‬‬
‫;]‪>> y=[ 3 6 1 8 8 8 6 5 9 10‬‬
‫)'‪>> bar(x,y,0.6,'g‬‬
‫)‪>> subplot(1,2,2‬‬
‫)‪>> m=round(rand(3,2)*10‬‬
‫=‪m‬‬
‫‪3 10‬‬
‫‪5 2‬‬
‫‪10 10‬‬
‫)‪>> bar3(m,0.3‬‬
‫>>‬

‫)‪ hist(X‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تشعُ أػّذج ذّث‪ ً١‬ت‪١‬أ‪ٌٍّ ٟ‬ذخً ‪ x‬د‪١‬ث ‪٠‬م‪ َٛ‬ترشذ‪١‬ة اٌؼٕاطش ف‪ ٟ‬ػششج‬
‫ِجّ‪ٛ‬ػاخ ِرغا‪٠‬ح ف‪ ٟ‬اٌثؼذ ت‪ٕٙ١‬ا ‪٠ ٚ‬شعُ اٌؼّ‪ٛ‬د ف‪ ٟ‬وً ِجّ‪ٛ‬ػح تٕاءاً ػٍ‪ ٝ‬ػذد اٌؼٕاطش ف‪ ٟ‬وً‬
‫ِجّ‪ٛ‬ػح ‪ٌ ٚ ,.‬رذذ‪٠‬ذ ػذد اٌّجّ‪ٛ‬ػاخ ٔىرة ‪:‬‬

‫)‪o hist(x , n‬‬


‫يثال ‪: 19-4‬‬

‫)‪>> y=fix(rand(1,10)*10‬‬
‫=‪y‬‬
‫‪2 0 0 8 6 3‬‬ ‫‪9‬‬ ‫‪0‬‬ ‫‪4‬‬ ‫‪3‬‬
‫)‪>> hist(y,8‬‬

‫‪- 96 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫>>‬

‫‪ pie‬‬
‫ٌقوم بتوزٌع قٌم الشعاع ‪ v‬على القرص الدائري بشكل نسبة مئوٌة ‪:‬‬

‫يثال ‪: 20-4‬‬

‫] ‪>> v=[2 6 4 9 6‬‬


‫=‪v‬‬
‫‪2 6 4 9‬‬ ‫‪6‬‬
‫)‪>> pie(v‬‬
‫>>‬

‫‪- 97 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪ area(Y‬‬
‫‪٠‬م‪٘ َٛ‬زا اٌراتغ تشعُ اٌشؼاع ‪ Y‬تإٌغثح ٌف‪ٙ‬شعح ػٕاطشٖ ‪ّ٠ ٚ‬أل اٌّغادح اٌ‪ٛ‬الؼح ذذد اٌشؼاع ‪,‬‬
‫‪ ٚ‬أِا إرا واْ ‪ِ Y‬ظف‪ٛ‬فح فإٔٗ ‪٠‬شعُ وً ػّ‪ٛ‬د ػٍ‪ ٝ‬أٔٗ شؼاع ِٕفشد ‪ ٚ‬تٍ‪ِ ْٛ‬خرٍف د‪١‬ث ‪٠‬شعُ‬
‫اٌؼّ‪ٛ‬د األ‪ٚ‬ي ‪ ٚ‬ذظثخ جّ‪١‬غ ٔماؽ اٌشؼاع األ‪ٚ‬ي وأٔ‪ٙ‬ا ٔماؽ أطفاس ٌٍشؼاع اٌثأ‪ ٚ ٟ‬اٌّثاي اٌراٌ‪ٟ‬‬
‫ع‪ٛ١‬ػغ ػٍّٗ أوثش ‪.‬‬

‫يثال ‪: 20-4‬‬

‫; ] ‪>> v= [ 2 4 3‬‬
‫;]‪>> m=[ v ; v+2 ; v-1‬‬
‫)‪>> subplot(1,2,1‬‬
‫)‪>> area(v‬‬
‫)‪>> subplot(1,2,2‬‬
‫)‪>> area(m‬‬
‫>>‬

‫‪- 98 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫اٌؼّ‪ٛ‬د األ‪ٚ‬ي ف‪ ٟ‬اٌّظف‪ٛ‬فح ‪٠‬ذ‪ ٛ٘ ٚ [2 4 1] ٞٛ‬اٌّّثً تاٌّغادح اٌضسلاء ‪ ٚ ,‬اٌؼّ‪ٛ‬د اٌثأ‪ٛ٘ ٟ‬‬
‫]‪ٔ ٚ [4 6 5‬الدع أْ إٌمطح األ‪ٌٙ ٌٝٚ‬زا اٌشؼاع ‪ ٛ٘ ٚ‬اٌّّثً تاٌّغادح اٌخؼشاء ٘‪ٚ 2+4=6 ٟ‬‬
‫إٌمطح اٌثأ‪١‬ح ٘‪ ٚ 4+6=10 ٟ‬اٌثاٌثح ٘‪. 5+1=6 ٟ‬‬

‫****نهاية الفصل****‬

‫شاهد الحلقة التاسعة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 99 -‬‬
‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫تًاريٍ ‪:‬‬
‫‪Exercises :‬‬

‫‪ - 1‬إرا ػٍّد أٔٗ ذُ ذطث‪١‬ك إشاسج ج‪١‬ث‪١‬ح ‪ sin‬ػٍ‪ ٝ‬د‪ٛ٠‬د ‪ ,‬فاسعُ اشاسج اٌذخً ‪ ٚ‬اإلشاسج اٌّم‪ِٛ‬ح ‪.‬‬

‫;‪t=0:pi/100:4*pi‬‬
‫;)‪x1=3*sin(t‬‬
‫;)‪x2=x1.*(x1>0‬‬
‫)‪subplot(2,1,1‬‬
‫)'‪plot(t,x1,'r--‬‬
‫‪grid on‬‬
‫)‪subplot(2,1,2‬‬
‫)'‪plot(t,x2,'g-‬‬
‫‪grid on‬‬
‫)]‪ylim([-4 4‬‬

‫‪ - 2‬اسعُ اإلشاسج اٌراٌ‪١‬ح ‪:‬‬

‫‪2 ; 𝑖𝑓 𝑥 < 6‬‬


‫‪𝑦 𝑥 = 𝑥 − 4 ; 𝑖𝑓 6 ≤ 𝑥 < 20‬‬
‫‪36 − 𝑥 ; 𝑖𝑓20 ≤ 𝑥 ≤ 36‬‬

‫‪- 100 -‬‬


‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫;]‪x=[0:0.01:35‬‬
‫‪y=2.*(x<6)+(x-4).*(6<=x&x<20)+(36-‬‬
‫;)‪x).*(20<=x&x<=35‬‬
‫)‪plot(x,y‬‬
‫‪grid on‬‬

‫‪ - 3‬اورة و‪ٛ‬د اٌّاذالب اٌز‪٠ ٞ‬مغُ ٔافزج اٌشعُ وّا ‪: ٍٟ٠‬‬

‫‪- 101 -‬‬


‫الفصل الرابع‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

>> subplot(3,3,[1 2 3]) % merge 1'st and 2'nd and 3'rd segments

>> subplot(3,3,[4 7]) % merge 4th and 7th segments

>> subplot(3,3,[5 6]) % merge 5th and 6th

>> subplot(3,3,[8 9]) % merge 8th and 9th

: ْ‫ إرا ػٍّد أ‬- 4

𝑥 + 2𝑦 = 5
𝑥 = 3 ,𝑦 = 1
−𝑥 + 5𝑦 = 2

. ُ‫اعطح اٌشع‬ٛ‫ذأوذ ِٓ اٌذً ت‬

>> x=0:0.01:5;

>> y1=(5-x)/2;

>> y2=(x+2)/5;

>> plot(x,y1,x,y2)

>> xlabel('X')

>> ylabel('Y')

>> grid on

- 102 -
‫انفصم‬
‫‪5‬‬
‫انبزمجت في انماتالب‬
‫‪Programming with‬‬
‫‪MatLab‬‬
‫أهداف هذا الفصل ‪:‬‬

‫التعامل مع الماتالب كبيئة لكتابة‬


‫البرامج و تنفيذها لخدمة حل المسائل‬
‫الهندسية و التحكم في تدفق التعليمات‬
‫و التعرف على نوعي ملفات البرامج‬
‫في الماتالب‬
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 1 – 5‬مقدمت ‪:‬‬
‫‪Introduction‬‬
‫ال ‪٠‬مزظش ػًّ اٌّبرالة ػٍ‪ ٝ‬أعشاء اٌؼٍّ‪١‬بد اٌش‪٠‬بض‪١‬خ ػٍ‪ ٝ‬األػذاد ‪ ٚ‬اٌّظف‪ٛ‬فبد ‪ٚ‬‬
‫سسُ اٌز‪ٛ‬اثغ فحست ف‪ٛ٠ ٛٙ‬فش ٌٕب أ‪٠‬ضب ث‪١‬ئخ ٌىزبثخ ثشاِظ ٔفس رٍه اٌز‪ ٟ‬رىزت ثأ‪٠‬خ ٌغخ ثشِغخ ‪ٚ‬‬
‫اٌّزشعُ ‪ ٚ‬إٌّفز ٌٍجشٔبِظ ٘‪ ٛ‬اٌّبرالة رارٗ ‪ٌ ٚ‬ىزبثخ ثشٔبِظ ثأ‪٠‬خ ٌغخ ‪٠‬غت اٌزؼشف ػٍ‪ٝ‬‬
‫اٌّزغ‪١‬شاد ‪ ٚ‬اإلسٕبد ‪ ٚ‬اٌؼٍّ‪١‬بد اٌش‪٠‬بض‪١‬خ ‪ ٚ‬إٌّطم‪١‬خ ‪٘ ٚ‬زا لذ رؼٍّٕبٖ ف‪ ٟ‬فظ‪ٛ‬ي سبثمخ ‪ِ ٚ‬ب‬
‫سٕذسسٗ ف‪٘ ٟ‬زا اٌفظً ٘‪ ٛ‬اٌزحىُ ثزذفك اٌزؼٍ‪ّ١‬بد ‪ٍِ ٚ‬فبد ثشاِظ اٌّبرالة ‪..‬‬

‫‪ ) 2 – 5‬انتحكم بتدفك انتعهيماث ‪:‬‬


‫‪control flow :‬‬
‫اٌّمظ‪ٛ‬د ِٓ اٌزحىُ ثزذفك اٌزؼٍ‪ّ١‬بد ٘‪ ٛ‬اٌزٕمً ‪ ٚ‬اخز‪١‬بس ‪ ٚ‬رٕظ‪ ُ١‬رٕف‪١‬ز سٍسٍخ ِٓ اٌزؼٍ‪ّ١‬بد ٌٍم‪١‬بَ‬
‫ث‪ٙ‬ذف ِحذد أال ‪ ٛ٘ٚ‬اٌ‪ٙ‬ذف ِٓ اٌجشٔبِظ اٌز‪ٔ ٞ‬ىزجٗ ‪ُ٠ٚ ,‬مسُ اٌزحىُ ثزذفك اٌزؼٍ‪ّ١‬بد إٌ‪ ٝ‬لسّ‪ٓ١‬‬
‫‪ :‬األ‪ٚ‬ي ٘‪ ٛ‬حٍمبد اٌزىشاس‪ ٚ ,‬اٌضبٔ‪ ٛ٘ ٟ‬اٌؼجبساد اٌششط‪١‬خ‪.‬‬

‫أوالً ‪ :‬حهقاث انتكزار ‪:‬‬

‫رف‪١‬ذٔب اٌحٍمبد اٌزىشاس‪٠‬خ ثزٕف‪١‬ز وزٍخ ِٓ اٌزؼٍ‪ّ١‬بد ثشىً ِزىشس ‪ٕ٘ ٚ‬بن ٔ‪ٛ‬ػ‪ ِٓ ٓ١‬اٌحٍمبد ف‪ٟ‬‬
‫اٌّبرالة ‪:‬‬

‫‪- for‬‬

‫رم‪٘ َٛ‬زٖ اٌحٍمخ ثزىشاس رٕف‪١‬ز وزٍخ ِٓ اٌزؼٍ‪ّ١‬بد ػذد ِحذد ِٓ اٌّشاد ‪ ٚ‬رىزت ضّٓ اٌس‪١‬بق‬
‫اٌزبٌ‪: ٟ‬‬

‫‪for index=values‬‬
‫‪program statements‬‬
‫‪…..‬‬
‫‪end‬‬
‫‪ ٚ‬رى‪ ْٛ‬اٌم‪ values ُ١‬ضّٓ أحذ األشىبي اٌزبٌ‪١‬خ ‪:‬‬

‫‪1- initval : endval‬‬

‫‪ٕ٘ ٚ‬ب ٔض‪٠‬ذ دٌ‪ ً١‬اٌحٍمخ ثذءاً ِٓ اٌم‪ّ١‬خ االثزذائ‪١‬خ ‪ initval‬ثّمذاس ‪ ٚ 1‬حز‪ ٝ‬اٌم‪ّ١‬خ إٌ‪ٙ‬بئ‪١‬خ ‪endval‬‬
‫‪ ٚ‬ثبٌزبٌ‪ ٟ‬س‪١‬زىشس رؼٍ‪ّ١‬بد اٌجشٔبِظ ضّٓ اٌحٍمخ حز‪٠ ٝ‬ظجح دٌ‪ ً١‬اٌحٍمخ أوجش ِٓ ‪. endval‬‬

‫‪2- initval : step : endval‬‬

‫‪ ٚ‬ػٕب ٔض‪٠‬ذ دٌ‪ ً١‬اٌحٍمخ ثذءاً ِٓ اٌم‪ّ١‬خ ‪ initval‬ثّمذاس ‪٘ ٚ step‬ىزا حز‪٠ ٝ‬ظجح دٌ‪ ً١‬اٌحٍمخ أوجش‬
‫ِٓ ‪. endval‬‬

‫‪3- valArray‬‬

‫‪- 104 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪٠‬م‪ َٛ‬ثئٔشبء شؼبع ػّ‪ٛ‬د‪ ٞ‬اسّٗ ‪ ِٓ index‬أػّذح اٌّظف‪ٛ‬فخ ‪ valArray‬ف‪ ٟ‬وً د‪ٚ‬سح ‪ ,‬فف‪ٟ‬‬
‫اٌّشح األ‪٠ ٌٝٚ‬سٕذ ٌذٌ‪ ً١‬اٌحٍمخ اٌؼّ‪ٛ‬د األ‪ٚ‬ي ِٓ اٌّظف‪ٛ‬فخ ‪ valArray‬أ‪ٞ‬‬
‫)‪٠ ٚ index=valArray(:,1‬زىشس رٕف‪١‬ذ ِب ثذاخً اٌحٍمخ ثؼذد أػّذح اٌّظف‪ٛ‬فخ ‪. valArray‬‬

‫مثال ‪: 1-5‬‬
‫)‪>> r=round(rand(2,4)*10‬‬
‫=‪r‬‬
‫‪7 7 3 1‬‬
‫‪2 0 0 8‬‬
‫‪>> for i=r‬‬
‫;'‪m=i‬‬
‫)‪disp(m‬‬
‫‪end‬‬
‫‪7 2‬‬
‫‪7 0‬‬
‫‪3 0‬‬
‫‪1 8‬‬
‫>>‬
‫‪- while‬‬

‫رم‪٘ َٛ‬زٖ اٌحٍمخ ثزٕف‪١‬ز اٌزؼٍ‪ّ١‬بد اٌز‪ ٟ‬ثذاخً اٌحٍمخ ثشىً ِزىشس طبٌّب أْ اٌزؼج‪١‬ش طح‪١‬ح ‪ ٚ‬رىزت‬
‫ضّٓ اٌس‪١‬بق اٌزبٌ‪: ٟ‬‬

‫‪while expression‬‬
‫‪statements‬‬
‫‪end‬‬
‫‪٠ ٚ‬زُ رم‪ ُ١١‬اٌزؼج‪١‬ش ػٍ‪ ٝ‬أٔٗ طح‪١‬ح ػٕذِب رى‪ ْٛ‬إٌز‪١‬غخ غ‪١‬ش فبسغخ ‪ ٚ‬عّ‪١‬غ ػٕبطش٘ب غ‪١‬ش‬
‫طفش‪٠‬خ ‪ ٚ‬لذ ‪٠‬زضّٓ اٌزؼج‪١‬ش ػٍّ‪١‬بد ػالئم‪١‬خ أ‪ِٕ ٚ‬طم‪١‬خ ح‪١‬ش ‪٠‬م‪ َٛ‬اٌّبرالة ثزم‪ ُ١١‬اٌزؼج‪١‬ش ِٓ‬
‫اٌ‪١‬سبس إٌ‪ ٝ‬اٌ‪ٚ ٚ ٓ١ّ١‬فمب ً أل‪٠ٌٛٚ‬خ اٌؼٍّ‪١‬بد ‪.‬‬

‫مثال ‪: 2-5‬‬
‫;]‪>> a=[1:10‬‬
‫;‪>> b=7‬‬
‫;‪>> i=1‬‬
‫)‪>> while b>a(i‬‬
‫))‪disp(a(i‬‬
‫;‪i=i+2‬‬
‫‪end‬‬
‫‪1‬‬
‫‪3‬‬
‫‪5‬‬
‫>>‬

‫‪- 105 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫ثانيا ً ‪ :‬انعباراث انشزطيت ‪:‬‬

‫رّىٕه اٌؼجبساد اٌششط‪١‬خ ِٓ األخ‪١‬بس خالي ‪ٚ‬لذ اٌزٕف‪١‬ز أ‪ ٞ‬وزٍخ ِٓ اٌزؼٍ‪ّ١‬بد سزٕفز ‪ ٚ‬اٌؼجبسح‬
‫اٌششط‪١‬خ ف‪ ٟ‬أثسظ حبالر‪ٙ‬ب رى‪ ْٛ‬وّب ف‪ ٟ‬اٌس‪١‬بق اٌزبٌ‪: ٟ‬‬

‫‪if expression‬‬
‫‪statements‬‬
‫‪end‬‬
‫مثال ‪: 3-5‬‬
‫;)‪>> a=randi(100,1‬‬
‫‪>> if rem(a,2)==0‬‬
‫) ' ‪disp(' a is even‬‬
‫‪end‬‬
‫‪>> a‬‬
‫=‪a‬‬
‫‪91‬‬
‫>>‬
‫‪ٕ٘ ٚ‬بن ط‪١‬غخ صبٔ‪١‬خ ٌــ ‪: ٟ٘ ٚ if‬‬

‫‪if expression‬‬
‫‪statements‬‬
‫‪else‬‬
‫‪statements‬‬
‫‪end‬‬
‫‪ ٚ‬اٌ‪ٙ‬ذف ِٓ ٘زٖ اٌظ‪١‬غخ ٘‪ ٛ‬رٕف‪١‬ز أِش ِب ف‪ ٟ‬حبٌخ ٌُ ‪٠‬زحمك اٌششط ‪.‬‬

‫مثال ‪: 4-5‬‬
‫;)‪>> a=randi(100,1‬‬
‫‪>> if rem(a,2)~=0‬‬
‫) ' ‪disp(' a is odd‬‬
‫‪else‬‬
‫) ' ‪disp(' a is even‬‬
‫‪end‬‬
‫‪a is odd‬‬
‫‪>> a‬‬
‫=‪a‬‬
‫‪13‬‬
‫وّب أْ ٕ٘بن ط‪١‬غخ صبٌضخ ٌــ ‪ٟ٘ ٚ if‬‬

‫‪if expression‬‬
‫‪statements‬‬

‫‪- 106 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

else if
statements
else if
……..
else
statements
end
‫ء‬ٟ‫ ششط ٕٔفز ش‬ٞ‫زحمك أ‬٠ ٌُ ‫ حبي‬ٚ ‫ت‬١‫ اخزجبس أوضش ِٓ ششط ثبٌزشر‬ٛ٘ ‫غخ‬١‫ذف ِٓ ٘زٖ اٌظ‬ٌٙ‫ ا‬ٚ
. ‫ِب‬

: 5-5 ‫مثال‬
>> a=randi(100,1);
>> if a <50
disp('bad')
elseif a>=50 && a<75
disp('good')
elseif a>=75 && a<90
disp('very good')
else
disp('excelent')
end
good
>> a
a=
55
>>
: ٌٟ‫بق اٌزب‬١‫ رىزت ضّٓ اٌس‬ٚ switch ٟ٘ ٚ ‫غخ اٌسبثمخ‬١‫غخ ِىبفئخ ٌٍظ‬١‫ ط‬ٍٝ‫ اٌّبرالة ػ‬ٞٛ‫ح‬٠

switch switch_expression
case case_expression1
statements
case case_expression2
statements
:
otherwise
statements
end

ّٓ‫دح ض‬ٛ‫ع‬ٌّٛ‫ش ا‬١‫ ثأحذ اٌزؼبث‬switch ٌٝ‫ش اٌّذخً إ‬١‫غخ رمبسْ رؼج‬١‫ وّب ٔالحع فأْ ٘زٖ اٌظ‬ٚ
‫ّبد‬١ٍ‫ٕفز اٌزؼ‬٠ ٗٔ‫افمٗ فئ‬ٛ٠ ‫ش اٌّذخً ِب‬١‫غذ اٌزؼج‬٠ ٌُ ْ‫ إ‬ٚ ‫افمخ ٌزٌه‬ٌّٛ‫ّبد ا‬١ٍ‫ رٕفز اٌزؼ‬ٚ switch
. otherwise ‫دح ثؼذ‬ٛ‫ع‬ٌّٛ‫خ ا‬١‫االفزشاض‬

- 107 -
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: 6-5 ‫مثال‬
x= [12, 64, 24];
plottype =input( 'enter type of plot' ,'s') ;
switch plottype
case 'bar'
bar(x)
title('Bar Graph')
case {'pie','pie3'}
pie3(x)
title('Pie Chart')
legend('First','Second','Third')
otherwise
error('Unexpected plot type. No plot created.');
end

- try-catch

‫ػخ اٌجشٔبِظ‬ّٛ‫ ِغ‬ٟ‫س خطأ ف‬ٚ‫ ػٕذ حذ‬ٟ‫ن االفزشاض‬ٍٛ‫ص اٌس‬ٚ‫ش ثزغب‬١‫سّح ٌٕب ٘زا اٌزؼج‬٠
‫ز‬١‫ٕزمً اٌزٕف‬١‫ س‬try ‫ ػجبساد اٌىزٍخ‬ٜ‫ز إحذ‬١‫ رٕف‬ٟ‫ش إرا حذس خطأ ف‬١‫ ح‬, try ‫ وزٍخ‬ٟ‫دح ف‬ٛ‫ع‬ٌّٛ‫ا‬
ْٛ‫ى‬٠ ٚ , ‫ّبد اٌخبطخ ثّؼبٌغخ اٌخطأ‬١ٍ‫ػخ اٌزؼ‬ّٛ‫ ِغ‬ٍٝ‫ ػ‬ٞٛ‫ح‬٠ ٞ‫ اٌز‬ٚ catch ‫ وزٍخ‬ٌٝ‫ساً إ‬ٛ‫ف‬
: ٍٟ٠ ‫بق وّب‬١‫اٌس‬

try
statements
catch
statements
end
mistake
: 7-5 ‫مثال‬
x=[];
try
x=x+1;
x=x^3;
y=x^x;
x=33;
catch
disp('you do mistake')
end
x
you do mistake
x=
[]

- 108 -
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫ف‪ ٟ‬اٌّضبي اٌسبثك ‪ٚ‬ضؼٕب ِظف‪ٛ‬فخ فبسغخ ‪ ٚ x‬لّٕب ثغّؼ‪ٙ‬ب ِغ ‪ ٚ 1‬إٌبرظ ٘‪ِ ٛ‬ظف‪ٛ‬فخ‬
‫فبسغخ صُ سفؼٕب٘ب ٌٍم‪ٛ‬ح ‪ ٚ 3‬ثم‪١‬ذ فبسغخ ‪ ,‬صُ أسدٔب إسٕبد ل‪ّ١‬خ ][^][ إٌ‪ٌ ٚ y ٝ‬ىٓ ٘زا خطأ فٍُ‬
‫‪ٕ٠‬فز اٌجشٔبِظ ٘زٖ اٌؼجبسح ‪ ٚ‬رغب‪ٚ‬ص ِب ثم‪ ٟ‬ف‪ ٟ‬وزٍخ ‪ ٟ٘ ٚ try‬اٌؼجبسح ‪ ٚ x=33‬أزمً إٌ‪ ٝ‬وزٍخ‬
‫‪ ٚ catch‬اٌز‪ ٟ‬رح‪ ٞٛ‬ػٍ‪ ٝ‬طجبػخ عٍّخ ‪.‬‬

‫‪ٕ٘ ٚ‬بن ثؼض اٌؼجبساد اٌز‪ ٟ‬رسبػذٔب ف‪ ٟ‬اٌزحىُ ثحٍمبد اٌزىشاس ‪ ٚ‬اٌؼجبساد اٌششط‪١‬خ ‪: ٟ٘ ٚ‬‬

‫‪- continue‬‬

‫رم‪٘ َٛ‬زٖ اٌؼجبسح ثٕمً رٕف‪١‬ز اٌزؼٍ‪ّ١‬بد داخً اٌحٍمخ إٌ‪ ٝ‬ثذا‪٠‬خ اٌحٍمخ‬

‫‪- break‬‬

‫رف‪١‬ذ ٘زٖ اٌؼجبسح ف‪ ٟ‬اٌخش‪ٚ‬ط اٌّجىش ِٓ اٌحٍمخ ‪ ٚ ,‬إرا وبٔذ ٌذ‪ٕ٠‬ب حٍمبد ِزذاخٍخ فئْ ٘زٖ اٌؼجبسح‬
‫رخشط ِٓ اٌحٍمخ اٌذاخٍ‪١‬خ إٌ‪ ٝ‬اٌحٍمخ األوجش ‪.‬‬

‫‪- return‬‬

‫رم‪٘ َٛ‬زٖ اٌزؼٍ‪ّ١‬خ ثٕمً اٌزحىُ إٌ‪ ٝ‬اٌزبثغ األطٍ‪ ٟ‬اٌز‪ ٞ‬اسزذػ‪ ٝ‬اٌزبثغ اٌفشػ‪. ٟ‬‬

‫‪- pause‬‬

‫رؼًّ ٘زٖ اٌزؼٍ‪ّ١‬خ ػٍ‪ ٝ‬إ‪٠‬مبف رٕف‪١‬ز اٌجشٔبِظ حز‪ ٝ‬رم‪ َٛ‬أٌّسزخذَ ثبٌضغظ ػٍ‪ ٝ‬أ‪ ٞ‬صس ‪ ٚ‬لذ‬
‫رُسزؼًّ وّب ‪ pause(n) ٍٟ٠‬إل‪٠‬مبف اٌزٕف‪١‬ز ػذد ِٓ اٌض‪ٛ‬أ‪٠ ٟ‬سب‪. n ٞٚ‬‬

‫مثال ‪: 8-5‬‬
‫‪>> for i=1:10‬‬
‫‪if rem(i,2)~=0‬‬
‫‪continue‬‬
‫‪end‬‬
‫)‪disp(i^2‬‬
‫‪end‬‬
‫‪4‬‬
‫‪16‬‬
‫‪36‬‬
‫‪64‬‬
‫‪100‬‬
‫>>‬
‫الحع ف‪ ٟ‬اٌّضبي اٌسبثك إٔٔب احزغٕب الصٕ‪ٚ end ٓ١‬احذح ٌــ ‪ٚ ٚ if‬احذح ٌــ ‪ ٚ for‬الحع أ‪٠‬ضب ً أٔٗ‬
‫ػٕذِب ‪٠‬زحمك اٌششط ‪٠‬زغب‪ٚ‬ص رٕف‪١‬ز ثبل‪ ٟ‬اٌحٍمخ ‪٠ ٚ‬ؼ‪ٛ‬د ٌ‪١‬ىًّ ثبل‪ ٟ‬اٌحٍمخ ‪.‬‬

‫‪- 109 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫مثال ‪: 9-5‬‬
‫‪>> for i=1:10‬‬
‫‪if i==6‬‬
‫‪break‬‬
‫‪end‬‬
‫)‪disp(i‬‬
‫‪end‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫>>‬
‫الحع ف‪ ٟ‬اٌّضبي اٌسبثك أٔٗ ػٕذِب ‪٠‬زحمك اٌششط ‪٠‬ىسش اٌزٕف‪١‬ز اٌحٍمخ ‪٠ ٚ‬خشط ِٕ‪ٙ‬ب ‪.‬‬

‫مثال ‪: 10-5‬‬
‫‪>> for i=1:10‬‬
‫‪if i==6‬‬
‫‪pause‬‬
‫‪end‬‬
‫)‪disp(i‬‬
‫‪end‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬

‫‪6‬‬
‫‪7‬‬
‫‪8‬‬
‫‪9‬‬
‫‪10‬‬
‫>>‬
‫الحع ف‪ ٟ‬اٌّضبي اٌسبثك أٔٗ ػٕذِب ‪٠‬زحمك اٌششط ‪٠‬ز‪ٛ‬لف اٌزٕف‪١‬ز ‪ ٚ‬رظ‪ٙ‬ش اٌؼجبسح ثبل‪ٟ‬‬
‫ف‪ ٟ‬اٌشش‪٠‬ظ اٌسفٍ‪ٌ ٟ‬جشٔبِظ اٌّبرالة ‪ ٚ‬ػٕذ ضغظ أ‪ ٞ‬صس ‪٠‬زبثغ اٌجشٔبِظ‬
‫رٕف‪١‬زٖ ‪.‬‬

‫مثال ‪: 11-5‬‬
‫‪>> for i=1:10‬‬
‫‪if rem(i,2)~=0‬‬
‫‪continue‬‬
‫‪end‬‬

‫‪- 110 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫)‪disp(i^2‬‬
‫‪end‬‬
‫‪4‬‬
‫‪16‬‬
‫‪36‬‬
‫‪64‬‬
‫‪100‬‬
‫>>‬
‫الحع ف‪ ٟ‬اٌّضبي اٌسبثك إٔٔب احزغٕب الصٕ‪ٚ end ٓ١‬احذح ٌــ ‪ٚ ٚ if‬احذح ٌــ ‪ ٚ for‬الحع أ‪٠‬ضب ً أٔٗ‬
‫ػٕذِب ‪٠‬زحمك اٌششط ‪٠‬زغب‪ٚ‬ص رٕف‪١‬ز ثبل‪ ٟ‬اٌحٍمخ ‪٠ ٚ‬ؼ‪ٛ‬د ٌ‪١‬ىًّ ثبل‪ ٟ‬اٌحٍمخ ‪.‬‬

‫بعض انمفاهيم ‪:‬‬

‫‪ِ -‬ف‪ َٛٙ‬اٌــ ‪٠ : nested‬زُ إدخبي أوضش ِٓ حٍمخ ‪ for‬أ‪ ٚ‬أوضش ِٓ ششط ‪ if‬ثذاخً ثؼض‪ٙ‬ب‬
‫اٌجؼض ح‪١‬ش ‪٠‬زُ رٕف‪١‬ز اٌحٍمبد ‪ ٚ‬اٌشش‪ٚ‬ط اٌز‪ ٟ‬ف‪ ٟ‬اٌذاخً أ‪ٚ‬الً ‪.‬‬

‫مثال ‪: 12-5‬‬
‫‪>> for i=1:10‬‬
‫‪for j=1:10‬‬
‫)‪fprintf('%2d\t',i*j‬‬
‫‪end‬‬
‫)'‪fprintf('\n‬‬
‫‪end‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬
‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪8‬‬ ‫‪10‬‬ ‫‪12‬‬ ‫‪14‬‬ ‫‪16‬‬ ‫‪18‬‬ ‫‪20‬‬
‫‪3‬‬ ‫‪6‬‬ ‫‪9‬‬ ‫‪12‬‬ ‫‪15‬‬ ‫‪18‬‬ ‫‪21‬‬ ‫‪24‬‬ ‫‪27‬‬ ‫‪30‬‬
‫‪4‬‬ ‫‪8‬‬ ‫‪12‬‬ ‫‪16‬‬ ‫‪20‬‬ ‫‪24‬‬ ‫‪28‬‬ ‫‪32‬‬ ‫‪36‬‬ ‫‪40‬‬
‫‪5‬‬ ‫‪10 15‬‬ ‫‪20‬‬ ‫‪25‬‬ ‫‪30‬‬ ‫‪35‬‬ ‫‪40‬‬ ‫‪45‬‬ ‫‪50‬‬
‫‪6‬‬ ‫‪12 18‬‬ ‫‪24‬‬ ‫‪30‬‬ ‫‪36‬‬ ‫‪42‬‬ ‫‪48‬‬ ‫‪54‬‬ ‫‪60‬‬
‫‪7‬‬ ‫‪14 21‬‬ ‫‪28‬‬ ‫‪35‬‬ ‫‪42‬‬ ‫‪49‬‬ ‫‪56‬‬ ‫‪63‬‬ ‫‪70‬‬
‫‪8‬‬ ‫‪16 24‬‬ ‫‪32‬‬ ‫‪40‬‬ ‫‪48‬‬ ‫‪56‬‬ ‫‪64‬‬ ‫‪72‬‬ ‫‪80‬‬
‫‪9‬‬ ‫‪18 27‬‬ ‫‪36‬‬ ‫‪45‬‬ ‫‪54‬‬ ‫‪63‬‬ ‫‪72‬‬ ‫‪81‬‬ ‫‪90‬‬
‫‪10 20 30‬‬ ‫‪40‬‬ ‫‪50‬‬ ‫‪60‬‬ ‫‪70‬‬ ‫‪80‬‬ ‫‪90‬‬ ‫‪100‬‬
‫>>‬

‫مثال ‪: 13-5‬‬
‫;)'‪x=input('enter an integer number‬‬
‫‪if x>0‬‬
‫)'‪disp('positive number‬‬
‫‪if rem(x,2)==0‬‬
‫)'‪disp('odd number‬‬
‫‪else‬‬
‫)'‪disp('even number‬‬
‫‪end‬‬

‫‪- 111 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪elseif x<0‬‬
‫)'‪disp('negative number‬‬
‫‪if rem(x,2)==0‬‬
‫)'‪disp('odd number‬‬
‫‪else‬‬
‫)'‪disp('even number‬‬
‫‪end‬‬

‫‪else‬‬
‫)' ‪disp('zero‬‬
‫‪end‬‬

‫‪ِ -‬ف‪ َٛٙ‬اٌــ ‪ِ ٛ٘ ٚ vectorization‬ف‪ َٛٙ‬لبئُ ػٍ‪ ٝ‬اسزجذاي حٍمخ ‪ for‬ثشؼبع ‪ّ٠‬ضً دٌ‪ ً١‬اٌحٍمخ‬
‫‪ ٚ‬رٕف‪١‬ز ِب ‪٠‬ذاخً اٌحٍمخ اػزّبداً ػٍ‪ ٝ‬اٌشؼبع ‪٘ ٚ‬زا ‪٠‬سشع رٕف‪١‬ز اٌجشٔبِظ فبٌّبرالة ‪٠‬زؼبًِ‬
‫ثسشػخ ِغ اٌّظف‪ٛ‬فبد أسشع ِٓ اٌذخ‪ٛ‬ي ف‪ ٟ‬حٍمخ ‪ ٚ for‬رٕف‪١‬ز٘ب ‪ٌ ٚ ,‬ىٓ ف‪ ٟ‬ثؼض اٌحبالد‬
‫ال ٔسزط‪١‬غ ػًّ ‪ٌٍ vectorize‬جشٔبِظ ‪ ٚ ,‬ف‪ ٟ‬ثؼض اٌحبالد رى‪ for ْٛ‬أفضً ‪.‬‬

‫مثال ‪: 14-5‬‬

‫‪tic‬‬ ‫‪tic‬‬
‫;]‪x=[1:100‬‬ ‫;]‪x=[1:100‬‬
‫‪for i=x‬‬ ‫;‪y=2*x-1‬‬
‫;‪y(i)=2*x(i)-1‬‬ ‫‪toc‬‬
‫‪end‬‬ ‫‪Elapsed time is 0.000153 seconds.‬‬
‫‪toc‬‬ ‫>>‬
‫‪Elapsed time is 0.003030 seconds.‬‬

‫‪ ٚ for‬اٌجشٔبِظ ٔفسٗ ثبسزخذاَ‬ ‫الحع اٌفشق ف‪ ٟ‬صِٓ اٌزٕف‪١‬ز ث‪ ٓ١‬اٌجشٔبِظ ِغ حٍمخ‬


‫‪vectorization‬‬

‫شاهد الحلقة العاشرة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 112 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 3 – 5‬انتعزف عهى مهفاث ‪M-file‬‬


‫‪M-files Types‬‬
‫إْ اٌز‪ٛ‬اثغ اٌز‪ ٟ‬رسزذػ‪ٙ١‬ب ِب ٘‪ ٟ‬إال ٍِفبد ‪ m-file‬رحز‪ ٞٛ‬ػٍ‪ِ ٝ‬غّ‪ٛ‬ػخ ِٓ اٌزؼٍ‪ّ١‬بد‬
‫ألداء اٌ‪ٙ‬ذف اٌّشع‪٘ ِٓ ٛ‬زا اٌزبثغ ِضالً اٌزبثغ ‪٠ sum‬م‪ َٛ‬ثؼٍّ‪١‬خ اٌغّغ ف‪٠ ٛٙ‬مجً دخالً ِب ِظف‪ٛ‬فخ‬
‫أ‪ ٚ‬شؼبع ‪٠ ٚ‬ؼ‪١‬ذ خشعب ً ٘‪ٔ ٛ‬برظ اٌغّغ ‪ ٚ‬ثبٌزبٌ‪ٔ ٟ‬ؼٍُ أْ اٌجشٔبِظ ( أ‪ ٚ‬اٌزبثغ ) ‪ّ٠‬ىٓ رّ‪١١‬ضٖ ثبسُ (‬
‫‪٠‬ذي االسُ ػٍ‪ ٝ‬ػًّ اٌزبثغ ) ‪ ٚ‬دخً ( أ‪ ٚ‬أوضش ) ‪ ٚ‬خشط ( أ‪ ٚ‬أوضش ) ‪ٕ٘ ٚ ,‬بن ٔ‪ٛ‬ػ‪ٍِ ِٓ ٓ١‬فبد‬
‫‪ّ٘ M-file‬ب ٍِف اٌزبثغ ‪ٍِ ٚ function‬ف اٌــ ‪ٌٍ ٚ , script‬جذء ثىزبثخ أ‪ ٞ‬ربثغ ار٘ت إٌ‪ٝ‬‬
‫رج‪٠ٛ‬ت ‪ ٚ file‬اخزش ‪ new‬صُ ‪ function‬وّب ‪ٛ٠‬ضح اٌشىً اٌزبٌ‪: ٟ‬‬

‫انشكم ‪ : 1 – 5‬كيفيت فتح مهف ‪function‬‬

‫سوف تظهر لنا نافذة المحرر التالية و التي سنكتب فيها البرنامج ( أو التابع ) ‪:‬‬

‫انشكم ‪ : 2 – 5‬نافذة انمحزر و مهف من نوع ‪. function‬‬

‫‪- 113 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫نالحظ في الشكل السابق بعض الكتابات موجودة مسبقا ً و هي ‪:‬‬


‫) ‪function [ output_args ]=Untitled3( input_args‬‬
‫‪%UNTITLED3 Summary of this function goes here‬‬
‫‪%‬‬ ‫‪Detailed explanation goes here‬‬
‫‪:‬‬
‫‪:‬‬
‫‪end‬‬
‫و منه نجد أن ‪:‬‬

‫ٔجذأ ثىزبثخ ‪ function‬صُ ث‪ ٓ١‬ل‪ٛ‬س‪ِ ٓ١‬شثغ ِزح‪ٛ‬ي أ‪ِ ٚ‬زح‪ٛ‬الد اٌخشط صُ ٔضغ ػالِخ =‬ ‫‪-‬‬
‫صُ اسُ اٌزبثغ صُ ث‪ ٓ١‬ل‪ٛ‬س‪ ٓ١‬دائش‪ِ ٞ‬زح‪ٛ‬ي أ‪ِ ٚ‬زح‪ٛ‬الد اٌذخً ‪.‬‬
‫‪ ٚ‬اٌسطش اٌضبٔ‪ ٟ‬ثؼذ ػالِخ ‪ٔ %‬ىزت ٍِخض ػٓ اٌزبثغ ‪.‬‬ ‫‪-‬‬
‫‪ ٚ‬اٌسطش اٌضبٌش ٍِخض رفض‪ ٌٟٞ‬ػٓ اسزخذاَ اٌزبثغ ‪ّ٠ ٚ .‬ىٓ االسزغٕبء ػٓ اٌسطش‬ ‫‪-‬‬
‫اٌضبٌش ‪ ٚ‬اٌضبٔ‪.. ٟ‬‬
‫‪ٔ ٚ‬جذأ ثىزبثخ اٌزبثغ ‪.‬‬ ‫‪-‬‬
‫‪ ٚ‬ف‪ ٟ‬إٌ‪ٙ‬ب‪٠‬خ ٔىزت ‪. end‬‬ ‫‪-‬‬

‫ثؼذ وزبثزٕب ٌٍزبثغ ٔم‪ َٛ‬ثحفظٗ ثبسُ ف‪ِ ٟ‬غٍذ اٌؼًّ اٌحبٌ‪ ٚ ٟ‬االِزذاد ٘‪ٌ ٚ .m ٛ‬زٕف‪١‬ز اٌزبثغ ٔىزت‬
‫اسّٗ ف‪ٔ ٟ‬بفزح األ‪ٚ‬اِش ‪.‬‬

‫مثال ‪: 15-5‬‬
‫) ‪function [ avg ] = avg( v‬‬

‫‪%calculate the average of vector‬‬

‫‪% by using sum and length functions‬‬

‫;)‪avg=sum(v)/length(v‬‬

‫) ‪fprintf('the average is : %5.4f ', avg‬‬

‫‪end‬‬

‫‪ ٚ‬ف‪ٔ ٟ‬بفزح اٌزؼٍ‪ّ١‬بد ٔم‪ َٛ‬ثبسزذػبء اٌزبثغ ثبسُ اٌٍّف اٌز‪ ٞ‬لّٕب ثحفظٗ ف‪١ٌ ( ٗ١‬س ثبسُ اٌزبثغ‬
‫اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬اٌٍّف ) فٕغذ ‪:‬‬
‫;]‪>> v=[1:13‬‬
‫)‪>> a=avg(v‬‬
‫‪the average is : 7.0000‬‬
‫وّب ‪ّ٠‬ىٕٕب وزبثخ ِغّ‪ٛ‬ػخ ِٓ اٌزؼٍ‪ّ١‬بد ‪ ٚ‬حفظ‪ٙ‬ب ف‪ٍِ ٟ‬ف ‪ script‬ثبِزذاد ‪ ٛ٘ٚ .m‬إٌ‪ٛ‬ع اٌضبٔ‪ٟ‬‬
‫ِٓ ٍِفبد ‪M-file‬‬

‫‪- 114 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: 16-5 ‫مثال‬
m=input('enter you matrix ')
if isempty(m)==true
disp('your matrix is empty')
else
if isscalar(m)==true
disp('your matrix is scalar')
elseif iscolumn(m)==true
disp('your matrix is colnmn vector')
elseif isrow(m)==true
disp('your matrix is row vector')
else
[r,c]=size(m);
fprintf('your matrix is %dx%d martix\n',r,c)
end
end

: ‫ّبد فٕغذ‬١ٍ‫ ٔبفزح اٌزؼ‬ٟ‫ٗ ف‬١‫ لّٕب ثحفظٗ ف‬ٞ‫ز ٔىزت اسُ اٌٍّف اٌز‬١‫ ػٕذ اٌزٕف‬ٚ
>> matrix
enter you matrix [3 5 ; 3 5]

m=

3 5
3 5

your matrix is 2x2 martix


>>

echo

‫ ِغ‬ٚ ٖ‫ز‬١‫ّبد ػٕذ رٕف‬١ٍ‫ ٔبفزح اٌزؼ‬ٟ‫ ف‬script ‫بد ٍِف‬٠ٛ‫بس ِحز‬ٙ‫ إلظ‬on ‫ّخ ِغ‬١ٍ‫ٔسزخذَ ٘زٖ اٌزؼ‬
. ‫بس٘ب‬ٙ‫ ٌؼذَ إظ‬off

: ‫ هو ما يهي‬script ‫ و انــ‬function ‫و انفزق بين مهفاث انــ‬

ٞ‫خ أ‬١ٍ‫شاد ِح‬١‫ ِزغ‬ٟ٘ function ‫ع‬ٛٔ ِٓ M-files ‫ ٍِفبد‬ٟ‫شاد اٌّسزخذِخ ف‬١‫ اٌّزغ‬-
‫ ٍِفبد‬ٟ‫شاد ف‬١‫ّٕب اٌّزغ‬١‫ ث‬, ًّ‫ فضبء اٌؼ‬ٟ‫دح ف‬ٛ‫ع‬ٌّٛ‫شاد ا‬١‫ رؤصش ثبٌّزغ‬ٚ‫ب ال رزأصش أ‬ٙٔ‫أ‬
‫ ٔبفزح‬ٟ‫ ف‬script ‫ز ٍِف اٌــ‬١‫شاد فضبء اٌؼًّ ػٕذ رٕف‬١‫ ِزغ‬ٍٝ‫ رؤصش ػ‬ٚ‫ رُضبف أ‬script
. ‫ّبد‬١ٍ‫اٌزؼ‬
‫د أْ ٍِفبد‬ٛ‫ اٌّمظ‬ٚ : ‫ سبوٕخ‬script ‫ّٕب ٍِفبد‬١‫خ ث‬١‫ى‬١ِ‫ٕب‬٠‫ د‬function ‫ ٍِفبد‬-
‫ وً ِشح أِب‬ٟ‫ز ف‬١‫ش إٌزبئظ ػٕذ اٌزٕف‬١١‫ رغ‬ٌٟ‫ ثبٌزب‬ٚ ‫ش٘ب‬١‫ّىٕٕب رغ‬٠ ‫ب ِذخالد‬ٌٙ function

- 115 -
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫ٍِفبد ‪ script‬فال رمجً ِذخالد ثشىً ػبَ ( ف‪ ٟ‬اٌحم‪١‬مخ ‪ّ٠‬ىٕٕب اٌطٍت ِٓ اٌّسزخذَ‬
‫إدخبي ِزغ‪١‬شاد ٕ٘ب ثبسزخذاَ اٌزبثغ ‪ ٚ ) input‬ثبٌزبٌ‪ ٟ‬ال رزغ‪١‬ش ٔزبئغ‪ٙ‬ب ‪.‬‬

‫‪ ) 4 – 5‬نصائح و خطط في انبزمجت ‪:‬‬


‫‪tips and planes in programming‬‬
‫‪ٚ‬ددد ف‪٘ ٟ‬زا اٌمسُ اٌظغ‪١‬ش رمذ‪ ُ٠‬ثؼض إٌظبئح ف‪ ٟ‬اٌجشِغخ ثشىً ػبَ ‪ ٚ‬ف‪ ٟ‬اٌّبرالة ثشىً‬
‫خبص ‪:‬‬
‫‪ -‬اوزت ثشٔبِغه ‪ ٚ‬رؼٍ‪ّ١‬بره ثشىً ‪ٚ‬اضح ثحش ‪٠‬حجز رشن فشاغبد ِب ٌُ ‪٠‬ىٓ رٌه ِغ‪١‬شاً‬
‫ٌّؼٕ‪ ٝ‬اٌؼجبسح أ‪ ٚ‬اٌزؼٍ‪ّ١‬خ ‪ ٚ‬رٌه ٌ‪١‬سً ػٍ‪١‬ه لشاءرٗ ‪ ,‬الحع ‪:‬‬

‫))‪% disp(sprintf('%d %d %d ',x1,x2,x3‬‬

‫) ) ‪disp ( sprintf ( '%d %d %d ' , x1 , x2 , x3‬‬

‫;]‪% A = [1234;5678‬‬ ‫‪here A is 1x2 Matrix‬‬

‫‪A= [ 1 2 3 4 ; 5 6 7 8 ] ; % here A is 2x4 Matrix‬‬

‫‪ -‬أػط‪ِ ٟ‬زغ‪١‬شاره اٌز‪ ٟ‬رسزخذِ‪ٙ‬ب أسّب ً ‪١ٍ٠‬ك ثّحز‪٠ٛ‬بر‪ٙ‬ب ثح‪١‬ش رززوش ِبرا رح‪ ٞٛ‬ثّغشد‬
‫لشاءح اسّ‪ٙ‬ب ‪ ,‬الحع ‪:‬‬

‫ٌٓ رززوش ِب ‪٠‬حز‪ ٗ٠ٛ‬اٌّزغ‪١‬ش ػٕذ لشاءح اٌجشٔبِظ ِشح أخش‪adevsdfd='hesham' % ٜ‬‬

‫ثّغشد لشاءح اسُ اٌّزغ‪١‬ش سزؼشف أٔٗ ‪٠‬ح‪ ٞٛ‬اسُ ‪name='hesham' %‬‬

‫اسزخذَ ٔ‪ٛ‬ع اٌج‪١‬بٔبد إٌّبست ٌىً ِزغ‪١‬ش ‪ ٚ‬اسزخذَ رشاو‪١‬ت اٌج‪١‬بٔبد إْ أِىٓ ‪.‬‬ ‫‪-‬‬
‫اخزبس اٌخ‪ٛ‬اسصِ‪١‬خ اٌظح‪١‬حخ ٌجشٔبِغه ( رغٕت رؼم‪١‬ذ ‪ ٚ‬ط‪ٛ‬ي اٌجشٔبِظ ) ‪.‬‬ ‫‪-‬‬
‫الزظش ف‪ ٟ‬اسزخذاَ اٌّزغ‪١‬شاد ‪ ٚ‬اٌزؼٍ‪ّ١‬بد لذس اإلِىبْ ‪.‬‬ ‫‪-‬‬
‫أعؼً ثشٔبِغه ‪٠‬ؼبٌظ اٌحبالد اٌؼبِخ ‪١ٌ ٚ‬س حبٌخ خبطخ ‪.‬‬ ‫‪-‬‬
‫لُ ثمشاءح ٌجشٔبِغه ‪ ٚ‬رٕف‪١‬زٖ رٕ٘‪١‬ب ً لجً رٕف‪١‬زٖ ف‪ ٟ‬اٌحبست ‪.‬‬ ‫‪-‬‬

‫شاهد الحلقة الحادية عشرة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 116 -‬‬


‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: ‫ ) تمارين‬5 - 5
Exercises
‫ّخ‬١‫لف اإلدخبي ػٕذ رشن ل‬ٛ‫ز‬٠ ٚ ‫ّخ‬١‫ّخ ل‬١‫ُ شؼبع ِب ل‬١‫َ ثئدخبي ل‬ٛ‫م‬٠ script ‫ اوزت ٍِف‬- 1
. ‫طجغ اٌشؼبع‬٠ ٚ ‫لف اٌجشٔبِظ‬ٛ‫ز‬١‫اٌشؼبع فبسغخ ف‬
v=[];
for i=1:1000
e=input('=');
if isempty(e)==1
break
elseif isnumeric(e)==0
disp('you have not entered a number ')
else
v(i)=e;
end
end
v

. ‫غ اٌحبالد‬١ّ‫خ ِٕبلشب ً ع‬١ٔ‫َ ثحً ِؼبدٌخ ِٓ اٌذسعخ اٌضب‬ٛ‫م‬٠ ‫ اوزت ربثغ‬- 2


function [ x1 ,x2 ] = eq2( a , b , c )
%eq2 is used to solve 2nd equation
d=b^2-4*a*c;
if d==0
x1=(-b)/2*a; x2=x1;
else
x1=(-b+sqrt(d))/2*a;
x2=(-b-sqrt(d))/2*a;
end
end

ٓ١ّ‫طٍت ِٓ اٌّسزخذَ رخ‬٠ ٚ 10 ‫ اٌــ‬ٚ 1 ‫ٓ اٌــ‬١‫ح ث‬١‫ طح‬ٟ‫ائ‬ٛ‫ذ سلُ ػش‬١ٌٛ‫َ ثز‬ٛ‫م‬٠ ‫ اوزت ربثغ‬- 3
. ‫ٌخ‬ٚ‫خّٕٗ اٌّسزخذَ اطٍغ ػذد ِشاد اٌّحب‬٠ ‫ ػٕذِب‬ٚ ُ‫اٌشل‬
function [ ] = guess( )
x=randi(10,1); i=0 ;y=11;
while x~=y
y=input('guess the number I save [1 ~ 10');
i=i+1;
disp('bad try again')
end
fprintf('good but you have %d attempts',i)
end

- 117 -
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

: ‫خ‬١ٌ‫د ِٓ اٌسالسً اٌزب‬ٚ‫ حذ‬10 ‫ي‬ٚ‫ع أ‬ّٛ‫غبد ِغ‬٠‫ لُ ثىزبثخ إل‬- 4


𝑥 𝑥2 𝑥3
(a) 𝑒 𝑥 = 1 + + + + …
1! 2! 3!

x=input('enter value of x :');


e=1
for i=1:10
e=e+(x^i)/factorial(i);
end
fprintf('the value of exp(%d) for 10 element is %f',x,e)
1 1 1 1
(b) 𝑦 = 1 − + − +
1 3 5 7
y=1; s=-1;
for i=1:10
y=y+s/(2*i-1);
s=-s;
end
disp(y)

: ٍٟ٠ ‫بَ ثّب‬١‫ صُ اٌم‬A ‫فخ ِشثؼخ‬ٛ‫ ِٓ أعً إدخبي ِظف‬script m-file ‫ اوزت‬- 5
‫زُ طجبػخ وٍّخ‬٠ ‫احذاد ػٕذئز‬ٚ ٖ‫ حبي وبٔذ وب ػٕبطش‬ٟ‫ ف‬ٟ‫س‬١‫ اخزجبس اٌمطش اٌشئ‬- 1
. Not Reflexive ‫زُ طجبػخ‬٠ ‫ إال‬ٚ Reflexive
ُ‫ز‬٠ ‫ ػٕذئز‬jith ‫ اٌؼٕظش‬ٞٚ‫سب‬٠ ijth ‫ فئرا وبْ اٌؼٕظش‬, A ‫فخ‬ٛ‫ اخزجبس وً ػٕبطش اٌّظف‬- 2
Not Symmetric ‫زُ طجبػخ‬٠ ‫ إال‬ٚ Symmetric ‫طجبػخ وٍّخ‬
‫ ال‬jith ‫ اٌؼٕظش‬ٚ 1 ٞٚ‫سب‬٠ ijth ‫ فئرا وبْ اٌؼٕظش‬, A ‫فخ‬ٛ‫ اخزجبس وً ػٕبطش اٌّظف‬- 3
Not ‫زُ طجبػخ‬٠ ‫ إال‬ٚ Antiymmetric ‫زُ طجبػخ وٍّخ‬٠ ‫ ) ػٕذئز‬i≠j ( 1 ٞٚ‫سب‬٠
. Antimmetric
A=input('enter a squareMatrix');
[r,c]=size(A);
c1=[];
if r~=c
disp('Matrix is not squar')
return
end
for i=1:r
for j=1:c
if i==j && A(i,j)==1
c1=[c1 1];
end
end
end
if length(c1)==length(diag(A))
s1='Reflexive';
else
s1='Not Reflexive';

- 118 -
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

end
c2=[];
for i=1:r
for j=1:c
if A(i,j)==A(j,i)
c2=[c2 1];
end
end
end
if length(c2)==numel(A)
s2='Symmetric ';
else
s2='Not Symmetric ';
end
c3=[];
for i=1:r
for j=1:c
if A(i,j)==1&&A(j,i)~=1&&i~=j
c3=[c3 1];
end
end
end
if length(c3)==(numel(A)-length(diag(A)))/2
s3='Antiymmetric';
else
s3='Not Antiymmetric ';
end
fprintf('the Matrix you entered is %s , %s ,and %s\n',s1,s2,s3)

10ٌٝ‫إ‬1 ِٓ ‫ي األػذاد‬ٚ‫دٖ األ‬ّٛ‫ ػ‬ٞٛ‫ح‬٠ ‫ال‬ٚ‫ اطجغ عذ‬, ‫ّبد اٌطجبػخ‬١ٍ‫ رؼ‬ٚ ‫ ثبسزخذاَ اٌحٍمبد‬- 6
ٖ‫ز‬ٌٙ ٞ‫زُ اٌؼشش‬٠‫غبس‬ٌٍٛ‫د اٌضبٌش ا‬ّٛ‫ اٌؼ‬ٚ ‫زٖ األػذاد‬ٌٙ ٟ‫ؼ‬١‫زُ اٌطج‬٠‫غبس‬ٌٍٛ‫ ا‬ٟٔ‫د اٌضب‬ّٛ‫ اٌؼ‬ٚ
.‫األػذاد‬
fprintf('=======================================
=\n')
fprintf('||\t x \t\tlog(x)\t\tlog10(x)\t||\n')

fprintf('=======================================
=\n')
for i=1:9
fprintf('||\t%6.4f\t||\t%6.4f\t||\t%6.4f\t||\n',i,log(i),log10(i))
end

fprintf('=======================================
=\n')

- 119 -
‫الفصل الخامس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

========================================
|| x log(x) log10(x) ||
========================================
|| 1.0000 || 0.0000 || 0.0000 ||
|| 2.0000 || 0.6931 || 0.3010 ||
|| 3.0000 || 1.0986 || 0.4771 ||
|| 4.0000 || 1.3863 || 0.6021 ||
|| 5.0000 || 1.6094 || 0.6990 ||
|| 6.0000 || 1.7918 || 0.7782 ||
|| 7.0000 || 1.9459 || 0.8451 ||
|| 8.0000 || 2.0794 || 0.9031 ||
|| 9.0000 || 2.1972 || 0.9542 ||
========================================

‫َ ثئدخبي‬ٛ‫م‬٠ script m-file ‫ اوزت‬, ‫بٔبد‬١‫ اٌزحىُ ثزذفك اٌج‬ٚ ‫بٔبد‬١‫ت اٌج‬١‫ ثبسزخذاَ رشاو‬- 7
‫بء ِٓ إدخبي‬ٙ‫ ثؼذ االٔز‬ٚ ) ‫ ( االسُ – اٌؼّش – اٌّؼذي‬ٟ٘ ‫بٔبد‬١‫ ٘زٖ اٌج‬ٚ ‫ طبٌت‬N ‫بٔبد‬١‫ث‬
. 60 ِٓ ٍٝ‫ اٌّؼذي األػ‬ٚ‫ ػذد اٌطالة ر‬ٚ , ‫زُ طجبػخ أوجش ِؼذي‬٠ ‫بٔبد‬١‫اٌج‬
N=input('enter the numbe of the students ');
for i=1:N
fprintf('student number %d\n============',i);
nm=input('enter name of the student','s');
ag=input('enter age of the student');
av=input('enter avg of the student');
student(i)=struct('name',nm,'age',ag,'avg',av);
end
m=max([student.avg]);
x=[student.age];
n=numel(find(x>60));
fprintf('the max of avgs is %2.2f and the number
of successed students is %d',m,n);

- 120 -
‫انفظم‬
‫‪6‬‬
‫أَىاع انثُاَاخ و انتعايم يع‬
‫يهفاخ انثُاَاخ‬
‫‪Data Types And Data Files‬‬
‫‪Management‬‬
‫أهداف هذا الفصل ‪:‬‬

‫دراسة سريعة ألنواع البيانات في‬


‫برنامج ماتالب ثم الدخول في كيفية‬
‫التعامل مع الملفات‬
‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 1 – 6‬يقذيح ‪:‬‬
‫‪Introduction‬‬
‫تٕطٕنُا نٓزا انفظم َكٌٕ لذ لطؼُا شٕطا ً كثٍشج فً انًاذالب ٔ سٍكٌٕ ْزا انفظم‬
‫يمسٕيا ُ إنى لسًٍٍ األٔل ْٕ إَٔاع انثٍاَاخ فً انًاذالب ٔ كاٌ ٌدة ػهٍُا انرؼشف ػهٍّ يُز‬
‫انثذاٌح ٔ نكٍ نردُة انظؼٕتح ٔ انرؼمٍذ أخهد ركشِ نٓزا انًٕضغ ‪ٔ ,‬انثاًَ ْٕ إداسج يهفاخ‬
‫انثٍاَاخ فؼُذيا ذذخم فً انثشيدح اندذٌح فإَك غانثا ً يا سرسراج نرخزٌٍ انثٍاَاخ ػهى انمشص‬
‫انظهة ‪ ٔ ,‬ذذػى ػًهٍح َمم انثٍاَاخ تٍٍ انًاذالب ٔ انمشص انظهة تاسرٍشاد ( يٍ انمشص‬
‫انظهة إنى انًاذالب ) ٔ ذظذٌش ( يٍ انًاذالب إنى انمشص انظهة ) ‪ٌٔ ,‬رى ذخزٌٍ انًهفاخ‬
‫ػهى انمشص انظهة تطشٌمرٍٍ ‪ :‬األٔنى ًْ ػهى شكم َض ٔ ذكٌٕ لٍى انثٍاَاخ ٔفك شٍفشج انــ‬
‫‪ ASCI‬زٍث ًٌكٍ فرر انًهف تٕاسطح أي تشَايح يسشس َظٕص ‪ ٔ ,‬انثاٍَح ػهى شكم ثُائً‬
‫‪ ( binary‬أطفاس ٔ ٔازذاخ ) ٔ تانرانً ال ًٌكٍ لشاءذٓا تٕاسطح تشَايح يسشس َظٕص ‪ٔ,‬‬
‫انرخزٌٍ ػهى شكم ‪ binary‬أفضم يٍ َازٍح انًسازح انرً ٌشغهٓا انًهف ػهى انمشص انظهة ‪,‬‬
‫ٔ سُؼانح فً ْزا انمسى كٍفٍح انرؼايم يغ انًهفاخ ٔ ذظذٌشْا ٔ اسرٍشادْا تٕاسطح انًهفاخ ٔ نكٍ‬
‫تشكم يٕخز ‪.‬‬

‫‪ ) 2 – 6‬أَىاع انثُاَاخ فٍ انًاتالب ‪:‬‬


‫‪Data Types At MatLab:‬‬
‫ال ٌطهة يُك انًاذالب ذسذٌذ َٕع انًرغٍش انزي سرخزٌ فٍّ انثٍاَاخ فثًدشد إسُاد لًٍح‬
‫نًرغٍش ٌمٕو انًاذالب ترخزٌٍ ْزِ انمًٍح فً انًرغٍش تانُٕع انًُاسة ٔ ٌسدز نّ انًكاٌ انًُاسة‬
‫فً انزاكشج ٔ ال ٌٓى أتؼاد ْزا انًرغٍش فٕٓ تانرأكٍذ يظفٕفح ‪ ,‬الزع انًثال ‪:‬‬

‫يثال ‪: 1-6‬‬
‫‪>> x=1‬‬
‫=‪x‬‬
‫‪1‬‬
‫‪>> whos‬‬
‫‪Name‬‬ ‫‪Size‬‬ ‫‪Bytes Class‬‬ ‫‪Attributes‬‬
‫‪x‬‬ ‫‪1x1‬‬ ‫‪8 double‬‬
‫>>‬

‫‪ ْٕ ٔ double‬انُٕع االفرشاضً‬ ‫ٔ الزع أٌ انًاذالب ٌخزٌ انمًٍح انؼذدٌح يٍ َٕع‬


‫نألَٕاع انؼذدٌح ‪ ٔ ,‬نكٍ لذ ذذػٕ انساخح أٔ انفضٕل نًؼشفح ْزِ األَٕاع ٔ ًْ يثٍُح فً اندذٔل‬
‫(‪:)1-6‬‬

‫‪- 121 -‬‬


‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫نوع البيانات‬ ‫انىطف‬


‫‪int8‬‬ ‫عذد طحُح يؤشش تــ ‪ 8‬خاَاخ و يجانه ‪[-128 , 127] :‬‬
‫‪uint8‬‬ ‫عذد طحُح غُش يؤشش تــ ‪ 8‬خاَاخ و يجانه ‪[0 , 255] :‬‬
‫‪int16‬‬ ‫عذد طحُح يؤشش تــ ‪ 16‬خاَاخ و يجانه ‪[-32768 , 32767] :‬‬
‫‪uint16‬‬ ‫عذد طحُح غُش يؤشش تــ ‪ 16‬خاَاخ و يجانه ‪[0 , 65535] :‬‬
‫‪int32‬‬ ‫عذد طحُح يؤشش تــ ‪ 32‬خاَاخ و يجانه ‪[-2.147483648e9, :‬‬
‫]‪2.147483647e9‬‬
‫‪uint32‬‬ ‫عذد طحُح غُش يؤشش تــ ‪ 32‬خاَاخ و يجانه ‪[0 , 4.294967295e9] :‬‬
‫‪int64‬‬ ‫عذد طحُح يؤشش تــ ‪ 64‬خاَاخ و يجانه ‪:‬‬
‫]‪[-9.223372036854776e18, 9.223372036854776e18‬‬
‫‪uint64‬‬ ‫عذد طحُح غُش يؤشش تــ ‪ 64‬خاَاخ و يجانه ‪:‬‬
‫]‪[0 , 1.844674407370955e19‬‬
‫‪single‬‬ ‫عذد رو فاطهح عائًح و تذقح أحادَح و َحتاج ‪ 4‬تاَتاخ‬
‫]‪[-3.40282e38 , -1.17549e-38‬‬
‫]‪And [1.17549e-38 , 3.40282e38‬‬
‫‪double‬‬ ‫عذد رو فاطهح عائًح و تذقح يضاعفح و َحتاج ‪ 8‬تاَتاخ‬
‫]‪[-1.79769e308 , -2.22507e-308‬‬
‫]‪And [2.22507×10e-308 , 1.79769e308‬‬
‫‪logical‬‬ ‫انقُى انًُطقُح ‪ 1‬و ‪ 0‬و انزٍَ ًَثالٌ ‪ true‬و ‪ false‬تانتشتُة‬
‫‪char‬‬ ‫يحشف واحذ ( حُث تعتثش انسهسهح شعاع يٍ انًحاسف )‬
‫‪cell‬‬ ‫و هٍ يظفىفح ًَكٍ انًىطىل نخالَاها حُث ًَكٍ أٌ تحىٌ كم خهُح أٌ‬
‫َىع يٍ أَىاع انثُاَاخ‬
‫‪structure‬‬ ‫يظفىفح تشاكُة حُث تحىٌ حقىل نها أسًاء و قادسج عهً تخزٍَ أَىاع‬
‫يختهفح يٍ األتعاد و األَىاع‬
‫‪function‬‬ ‫يؤشش نتاتع‬
‫‪handle‬‬
‫‪java classes‬‬ ‫انــ ‪ object‬انًستخشجح يٍ أطُاف انــ ‪. Java‬‬
‫‪User classes‬‬ ‫انــ ‪ object‬انًستخشجح يٍ األطُاف انًعشفح يٍ قثم انًستخذو‬
‫انجذول ‪ : 1-6‬أَىاع انثُاَاخ فٍ انًاتالب‬

‫ًٌكُُا إَشاء أٔل ‪ 8‬إَٔاع كًا فً انظٍغح انرانٍح ‪:‬‬

‫) ‪y=data_type ( x‬‬

‫يثال ‪: 2-6‬‬
‫)‪>> a=uint16(1884‬‬
‫=‪a‬‬
‫‪1884‬‬
‫)‪>> b=single(pi‬‬
‫=‪b‬‬
‫‪3.1416‬‬
‫)‪>> c=logical(33‬‬

‫‪- 122 -‬‬


‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫=‪c‬‬
‫‪1‬‬
‫‪>> whos‬‬
‫‪Name‬‬ ‫‪Size‬‬ ‫‪Bytes Class‬‬ ‫‪Attributes‬‬

‫‪a‬‬ ‫‪1x1‬‬ ‫‪2 uint16‬‬


‫‪b‬‬ ‫‪1x1‬‬ ‫‪4 single‬‬
‫‪c‬‬ ‫‪1x1‬‬ ‫‪1 logical‬‬
‫>>‬
‫ٔ لذ أٔسدَا فًٍا سثك انرٕاتغ انرً ذًكُُا يٍ ذسذٌذ إَٔاع انثٍاَاخ يثم ‪ ٔ , ischar‬انرٕاتغ انرً‬
‫ذسٕل تٍٍ األَٕاع يثم )‪ ٔ x=double(y‬انزي ٌسٕل ‪ y‬إنى ػذد تفاطهح ٔ دلح يضاػفح ‪.‬‬

‫‪ ) 3 – 6‬تظذَش انثُاَاخ و استُشادها تاستخذاو ‪ save‬و ‪load‬‬


‫‪export and insert data using save and load :‬‬
‫‪ save filename(. extension ) vars –format‬‬
‫َسرخذو انراتغ ‪ save‬نرظذٌش يرغٍش ٔازذ أٔ أكثش أٔ كم انًرغٍشاخ فً يهف اسًّ‬
‫‪ٔ , filename‬نرخزٌٍ انًهف ػهى شكم َض َدؼم ايرذاد انًهف ْٕ ‪ .txt‬أيا نهرخزٌٍ ػهى‬
‫شكم ثُائً َدؼهّ ‪ٔ , .mat‬أيا تانُسثح نهــ ‪ format‬فالزع اندذٔل ( ‪: ) 1-6‬‬

‫انظُغح‬ ‫انىطف‬
‫انتخزٍَ تشُفشج انــ ‪ ascii‬تتخظُض ‪ 8‬خاَاخ نُتًكٍ‬
‫‪-ascii‬‬
‫يٍ قشاءته تاستخذاو يحشس نُظىص‬
‫انتخزٍَ تشُفشج انــ ‪ ascii‬تتخظُض ‪ 8‬خاَاخ نُتًكٍ‬
‫‪-ascii –tabs‬‬
‫يٍ قشاءته تاستخذاو يحشس نُظىص و تشك يسافاخ‬
‫انتخزٍَ تشُفشج انــ ‪ ascii‬تتخظُض ‪ 16‬خاَح نُتًكٍ‬
‫‪-ascii –double‬‬
‫يٍ قشاءته تاستخذاو يحشس نُظىص‬
‫انتخزٍَ تشُفشج انــ ‪ ascii‬تتخظُض ‪ 16‬خاَح نُتًكٍ‬
‫‪-ascii –double –tabs‬‬
‫يٍ قشاءته تاستخذاو يحشس نُظىص يع تشك يسافاخ‬
‫‪- append‬‬ ‫إضافح انًتغُشاخ إنً انًهف انًىجىد إرا كاٌ َفس االسى‬
‫انجذول ‪ : 2-6‬تقسُى انًظفىفاخ حسة األتعاد و انًحتىي‬

‫‪ load filename.mat vars‬‬


‫َسرخذو انراتغ السرٍشاد يرغٍش ٔازذ أٔ أكثش أٔ كم انًرغٍشاخ إنى َافزج فضاء انؼًم ‪َ ٔ,‬الزع أَّ‬
‫السرٍشاد تؼض يرغٍشاخ انًهف ٌدة أٌ ٌكٌٕ يسفٕظ تظٍغح ‪ .mat‬أيا فً انظٍغح ‪ .txt‬فإَّ‬
‫سٍؼٍذ كم انًرغٍشاخ ٔ تشكم يذيح ‪.‬‬

‫يثال ‪: 1-6‬‬
‫] ‪>> a = [ 1 3 ; 2 4‬‬
‫=‪a‬‬
‫‪1 3‬‬
‫‪2 4‬‬

‫‪- 123 -‬‬


‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫]‪>>b=[1 2‬‬
‫=‪b‬‬
‫‪1 2‬‬
‫‪>>save mydata.txt –ascii‬‬
‫ػُذ ذُفٍز يا سثك سُالزع َافزج انؼًم ٔ َافزج يدهذ انؼًم انسانً ٔ سُفرر انًهف ‪mydata.txt‬‬
‫فً ذطثٍك انًفكشج ٔ ْزا يثٍٍ تانشكم ( ‪) 1-6‬‬

‫انشكم ‪ : 1-6‬تىضُح انًثال ‪1 - 6‬‬

‫يثال ‪: 2-6‬‬
‫‪>> save mydata.mat‬‬
‫‪>> clear‬‬
‫‪>> b‬‬
‫‪Undefined function or variable 'b'.‬‬
‫‪>> load mydata.mat b‬‬
‫‪>> b‬‬
‫=‪b‬‬
‫‪1 2‬‬
‫>>‬

‫زٍث ٌثٍٍ انًثال انساتك أَُا لًُا تسفع انًرغٍشاخ فً يهف ثُائً ثى لًُا تسزف انًرغٍشاخ يٍ‬
‫َافزج فضاء انؼًم ٔ يٍ ثى لًُا تاسرؼادج انًرغٍش ‪ b‬فمظ ‪.‬‬

‫‪- 124 -‬‬


‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 4 – 6‬انتعايم يع انًهفاخ‬
‫‪dealing with files :‬‬
‫سنستخدم التوابع التالية للتعامل مع الملفات ‪:‬‬

‫‪ FileID=fopen('filename.***' , permission ) vars‬‬


‫ٌمٕو ْزا انراتغ تفرر انًهف ***‪ٔ filename.‬فك انسًازٍح ‪ premission‬انًثٍُح ٔفك اندذٔل (‬
‫‪ ٔ ) 2-6‬نكً َرؼايم يغ انًهف انًفرٕذ ٌؼطٍُا انًاذالب يؼشف نهًهف ‪ ْٕ ٔ fileID‬ػذد‬
‫طسٍر ٔ فً زال فشم فرر انًهف ٌكٌٕ انــ ‪. fileID = -1‬‬

‫سيز انسًاحُح‬ ‫انًعًُ‬


‫‪r‬‬ ‫فتح انًهف نهقشاءج فقط ( االفتشاضٍ )‬
‫فتح أو إَشاء يهف جذَذ نهكتاتح فقط و تجاهم انًحتىي‬
‫‪w‬‬
‫إٌ وجذ‬
‫فتح أو إَشاء يهف جذَذ نهكتاتح فقط و أضف انثُاَاخ‬
‫‪a‬‬
‫إنً َهاَح انًهف‬
‫‪r+‬‬ ‫فتح انًهف نهقشاءج و انكتاتح‬
‫فتح أو إَشاء يهف جذَذ نهقشاءج و انكتاتح و تجاهم‬
‫‪w+‬‬
‫انًحتىي إٌ وجذ‬
‫فتح أو إَشاء يهف جذَذ نهقشاءج وانكتاتح و أضف‬
‫‪a+‬‬
‫انثُاَاخ إنً َهاَح انًهف‬
‫انجذول ‪ : 2-6‬تقسُى انًظفىفاخ حسة األتعاد و انًحتىي‬

‫)‪ fclose(FileID‬‬
‫ٌمٕو ْزا انراتغ تإغالق انًهف رٔ انًؼشف ‪. fileID‬‬

‫)‪ A=fread(FileID‬‬
‫ٌمٕو ْزا انراتغ تمشاءج انًهف رٔ انًؼشف ‪ٌ ٔ fileID‬سُذ انثٍاَاخ إنى انشؼاع انؼًٕدي ‪.‬‬

‫)‪ fwrite(FileID , A‬‬


‫ٌمٕو ْزا انراتغ تكراتح ػُاطش انًظفٕفح ‪ A‬إنى انًهف رٔ انًؼشف ‪ ٔ fileID‬ترشذٍة ػًٕدي ‪.‬‬

‫يثال ‪: 2-6‬‬
‫‪namelen = 10; % 10 bytes for name‬‬
‫;)’‪fid = fopen(’marks.bin’, ’w‬‬ ‫‪% open for write only‬‬
‫;’?’ = ‪str‬‬
‫)‪while ˜isempty(str‬‬
‫;) ’‪str = input( ’Enter name: ’, ’s‬‬
‫)‪if ˜isempty(str‬‬
‫‪if length(str) > namelen‬‬
‫‪name = str(1:namelen); %only first ten chars allowed‬‬

‫‪- 125 -‬‬


‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪else‬‬
‫;‪name = str‬‬
‫‪name(length(str)+1:namelen) = ’ ’; %pad with blanks if too short‬‬
‫‪end‬‬
‫;)‪fwrite(fid, name‬‬
‫;) ’ ‪mark = input( ’Enter mark:‬‬
‫‪fwrite(fid, mark, ’float’); % 4 bytes‬‬
‫‪for mark‬‬
‫‪end‬‬
‫‪end‬‬
‫;)‪fclose(fid‬‬

‫زٍث فً انًثال انساتك لًُا ترخزٌٍ أسًاء ٔ ػالياخ ػذد يٍ انطالب ففً انسطش األٔل‬
‫زذدَا انطٕل األػظًً نألسى ب ‪ 10‬أزشف ٔ لًُا تفرر يهف نهكراتح فٍّ ‪ ٔ marks.bin‬دخهُا‬
‫فً زهمح ششطٓا أال ذكٌٕ انسهسهح فاسغح فإرا كاَد انسهسهح انرً سٍذخهٓا انًسرخذو فاسغح فسٍرى‬
‫إَٓاء انسهمح ٔ ػُذيا ٌذخم انًسرخذو االسى فإَُا َفسظّ إرا كاٌ أكثش يٍ ‪ 10‬أزشف فإَُا َكرفً‬
‫تأٔل ‪ 10‬أزشف ٔ إرا كاٌ ألم فإَُا ًَأل تمٍح األزشف تفشاغاخ ٔ َكرة األسى ‪ name‬إنى انًهف‬
‫‪ marks.bin‬ثى أدخهُا انؼاليح ٔ كرثُاْا إنى انًهف َفسّ ٔ تؼذ إَرٓاء انسهمح َغهك انًهف ‪.‬‬

‫شاهد الحلقة الحادية عشرة من الــ ‪ CD‬المرفق مع الكتاب‬

‫‪- 126 -‬‬


‫الفصل السادس‬ ‫الـمـاتـالب لـمـهـنـدسـي االتـصـاالت‬

‫‪ ) 4 – 6‬تًاسٍَ‬
‫‪Exercises :‬‬
‫نٍكٍ نذٌُا يهف ػهى انمشص ‪ c‬تاسى ‪ٌ stn.txt‬سٕي ‪ 10‬أػًذج يٍ انثٍاَاخ ‪ ,‬األػًذج لًٍٓا يٍ‬
‫انًدًٕػح }‪ ٔ , {1,0‬انًطهٕب كراتح ‪ script m-file‬يٍ أخم لشاءج ْزِ انثٍاَاخ إنى يظفٕفح‬
‫‪ ٔ R‬طثاػرٓا ػهى َافزج انخشج تُفس انشكم انًٕخٕد فٍّ فً انًهف ‪ ,‬ثى يٍ انًظفٕفح ‪ R‬شكم‬
‫‪ M‬ػذد انٕازذاخ‬ ‫يظفٕفح ‪ M‬تسٍث ٌسٕي كم ػُظش فً انؼًٕد األٔل يٍ انًظفٕفح‬
‫انًٕخٕدج فً انسطش انًٕافك يٍ انًظفٕفح ‪ٌ ٔ R‬سٕي كم ػُظش فً انؼًٕد انثاًَ ‪ 1‬إرا كاٌ‬
‫ػذد انٕازذاخ فً انسطش انًٕافك يٍ انًظفٕفح ‪ R‬أكثش يٍ أٔ ٌسأي ‪ٔ 7‬ازذاخ ٔ ‪ 0‬فًٍا ػذا‬
‫رنك ‪.‬‬

‫\‪>> cd c:‬‬

‫‪>> load stn.txt ; R=stn‬‬

‫;][=‪>> M‬‬

‫‪>> for ind=1:r‬‬

‫;))‪M(ind,1)=nnz(R(ind,:‬‬

‫‪if nnz(R(ind,:))>=7‬‬

‫;‪M(ind,2)=1‬‬

‫‪else‬‬

‫;‪M(ind,2)=0‬‬

‫‪end‬‬

‫‪end‬‬

‫‪- 127 -‬‬


‫ادلهحماخ ‪:‬‬
‫ً‬
‫جذول انرؼهًٍاخ و انرىاتغ ادلغرخذيح يشذثح أجبذٌا ‪:‬‬ ‫ادلهحك ‪: 1‬‬
‫‪Command or Function‬‬ ‫) ‪Description ( in brief‬‬
‫‪A‬‬
‫‪Abs‬‬ ‫انمًٍح ادلـهمح نؼذد أو ؿىٌهح ػذد ػمذي‬
‫‪All‬‬ ‫ذغاؤل هم انكم هى واحذ يُـمً‬
‫‪Angel‬‬ ‫صاوٌح انؼذد انؼمذي‬
‫‪Any‬‬ ‫ذغاؤل هم أي ػُظش يٍ انكم هى واحذ يُـمً‬
‫‪Area‬‬ ‫نشعى ادلغاحاخ ادلرتاكًح‬
‫‪Axis‬‬ ‫حتذٌذ احملاوس‬
‫‪B‬‬
‫‪Bar‬‬ ‫سعى أػًذج نرًثٍم انثٍاَاخ اإلحظائٍح‬
‫‪Bin2dec‬‬ ‫حتىٌم يٍ ثُائً إىل ػششي‬
‫‪Blank‬‬ ‫إَشاء عهغح حتىي فشاغاخ‬
‫‪Break‬‬ ‫اخلشوج يٍ كرهح‬
‫‪C‬‬
‫‪Case‬‬ ‫احلانح‬
‫‪Catch‬‬ ‫ػُذ اطـٍاد اخلـأ‬
‫‪Cd‬‬ ‫ذغٍري يغاس اجملهذ احلايل‬
‫‪Cell‬‬ ‫إَشاء يظفىفح خالٌا فاسغح‬
‫‪Cell2mat‬‬ ‫حتىٌم يٍ يظفىفح خالٌا دلظفىفح ػذدٌح‬
‫‪Cell2struct‬‬ ‫حتىٌم يظفىفح خالٌا دلظفىفح ذشاكٍة‬
‫‪Celldisp‬‬ ‫ػشع حمرىٌاخ يظفىفح خالٌا‬
‫‪Cellplot‬‬ ‫سعى ذىػٍحً دلظفىفح اخلالٌا‬
‫‪Char‬‬ ‫حتىٌم نغهغهح‬
‫‪Clc‬‬ ‫يغح انكراتح ادلىجىدج يف َافزج انرؼهًٍاخ‬
‫‪Clear‬‬ ‫حزف يرغري‬
‫‪Clf‬‬ ‫يغح َافزج انشكم انرخـٍـً‬
‫‪Clock‬‬ ‫احلظىل ػهى انىلد احلايل و انراسٌخ يف شؼاع‬
‫‪Colorbar‬‬ ‫وػغ ػًىد األنىاٌ يف انشعى‬
‫‪Compass‬‬ ‫سعى األػذاد انؼمذٌح كأعهى‬
‫ً‬
‫‪Complex‬‬ ‫تُاء ػذد ػمذي اَـاللا يٍ لغًه احلمٍمً و لغًه انؼمذي‬
‫‪Conj‬‬ ‫يشافك انؼذد انؼمذي‬
‫‪Continue‬‬ ‫يراتؼح‬
‫‪Conv‬‬ ‫جذاء كثريي حذود‬
‫‪Cos‬‬ ‫انرجٍة تانشادٌاٌ‬
‫‪Cumprod‬‬ ‫اجلذاء انرتاكًً‬

‫‪- 129 -‬‬


‫‪Cumsum‬‬ ‫اجملًىع انرتاكًً‬
‫‪D‬‬
‫‪Date‬‬ ‫احلظىل ػهى انراسٌخ احلايل‬
‫‪Deblank‬‬ ‫حزف انفشاغاخ يٍ انغهغهح‬
‫‪Dec2bin‬‬ ‫حتىٌم يٍ ػششي إىل ثُائً‬
‫‪Dec2hex‬‬ ‫حتىٌم يٍ ػششي إىل عد ػششي‬
‫‪Deconv‬‬ ‫لغًح كثريي حذود‬
‫‪Deg2rad‬‬ ‫انرحىٌم يٍ دسجاخ إىل سادٌاٌ‬
‫‪Det‬‬ ‫إجياد حمذد يظفىفح‬
‫‪Diag‬‬ ‫إَشاء يظفىفح لـشٌح أو احلظىل ػهى انمـش يٍ يظفىفح‬
‫ُ‬
‫‪Diary‬‬ ‫ذغجٍم يا ٌكرة ػهى انشاشح يف يهف َظً‬
‫‪Diff‬‬ ‫اشرماق انراتغ انشيضي‬
‫‪Disp‬‬ ‫ػشع ػهى انشاشح عهغح أو يرغري‬
‫‪E‬‬
‫‪Echo‬‬ ‫إظهاس ذؼهًٍاخ يهف ‪ script‬ػُذ انرُفٍز‬
‫‪Eig‬‬ ‫إجياد يظفىفرً انمٍى اخلاطح و األشؼح اخلاطح‬
‫‪Else‬‬ ‫إيا ( يف انششؽ )‬
‫‪Elseif‬‬ ‫أيا إرا ( يف انششؽ )‬
‫‪End‬‬ ‫َهاٌح حهمح أو ششؽ‬
‫‪Error‬‬ ‫ؿثاػح سعانح خـأ ػهى انشاشح‬
‫‪Etime‬‬ ‫حغاب فشق انىلد‬
‫‪Exist‬‬ ‫ذغاؤل ػٍ وجىد يرغري تاعى يا‬
‫‪Exp‬‬ ‫انؼذد انٍُربي‬
‫‪Eye‬‬ ‫إَشاء يظفىفح واحذٌح‬
‫‪Ezplot‬‬ ‫سعى ذاتغ سيضي‬
‫‪Ezpolar‬‬ ‫انشعى انؼمذي نهرىاتغ انشيضٌح‬
‫‪F‬‬
‫‪Factor‬‬ ‫حتهٍم ػذد إىل ػىايهه األونٍح‬
‫‪Factorial‬‬ ‫انؼايهً‬
‫‪Fclose‬‬ ‫إغالق يهف‬
‫‪Fieldnames‬‬ ‫احلظىل ػهى أمساء حمىل يظفىفح ذشاكٍة‬
‫‪Figure‬‬ ‫َافزج انشكم‬
‫‪Find‬‬ ‫انثحث يف ادلظفىفح وفك ششؽ حمذد‬
‫‪Fix‬‬
‫‪Fliplr‬‬ ‫لهة ادلظفىفح انٍغاس نهًٍني‬
‫‪Flipud‬‬ ‫لهة ادلظفىفح أػهى نألعفم‬
‫‪Floor‬‬
‫‪Fopen‬‬ ‫فرح يهف‬
‫‪For‬‬ ‫تذء حهمح‬

‫‪- 130 -‬‬


‫‪Format‬‬ ‫ذغٍري ؿشٌمح ػشع األسلاو ػهى انشاشح‬
‫‪Fprintf‬‬ ‫ػشع ػهى انشاشح خبٍاساخ أكثش ذـىس‬
‫‪Fread‬‬ ‫انمشاءج يٍ يهف‬
‫‪Full‬‬ ‫تُاء ادلظفىفح ادلرُاثشج‬
‫‪Function‬‬ ‫تذء ذاتغ‬
‫‪Fwrite‬‬ ‫انكراتح يف يهف‬
‫‪G‬‬
‫‪Gcd‬‬ ‫انماعى ادلشرتن األكرب‬
‫‪Grid‬‬ ‫سعى انشثكح يف انشعى انرخـٍـً‬
‫‪H‬‬
‫‪Help‬‬ ‫ؿهة ادلغاػذج يف ادلاذالب‬
‫‪Hex2dec‬‬ ‫حتىٌم يٍ عد ػششي إىل ػششي‬
‫‪Hist‬‬ ‫سعى متثٍم انثٍاَاخ اإلحظائٍح‬
‫‪Hold‬‬ ‫سعى ػذج أشكال يف َفظ انشكم‬
‫‪I‬‬
‫‪If‬‬ ‫تذء ششؽ‬
‫‪Imag‬‬ ‫انمغى انرخٍهً نؼذد ػمذي‬
‫‪Input‬‬ ‫إدخال لًٍح يرغري تىاعـح سعانح ذىػٍحٍح ػهى انشاشح‬
‫‪Int‬‬ ‫ذكايم انراتغ انشيضي‬
‫‪Inv‬‬ ‫إجياد يمهىب يظفىفح‬
‫‪Iscell‬‬ ‫ذغاؤل هم هً يظفىفح خالٌا‬
‫‪Ischar‬‬ ‫ذغاؤل هم هً عهغهح أو ال‬
‫‪Iscolumn‬‬ ‫ذغاؤل هم هى شؼاع ػًىد‬
‫‪Isempty‬‬ ‫ذغاؤل هم ادلظفىفح فاسغح‬
‫‪Isfield‬‬ ‫ذغاؤل هً هزا احلمم يٍ ػًٍ يظفىفح ذشاكٍة‬
‫‪Iskeyword‬‬ ‫ذغاؤل ػٍ كهًح يفراحٍح‬
‫‪Isletter‬‬ ‫ذغاؤل هم حتىي انغهغهح أحشف‬
‫‪Islogical‬‬ ‫ذغاؤل هم يٍ انُىع ادلُـمً‬
‫‪Ismatrix‬‬ ‫ذغاؤل هم هً يظفىفح‬
‫‪Isprime‬‬ ‫ذغاؤل هم انؼذد أويل‬
‫‪Isreal‬‬ ‫ذغاؤل هم انؼذد حمٍمً‬
‫‪Isrow‬‬ ‫ذغاؤل هم هى شؼاع عـشي‬
‫‪Isscalar‬‬ ‫ذغاؤل هم هً لًٍح عهًٍح‬
‫‪Isspace‬‬ ‫ذغاؤل هم حتىي انغهغهح يغافاخ‬
‫‪Issprase‬‬ ‫ذغاؤل هم هً يظفىفح يرُاثشج‬
‫‪Isstruct‬‬ ‫ذغاؤل هم هً يظفىفح ذشاكٍة‬
‫‪Isvarname‬‬ ‫ذغاؤل ػٍ طالحٍح اعى يرغري‬
‫‪Isvector‬‬ ‫ذغاؤل هم هى شؼاع‬
‫‪J‬‬

‫‪- 131 -‬‬


‫‪K‬‬
‫‪L‬‬
‫‪Lcm‬‬ ‫ادلؼاػف ادلشرتن األطغش‬
‫‪Legend‬‬ ‫حتذٌذ يغًٍاخ انشعى انرخـٍـً‬
‫‪Length‬‬ ‫أؿىل أتؼاد ادلظفىفح‬
‫‪Limit‬‬ ‫َهاٌح انراتغ انشيضي ػُذ لًٍح‬
‫ً‬
‫‪Linspace‬‬ ‫إَشاء شؼاع يرثاػذ خـٍا‬
‫‪Load‬‬ ‫حتًٍم ادلرغرياخ‬
‫‪Log‬‬ ‫انىغاسٌرى انـثٍؼً‬
‫‪Log10‬‬ ‫انهىغاسٌرى انؼششي‬
‫‪Log2‬‬ ‫انهىغاسٌرى انثُائً‬
‫‪Logical‬‬ ‫حتىل إىل يُـمً‬
‫‪Loglog‬‬ ‫سعى ػهى حمىسٌٍ مبمٍاط نىغاسٌرًً‬
‫ً‬
‫‪Logspace‬‬ ‫إَشاء شؼاع يرثاػذ نىغاسٌرًٍا‬
‫‪Lower‬‬ ‫حتىٌم انغهغهح حلانح االحشف انظغريج‬
‫‪M‬‬
‫‪Magic‬‬ ‫إَشاء يظفىفح عحشٌح‬
‫‪Mat2cell‬‬ ‫حتىٌم يظفىفح ػذدٌح دلظفىفح خالٌا‬
‫‪Max‬‬ ‫أكرب ػذد‬
‫‪Mean‬‬ ‫ادلرىعؾ ( ادلؼذل )‬
‫‪Median‬‬ ‫انىعؾ‬
‫‪Mesh‬‬ ‫سعى شثكح انغـح‬
‫‪Meshgride‬‬ ‫تُاء شثكح انغـح‬
‫‪Min‬‬ ‫أطغش ػذد‬
‫‪Mode‬‬ ‫ادلُىال‬
‫‪N‬‬
‫‪Ndims‬‬ ‫ػذد أتؼاد ادلظفىفح‬
‫‪Nnz‬‬ ‫ػذد انؼُاطش انغري طفشٌح‬
‫‪Nthroot‬‬ ‫اجلزس يٍ ادلشذثح ‪n‬‬
‫‪Num2str‬‬ ‫حتىٌم يٍ ػذد إىل عهغهح‬
‫‪Numel‬‬ ‫ػذد ػُاطش ادلظفىفح‬
‫‪O‬‬
‫‪Ones‬‬ ‫إَشاء يظفىفح واحذاخ‬
‫‪Orderfields‬‬ ‫ذشذٍة حمىل يظفىفح انرتاكٍة‬
‫‪Otherwise‬‬ ‫إرا مل ذرحمك أٌح حانح ( يف االخرٍاس )‬
‫‪P‬‬
‫‪Pause‬‬ ‫انرىلف ػٍ انرُفٍز‬
‫‪Pie‬‬ ‫سعى انمشص اإلحظائً‬
‫‪Plot‬‬ ‫سعى ذاتغ‬

‫‪- 132 -‬‬


‫‪Plot3‬‬ ‫سعى ثالثً انثؼذ‬
‫‪Plotyy‬‬ ‫سعى شكهني مبمٍاط خمرهف نهًحىس انؼًىدي‬
‫‪Polar‬‬ ‫انشعى يف اإلحذاثٍاخ انؼمذٌح‬
‫‪Poly‬‬ ‫حتىٌم جزوس ذاتغ إىل كثري حذود‬
‫‪Poly2sym‬‬ ‫حتىٌم يٍ كثري حذود نراتغ سيضي‬
‫‪Polyder‬‬ ‫اشرماق كثري حذود‬
‫‪Polyfit‬‬ ‫إنثاط لٍى يف كثري حذود‬
‫‪Polyint‬‬ ‫ذكايم كثري حذود‬
‫‪Polyval‬‬ ‫ذؼىٌغ لًٍح يف كثري احلذود‬
‫‪Primes‬‬ ‫األػذاد األونٍح‬
‫‪Prod‬‬ ‫جذاء‬
‫‪Q‬‬
‫‪R‬‬
‫‪Rad2deg‬‬ ‫انرحىٌم يٍ سادٌاٌ إىل دسجاخ‬
‫‪Rand‬‬ ‫إَشاء يظفىفح راخ ذىصٌغ ػشىائً‬
‫‪Randi‬‬ ‫إَشاء يظفىفح راخ أػذاد طحٍحح‬
‫‪Randn‬‬ ‫إَشاء يظفىفح راخ ذىصٌغ ؿثٍؼً‬
‫‪Rank‬‬ ‫حتذٌذ سذثح ادلظفىفح‬
‫‪Rats‬‬ ‫حتىٌم انؼذد إىل شكم َغثح‬
‫‪Real‬‬ ‫انمغى احلمٍمً نؼذد ػمذي‬
‫‪Rem‬‬ ‫تالً لغًح‬
‫‪Repmat‬‬ ‫ذكشاس ادلظفىفح‬
‫‪Reshape‬‬ ‫ذغٍري أتؼاد ادلظفىفح‬
‫‪Residue‬‬ ‫انرفشٌك إىل كغىس‬
‫‪Return‬‬ ‫انؼىدج إىل انراتغ األب‬
‫‪Rmfield‬‬ ‫حزف حمم يٍ يظفىفح ذشاكٍة‬
‫‪Roots‬‬ ‫إجياد جزوس كثري احلذود‬
‫‪Rot90‬‬ ‫ذذوٌش ادلظفىفح ‪ 90‬دسجح تؼكظ ػماسب انغاػح‬
‫‪Round‬‬ ‫انرمشٌة إىل‬
‫‪S‬‬
‫‪Save‬‬ ‫حفظ ادلرغرياخ‬
‫‪Scattar‬‬ ‫سعى ذىصع انُماؽ‬
‫‪Semilogx‬‬ ‫سعى ػهى حمىس َظف نىغاسٌرًً ( احملىس األفمً )‬
‫‪Semiogy‬‬ ‫سعى ػهى حمىس َظف نىغاسٌرًً ( احملىس انؼًىدي )‬
‫‪Shg‬‬ ‫إظهاس َافزج انشكم‬
‫‪Sign‬‬ ‫حتذٌذ إشاسج ػذد‬
‫‪Sin‬‬ ‫اجلٍة تانشادٌاٌ‬
‫‪Size‬‬ ‫حجى ادلظفىفح‬
‫‪Solve‬‬ ‫حم ادلؼادالخ نهرىاتغ انشيضٌح‬

‫‪- 133 -‬‬


‫‪Sprase‬‬ ‫حتذٌذ لٍى انؼُاطش انغري طفشٌح يف ادلظفىفح ادلرُاثشج‬
‫‪Sprintf‬‬ ‫حتىٌم نغهغح ػهى َغك حنذد‬
‫‪Sqrt‬‬ ‫اجلزس انرتتٍؼً‬
‫‪Stairs‬‬ ‫سعى انراتغ انذسجً‬
‫‪Std‬‬ ‫االحنشاف ادلؼٍاسي‬
‫‪Stem‬‬ ‫سعى انثٍاَاخ ادلرمـؼح‬
‫‪Str2num‬‬ ‫حتىٌم يٍ عهغهح إىل ػذد‬
‫‪Strcmp‬‬ ‫يماسَح تني عهغهرني‬
‫‪Strrep‬‬ ‫اعرثذال شٍئ يٍ انغهغهح‬
‫‪Strtrim‬‬ ‫حزف انفشاغاخ يٍ انغهغهح‬
‫‪Struct‬‬ ‫تُاء يظفىفح ذشاكٍة‬
‫‪Subplot‬‬ ‫انرمغٍى إىل نىحاخ سعى يرؼذدج‬
‫‪Sum‬‬ ‫جمًىع‬
‫‪Surf‬‬ ‫سعى عـح‬
‫‪Switch‬‬ ‫اخٍاس تني احلاالخ‬
‫‪Sym2poly‬‬ ‫حتىٌم يٍ كثري حذود يكرىب تشكم سيضي إىل كثري حذود ػادي‬
‫‪Syms‬‬ ‫ذؼشٌف يرغرياخ انراتغ انشيضي‬
‫‪T‬‬
‫‪Tan‬‬ ‫انظم تانشادٌاٌ‬
‫‪Text‬‬ ‫وػغ َض يف انشعى انرخـٍـً‬
‫‪Tic toc‬‬ ‫حغاب ولد انرُفٍز‬
‫‪Title‬‬ ‫حتذٌذ ػُىاٌ انشعى انرخـٍـً‬
‫‪Trace‬‬ ‫جمًىع ػُاطش انمـش انشئٍغً يف يظفىفح يشتؼح‬
‫‪Triu‬‬ ‫ادلظفىفح ادلثهثٍح‬
‫‪Try‬‬ ‫تذء اطـٍاد اخلـأ‬
‫‪U‬‬
‫‪Upper‬‬ ‫حتىٌم انغهغهح حلانح األحشف انكثريج‬
‫‪V‬‬
‫‪Var‬‬ ‫انرشرد‬
‫‪W‬‬
‫‪Which‬‬ ‫ذغاؤل ػٍ وجىد ذاتغ‬
‫‪While‬‬ ‫تذء حهمح‬
‫‪Who‬‬ ‫ػشع أمساء ادلرغرياخ ادلغرخذيح‬
‫‪Whos‬‬ ‫ػشع ادلرغرياخ ادلغرخذيح تانرفظٍم‬
‫‪X‬‬
‫‪Xlabel‬‬ ‫حتذٌذ اعى احملىس األفمً‬
‫‪Xlime‬‬ ‫حتذٌذ حذود احملىس االفمً‬
‫‪Y‬‬
‫‪Ylabel‬‬ ‫حتذٌذ اعى احملىس انؼًىدي‬

‫‪- 134 -‬‬


‫‪Ylime‬‬ ‫حتذٌذ حذود احملىس انؼًىدي‬
‫‪Z‬‬
‫‪Zeros‬‬ ‫إَشاء يظفىفح أطفاس‬

‫‪- 135 -‬‬


‫‪ASCII‬‬ ‫شٍفشج‬ ‫ادلهحك ‪: 2‬‬

‫و ادلالحظاخ ػهٍه هً ‪:‬‬

‫مه ‪ 0‬وحتى ‪ 32‬عشري محارف خاصح تالتحكم ‪.‬‬ ‫‪-‬‬


‫مه ‪ 33‬وحتى ‪ 64‬عشري تأتً محارف الرمىز ‪.‬‬ ‫‪-‬‬
‫‪. )A‬‬ ‫مه ‪ 65‬وحتى ‪ 90‬عشري تتىضع األحرف االوكلٍسٌح الكثٍرج ( ‪~ Z‬‬ ‫‪-‬‬
‫مه ‪ 91‬وحتى ‪ 96‬عشري تأتً محارف تعض الرمىز‬ ‫‪-‬‬
‫مه ‪ 33‬وحتى ‪ 64‬عشري تتىضع األحرف االوكلٍسٌح الصغٍرج ( ‪. ) a ~ z‬‬ ‫‪-‬‬
‫مه ‪ 123‬وحتى ‪ 126‬عشري تأتً محارف تعض الرمىز‬ ‫‪-‬‬
‫فً ‪ٌ 127‬تىضع مفتاح ‪. del‬‬ ‫‪-‬‬

‫‪- 136 -‬‬


: ‫ادلشاجغ‬

1- Essential MATLAB® for Engineers and Scientists for Brain Hahan


– Daniel T.Valentine 3rd edetion
2- Learning Matlab for Tobin A.Driscoll university of Delaware
3- MATLAB ® Demystified David McMahon
4- elementary mathematical and computational tools for electrical and
computer engineers using matlab ® for jamal t. manassah city
college of new york
5- Matlab student edition for Mathworks
6- get start 2014 for Mathworks
7- help on Matlab 2013a
8- www.mathworks.com
‫ محاضراخ الدكتىر محمىد الشعار فً كلٍح الهىدسح و الكهرتائٍح فً جامعح حلة‬- 9
. ‫الماتالب للمهىدسٍه إعداد المهىدش عدوان شاهٍه‬ - 10

- 137 -

You might also like