لغات البرمجة ماتلاب (MATLAB)
المعلوماتية >>>> برمجيات
إنَّه الماتلاب -بوصفه لغة خاصة الأغراض- تُعدُّ خيارًا ممتازًا لكتابة البرامج المتوسِّطة أو الصعبة التي ترتكز إلى كلٍّ من معالجة الأرقام -على نحو أساسي- والنمذجة.
ماتلاب: هي لغةٌ عالية المستوى وبيئة تفاعلية مُستخدَمة من قبل الملايين من المهندسين والعلماء في جميع أنحاء العالم، وتُتيح لك هذه اللغة استكشافَ الأفكار ورؤيتها، والجمع بين مختلف الاختصاصات؛ بما في ذلك معالجة الصورة، والإشارة، والاتصالات، وأنظمة التحكُّم، والحسابات المالية والاقتصادية، وغيرها الكثير..
اسم (MATLAB) هو اختصار ل(MATh LABoratory)، وقد كُتِب من أجل الوصول بسهولة إلى برمجيات المصفوفات المُطوَّرة من قبل (LINPACK) و(EISPACK).
وتُعدُّ هذه اللغة من لغات الجيل الرابع، وتتضمَّن مجموعةً من تعليمات التحكُّم بالتدفُّق، والتوابع، وبِنى المعطيات، ومجاري الدخل والخرج، وميِّزات البرمجة الغرضية التوجُّه (Object-oriented)، فضلًا عن أنَّها تتيح إنشاءَ البرامج الصغيرة ذات الأغراض البسيطة، والبرامج الكبيرة ذات التطبيقات المُعقَّدة.
يمكنك استخدامُ ماتلاب في العديد من المشاريع؛ مثل نمذجة استهلاك الطاقة من أجل بناء شبكات الطاقة الذكية، وتطوير خوارزميات التحكُّم من أجل التحكُّم بالمركبات التي تفوق سرعتها سرعةَ الصوت، وتحليل بيانات الطقس من أجل تحديد مسار الأعاصير وشدَّتها، وحتى إجراء الملايين من عمليات المحاكاة لتحديد الجرعة المثالية لمضادٍ حيويٍّ ما.
المميَّزات الرئيسية للغة الماتلاب:
- لغة عالية المستوى من أجل الحسابات العددية، وإظهار النتائج بطرائق متعدِّدة، وتطوير التطبيقات.
- تُعدُّ بيئةً تفاعليةً من أجل البحث التكراري وتصميم المسائل وحلِّها.
- تحوي توابعَ رياضية للجبر الخطِّي، والإحصاء، وتحليل فورييه، والترشيح، والتحسين، والتكامل العددي، وحلِّ مختلف المعادلات التفاضلية العادية.
- تتضمَّن رسوماتٍ من أجل تمثيل البيانات على نحو مُصوَّر، وأدواتٍ من أجل إنشاء مخطَّطات خاصة حسب حاجة المستخدم.
- أدوات تطوير من أجل تحسين جودة الشيفرة البرمجية، وصيانة أداء البرنامج المُصمَّم وتحسينه.
- أدوات من أجل بناء التطبيقات مع واجهات رسومية مخصَّصة.
- توابع من أجل دمج خوارزميات الماتلاب مع التطبيقات الخارجية واللغات؛ مثل: (C)، و(Java)، و(Net)، و(Microsoft Excel).
Image: https://www.mathworks.com/
الحسابات العددية:
يوفِّر الماتلاب مجموعةً من الأساليب للحسابات العددية من أجل تحليل البيانات، وتطوير الخوارزميات، وإنشاء النماذج، وتتضمَّن لغة الماتلاب مجموعةً واسعةً من التوابع الرياضية أيضًا، والتي تدعم العمليات الهندسية والعلمية الشائعة. وتستخدم توابع الرياضيات الأساسية مكتباتِ المعالجة المُثلى (processor-optimized) لتوفير التنفيذ السريع لحسابات الأشعة والمصفوفات.
تتضمَّن الأساليبُ المتاحة:
- الاستقراء والانحدار (Interpolation and regression).
- التفاضل والتكامل.
- المعادلات الخطِّية.
- تحليل فورييه.
- معامل التحوُّل الخطِّي والقيم الذاتية (Eigenvalues and singular values).
- المعادلات التفاضلية الخطِّية.
- المصفوفات المتفرِّقة (Sparse matrices).
وتوفِّر الإضافات الموجودة في ماتلاب توابعَ في مجالات متخصِّصة؛ مثل الإحصاءات، والتحسين (optimization)، ومعالجة الإشارة، وتعليم الآلة.
تحليل البيانات وإظهارها:
يوفِّر الماتلاب أدواتٍ للحصول على البيانات وتحليلها وتصويرها؛ ممَّا يتيح للمستخدم الحصولَ على نظرة ثاقبة لبياناته، وذلك في خلال زمن قصير مقارنةً بالوقت الذي يستغرقه لجدولة البيانات أو استخدام لغات البرمجة التقليدية. وبإمكانك توثيقُ ومشاركة النتائج التي تحصل عليها بواسطة المخطَّطات والتقارير أو مقطع برمجي مكتوب بلغة ماتلاب.
الحصول على البيانات:
يُتيح لك الماتلاب الوصولَ إلى البيانات من ملفات معيَّنة، وتطبيقات أخرى، وقواعد بيانات، وحتى أجهزة خارجية، وتستطيع قراءة البيانات من صيغ الملفات الشائعة؛ مثل (Excel) والملف النصِّي، أو الملفات الثنائية (binary)، والصور، والملفات الصوتية، وملفات الفيديو.
وتتيح لك كلٌّ من -الملفات العلمية؛ مثل ملفات (netCDF) و(HDF)، وتوابع الإدخال والإخراج- العملَ مع ملفات البيانات من أيَّة صيغة كانت.
يمكن الحصول على البيانات من أجهزة خارجية (عن طريق المنفذ التسلسلي)، أو بطاقة الصوت (كالبثِّ الحي للصوت) والبيانات المقاسة مباشرةً في ماتلاب لتحليلها باستخدام ماتلاب مع الإضافات (add-ons). إضافةً إلى إمكانية الاتصال مع أجهزة؛ مثل راسم الإشارة، وأجهزة تحليل الإشارة، ومولِّدات الإشارة.
Image: https://www.mathworks.com/
تحليل البيانات:
يتيح لك الماتلاب إدارةَ البيانات وترشيحها وتحضيرها للمعالجة، وبإمكانك إجراءُ تحليل استكشافي للبيانات أيضًا؛ وذلكَ بغرض بناء نماذج وصفية، والكشف عن اتجاهات التحليل، واختبار الافتراضات.
ويوفِّر ماتلاب توابعَ من أجل الترشيح، والتنعيم، والاستكمال (interpolation)، والانحراف (convolution)، وتحويل فورييه السريع (FFT).
إنَّ الإضافات تُتيح إمكانيةََ ملائمة المنحنيات والسطوح (curve and surface fitting)، والإحصاءات المتعدِّدة المتغيِّرات، والتحليل الطيفي، وتحليل الصورة، وغيرها من المهام التحليلية..
Image: https://www.mathworks.com/
إظهار البيانات:
وهو ما يسمَّى نظام الماتلاب الرسومي؛ إذ يوفِّر الماتلاب توابعَ للتخطيط، وتعليمات عالية المستوى لرسم البيانات ببعدين (2D) أو ثلاثة (3D)، وتوابعَ لتصوير الحجم، وتعليمات لمعالجة الصورة. وبإمكانك استخدام هذه التوابع لتصوير البيانات وفهمها وإظهار النتائج.
وبالإمكان تخصيصُ المخطَّطات على نحو تفاعلي أو برمجي؛ إذ إنَّ معرض المُخطَّطات في الماتلاب يوفِّر أمثلةً عديدة عن طرائق عرض البيانات بيانيًّا في الماتلاب، ومن أجل كلِّ مثال؛ يمكن رؤية الكود المصدري وتحميله لاستعماله في التطبيق الخاص بك.
Image: https://www.mathworks.com/
توثيق النتائج ومشاركتها:
يمكنك مشاركة نتائجك كالمخطَّطات أو التقارير؛ إذ تستطيع حفظ مخطَّطاتك بصيغ رسومية معيَّنة على نحو تُلبِّي فيه مواصفات النشر، وتستطيع توليد التقارير تلقائيًّا عند تنفيذ برنامج ماتلاب أيضًا.
ويحتوي التقرير على الكود البرمجي، والتعليقات، ونتائج البرنامج بما فيها المخطَّطات، ويمكن نشر هذه التقارير بعديدٍ من الصيغ المشهورة، مثل (HTML)، و(PDF)، و(Word)، وغيرها..
البرمجة وتطوير الخوارزميات:
يوفِّر الماتلاب لغةً عاليةَ المستوى، وأدواتِ تطوير تتيحُ لك تطويرَ الخوارزميات والتطبيقات وتحليلها بسرعة.
لغة الماتلاب:
تدعم لغة الماتلاب عملياتِ الأشعة والمصفوفات التي تُعدُّ أساسيةً في حلِّ المسائل الهندسية والعلمية؛ ممَّا يُتيح التطويرَ والتنفيذ السريعَين.
تستطيع باستخدام الماتلاب كتابةََ برامج وتطوير خوارزميات على نحو أسرع من اللغات التقليدية؛ لأنَّك لا تحتاج إلى أداءِ المهام التي تُعَدُّ من المستوى المنخفض؛ مثل تعريف المتغيِّرات، وتحديد أنواع البيانات، وتخصيص الذاكرة، وغيرها.. ويقلِّل دعمُ عمليات الأشعة والمصفوفات من الحاجة إلى الحلقات البرمجية؛ ومن ثمَّ فإنَّ سطرًا واحدًا في لغة ماتلاب قد يحلُّ مكانَ مجموعة من الأسطر مكتوبةً بلغة (C++).
ويوفِّرُ الماتلاب ميِّزات اللغات البرمجية أيضًا؛ مثل التحكُّم بالتدفُّق، ومعالجة الأخطاء، والبرمجة الغرضية التوجُّه (Object- oriented Programmin - OOP).
وبإمكانك استخدامُ أنماط البيانات الأساسية أو بنى المعطيات المتقدِّمة، أو حتى بناء نوع بيانات مخصَّص.
ويمكنك إيجادُ نتائج فورية من خلال تنفيذ الأوامر على نحو تفاعلي مع الزمن (أي تنفيذ البرنامج تعليمة تعليمة)، ويُتيح لك هذا النهج اكتشافَ خياراتك المتعدِّدة، والاقتراب من الحلِّ الأمثل بسرعة.
تستطيع التركيز على هذه الخطوات التفاعلية مثل (script) والتوابع لإعادة استخدامها، وأتمتة العمل الخاص بك.
وتتضمَّن إضافات الماتلاب خوارزمياتٍ لمعالجة الإشارة، والاتصالات، ومعالجة الصور، والفيديو، ونُظم التحكُّم، والعديد من المجالات الأخرى.. ويمكننا -عن طريق الدمج بينها وبين الخوارزميات التي نكتبها- الحصولَ على برامج وتطبيقات معقّدة.
أدوات التطوير:
يحتوي الماتلاب على عديدٍ من الأدوات تسمح بتطوير خوارزميات فعالة، ومنها:
- نافذة الأوامر: تسمحُ لك إدخالَ البيانات على نحو تفاعلي، وتنفيذ الأوامر والبرامج، وإظهار النتائج.
- محرِّر الماتلاب: يتيحُ إمكانيةَ التحرير، وتصحيح المميَّزات (Featues)؛ مثل تحديد نقاط التوقُّف والتنقُّل بين الأسطر البرمجية.
- محلِّل الكود: يتحقَّق تلقائيًّا من الكود لإيجاد الأخطاء، إضافةً إلى أنَّه يوصي بتعديلات معيَّنة لتطوير أداء الخوارزميات.
- محلِّل الماتلاب: يقيس أداءَ البرامج ويحدِّد المجالات المتاحةَ للتعديل بهدف تحسين الأداء.
والعديد من الأدوات الإضافية التي تعمل على مقارنة الكود البرمجي وملفات البيانات، وتُظهر تقاريرًا عن تبعيَّات الملفات وغيرها.
الدمج مع اللغات والتطبيقات الأخرى:
تستطيع دمجَ تطبيقات الماتلابِ مع تلك المكتوبة بلغات أخرى، وبإمكانك استدعاءُ مقطع برمجي مكتوب بلغة (C)، و(C++)، و(Java) مباشرةً، واستدعاء مقطع برمجي مكتوب بلغة (Matlab) من أحد البرامج المكتوبة بلغة (C)، و(C++) أو (Fortan)؛ وذلك باستخدام مكتبة خاصة بالماتلاب.
الأداء:
يستخدم الماتلاب مكتباتِ المعالجة المُثلى من أجل تنفيذ عمليات حساب المصفوفات والأشعة بسرعة.
ويستخدم الماتلاب -من أجل العمليات الحسابية ذات الأغراض العامة- تقنيةَ (just-in-time - JIT) لتوفير التنفيذ السريع، والذي ينافس بواسطته لغات البرمجة التقليدية.
وللاستفادة من التقنيات الحديثة للمعالجات المتعدِّدة النوى أو الحواسيب المتعدِّدة المعالجات؛ يوفِّر ماتلاب عديدًا من التوابع العددية، وتوابع الجبر الخطِّي المتعدِّدة المسارات (Multi-Threaded).
وتعمل هذه التوابع -تلقائيًّا- على المسارات المتعدِّدة في جلسة الماتلاب الواحدة؛ ممَّا يُتيح تنفيذَ البرنامج على نحو أسرع على الحواسيب المتعدِّدة النوى.
ويمكنك استغلال المزيد من مميِّزات المعالجة المتعدِّدة النوى، وموارد الحاسب ذات الأداء العالي مثل وحدة معالجة الرسومات (GPU)؛ وذلك باستخدام إضافات الحوسبة التفرُّعية بحيث توفِّر هذه الإضافات بنيةً عاليةَ المستوى، والتي تُتيح لك تفريع تطبيقاتك عن طريق إجراء تغييرات طفيفة على الشيفرة البرمجية الخاصة بك.
تطوير التطبيقات ونشرها:
توفِّر أدوات الماتلاب والإضافات مجموعةً من الخيارات لتطوير التطبيقات، فضلًا عن إمكانية مشاركة الخوارزميات والبرامج التي قد كتبتَها مع مستخدمين آخرين.
تصميم واجهات المستخدم (GUI):
إنَّ استخدام بيئة تطوير واجهات المستخدم الرسومية أو ما يُعرف ب(GUIDE) يمكِّنك من تخطيط الواجهات الخاصة بك وتصميمها وتعديلها، وتتضمَّن هذه الواجهات كلَّ العناصر الشائعة في التصميم؛ مثل الأزرار، والقوائمِ المنسدلة، وقوائم الخيارات، ومساحات لإدراج المخطَّطات، وبإمكانك إنشاء هذه الواجهات برمجيًّا باستخدام توابع الماتلاب.
وتحوي بيئة العمل مجموعةً من الأدوات التي يتعامل معها المستخدم أو المبرمج أيضًا، وتتضمَّن أدواتٍ لإدارة المتغيِّرات في مساحة العملِ الخاصة به واستيراد البيانات وإرسالها، وهناك بعضُ الأدوات المخصَّصة لتطوير التطبيقات المُصمَّمة بواسطة الماتلاب وإدارتها وتنقيحها؛ وهي عبارةٌ عن ملفات (m files).
Image: https://www.mathworks.com/
نشر التطبيقات:
لتوزيع تطبيق ما مباشرةً إلى مستخدمين آخرين لبرنامج الماتلاب؛ تستطيع -ببساطة- تحويلَه إلى حزمة مثل تطبيق ماتلاب، فيُحوَّل التطبيق إلى ملف واحد قابل للتداول، وتُنزَّل التطبيقات تلقائيًّا في معرض التطبيقات لتسهيل الوصول إليها.
لتبادل التطبيقات مع الأشخاص الذين لا يملكون تطبيقَ الماتلاب؛ بإمكانك استخدام الإضافات الخاصة بالنشر، والتي تولِّد تلقائيًّا تطبيقات مستقلة، ومكتبات مشتركة، والمحتوى البرمجي الذي يمكن دمجُه مع بيئة (C)، و(++C)، و(Java)، و(Excel)، وكلُّه قابل للنشر مجانًا.
Image: https://www.mathworks.com/
المصادر:
هنا
هنا