السلام عليكم ورحمة الله وبركاته
حقيقة هذا المنتدى الذي يحتاج اليه كل شخص لكي يصبح مبرمج محترف لكن لماذا لا يوجد لديكم شروح عن لغة الماتلاب . واريد ان انقللكم ما قراته من احد المنتديات واليكم الموضوع.
ما ذكرت بشأن محرك Maple الحسابي الذي يعتمد عليه صندوق أدوات الرياضيات الرمزية (Symbolic Math Toolbox) وبشأن إمكانية ربطه مع لغات برمجية أخرى هي ++C و FORTRAN صحيح وأضيف إلى معلوماتك كذلك يمكن ربطه مع لغة Java .
أما بشأن بحوث العمليات والاتصالات والمحاكاة وغيرها من الفروع العلمية المتخصصة التي يشكل MATLAB أداة مهمة لدارسيها والعاملين فيها فإن MATLAB يأتي مع مجموعة كبيرة من الملفات مسبقة البرمجة الجاهزة للاستخدام واحدة لكل فرع من تلك الفروع العلمية وغيرها الكثير ويطلق عليها اسم "صناديق الأدوات" "Toolboxes" وأظن أنها ما قصدت بقولك "Pakage" .
أما ماذكرت من أنه ليس بلغة برمجة فاعذرني إنك جِدُ مخطئ , فما هي مقومات لغة البرمجة ( الأبجدية؟ - القواعد؟ - بنى التحكم(Control structurs)؟ -مترجم(Compiler) أو مفسر (Interpreter)؟) قلي بربك هل يغيب عنصر منها عن MATLAB ؟.
(مارأيك بهذه المعايير أخي محمد)
وبما أننا بدأنا فإلى الجرعة الأولى من المعلومات المتعلقة بـ MATLAB:
1- أصل التسمية : تم اشتقاق الاسم MATLAB كنحت من عبارة "Matrix Laboratory" أي "مختبر المصفوفات" وذلك لأن بدايته كانت كوسيلة سهلة بين أيدي الطلاب والمهندسين متخصصة بالحسابات على المصفوفات العددية وقدمت كحل بديل للعمل المجهد مع لغة البرمجة FORTRAN .
لكن اليوم لم يعد MATLAB أداة للتعامل مع المصفوفات وحسب (رغم أن المصفوفات هي الدعامة الأساس له) بل أصبح عالماً مترامي الأطراف لايمكن تخيل الحدود التي تقف عندها مجالات استخدامه.
2-MATLAB اليوم لغة برمجية عالية المستوى بحق تضاهي اللغات الأخرى كـ ++C و Java و VB و Pascal ولربما تفوقت على بعضها في بعض المجالات.
3- MATLAB لغة برمجية عالية المستوى تتفق مع معايير هندسة البرمجيات الحديثة و يمكن كتابة برامج مهيكلة (structured) بها , كما يمكن العمل بالمنهج الإجرائي (Procedural) حيث يمكن إنشاء البرامج الفرعية والمعروفة في MATLAB بالتوابع (Functions) كما أن MATLAB أكبر من أن يتخلف عن ركب الحضارة البرمجية اليوم فنجد أنه لغة غرضية التوجه (Object Oriented Programming Language) كاملة المزايا تقريباً.
4- يملك بيئة تطوير متكاملة IDE تحتوي تقريبا كل ما تعودنا علية في بيئات التطوير المتكاملة كبيئة ++VC أو VB أو C++Builder .
5- يملك MATLAB اليوم مدقق أخطاء "منقح" Debuger فيه كل المزايا التي نعرفها مع المدققات المتطورة اليوم من سهولة في إضافة وإزالة نقاط التوقف ومراقبة المتحولات أثناء التنفيذ والتقدم خطوة خطوة و كتلة كتلة مع إمكانية تحرير النص أثناء جلسة التدقيق.
6- توجد منه إصدارات مخصصة للعمل على منصة Windows العاملة على آلات IBM أو Compaq والآلات المتوافقة معها ذوات معالجات Intel أو386 أو 486 أو Pentium ,كما توجد إصدارات مخصصة للعمل على محطات عمل Macintosh العاملة على معالجات Motorola .
7- يدعم MATLAB التعامل مع واجهة المستخدم الرسومية (Graphical User Interface - GDI) ويؤمن للمبرمج آلية لبرمجة عناصر هذه الواجهة بشكل يشبه التعامل مع لغات البرمجة المرئية المعروفة كـ ++VC أو VB حيث يمكن تصميم نماذج ذات عناصر تحكمية Controls وربط هذه العناصر بأحداث المستخدم كالنقر المفرد والمزدوج وحركات الفأرة و ...
8- لغة MATLAB لغة مفسرة (تملك مفسراً) مثله مثل لغة VB أو Java, حيث يتم كتابة برامجه على هيئة ملفات نصية تملك اللاحقة (m.) وتعرف بـ (M-Files) ويقوم مفسر MATLAB بتفسير عبارات اللغة وتنفيذها واحدة تلو الأخرى, كما يملك MATLAB مترجماً يمكن من خلاله ترجمة الملفات إلى لغة وسيطة تدعى (p-Code) والتي تنفذ كاملة متخلصاً بذلك من البطء الذي يمكن أن يسببه الاعتماد على المفسر وهو بهذا يشبه إلى حد بعيد اللغتين VB و Java فلغة VB تعتمد بشكل أساسي على مفسر كما تملك مترجما لترجمة الملفات في صيغتها النهائية إلى ملفات تنفيذية أو ... ويمكن في VB الاختيار عند الترجمة بين أن يتم التحويل إلى ملفات تنفيذية مباشرة أو إلى لغة وسيطة, كما أن Java تترجم ملفاتها النصية ذات اللاحقة (java.) إلى ملفات أصناف (Classes Files) ذات اللاحقة (class.) والتي هي عبارة عن لغة وسيطة يتم تنفيذها على آلة Java الافتراضية (JVM).
9- إلا أن العيب الأكبر لـ MATLAB أنه لا ينتج ملفات تنفيذية قائمة بذاتها (Stand Alone) فيجب أن يتم تثبيته حتى يمكن تنفيذ برامج MATLAB المترجمة , لكنه يقدم واجهات (Interfaces) ضمن مكتبات الربط الديناميكي DLL مما يمكن من التعامل معه واستدعاء وظائفه من البرامج المكتوبة بـ ++C مثلاً فيكون بذلك بنية تحتية مهمة لتطبيقات تجمع بين ميزات ++C والقدرات الحسابية الهائلة للغة MATLAB .
10- يأتي MATLAB مزوداً بكم هائل من التوابع مسبقة البرمجة منظمة ضمن مجموعات متخصصة في مجالات علمية متعددة والتي دعوناها صناديق الأدوات Toolboxes ومن المجالات التي تغطيها صناديق الأدوات:
أنظمة التحكم (Control Systems)
معالجة الإشارة (Signal Processing)
معالجة الصور (Image Processing)
نظم الطاقة الكهربائية(Power Systems)
الذكاء الاصطناعي والشبكات العصبية (Artificial Intelegence & Neural Networks)
النمذجة والمحاكاة (Simulation)
المنطق الترجيحي أو الضبابي أو العائم (Fuzzy Logic)
الاتصالات (Communications)
الرياضيات الرمزية (Symbolic Mathematics)
....
....
....
11- ومن أهم ميزات MATLAB إضافة إلى كل ماذكر هي قدرة المبرمج على بناء صناديق الأدوات الجديدة الخاصة به والتي تخدم حاجاته مستفيدا من كل الخدمات الجليلة التي يقدمها MATLAB بين يديه .
قل لكم موضوع عن هذة اللغة
