سلسلة دروس الماتلاب [:: الدرس الأول ::]

نبدء على بركة الله مع أول درس من هذه الدروس بالتعريف بالماتلاب

حتى تكون عندنا فكرة عامة عن البرنامج وبعدها نبدء في شرح أهم دوال البرنامج

ما هو MATLAB :

إن اسم ( MATLAB ) هو اختصار للجملة التالية ( MATrix LABoratory ) أي ( مختبر المصفوفات ) و هو لغة برمجية عالية المستوى و الأداء ، تستخدم لإنجاز الحسابات التقنية . فهي تنجز الحسابات و تظهر النتائج على شكل رسومات أو منحنيات ، كما يمكننا كتابة برامج بها بمستويات مختلفة ( منخفضة المستوى و عالية المستوى ) و ذلك كله في بيئة سهلة الاستخدام.

يستخدم برنامج MATLAB في :

  • إنجاز الحسابات ( Math and Computation ) .

  • تطوير الخوارزميات ( Algorithm Development ) .

  • تحصيل المعطيات ( Data Acquisition ) ( وهو ما يسمى بـ { الاستيفاء الرياضي } ) .

  • النمذجة و المحاكاة و إعادة نمذجة النظام ( Modeling , Simulink , and Prototyping ).

  • تحليل المعطيات و معالجتها و إظهار النتائج على شكل رسومات ( Data Analysis , Exploration , and Visualization )

  • محاكاة للعلوم الهندسية و الفيزيائية و ذلك عن طريق الرسومات .

  • تطوير التطبيقات ( Application Development ) .[/color]

إن MATLAB هو نظام تفاعلي ، يتعامل مع المعطيات على أنها مصفوفات و لا داعي لتعريفها أو تحديد أبعادها ، و هذه الطريقة تسمح لنا بحل الكثير من المسائل و المشكلات التقنية و خصوصا تلك التي لها شكل مصفوفات و أشعة و أنساق ، كما يمكننا أن نكتب برنامج بلغة ( غير تفاعلية ) مثل لغة الـ ( C ) أو لغة الـ ( Fortran ) و في الإصدارات الجديدة من MATLAB أصبح بإمكاننا كتابة و استخدام مكتبات لغة الـ ( C ) و الـ ( C++ ) .

كما يتميز MATLAB بوجود برامج و أدوات خاصة لحل مشكلات و مسائل تقنية خاصة ، هذه البرامج و الأدوات الخاصة موجودة في مجموعة تدعى ( Toolbox ) ، إن الـ ( Toolbox ) هو عبارة عن توابع ودوال في MATLAB ( ملفات M_Files ) تستخدم بيئة MATLAB لحل مشاكل و مسائل تقنية خاصة

مثل :

  • Fuzzy Logic .
  • Neural Networks .
  • Signal Processing .
  • Control Systems .

و غيرها الكثير …

نظام MATLAB :

يتكون نظام MATLAB من خمس أقسام رئيسية :

Development Environment -1

و هي عبارة عن مجموعة من العناصر و الأدوات التي تساعدنا في استخدام ملفات و توابع ودوال MATLAB ، و معظم هذه العناصر و الأدوات هي من النوع ( GUI ) أي ( Graphical User Interface ) و هي عبارة عن واجهات تخاطب مع المستخدم ( واجهات تحتوي على أزرار و قوائم منسدلة وغيرها من العناصر الموجودة في لغات البرمجة المرئية ) .

أما العناصر التي يتكون منها Development Environment فهي :

MATLAB Desktop .

· Command Window .

· Command History .

· Editor The.

· Debugger The.

· Help Browser The.

· Workspace Browser The.

· Files Browser The.

· The Search Path Browser .

2- The MATLAB Mathematical Function Library :

و هي عبارة عن مجموعة كبيرة من التوابع و الدوال الرياضية و الخوارزميات ، تبدأ من الدوال و التوابع القادرة على إنجاز الحسابات الأساسية السهلة ( كالضرب و الطرح و الجمع ) و تكمل حتى نصل إلى الدوال و التوابع القادرة على إنجاز حسابات معقدة مثل ( إيجاد مقلوب مصفوفة من أي درجة كانت و إيجاد تابع بيسل و إنجاز تحويل فورييه السريع ).

