Professional Documents
Culture Documents
كورس ماتلاب بالعربي
كورس ماتلاب بالعربي
كورس ماتلاب بالعربي
حخغم واجهت البشنامج املغاهىلت اٍ الخؼمجاه جؼهام ,تُاذ َاخم حاغاُم جمامؽه الؼىاه اهام لاً را د
جماامؽه سسُغااُت ,واااٍ يملخااملٍ نم اازة ا واجااش Command Windowو جمطااات الؼىااه
Workspaceو حمسَخ ا واجش Command History,انظش الظىسة الخملُت:
1
ّافذج ذسجيو األٗاٍز: Command History
َخم حغخُه يه جم َاىم اى الىغخخذم ػ ً اشنمج الىمح ع ٍ از المم زة .نظش الظىسة الخملُت
2
قائَح ٍيف: File
حخكىن از الامسىت جن الؼذَذ جن الخُمساث ,والخٍ حموز يه جمهم وطُوت جلذدة امقٍ البشاج
Clear Workspace
ا دواث ػ ً جغح جىُغ الىذخ ث والمخمس جن البشنمج أنظش الظىسة : تُذ حؼىه ح
3
قائَح : Debug
اااز الامسىاات خمطاات اىؼملخاات البُمناامث ,والطشَااات الىخبؼاات جاان قبااه اشناامج الىاامح ع ااٍ جىاجهاات
ا خطمء أنظش الظىسة الخملُت :
4
ٍالدظح :يزجى ذزك ٕذٓ اىْافذج ذُٗ ذغييز ,فيسْا تذاجح ىٖا اآلُ.
قائَح : Desktop
ٍ از الامسىت َخم الخلكم اىلخىي الىاجهت الخمطات ابشنامج الىامح ع ,ىاز ً َىكممام طهامس نم ازة
ا واجش أو خومسهم( ؽبؼم ً لى أخوُممام جش تمؼشف نشخغه) ,أنظش الظىسة :
ٍعيٍ٘ح ٕاٍح:
حكىن المىا ز ٍ أتذ الىىػؼُن
5
: Docked - 1تُذ حكىن المم زة غُش قما ت ل خلشَ جن جكمنهم.
: Undocked – 2تُذ حكىن المم زة قما ت ل خلشَ وحؼذَه جامعهم أَؼمً
أنظش الظىس
قائَح : Help
تُذ حااىم ح ا الامسىات ,اخاى ُش الىغامػذاث الؼاشوسَت اٍ البشنامج ,ووعامسه االحظام املشاشيت
الىظمؼت ,وآخش الخلذَزمث ,ويزل حؼ م الىمح ع امل غت اإلنخ ُضَت
6
تعرٌف العملٌات األساسٌة:
عَييح اىجَع :
حأخاز ػ جات الخىاغ اٍ الىامح ع الشجاض الىؼاشوف ل خىاغ وااى " "+ىاز ً را قىمام اخىاغ 2+3
عُاىم الىمح ع اىػغ اإلجمات ٍ طىسة أسقمم واى ,5أنظش الظىسة الخملُت:
أراا لاً نم ازة Workspaceوقام ااملماش املىاموط اااشة جضدوجات ,عاخ تظ طهاىس نم ازة ت اج
جله نم زة ا واجش وأطبلج نم زة ا واجش ٍ ا عوه ,أنظش الظىسة
7
لموخشع أنمم قىمم اخغُُش الممح 5لً 3,قم اإغ ق نم زة حؼذَه المخمس ,يىم ٍ الظىسة الخملُت :
8
عخ تظ ػىدة نم زة ا واجش لىػؼهم ا عمعٍ ,قم اكخمات ٍ ansنم ازة ا واجاش ,عاخ تظ طهاىس
الممح املاُىت الخذَذة واٍ 3,أنظش الظىسة :
9
عَييح اىطزح :
حأخز ػى ُت الطشح سجض ( ٍ ) -الىمح ع ,ىز ً ,1=2-3أنظش الظىسة
عَييح اىضزب:
حأخز ػى ُت الؼشع سجض ( * ) ,ىز ً ,180 =12*15أنظش الظىسة:
10
عَييح اىقسَح :
حأخز ػى ُت الاغىت سجض ( ,) /ىز ً 12ػ ً 3حغموي ,4أنظش الظىسة ل خأيذ:
11
عَييح ٗضع األص:
الؼاغؾ ػ اً Shift + 6اٍ َأخز سجض ا ط ( ^ )َ ,ىكن اللظاى ػ اً اازا الشجاض جان خا
لىتت الىومحُح ,ىز ً ,144=2^12أنظش الظىسة :
12
أخذ اىجذر اىرزتيعي :
ً
َخم أخز الخزس الخشاُؼٍ ٌ سقم ػن ؽشَه يخمات ا جش sqrt,ىاز الخازس الخشاُؼاٍ ل اشقم 144
َغموٌ 12أنظش الظىسة الخملُت:
13
ولكان يىام ح تظاىن همملا جشاك ت اٍ نم ازة Workspace,تُاذ أنهام عاخ ج آخاش قُىات ااؾ,
ورل ن يه المخمس ا ساؼت حأخز سجض ansتُذ أنمم لم نخغ لهم سجضاً ,أنظش الظىسة
َخم حؼشَف المخمس الشوف ,الُذ َأخز اللشف الاُىت الخٍ َذخ هم الىغخخذم لى ,أنظش الظىسة :
14
اّرٖاااااد ذَاٍااااااث ,دياااااق ذةخاااااذ ماااااو قيَاااااح داااااز ٍعااااايِ. مَاااااا ذااااازُٗ فاىَ ااااانيح قااااار
اىَ نيح اىراىيح ٕ٘ ,أّْاا ميَاا أذخيْاا قيَاح ,أٗ دنايْا عياى ّريجاح ذناُ٘ ْٕاىال ٍ انيحٕ ,ا٘ أُ
اىَااذالب يقااً٘ تارٖاار اىقيَااح اىَرخيااح ٗماذىل اىْريجااح فااي ّافاذج األٗاٍاازٍَ ,ااا ياكذر ىااى مثااز
اىثزّاٍج اىَنر٘ب في ديِ أّٔ يكذر شئ تسيظ ,أّظز اىن٘رج اىراىيح :
15
َخم أخومء الاُىت الىذخ ت ويزل المخُخت جن الظهىس ( ولكن ػى ُت دخم المخُخت والخىاغ جاز ً حاخم
اشكه ؽبُؼٍ وَاىم الىمح ع اخموُاز جام َاأجش الىغاخخذم) ػان ؽشَاه وػاغ ػ جات ( ; ) اؼاذ ياه
قُىت جذخ ت أو اؼاذ ؽ ا نخُخات جام (الخىاغ جاز ً ) وَاخم طهامس المخُخات أو الااُم الىذخ ات را ؽ ا
الىغاخخذم رلا ,ػان ؽشَاه وػاغ تااشف الىاذخ ث أو المخُخات الىط ىاات دون اعاخخذام الشجااض
الشجض الىزيىس ) ; ( انظش الظىسة الخملُت :
16
تعرٌف بعض المتغٌرات -األعداد المركبة:
17
أنظش الظىسة الخملُت :
18
اىنراتح ف٘ق قيَح اىعرذ اىَزمة :
حؼ ىمم أنى را يخبمم ) ٍ ( iنم زة ا واجش َظهش الخملٍ :
19
يىم َىكممم الكخمات اىق ااز الاُىات ,أٌ حغُُاش قُىخاى ,تُاذ عاماىم اىػاغ قُىات لهازا الشجاض ,أنظاش
الظىسة الخملُت :
20
ولكن اؼذ حموُز أجشClear
ول خأيااذ قاام اىػااغ أٌ تااشف جاان اللااشوف الخااٍ قىااج اخؼشَوهاام جغاابام ً ل ىاامح ع ,عااخ تظ أن
الىمح ع ال َخؼشف ػ ُهم اِن ,أنظش الظىسة :
21
عَييح اىَسخ اىجشئي ىيَرغيزاخ:
لُظ ششؽم ً أن ناىم اؼى ُت جغح ي ٍ لكه البشنمج ,اه جن الىىكن ػىه جغاح لىخغُاش واتاذ ااؾ,
ػن ؽشَه يخمات أجش Clearرم عم الىخغُش ,وٍ الىزم الغماه لذَمم قُم لك ً جن ) (a) & (bيىام
ٍ الظىسة الخملُت :
22
اىرٗاه اىَثيثيح: Trigonometric Functions
ٍالدظحَ :اىم الىمح ع ااُمط الضواَم املخاذَش الذاسشٌ Radianالتظ الظىسة الخملُت
23
وعُخم ششح ازا الخضء املخوظُه أيزش ٍ الخضء الخمصPlotting 2D
ا جضاء اغهىلت حمجت أنظش الظىسة الخملُت لخشي جذي قما ُت الىمح ع ػ ً ته ح
24
اموظ الطشَات لكه الذوا الىز زُت الؼكغُت
25
اىرٗاه اىشائريح: Hyperbolic functions
26
أنظش الظىسة الخملُت ل خلاه جن المخُخت امعخخذام الىمح ع :
27
28
29
اىرٗاه اىشائريح اىعنسيح: Inverse Hyperbolic Functions
30
الخؼاىَغ ااملىخغُش ) (zاٍ الىؼامدالث الىىػالت اللظاى ػ اً الاذوا َاىم الىمح ع جن خ
الضاسذَت الؼكغُت .
31
وَخم ٍ اشنمج الىمح ع الؼذَذ جن الؼى ُمث والخٍ حخم ٍ ا ػذاد الىشيبت جزه
خخُمس الؼذد اللاُاٍ اؾ
خخُمس الؼذد الخخُ ٍ اؾ
َخمد الضاوَت Phase Angle,وَخم اللظى ػ ُهم جن خ الؼ قت الخملُت :
جىاغ ػاذدَن جااشيبُن :وَاخم رلا ػاان ؽشَاه جىاغ ا ػااذاد اللاُاُات جاغ اؼؼااهم ,وجىاغ ا ػااذاد
الىشيبت جغ اؼؼهم أنظش الظىسة الخملُت جشماذة ح الؼى ُمث :
32
ٍالدظااح :حااخم جىُااغ الؼى ُاامث اللغااماُت (الخىااغ والطااشح وغُشااام) ػ ااً ا ػااذاد الىشيباات أَؼ ام ً
يىاام سأَماام ااٍ الىزاام الغااماه اعااخخذام ا جااش angleإلَخاامد صاوَاات الطااىس ػاان ؽشَااه يخمااات
) angle(zتُذ َخم وػغ سجض الؼذد الىشي ٍ zازا ا جشَ ,ىكممم أَؼام ً حموُاز رلا امعاخخذام
أجش آخش واى atan2أنظش الظىسة الخملُت
أر رقٌ ع ازر يَرااس تةّأ ٗاقاع تايِ رقَايِ اذيذيِ ,فاىَااذالب ىأ اىقاررج عياى اخرياار أدار
ٕاذيِ اىازقَيِ تاساردراً األٍازيِ Ceilالخرياار اىازقٌ األمثازٗ ,األٍاز Floorالخرياار اىازقٌ
األ غز أّظز اىن٘رج اىراىيح
33
34
اىَنف٘فاخMatrices
ٍا ٕي اىَنف٘فح:
اٍ جخىىػت جن البُمنمث والخٍ َخم وػؼهم ٍ طىسة طوىف وأػىذة ,وحأخز الشكه الخملٍ :
َخم دخم الىظوى ت اكخمات ػممطش الظف ا و ,رم الزمنٍ واكزا .ىز ً يخمات جظوى ت جزه
الخملُت :
ولكان قباه دخام الااُم الخملُات ,ػ اً الخىُاغ أن َؼ ام اأناى َاخم يخماات ػممطاش الظاف ا و ,وَاخم
الوظه ااُن أسقامم الظاف ا و جام اومطا ت ) Comma (,أو اؼىاه جغام ت Spaceااُن ا سقامم,
اؼذ دخم قُم الظف ا و َاخم ظاه ػممطاش الظاف ا و ػان ػممطاش الظاف الزامنٍ ( الازٌ
عُخم دخم قُىى) جم املؼغؾ ػ ً جوخمح Enterأو امعاخخذام الومطا ت الىماىؽات Semicolon
) ;) ,أنظش الظىسة الخملُت :
35
كىم نشي أعملُ جخؼذدة إلدخم قُم الىظوى مث والشكه واتذ ٍ جىُغ الطشق.
36
ميف ذرٌ عَييح جَع ٍنف٘فريِ:
حخم ػى ُت الخىاغ اخىاغ الؼمظاش ا و ل ظاف ا و جاز ً اٍ الىظاوى ت ا ولاً وجام َمامطش اٍ
الىظوى ت الزمنُت ,واملخملٍ نكىن قذ جىؼمم الؼمظش ا و ل ظف ا و .واملخملٍ نكىن قذ جىؼمم
1+7=8
جىغ الظف ا و الؼمظش الزمنٍ :نخىغ الؼمظش الزمنٍ ل ظاف ا و اٍ الىظاوى ت ا ولاً وجام
َممطش ٍ الىظوى ت الزمنُت ,واملخملٍ نكىن قذ جىؼمم
2+8=10
ونغخىش اكزا تخً حىمم يمجه الىظوى ت ,وَىكن ح خُض الؼى ُت ٍ الظىسة الخملُت :
37
طرح المصفوفات :
شرط طرح المصفوفات هو نفس شرط الجمع ,حٌث ٌشترط أن تكون المصفوفات التً ٌتم
حٌث mهً عدد الصفوف وحٌث nخً عدد جمعها أو طرحها لها نفس القوة
األعمدة أنظر الصورة التالٌة
38
لنقم اآلن بعمل نفس المثال على برنامج الماتالب أنظر الصورة التالٌة :
39
ضرب المصفوفات :
ً
شرط ضرب أي مصفوفتٌن هو أن ٌكون عدد أعمدة المصفوفة األولى n1مساوٌا لعدد
الصفوف فً المصفوفة الثانٌة m2أنظر الصورة التالٌة :
: لنقوم اآلن بإدخال نفس المثال على الماتالب أنظر الصورة التالٌة
40
قسمة المصفوفات :
قد ٌستغرب البعض من وجود كلمة القسمة للمصفوفات ,ولكن الحقٌقة أنها موجودة ومستخدمة بكثٌرة ولكننا ال ننتبه
لوجودها ,فبهذه القسمة نقوم بحل المعادالت والتً سٌتم شرحها الحقا ً بإذن هللا وقبل أن أشرح لكم كٌفٌة عمل القسمة,
البد من شرح كٌفٌة حل المعادالت كثٌرة الحدود لنفترض أن لدٌنا معادلتان كاآلتً
41
أما الطرٌقة الثانٌة هً قسمة المصفوفات لنعود إلى الصورة التالٌة مرة أخرى
وبالتالً من أجل الحصول على ٌ Xجب قسمة Aعلى B,كما فً الصورة التالٌة
42
وهذا ما ٌسمى قسمة المصفوفات ,ولكن ٌشترط عند إٌجاد invأن تكون المصفوفة مربعة ( أي
عدد الصفوف ٌساوي عدد األعمدة( وبالتالً ٌمكن إٌجاد قٌمة X & Yعن طرٌق وضع
المعادلة فً الصورة التالٌة ,مع األخذ فً االعتبار أن تتوفر شرط عملٌة الضرب بٌن
المصفوفتٌن
43
عمودي : وهذه صورة لمتجه
أما المصفوفة فهً التً ٌزٌد عدد صفوفها وأعمدتها عن صف واحد أو عمود واحد
44
ٌمكن عمل نفس العملٌة على متجه عمودي
إضافة عنصر:
لنقوم بوضع متجه عمودي فً الماتالب ,كما فً الصورة التالٌة :
كما هو واضح ,أن عدد العناصر الموجودة فً هذا المتجه هو ,11وللتأكد قم بعمل األمر
lengthفً نافذة األوامر للماتالب ,أنظر الصورة التالٌة :
45
لنقل أننا نرٌد إضافة الرقم 121فً الخانة الحادٌة عشرة ,أي الخانة التالٌة للخانة العاشرة,
أنظر الصورة التالٌة :
46
مالحظة :فً المثال السابق تمت إضافة الرقم 021إلى الخانة ,00فماذا إذا قمنا بإضافة رقم جدٌد ولكن فً الخانة
رقم ,01فماذا ستكون قٌمة الخانة 02التً لم ٌتم إضافة أي عنصر لها ,أنظر الصورة التالٌة
47
إضافة أكثر من عنصر متتالً :
لنفترض أننا نرٌد إضافة مجموعة من العناصر المتتالٌة فً الخانات 11و 12و 13وٌمكن
بدالً من إدخال كل رقم على حدى,كما فً الصورة التالٌة :
48
ولكن قد ٌبدوا ذلك مستنفذاً للوقت ,إذا تم إدخال 111رقم متتالً أو 1000رقم ,فما العمل؟
هنالك طرٌقة فً الماتالب تستخدم إذا أردت أن تضٌف مجموعة من األرقام المتتالٌة فمثالً
عندما نرٌد أن نذكر مجموعة من األرقام المتتالٌة من 1إلى 11نكتب التالً 1:10وعندما
نرٌد كتابة مجموعة من األرقام المتتالٌة من 10إلى 1211نكتب 10:1200وبالتالً إذا
أردنا كتابة مجموعة من األرقام المتتالٌة من 11إلى 13كما فً مثالنا نكتب 11:13وبالتالً
تكون الكتابة فً الماتالب كما فً الصورة التالٌة
49
استبدال عنصر :
عملٌة إستبدال عنصر تتطلب عدة شروط :
- 1أن ٌكون العنصر موجوداً بالفعل
- 2أن تحدد مكان هذا العنصر
ً
ففً المثال التالً أردنا أن تستبدل العنصر الثالث بدال من الرقم 3إلى الرقم 15كل ما علٌنا
فعله هو كتابة التالً A(3)=15حٌث Aهً المتجه الذي ٌحتوى العنصر الذي ترٌد تغٌٌره
50
استبدال مجموعة عناصر متتالٌة :
كما شرحنا كٌفٌة إضافة مجموعة عناصر متتالٌة ,سنقوم باستبدال مجموعة عناصر متتالٌة كما
فً الصورة التالٌة :
51
حذف مجموعة عناصر متتالٌة :
لحذف مجموعة عناصر متتالٌة ,أنظر الصورة التالٌة :
52
نداء عنصر :
نداء عنصر المقصود به هو الحصول على قٌمة العنصر فً أي مكان من المتجه وٌمكن ذلك
من خالل كتابة التالً :
53
نداء أكثر من عنصر :
للحصول على قٌم مجموعة عناصر محددة من متجه ,قم بعمل اآلتً على نافذة األوامر
Command Window
54
إٌجاد العنصر األكبر فً المتجه :
إلٌجاد العنصر األكبر فً متجهٌ ,تم استخدام األمر max,حٌث ٌمكن استخدامه فً الماتالب
بالشكل التالً :
55
إٌجاد العنصر األصغر فً المتجه :
إلٌجاد العنصر األصغر فً المتجهٌ ,جب استخدام األمر minوهً اختصار لدى الماتالب
وهً اختصار لكلمة minimumأي األقل وإلٌجاد العدد األصغر داخل المتجه فً الماتالب قم
بعمل اآلتً :
56
العملٌات على المصفوفات :
أما إذا أردنا أن نعرف عدد الصفوف فقط نقوم بعمل اآلتً
أما إذا أردنا أن نعرف عدد األعمدة فقط نقوم بكتابة التالً :
57
إضافة عنصر إلى المصفوفة :
ً ً
عملٌة إضافة عنصر أو عدة عناصر هً مدن العملٌدات الهامدة جددا داخدل المداتالب ,ودا مدا نقدوم
باستخدامها فً الكثٌر من البرامج المتقدمة كما سٌتضح فٌما بعد ,ولتوضدٌح ذلدك األمدر ٌجدب أن
نقوم بإعطاء مثال حتى تصل مرحلة الفهم التام لها لنقوم أوالً بتعرٌف مصفوفة فً الماتالب
لنفترض أننا نرٌد أن نقوم بوضع رقم 42فً الصف الثانً والعمود الخامس ,نقوم بكتابدة التدالً
فً الماتالب
كما تالحظ فإن الصف األول والصف الثالث للعمود الخدامس ,لدم ٌدتم وضدع قدٌم بهمدا ,لدذلك قدام
الماتالب بإفتراضهما صدفراً .فمداذا إذا أردندا إضدافة عددة عناصدر فدً المصدفوفة؟ ٌمكدن إٌضدا
ذلدك بإسدتخدام المثدال التدالً لنقدوم أنندا نرٌدد إضدافة األعدداد 31و 54و 13و 11فدً الصدف
الرابددع و العمددود األول الثددانً والثالددث و الرابددع علددى التددوالًٌ ,مكددن ذلددك مددن خددالل المدداتالب
بالشكل التالً
58
استبدال عنصر:
ً ً
قدد تكددون هددذه العملٌددة نددادرا مددا ٌددتم اسدتخدامها ,ولكنهددا هامددة جدددا ,حٌددث تددوفر إمكانٌددة اسددتبدال
عنصر أو عدة عناصر داخل المصفوفة ,ولتوضٌح هذه الخاصدٌة ,سدنقوم بتعرٌدف مصدفوفة كمدا
ذكرنا مسبقا ً
ولنقوم باستبدال العنصر فً الصف الثالث والعمود األول إلى الرقم صفر
وإذا أردنا استبدال عدة عناصرٌ ,مكن ذلدك بعمدل مثدال بسدٌط ,لنقدل أنندا نرٌدد أن نسدتبدل الصدف
األول والثانً والعمودٌن من األول إلى الثالث بقٌمة صفر
59
حذف أكثر من عنصر :
الٌقوم الماتالب بعملٌة حذف لعنصر واحد فقط فً مصفوفة ,حٌث أنده مدن غٌدر المعقدول حدذف
عنصددر مددن داخددل المصددفوفة ,وبقٌددة الصددف والعمددود بهدم قددٌم ,ولكددن إذا أردت أن تقددوم بحددذف
صف كامل أو عمود كامل فٌمكن ذلك بعمل التالً نقوم أوالً بعمل مصفوفة للعمل علٌها
60
لنقل اننا نرٌد العنصر فً الصف األول والعمود الثالث
ولنداء أكثر من عنصر ,نقوم مثالً بنداء الصف الثانً ومن العمود الثانً إلى الرابع
هذا فً حالة أننا نعرف حجم المصفوفة ,ولكن ماذا إذا لم نكن نعدرف حجمهدا ,ونرٌدد أن نحصدل
على العنصر األخٌر مثالً من الصف الثانً
61
إٌجاد العنصر األكبر :
ٌقوم المداتالب بإٌجداد العنصدر األكبدر عدن طرٌدق العمدل علدى المصدفوفة بشدكل مختلدف ,فكٌدف
ٌبحث عدن العنصدر األكبدر فدً المصدفوفةٌ ,قدوم المداتالب بالبحدث عدن العنصدر األكبدر فدً كدل
عمود فً المصفوفة ,وبعدما ٌقوم بعمدل ذلدكٌ ,قدوم بعمدل متجده بده الدرقم األكبدر مدن كدل عمدود,
أنظر المثال التالً للتوضٌح لدٌنا اآلن مصفوفة تم إنشا ها على الماتالب
كما تالحظ فلقد قام الماتالب باختٌار العنصر األكبر من كل عمدود ,والختٌدار الدرقم األكبدر بٌدنهم
ٌجب كتابة نفس األمر للناتج الخارج ,وبالتالً نحصل على الرقم األكبر فً المصفوفة ككل
62
إٌجاد مجموع العناصر :
إلٌجاد المجموع كما تعلمنا نقوم باستخدام األمر sumولكن عملٌدة الجمدع ٌقدوم المداتالب بإٌجداد
جمع كل عمود على حدا وتوضع فً صورة متجه ,كما فً المثال التالً
63
إٌجاد حاصل ضرب العناصر :
ٌمكن ضرب عناصر المصفوفة ,ولكن فً المداتالب عملٌدة الضدرب تكدون لكدل عمدود علدى حددا
وٌددتم وضددع الندداتج فددً متجدده ,وإذا تددم اسددتخدام األمددر مددرة أخددرى ٌددتم ضددرب عناصددر المتجدده
,لٌندددددددتج حاصدددددددل الضدددددددرب المصدددددددفوفة جمٌعهدددددددا ,أنظدددددددر المثدددددددال التدددددددالً جمٌعهدددددددا
64
ٌمكنندا اآلن عمدل العدٌدد مددن العملٌدات علدى قطددر المصدفوفة ,فمدثالً نرٌددد الحصدول علدى عملٌددة
الجمع لعناصر المصفوفة
65
المصفوفة السحرٌة :
حقا ً كلمدة قدد ٌسدتغربها الدبعض ,ولكنهدا حقٌقدة فحقدا إنهدا سدحرٌة ,حٌدث أن المداتالب لدٌده القددرة
ً
علددى إنتدداج مصددفوفة مربعددة ٌقددوم المدداتالب باختٌددار أرقامهددا بشددكل عشددوا ً ,كددل مددا علٌددك إال
استخدام األمر magicوتحدٌد Nحٌدث أنهدا تمثدل عددد الصدفوف المسداوي لعددد األعمددة ,هدذه
المصفوفة مهمة جدداً وخصوصدا ً فدً عملٌدات اختبدار األنظمدة ,كمدا سدنتحدث الحقدا ً بدإذن ف فدً
الشبكات العصبٌة .ولنأخذ مثاالً مبسطا ً
66
M-File :
هً وسٌلة إلدخال األوامر ولكن لٌس من خالل نافذة األوامر ,ولكن ماذا قد ٌختلف فً هذه
الوسٌلة الجدٌدة فً إدخال األوامر؟
- 1فً عملٌة إدخال األوامر التً كنا نستخدمها ,إذا أردنا تعدٌل عنصر أو أكثر كان ٌجب
إعادة إدخال األمر من جدٌد.
-2إذا وجد خطأ ,فٌجب كتابة األمر من جدٌد
- 3إذا كتبنا برنامج كبٌر ,وأردنا إعادة العملٌة مرة أخرى ٌجب إدخال جمٌع األوامر من
جدٌد وبنفس الترتٌب.
- 4إذا حدث خطأ فً ترتٌب األوامر لهذا البرنامج الكبٌر ستقوم بإعادة اإلدخال األوامر من
البداٌة مرة أخرى.
ٌ - 5صعب عمل عملٌة تصحٌح لألخطاءDebugging
وهذا بالطبع ٌستغرق وقتا ً كبٌراً هذا باإلضافة إلى الملل الذي ٌحدث للمستخدم وطبعا ً حالً لهذه
ال أوالً بدون المشكلة ,تم عمل بما ٌسمى M-Fileوالتً تعطً القدرة على كتابة البرنامج كام ً
تشغٌل ,وبعد االنتهاء منه ٌتم تشغٌله ,هذه الخاصٌة تعطً القدرة على تعدٌل القٌّم دون الحاجة
إلى كتابتها مرة أخرى ,أو إعادة إدخال األوامر التً تعتمد على هذا األمر .فكٌف ٌتم تشغٌل
تلك الخاصٌة؟ اتبع الصورة التالٌة
67
نافذة: M-File
سنقوم اآلن بالتعرف على نافذة M-File,أنظر الصورة التالٌة :
68
ولكن عند الضغط على زر التشغٌل ,سٌطالبك الماتالب بحفظ البرنامج ,ولكن ٌشترط اآلتً عند
حفظ البرنامج
- 1أن ال ٌبدأ بأرقام
- 2أن ال ٌكون أمراً معرفا ً فً الماتالب
- 3أن ال ٌحتوي االسم على مسافات فاصلة
- 4أن ال تحتوي على رموز خاصة مثل* + , - , & ,
ٌجب مراعاة تلك الشروط و إال لن ٌقوم الماتالب بتنفٌذ البرنامج فالنقم بتنفٌذ المثال المكتوب
اآلن فً النافذة السابقة
ٌ - 1تم الضغط على زر التشغٌل كما هو واضح فً الصورة التالٌة
69
- 2سٌطالبنا الماتالب بحفظ البرنامج أوالً ,ولنسمٌهtraining1
70
Command Window and Workspace ستظهر القٌم فً كالً من- 3
71
- 4لنعود إلى M-Fileونقوم بتغٌٌر بعض القٌم للمصفوفة ,كما فً الشكل التالً
72
- 5سنقوم اآلن بتشغٌل البرنامج ,وسٌقوم الماتالب اآلن بالحفظ تلقا ٌا ً دون الحاجة إلعادة
التسمٌة ,ثم شاهد نافذة األوامرCommand Window
73
وكما تالحظ فإنه فً كل عملٌة تحددٌث للبرندامج سدتظل قدٌم البرندامج القددٌم موجدودة ,فحدالً لهدذه
المشكلةٌ ,تم وضع األمدر CLCفدً أول كدل برندامج ,وهدذا ٌكدون مبددأ فدً جمٌدع البدرامج التدً
نقوم بعملها البد من أن تبدأ بهذا األمر ,ودعونا نقوم بمثال ٌوضح لنا ذلك
74
سنقوم اآلن بتعدٌل المثال ,وحتى نتأكدد أن أمدر ٌ CLCعمدل ,سدتختفً القدٌم مدن Command
Windowوتظهر القٌم الجدٌدة
75
وبهذا نتأكدد مدن أن األمدر ٌ CLCعمدل بكفداءة ولكدن دعوندا نشداهد نافدذة Workspaceوالتدً
تحتوى على قٌمA,B,C
76
لنقم بتعدٌل بسٌط فً البرنامج عن طرٌق تغٌٌر الرموز فقط من A,B,Cإلدى D,E,Fومشداهدة
النافذة Workspac
ولتالفً هذه المشكلةٌ ,جب وضع أمر Clearبعد األمر clcبحٌدث ٌقدوم بمسدح أي قٌمدة سدابقة
من أي برنامج آخر فً Workspace ,وٌجب تثبٌت هذا األمر أٌضا ً فً جمٌدع البدرامج والتدً
سٌتم عملها الحقدا ً بدإذن ف .وسدنقوم اآلن بتنفٌدذ نفدس البرندامج ولكدن بعدد وضدع األمدر clear,
وستالحظ الفرق الشاسع فً الماتالب اآلن
77
بعض األوامر الهامة :
قبل اإلنتقال إلى الرسم plottingالبد من أخذ بعض األوامر الهامدة ,والتدً سدٌتم تدداولها بشدكل
مستمر بإذن ف
linspace
هددذا األمددر كثٌددر االسددتخدام ,والددذي ٌسددتخدم فددً عملٌددة إنتدداج متجدده ,عددن طرٌددق تحدٌددد الددرقم
األصغر والرقم األكبر ,وعدد النقط المرغوبة بٌن هذٌن الرقمٌن وٌأخذ الصورة التالٌة
فالمثال التالً ٌوضح كٌفٌة استخدام 11نقاط من بٌن الرقمٌن 5و 15
78
وهذا ما ٌسمى النظام العشوا ً للماتالبRandomization System in Matlab
والمٌزة فً هذا النظام هو أن المتجه نظام عشوا ً متزاٌد
randint
هددذا األمددر مددن ضددمن األوامددر والتددً تنشددأ نظددام عشددوا ً لألرقددم ,ولكددن لددٌس نظددام نظددام عدددد
صددحٌح ولددٌس علددى هٌ ددة كسددور مثددل األمددر السددابق ,كمددا أن نظددام األرقددام بدده لددٌس تزاٌدددٌا ً أو
تناقصٌا ً بل عشوا ٌا ً وٌأخذ الصورة التالٌة
79
وهذا مثال بسٌط باستخدام هذا األمر على الماتالب
Input
ً
هذا األمر هام جدا فً الماتالب ,حٌث ٌقوم المستخدم من خدالل اسدتخدامه ٌجعدل المداتالب ٌسدأله
عن متجه أو مصفوفة ,أو حتى حروف وأسدماء وذلدك تبعدا ً لمدا ٌقدوم المسدتخدم بتعرٌفده فمدثالً إذا
أردنا الماتالب ٌطالبك بإدخال سنك ,سنقوم بعمل التالً
80
وإذا أردنا أن نعرف للماتالب بأن ما سٌتم إدخاله هو اسم ولٌس رقمٌ ,دتم كتابدة البرندامج بالشدكل
التالً :
81
ما الفرق بٌن String and Character؟ :
stringهدو حدرف أو كلمدة فدً المداتالب characterهدو عبدارة عدن رقدم أو مجموعدة مدن
األرقام وهنالك أمر ٌقوم بتحوٌل string to Characterوالعكس كذلك وهما num2str
, str2numولكن فٌما ٌفٌددوا هدذه األوامدر ,سدنقوم بمثدال بسدٌط حتدى تفهدم المقصدود مدن هدذه
األمددور ,سددنقوم باسددتخدام األمددر inputفددً وضددعٌة stringوسددنقوم بإدخددال أرقددام ,سددتبدأ
تستغرب اآلن ,فهل الماتالب حتى بعد إدخالً الرقم سٌتعرف علٌهدا كأنهدا أرقدام أم أي شدر غٌدر
ذلك ,شاهد الصورة التالٌة
82
سدنقوم اآلن باسدتخدام str2numلتحوٌدل stringإلدى characterأو رقدم ,شداهد الصدورة
التالٌة
83
ماذا بخصوص األمدر الثدانًٌ : num2strسدتخدم هدذا األمدر فدً تحوٌدل األرقدام إلدى string
كتعرٌف لدى الماتالب ,ولكنه ال ٌغٌر من شكله ,فالمثال التالً طلب منا إدخال االسدم والسدن ,ثدم
سنضع االسم والسدن فدً متجده ,ولكدن ٌجدب أن نراعدً كمدا ذكرندا مسدبقا ً أن المتجده إمدا ٌحتدوي
على أرقام أو stringفقط ولٌس كالهما
84
85
Plotting
الرسم ثنائً األبعاد : D Plotting2المقصود بالرسم ثنا ً األبعاد هو أن تكون العالقة التً
تحكم عملٌة الرسم تكون بٌن متغٌرٌن فقط أحدهم ٌسمى independentواآلخر ٌسمى
dependentفما المقصود بـــ independent Variableأي المتغٌر المستقل أي أن قٌمه
ال تحكمها عالقة بٌنما dependent Variableأي المتغٌر المُعتمد حٌث ٌعتمد قٌمه على قٌم
المتغٌر المستقل اآلن وبعد شر هذٌن العنصرٌن الهامٌن ,سنقوم بشر األمر plotحٌث ٌأخذ
الصورة التالٌة
وتالحدظ أنندا قدد اخترندا 11نقداط فقدط لرسدم Sine Wave ,وهدذا عددد قلٌدل لرسدم Sine
Waveوتالحظ ظهور الرسم بالشكل التالً
86
وحالً لهذه المشكلة ,البد من زٌادة عدد النقاط داخل المتجه ,كما فً الشكل التالً
87
وستالحظ أن الرسم قد تحسن كثٌراً
88
إضافة خصائص إلى الرسومات داخل الماتالب :
فً بعض األحٌان ٌكون من الضروري جداً تغٌٌر بعض الخواص لدى الرسومات التً نحصل
علٌها مثل تغٌٌر األلوان ,وتغٌٌر الرسمة من خطوط متصلة إلى نجوم ونقاك وغٌرها ,وهذه هً
مجموعة الخصا ص التً تتم من خالل الماتالب
89
فكٌف ٌتم وضع تلك الخصا ص داخل الماتالب ,تكون هذه الخصا ص متضمنة فً األمدر plot
حٌث تأخذ الصورة التالٌة
اعتمادا على المثال السابق أخذه سنقوم بتعدٌل بعض الخصائص سنقوم مثالً بتغٌٌر لوون الخوط
إلى األحمر
90
وبالتالً نحصل على الصورة التالٌة
ولنقم اآلن بإضافة خاصٌة جدٌدة بأن ٌكون الخط لٌس خطا ً متصل وإنما عبارة عن نجوم
91
وبالتالً نحصل على الشكل التالً
92
وإذا أردنا أن نحصل على نجوم حمراء ( أي دمج الخاصٌتٌن معا ً(
93
وبالتالً نحصل على الشكل التالً :
94
عملٌة وضع شبكة على الرسم :
ٌقدوم المداتالب بوضدع شدبكة علدى الرسدم ,بحٌدث ٌكدون مدن السدهل تحدٌدد القدٌم مدن علدى الرسددم
حٌث تأخذ األمر gridبعد األمرplot
95
وسٌكون شكل الرسم كالتالً :
96
اآلن سنقوم بعمل معادلة أخر باإلضافة إلى المعادلة المذكورة بحٌث ٌكدون لددٌنا رسدمتان ,بحٌدث
تأخذ الشكل التالً :
97
ولكددن عنددد تشددغٌل البرنددامج ,سددٌقوم المدداتالب بإظهددار الرسددم األخٌددر فقددط ,فكٌددف ٌددتم إظهددار
الرسمٌنٌ ,تم ذلك باستخدام األمر Hold onقبل األمر plotلكً ٌتم وضدع الرسدمٌن فدً نافدذة
واحدة ,وفً نهاٌة األمر ٌتم وضع األمر hold off,أنظر الصورة التالٌة :
98
وبالتالً ٌكون الرسمان كالتالً
99
علمٌة وضع الرسومات فً نوافذ منفصلة :
سددنقوم اآلن بدددالً مددن وضددع الرسددومات فددً نفددس النافددذة سددنقوم بوضددعها فددً نوافددذ مختلفددة
وعلى نحتاج إلى األمر figureوالذي ٌقوم بفتح نافذة فارغة إذا تم وضعه منفصدالً ,جدرب ذلدك
فدً نافددذة األوامدر سددتالحظ أن المداتالب قددام بإظهددار نافدذة رمادٌددة اللددون فارغدة شدداهد الصددورة
التالٌة :
100
حٌث وجود تلك النافذة ٌعنً انه سٌتم تنفٌذ أمر الرسم plotالذي بعد أمدر figureعلمدا ً أنده بعدد
كدل أمدر ٌ figureدتم وضدع الخصدا ص التدً تخدتص بهدذه الرسدمة مثدل أمدر gridالدذي سدبق
شرحه .وهذا مثال بسٌط على ذلك
101
وستحصل على نافذتٌن بهما كلتا الرسمتٌن
102
103
واآلن قم بتشغٌل البرنامج مرة أخرى ,ستالحظ أن عدد النوافذ قد زاد نافدذة واحددة ,فكٌدف حددث
هذا؟ ٌقوم الماتالب برسم أول دالة علدى النافدذة األخٌدرة التدً تدم رسدم الدالدة الثانٌدة بهدا ,ثدم ٌقدوم
برسم الدالة الثانٌة فً نافذة جدٌددة بسدبب وجدود األمدر figureولحدل هدذه المشدكلة قدم باسدتخدام
األمدر close allبعدد األمدر clearبحٌدث ٌدتم إغدالق أي نوافدذ كاندت مفتوحدة قبدل ذلدك عندد
تشغٌل البرنامج كل مرة وبالتالً سٌكون هنالك ثالثة أوامر البدد مدن اسدتخدامها فدً كدل مدرة ٌدتم
عمل أي برنامج وهم clc , clear , close allوهذا هو المثال الذي تم عملده مندذ قلٌدل بعدد
التعدٌل
104
سنأخذ مثاالً ,لنقول أن لدٌنا معادالت ٌجب رسمهما ,وسدنقوم بوضدعهم بجدوار بعضدٌهما كمدا فدً
الشكل التالً
105
وبالتدالً الرسدمتان سدٌكون وكأنهمدا متجده عددد صدفوفها 1وعددد األعمددة , 2والرسدمة األولدى
تأخدذ الخاندة األولدى ,والرسدمة الثانٌدة سدتأخذ الخاندة الثانٌدة هدذا مدا ٌجدب تحدٌدده بالتفصدٌل عندد
استخدام األمر subplotثم نستخدم الصورة العامة ألمر subplotوالتً تكون كالتالً
106
ولرسم الشكل الثانً البد من كتابة األمر فً الصورة التالٌة :
107
: وستكون الرسمة النها ٌة كما فً الشكل التالً
108
مالحظدة إذا كاندت الرسددمة تشدغل أكثدر مددن خاندة ٌددتم اسدتخدام األقدواس المربعددة ,وتأخدذ الشددكل
التدالً ]أرقدام جمٌدع الخاندات التدً تشدغلها الرسدمة[ وسدنقوم بإعطداء مثدال نرٌدد أن ٌكدون الشدكل
الخارج على شكل الصورة التالٌة
109
فدإن عددد الصدفوف 3وعددد األعمددة 3وأرقدام الخاندات التدً تشدغلها الرسدمة األولدى 1و 2و3
و 4و 5و 6علددى التددوالً ,وأرقددام الخانددات التددً تشددغل الرسددمة الثانٌددة 7وأرقددام الخانددات التددً
تشغل الرسمة الثالثة هً 9والبرنامج ٌكون بالشكل التالً
110
وستكون النتٌجة كالتالً
111
تسمٌة المحاور -وضع عنوان فً أعلى الرسمة :
سدنقوم اآلن بتنفٌدذ الجدزء قبدل األخٌدر مدن الددورة وهدو تسدمٌة المحداور ,فمدثالً إذا أردندا أن نقدوم
بتسمٌة محور السٌنات X-Axisنقوم باستخدام األمر xlabelوإذا أردنا أن نقدوم بتسدمٌة محدور
الصادات نقوم باستخدام األمر ylabelحٌث ٌأخذ كال األمرٌن صورة واحدة وهً كالتالً :
نفس الشر ٌتم تطبٌقه على محور الصادات ylabelولنقوم اآلن بعمل مثال تطبٌقً
112
وبالتالً نحصل على الصورة التالٌة
113
وضع عنوان فً أعلى الرسمة
ٌمكن وضع عنوان أعلى كل رسدمة وذلدك مدن خدالل األمدر titleحٌدث ٌكدون هدذا األمدر بالشدكل
التالً
114
وبالتالً نحصل على الصورة التالٌة
115
وضع نص على نقطة أو أكثر داخل الرسم :
ٌمكن إضافة نص على نقطة أو أكثدر علدى الرسدم ,وذلدك باسدتخدام األمدر textوٌأخدذ الصدورة
التالٌة :
وسنأخذ مثاالً بسٌطا ً فً كٌفٌة إٌجاد الدرقم األكبدر ,ثدم وضدع دا درة حمدراء حدول النقطدة العظمدى
ووضع كلمدة maximum pointولكدن دعوندا نقدوم بشدر األمدر الهدام findهدذا األمدر ٌقدوم
بإٌجاد مكان العنصر داخل المتجه بمجرد تحدٌد خصا ص هذا العنصدر ,فمدثالً سدنقوم بعمدل دالدة
وسنبحث على العنصر األكبر بٌنها كما فً البرنامج التالً :
116
وعند تشغٌل البرنامج ,نجد القٌم كالتالً :
وبالتالً إذا أردنا الحصول على قٌمة Xعند القٌمة العظمى للـــ Y,سنقوم بعمل التالً
117
وكمدا تالحدظ فدإن قٌمدة Xوالتدً تعطدً القٌمدة العظمدى Yتظهدر فدً workspace,أنظدر
الصورة التالٌة :
118
وبالتالً ستظهر الرسمة كالتالً :
119
األمر: legend
ٌستخدم هذا األمر فً وضع دلٌل على صفحة الرسم لٌبٌن ماذا ٌعنً كل لون علدى الرسدم ,فمدثالً
سدنقوم بوضدع األمدر legendفدً المثدال التدالً علمدا ً أن هدذا األمدر البدد مدن أن ٌأخدذ الصدورة
التالٌة :
120
وبالتالً ستجد الناتج كالتالً :
121
كما ترى فدإن األمدر ٌ legendعتمدد علدى عددد العالقدات المرسدومة داخدل الرسدم ,فمدثالً المثدال
الددذي سددبق أخددذه كددان ٌسددتخدم فددً رسددم عالقددة ثددم إٌجدداد النقطددة العظمددى أي أن عدددد العالقددات
المرسومة اثنتان ,وبالتالً تتم برمجته بالشكل التالً :
122
وٌجب مراعاة أن ٌتم استخدام األمر legendبعد األمر plotولٌس العكس
123
وستظهر لك النافذة التالٌة :
124
أما إذا أردنا إدخدال عددد ال نهدا ً مدن النقداط ٌمكدن ذلدك بعددم ذكدر عددد نقداط اإلدخدال ,كمدا فدً
الشكل التالً :
وبعد اإلنهاء من إدخال النقاط كل ما علٌك هو الضغط على مفتا Enterفً لوحة المفاتٌح.
سدنقوم بفدتح نافددذة للرسدم بهددا شدبكة ,وأقدل قٌمددة لمحدور السددٌنات هددً صدفر وأكبددر قٌمدة لمحددور
السٌنات هدً 11وكدذلك بالنسدبة لمحدور الصدادات ,ثدم إدخدال عددد كبٌدر مدن النقداط علدى الرسدم
بإستخدام األمر ginput,وهذه النقاط ٌتم طباعتها على شكل دوا ر حمراء .وٌدتم كتابدة األوامدر
بالشكل التالً
125
وستظهر لك نافذة إلدخال النقاط ,وبعد إتمام عملٌة اإلدخال اضغط على Enterإلتمام اإلدخدال
وستظهر لك النافذة التالٌة :
126
الرسم ثالثً األبعاد: Three Dimensional Plotting
كما تعلمنا أن الرسم ثالثً األبعاد ٌعتمدد علدى ثالثدة محداور لرسدمها ,محدور X , Y & Z ,وأن
كالً من ٌ X & Yمثالن المستوى األفقً ,وأن المحور ٌ Zمثل االرتفاع ,ولكن تلك القدٌم هدً قدٌم
النقدداط الموجددودة المحدداور ,ولكددن حتددى ٌددتم رسددم أي نقطددة فددً المسددتوى األفقددً ٌجددب أن نقددوم
تعرٌف ذلدك للمداتالب وذلدك باسدتخدام األمدر meshgridحٌدث ٌقدوم المداتالب بإنتداج مصدفوفة
ٌتم تكرار قٌم محور السٌنات X-Axisبنفس طول محور الصدادات Y-Axis,كمدا ٌقدوم بتكدرار
قددٌم محددور الصددادات Y-Axisبددنفس طددول قددٌم السددٌنات X-Axis,وبهددذا تكددون المصددفوفة
المتكونة هً المستوى األفقً كما هو واضح بالرسم التالً.
وبعد إستخدام األمر ٌ meshgridتم إستخدام األمر meshوالذي ٌستخدم كبددٌل األمدر plot
ولكن فً الرسم ثالثً األبعاد مثال تطبٌقً نقدوم فدً هدذا المثدال بتعرٌدف قدٌم محدور السدٌناتX-
Axisوسدنقوم بوضدع المعادلدة التدً تصدف محدور الصدادات وعالقتده بمحدور السدٌنات ,أخٌدراً
ولٌس آخراً نقوم بوضع العالقة التً تربط بٌن محور السٌنات والصادات.
127
وبالتالً تكون الرسمة الناتجة كالتالً :
128
كمدا تدرى فدإن الرسدمة الناتجدة عبدارة عدن شدبكة تعتمدد مجموعدة النقداط لكدالً مدن X & Yفدإذا
أكثرنا عدد نقاط Xوبالتالً تزداد قٌمة Yكذلك
129
أعتقد أنك تالحظ الفرق اآلن مالحظة كلما زادت عدد النقاط كلمدا زاد الوقدت المسدتغرق إلظهدار
النتا ج فً الماتالب .
ولرسدم موجدة جٌدب الزاوٌدة البدد مدن تعرٌدف قدٌم tوالتعدوٌض فٌهدا ,ولكدن كمدا تدرون ٌصدعب
130
التعوٌض فً المعادلدة بسدبب وجودهدا بدٌن قوسدٌن ,وتلدك األقدواس هدً بمثابدة حداجز للتعدوٌض,
وهنا ٌجب أن نخترق ذلك الحاجز وذلدك بإسدتخدام األمدر eval,حٌدث ٌعمدل األمدر علدى البحدث
عن المعادلة بٌن األقواس ,ثم ٌبحث عن القٌم التً سوف ٌتم تعوٌضها فً تلدك المعادلدة ,وسدوف
ٌتم كتابة البرنامج كالتالً فً الماتالب
131
حل ثالثة معادالت :
ً
كما تعلمنا أن الماتالب له القدرة على إدخال حل المعادالت ,فمثال المعادلتان التالٌتٌن
132
وبالتالً نجد النتا ج كالتالً :
ولكدن هدذا ٌشدترط أن ٌدتم إدخدال المعدامالت coefficientsللمعدادلتٌن ,وهدذا بالتدالً ٌتطلدب
التمحدٌص والتددقٌق فدً كدل معادلدة ,فدإذا كثدرت المعدادالت ازداد الوقدت المسدتغرق فدً البحدث,
فتسهٌالً للمستخدم ٌجب عمل برنامج إلدخال المعادالت بشدكل كامدل ,فمدثالً سدنقوم بعمدل برندامج
لحل ثالثة معادالت
133
ولحل هذه المعادالت ٌجب وضعها فً الصورة التالٌة
ولذلك ٌجب التفكٌر كالتالً ,عندما ٌقوم المستخدم بإدخال المعادالت الثالثةٌ ,جب علدى المداتالب
أن ٌحددد قدٌم المعدامالت أوالً إلٌجداد حددل قدٌم المتغٌدرات ,وحدالً لهدذه المشدكلة سدنجعل المدداتالب
ٌبحث عن عالمة"=" لكل معادلة ,ثم سدنقوم بتعرٌدف الجدزء الدذي ٌحتدوى علدى المتغٌدرات لكدل
معادلددة ,ثددم سددنقوم بفددرض أن x=1 , y=0,z=0ومنهددا نحصددل علددى قددٌم معددامالت xفددً
المعدادالت الثالثدة ثدم سدنفرض أن x=0, y=1, z=0ومنهدا نحصدل علدى قدٌم معدامالت yفدً
المعدادالت الثالثدة ثدم سدنفرض أن x=0,y=0,z=1ومنهدا نحصدل علدى قدٌم معدامالت zفدً
المعادالت الثالثة وبالتالً نكون قد حصلنا على معامالت المعادالت الثالثة ,لم ٌتبقى سوى إٌجداد
قٌم معامالت Dوسوف ٌتم توضٌح ذلك عند كتابة البرنامج على الماتالب.
134
وسنقوم اآلن بوضع ثالثة معادالت كما فً الشكل التالً :
135
وبالتالً ستكون النتائج كالتالً :
وعلدى نفدس المندوال ٌمكدن حدل أي عددد مدن المعدادالت مهمدا كاندت كبٌدرة ,وسدنأخذ الحقدا ً كٌفٌدة
عمل نافذة إلدخال تلك المعادالت .
136
قد ٌعتقد البعض بأن هذا البرنامج سهالً تقرٌبداً ,ولكدن البرندامج ٌحتداج إلدى التفكٌدر قلدٌالً ,فددعونا
نفكر فً الطرٌقة التً قد ٌفكر بها أي شخص اآلن ,حٌث سٌقوم بكتابة البرنامج الدذي ٌبحدث عدن
النقاط التً بها Y=0ثم ٌقوم بإٌجاد القٌم التً بها تلك النقاط ,كما فً البرنامج التالً :
137
وستكون الرسمة الناتجة بالشكل التالً :
138
فمدا سدبب هدذه المشدكلة ,حقٌقدة سدببها مدا ٌسدمى بـدـ Digital Domain,فمدا هدو Digital
Domainمعنى ذلك أن أي معادلة ٌتم رسمها لٌست عبارة عن خط متصل وإنما مجموعدة مدن
النقاط ,تعتمد علدى عددد النقداط التدً تدم إختٌارهدا فدً لرسدم الدالدة ,ثدم التوصدٌل بدٌن تلدك النقداط,
فمدثالً إذا قمندا بعمدل برندامج لرسدم دالدة الجٌدب sine waveبعددد نقداط قلٌدل ,كمدا فدً الشدكل
التالً :
139
وبالتالً ستجد الدالة بهذا الشكل
كما ترى ,فإن الماتالب قام بتحدٌدد النقداط والتوصدٌل بٌنهدا ,وللتأكدد مدن ذلدك قدم بعمدل التدالً فدً
البرنامج
140
وهذا ما ٌسمى Digital Domainواآلن لنقم بزٌادة عدد النقاط فً نفس البرنامج
141
كمدا تدرى فدً الرسدمة الٌدزال هنالدك فراغدات بدٌن النقداط ,والتدً مدن الممكدن أن ال تتقداطع مدع
محور السٌنات كما حدث فً البرنامج الذي قمنا بعمله ,وهذا هو سبب عددم ظهدور دا درة حمدراء
حول منطقة التقاطع ,ودعونا نقوم بعمل البرنامج األول ولكن فً صورةDigital Domain
142
وستظهر الرسمة فً الصورة التالٌة :
143
واآلن دعونا نناقش حالً لهدذه المشدكلة ,عندد ضدرب نقطدة فدً النقطدة التدً بعددها سنحصدل علدى
رقم ,ولكن الفكرة أن الرقم قد ٌكون موجبدا ً فدً حالدة أن النقطتدان فدوق محدور السدٌنات ,بٌنمدا إذا
كانت إحددى الدنقط فدوق محدور السدٌنات واألخدرى تحدت محدور السدٌنات فدإن الدرقم النداتج ٌكدون
سالباً ,أما إذا كان كال النقطتٌن أسفل محور السٌنات فإن نداتج ضدرب النقطتدٌن ٌكدون موجبداً ,أي
أن إذا ظهر رقم سالب فهذا ٌعنً نقطة تقاطع ,ثم ٌتم وضع دا رة حمراء على تلدك النقطدة ,شداهد
الصورة التالٌة
144
كل ما علٌنا هو ضرب كل نقطدة فدً النقطدة التدً تلٌهدا ,وذلدك عدن طرٌدق تعرٌدف yثدم تعرٌدف
نفس الدالة ,ولكن متقدمة عنها برقم واحد ,ثم ضربهم معاً ,فمثالً إذا كانت قٌمة yكاآلتً :
ثم سنقوم بإضافة رقم لٌتم تحرٌك تلك القٌم ,وٌفضل أن ٌكون الرقم صفراً ,كما سٌتم حذف الدرقم
األخٌر حٌث أنها ستكون أطول بعدد واحد فقط من الدالة األصلٌة ممدا سدٌترتب علٌده خطدأ داخدل
الماتالب وبالتالً فإن الدالة الجدٌدة ستكون متأخرة برقم هً
145
وبالتالً ستالحظ الرسمة التالٌة :
146
وبالتالً تكون الرسمة قد أصبحت صحٌحة
وسنقوم بتنفٌذ مثال بسٌط على الماتالب برسم دالة الجٌب ثم تظلٌل تلك الدالة
147
وستظهر الرسمة كالتالً :
148
أمدا بخصدوص األمدر trapzفٌسدتخدم فدً إٌجداد المسداحة تحدت المنحندى ,حٌدث ٌأخدذ الصدورة
التالٌة :
وسنقوم بعمل برنامج بسٌط فً إٌجاد المساحة تحت منحنى دالة الجٌب
149
وبالتالً ستالحظ قٌمة المساحة من خالل نافذةWorkspace
اآلن نتوجدده إلددى البرنددامج الددذي نرٌددد تنفٌددذه ,سددنقوم بإدخددال المدددخالت inputsثددم سددنقوم
بالتعوٌض بها فً المخرجات outputsثم سنقوم باختٌار النقطتدان مدن علدى الرسدم ,ثدم سدنوجد
المساحة تحت المنحنى بٌن تلك النقطتٌن ,ثم سنقوم بتظلٌل المساحة بٌن النقطتٌن.
150
وتم إختٌار نقتطان عشوا ٌتان ,وظهرت الرسمة كالتالً :
151
وبهذا ٌكون التطبٌق الثالث قد تم بنجاح
152
ولكن سنقوم بشر أمرٌن وهما onesو zerosواللذان لهما القدرة التالٌدة ٌ onesسدتطٌع أن
ٌكدون مصدفوفة أو متجده جمٌدع عناصدره ٌ zeros 1سدتطٌع أن ٌ ّكدون مصدفوفة أو متجده جمٌدع
عناصره صفرالحظ الصورة التالٌة فً طرٌقة كتابة كال األمرٌن
153
أما اآلن سنتكلم عن أنواعCurve Fitting
هنالك أنواع عدٌدة منها
linear - 1
Quadratic -2
Sinusoidal - 3
exponential – 4
وسنتناول النوع األول والرابع ,أما اآلن سدنتناول الندوع األول : Linear Curve Fittingفدً
هذا النظام ٌتم إٌجاد خط مستقٌم بحٌث تكون المسافة العمودٌة بٌن كل نقطة والخدط المسدتقٌم أقدل
ما ٌمكنٌ ,مكن مشاهدة الصورة التالٌة
154
فكما هدو واضدح فدً المثدال كدل قٌمدة فدً محدور السدٌنات لهدا قٌمدة منداظرة فدً محدور الصدادات
وحٌدث انندا نسدتخدم طرٌقدة Linear Curve Fittingفدإن لكدل نقطدة علدى محدور الصدادات
عالقة خطٌة مع نقطة محددة على محور السٌنات ,وهذه العالقة تكتب فً الصورة التالٌة :
فإذا عدنا بالذاكرة للخلف عند حل المعادالت سنجد اننا كنا نقوم بكتابة المعادالت بالشكل التالً :
155
وبدالرجوع إلدى المعادلدة الخاصدة بـدـ Linear Curve Fittingنسدتطٌع كتابتهدا فدً الصدورة
التالٌة :
وبهذا نكون قد حصلنا على قٌمة كالً من K & Tوالتدً نسدتطٌع أن نقدوم بتعرٌدف مجموعدة قدٌم
للمتغٌر Xوبالتدالً نقدوم بالحصدول علدى قٌمدة Yومنهدا نقدوم برسدم العالقدة بدٌن X & Yوالتدً
تمثل خطا ً تبعا ً للمعادلة التالٌة :
واآلن لنفتدرض أن لددٌنا أكثدر مدن قٌمدة Xوبالتدالً سنحصدل علدى أكثدر مدن قٌمدة Yوحٌدث أن
العالقدة بدٌن X & Yخطٌدة كمدا ذكرندا مسدبقا ً فإنندا بالتدالً سدٌكون لددٌنا أكثدر مدن معادلدة ٌمكدن
كتابتها فً الصورة التالٌة
156
والتً ٌمكن وضعها فً الشكل التالً :
وسدنقوم فدً المداتالب بتحوٌدل متجده الصدف Row Vectorإلدى متجده عمدودي Column
Vectorثم إضافة متجة عمودي جمٌع قٌمه واحد بإستخدام األمر onesكما تعلمنا مسبقا ً
157
واآلن قد ٌظن البعض أنه حتى نحصل على قٌم ٌ K & Tجب أن تكون صورة الحل كاآلتً :
ولكن هذا صحٌح إذا كانت قٌمة Aمصفوفة مربعة ,فهل هً كذلك اآلن ؟ بالطبع ال ,فما العمل
إذا كانت المصفوفة لٌست مربعة ٌتم وضع عالمة القسمة مقلوبدة ) \ ( وال ٌدتم إسدتخدام األمدر
invأي أن صورة الحل الصحٌح تكون
158
وبالتالً فإن المعادلة الناتجة والتً مدن خاللهدا سنرسدم خطدا ً بحٌدث تكدون المسدافة العمودٌدة بٌنده
وبٌن النقاط أقل ما ٌمكن ,تكون فً الصورة التالٌة :
واآلن سنقوم بتعرٌف الماتالب عدة نقاط بحٌث نرسم ذلك الخط
159
وبالتالً نحصل على الرسم بالشكل التالً :
160
: Exponential Curve Fitting
سنأخذ اآلن التطبٌق األخٌر فدً هدذه الددورة وهدو Exponential Curve Fitting ,وٌمكدن
كتابة العالقة بٌن X & Yبالشكل التالً :
وإذا وجدت أكثر من نقطة ,فهذا ٌعنً وجود أكثر من معادلة والتً تكتب فً الصورة التالٌة :
161
واآلن سنقوم بوضع البرنامج على الماتالب
162
وبالتالً سٌظهر الناتج كالتالً :
163