3- The MATLAB Language :

و هي عبارة عن لغة عالية المستوى ، تتعامل مع المعطيات على أنها مصفوفات ، كما تحتوي على تعليمات التحكم بتدفق المعطيات ( مثل التعليمات الشرطية و تعليمات الحلقات و غيرها من التعليمات التي تتحكم بتدفق المعطيات ) ، و تحتوي هذه اللغة أيضا على توابع و دوال ، و بنى معطيات ، تعليمات من النوع ( Input/Output ) ، و تحتوي على ميزات الـ ( OOP ) ( Object_Oriented Programming ) .

تمكننا هذه اللغة أيضا من البرمجة بأسلوبين :

Programming in the small : و ذلك لإنشاء برامج صغيرة وسريعة في التنفيذ قادرة على إنجاز حسابات بسيطة .

Programming in the large : و ذلك لإنشاء برامج ضخمة و كبيرة قادرة على إنجاز حسابات معقدة في وقت قصير .

4- Graphics :

يحتوي MATLAB على طيف واسع من التوابع و الدوال التي تمكننا من إظهار المعطيات المخزنة في مصفوفة على شكل رسم ، تقسم هذه الدوال و التوابع إلى نوعين :

دوال و توابع عالية المستوى : هذه التوابع و الدوال قادرة على الرسم في المستوى ثنائي البعد ( X0Y ) و ثلاثي الأبعاد ( XYZ ) ، و قادرة أيضا على معالجة الصورة و غيرها من العمليات الرسومية المعقدة .

دوال و توابع منخفضة المستوى : هذه التوابع و الدوال مخصصة للتحكم الكامل بخصائص الرسومات و بناء واجهة التخاطب مع المستخدم ( GUI ) في تطبيقاتنا الخاصة .

The MATALB Application Program Interface ( API ) -5 :

هذه المكتبة تسمح لنا بكتابة برامج بلغة الـ ( C ) أو الـ ( Fortran ) في MATLAB ، تحتوي هذه المكتبة على تعليمات تستدعي برامج فرعية في MATLAB ، و تعليمات تمكننا من جعل MATLAB كنواة حسابية في برامجنا المكتوبة باللغات السابقة ، و تعليمات تمكننا من قراءة و كتابة ملفات من النوع ( MAT_Files ) و هي عبارة عن ملفات مخصصة للربط بين برنامج الـ MATLAB و اللغات الأخرى .

MATLAB Desktop :

يظهر MATLAB Desktop عندما نشغل برنامج MATLAB ، وهو مبني بواسطة الأداة ( GUI ) ، و يمكننا MATLAB Desktop من كتابة البرامج بلغة MATLAB و بناء تطبيقاتنا الخاصة ، و ذلك من خلال ( Command Window ) ، كما يمكننا من رؤية حالة و خصائص المتغيرات المستخدمة في برنامجنا من خلال ( Workspace ) ، كما يمكننا من رؤية التعليمات التي استخدمناها مؤخرا في برنامجنا و وقت و تاريخ بدء كتابة البرنامج و ذلك من خلال ( Command History ) ، كما يمكننا من رؤية الملفات المستخدمة في برنامجنا و تطبيقاتنا و ذلك من خلال ( Current Directory ) ، سيأتي الحديث لاحقا عن الـ MATLAB Desktop بالتفصيل ، و يوضح الشكل التالي الـ ( Default MATLAB Desktop ) ، و يمكننا أن نغير في ترتيبه و في شكله كما نريد :

تشغيل MATLAB :

يتم تشغيل برنامج MATLAB بالضغط مرتين على الأيقونة الموجودة على سطح المكتب في نظام Windows .

كما يمكننا أن نضبط خصائص تشغيل برنامج MATLAB حيث يمكننا أن نجعل برنامج MATLAB ينفذ أمرا ما أو برنامج ما و ذلك عن طريق الملف ( startup.m ) ، حيث نكتب فيه التعليمات التي نريد تنفيذها عند بداية تشغيل البرنامج .MATALB

إغلاق MATLAB :

يمكننا الخروج من برنامج MATLAB عن طريق اختيار الأمر ( Exit ) من القائمة ( File ) ، أو عن طريق كتابة الأمر ( quit ) في الـ ( Command Window ) .

كما يمكننا أن ننفذ الملف ( finish.m ) قبل أن نقوم بإغلاق برنامج MATLAB ، هذا الملف يقوم بعدة وظائف مهمة ، حيث يقوم بتنفيذ برنامج لحفظ المتغيرات المستخدمة في برنامجنا و قيمها و خصائصها أو أنه يقوم بإظهار صندوق حوار الخاص بعملية إغلاق MATLAB ( يسأل صندوق الحوار هذا فيما إذا كنا نريد حفظ التغيرات الأخيرة على برنامجنا ) .

MATLAB

برنامج ماتلاب من شركة MathWorks.Inc هو البرنامج الهندسي الأكثر استخداماً حول العالم فيما يتعلق بالحسابات الرياضية, الهندسية والمحاكاة. والبرنامج العملاق هذا, يستخدم في الصناعات المختلفة كما يستخدم للأغراض الأكاديمية, وخصوصاُ أغراض البحث العلمي في الغالبية العظمى من جامعات العالم.

الصناعات التي يغطيها ماتلاب

أولاً: الفضاء الجوي والدّفاع Aerospace and Defense

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

ثانياً: صناعة السيارات Automotive

صناعة السيارات هي واحدة من أهم وأعقد الصناعات في العالم, ولتوفير الجهد والوقت, تستخدم الشركات المصنعة برنامجي MATLAB و Simulink (الذي سنتعرف عليه لاحقاً) لخلق أو تطوير النماذج الهندسية قبل تطبيقها على أرض الواقع. فبعد اختبار هذه النماذج بواسطة ماتلاب, يتم انتاجها صناعياً. إن استخدام حزمة ماتلاب يقلل الوقت على المصممين لهذه السيارات بنسبة تصل إلى 50%.

ثالثاً: المعالجة بالتكنلوجيا الحيوية, الأدوية, والصناعات الطبية Biotech, Pharmaceutical, and Medical

هُنا, يستخدم ماتلاب, في معالجة البيانات من قبل الباحثين والمختصين في هذا المجال. يتم إدخال البيانات المتعلقة بالتجارب المخبرية على ماتلاب, ومن ثم تتم معالجتها بسرعة قياسية,بهذا, يتمكن الباحث من إجراء مئات التجارب الأمر الذي يستحيل فعله بطريقة يدوية.

رابعاً: الاتصالات Communications

علم الاتصالات, هو واحد من أحدث علوم العصر, ويمثل الثورة المعلوماتية الكبرى التي يشهدها العالم. ماتلاب يغطي علم الاتصالات وكل العلوم المتعلقه به: معالجة الإشارة الرقمية Digital Signal Processing DSP, هندسة الصوت Audio Engineering, هندسة بيانات الاتصال Data Communication Engineering, هندسة الشبكات Network Engineering.

وبشكل عام, يستخدم ماتلاب في هذا المجال لدعم نقل الصوت, البيانات, والفيديو بأقل حجم وتكلفه وبأفضل جودة. كذلك في تحليل ومحاكاة شبكات الهاتف المحمول GSM/TDMA/CDMA وغيرها, وكذلك الأمر بالنسبة لشبكات الكمبيوتر السلكية واللاسلكية. وحيث أن تقنيات النقل اللاسلكي في شبكات الكمبيوتر WiFi/WiMax هي واحدة من أكثر مواضيع الاتصالات بحثاً في يومنا هذا, فإن ماتلاب حاضر فيها وبقوة. الأمر كذلك بالنسبة لمعالجة الإشارة الرقمية, وكذلك الصورة الرقمية. إن استخدام حزمة ماتلاب في هذه الصناعات تقلل كثيراً من مخاطر التصميم The Design Risk.

صناعات أخرى يغطيها ماتلاب:

الحواسيب الشخصية (العتاد المادي)

الإلكترونيات

الخدمات والحسابات التجارية والإحصائية

الميكانيك الهندسي

صناعة أشباه الموصلات Simiconductors

القياسات الهندسية

إلكترونيات القوى

الطاقة الكهربائية

الهندسة الكهربائية

أنظمة القوى الكربائية

أنظمة التحكم

وبالطبع, علوم الرياضيات المختلفة

وغيرها الكثير

إذن, لا بدّ أنك لاحظت أن ماتلاب, هو ليس مجرد برنامج واحد! إنه حزمه من البرمجيات الجاهزة (البرامج). وهي متوفره في حزمه واحدة Package يصل إليها المستخدم بحسب الحاجة. وبالتالي, عند تثبيت حزمة ماتلاب على حاسوبك, بالطبع, فسيمكنك ماتلاب من إلغاء أي برمجيات لا تحتاج إليها.

ماتلاب: مالذي يعنيه الأسم؟

MATLAB هو اشتقاق من Matrix Laboratory أي, مختبر المصفوفات, هذا فقط لأن البنية الأساسية في جميع أومر ماتلاب هي المصفوفة.

فهم نظام ترقيم النسخ في ماتلاب Version Numbering

إذا ذهبت إلى قائمة About ثم اخترت About Matlab ستجد ان رقم النسخة/الإصدار من ماتلاب شيئاً شبيهاً بما في الصورة أسفله:

الرقم 7.4.0.287 (R2007a)

الخانة الأولى من الرقم (من جهة اليسار) تشير إلى رقم النسخة الأساسي (الرئيس) وفي حالتنا هذه هي النسخة السابعة. الرقم الثاني, يشير إلى التحديثات الفرعية التي طرأت على النسخة السابعة, وهي أربع تحديثات. والرقم الأخير (287) يشير إلى عدد الأخطاء البرمجية التي تمت معالجتها في هذا الإصدار, وهي في هذه الحالة 287 خطأ برمجي, وهو ما يعرف باسم Bugs.

أما R2007a فهو نظام جديد اتبعته شركة MathWorks في ترقيم إصداراتها التي تلت النسخة 7.1. الحروف الأبجدية تشير إلى التحديثات الفرعية, والسنة تشير إلى تاريخ انتاج النسخة, أمثلة:

7.1 >> NOTHING!

7.2 >> R2006a

7.3 >> R2006a

7.4 >> R2007a

7.5 >> R2007b

المصدر : Egytronic

وبهذا تم الدرس بإذن الله ، فان كان من صواب فمن الله ، وان كان من خطأ فمني ومن الشيطان
وهذا ما أعلم والله أعلى و أعلم

الى الإلقاء في الدرس القادم

سلسلة دروس الماتلاب كاملة على الروابط الاتية







إعجابَين (2)

جزلكم الله خيرا
وفعلا موضوع الماتلاب من اهم المواضيع اللى لازم يعرفها كل مهندس
وبجد متشكرييييييييييييييييييييييييين على مجهودك معانا
ويعينك دايما على فعل الخير
وربنا يخلى ده فى ميزان حسناتك
وشكرا ليك مرة تانية

جزاك الله خير أخي الكريم

شكرا كتير ياغالي على كلامك الطب المشجع …

جزاك الله خيرا

شكرا" اخي على المجهود

العفو اخواني وأخواتي الكرام نورتو الموضوع وأتمنى الإفادة للجميع

مشكور اخي
الله يجزيك الخير

جزاك الله كل الخير وبارك الله فيك
ربي يحفظكـ

لسلام عليكم ورحمة الله وبركانه
اخواني في الله
ارجو مساعدتكم في كتابة برنامج يقوم بتوليد ارقام عشوائية من 1-100
لحاجتي الماسة اليه في مشروع تخرج وهو دخول سيارات مختلفة الاحجام والانواع الى بارك سبارات .
مع شكري الجزيل لكم ووفقكم الله

والله ولي التوفيق

مرحبا هل من الممكن ان يساعدني احد في موضوعي و كيف ابدا به و ماذا احتاج Simulation and Modeling of Wireless networks using MATLB