Professional Documents
Culture Documents
Matlab To C
Matlab To C
سي او سي بلس بلس
ولمن يعر ف تلك االساسيات فأنه يعرف كيف ان الماتالب يوفر الكثير من الخصائص والمميزات التي تسهل عمل المبرمج
والتي ال توفرها لغات البرمجة االخرى ولذلك ولتسهيل وتسريع عمل المبرمجين ومطوري التطبيقات فأن الماتالب يوفر
خصائص كثيرة لتحويل الكودات المكتوبة بداخله الى كودات بلغة السي او السي بلس بلس (وغيرها من اللغات ولكن بأستخدام
ادوات اخرى ليس هنا مكان شرحها) .ويتم كل ذلك باستخدام احد خصائص الماتالب وهو ال (.)Matlab Coder
قبل البدء بشرح خطوات التحويل يجب ان نتأكد من وجود وتنصيب مترجم او مفسر ( )compilerلغة السي بلس بلس في
حاسوبنا وفي العادة يكون هذا المفسر منصبا ً تلقائيا ً في انظمة اللينكس ولكن ألنظمة الويندوز فأنه عادة يكون غير منصب
ويحتاج عدة خطوات لتنصيبه.
لفحص فيما اذا كان هذا المترجم منصب نفتح الماتالب (والذي يفترض ان يكون منصبا ً اصالً وجاهزا ً للعمل) ونكتب
mex -setup
كما مبين في الصورة ادناه:
تبين لنا هذه الصورة ان المترجم غير منصب ولتنصيبه نتبع الخطوات التالية:
نذهب الى تبويب ( )homeومنه الى ( )add onsثم ننقر على ( )get add onsلتظهر النافذة التالية:
نكتب في البحث كما هو مبين ( )MinGWلتظهر النتائج الواضحة في الصورة فننقر على اول نتيجة لتظهر النافذة المبينة ادناه:
ننقر على ( )installونتبع الخطوات كما موضح في الصور التالية:
واالن نعيد فحص وجود الكومبايلر (المترجم او المفسر) لتظهر لنا النتيجة ادناه والتي تدل على انه منصب:
في وضعه الحالي فأن المفسر يمكنه تحويل كودات الماتالب الى لغة السي ويمكننا النقر على ( )mex -setup c++لجعله قادرا ً
على التحويل الى لغة سي بلس بلس او ( )mex -setup FORTRANلجعله يعمل على تحويل كودات الماتالب الى لغة
الفورتران وهكذا.
االن بعد ان نكون قد نصبنا المفسر وكتبنا برنامجنا في الماتالب نأتي الى عملية التحويل.
ولكن قبل التحويل يجب مالحظة التالي:
-1ان الكود في الماتالب يجب ان يكون على شكل دالة ( )functionوليس برنامج رئيسي.
-2نقوم بخزن البرنامج في ملف بأمتداد ( ).mفي مكان معروف.
-3ان الدالة في الماتالب يجب ان تبدأ بالسطر التالي:
)function function_name(variables
حيث ان ( )function_nameهو اسم الدالة وهو نفس االسم الذي يجب ان يخزن مشروع ( ).prjالسي بلس بلس بأسمه.
و ال ( )variablesهي المتغير او المتغيرات التي يستدعى اسم الدالة معها.
واالن لنبدأ التحويل بالذهاب الى تبويب ( )applicationsومنها نختار ( )Matlab Coderكما هو واضح في النافذة ادناه:
االن عند النقر على ( )Matlab coderتظهر النافذة التالية لتأخذنا في سلسلة خطوات لتحويل كود الماتالب الى كود سي بلس
بلس:
نقوم بتحديد اسم الملف ( ).mالذي قمنا بخزن برنامجنا فيه بالنقر على ال ( )...حيث ستأخذنا ال ( )wizardللبحث عن الملف
بين ملفات الحاسوب وكما هو موضح في الصورة التالية:
بعد تحديد اسم الملف ننقر على ( )nextلتظهر النافذة التالية:
من هنا نحدد نوع المتغيرات المستخدمة في دالتنا (الكود المكتوب بالماتالب) ألن الماتالب ال يطلب من المبرمج تحديد نوع
المتغيرات وانما يقوم بضبطها تلقائيا ً في حين يجب تحديد نوع كل متغير في السي والسي بلس بلس ومن هنا وجب تعريف
مت غيراتنا كما هو واضح اعاله حيث تم تحديد المتغير الوحيد الذي يجب ادخاله الى دالتنا هنا وهو ( )aعلى انه مصفوفة من
االعداد العشرية ( )doubleبأبعاد ( ) 3X3كما يجب كتابة السكربت الذي يجب ادخاله ألستدعاء الدالة وهو عادة اسم الدالة ثم
بين قوسين اسماء المتغيرات وهو في حالتنا هذه (.example(a
بعد اكمال الخطوات اعاله ننقر على ( )nextلتظهر النافذة التالية:
هنا يتم فحص وجود او عدم وجود اخطاء في الكود وربما تأخذ هذه الخطوة بعض الوقت والجهد لضبط الكود ليكون قابل
للتحويل وتعتمد هذه الخطوة على المعرفة المسبقة ببعض الفروق بين الماتالب والسي بلس بلس وعند اكتمالها ننقر على ()next
لنرى النافذة التالية:
من هنا نحدد الى اي لغة نريد التحويل ( )c or C++ثم ننقر على ( )generateلتظهر النتيجة التالية:
االن نرى ان الكود قد اكتمل تحويله وخزنه في نفس مكان الكود االصلي للماتالب ونالحظ في الجانب االيسر من النافذة اعاله
ان الكود الذي كان في الماتالب عبارة عن ملف واحد سيكون االن اكثر من 10ملفات في السي بلس بلس ألن الكثير من الدوال
الجاهزة في الماتالب يتم تحوي لها الى ملفات مستقلة في مشروع السي بلس بلس عند التحويل لعدم وجودها ككودات او ادوات
جاهزة لألستخدام في السي بلس بلس واخيرا ً ننقر على ( )nextلنرى النافذة ادناه:
هذه النافذة تخبرنا بأكتمال عملية التحويل ويمكننا االن النقر على ( )packageلحفظ كل الملفات الناتجة من عملية التحويل في
ملف مضغوط ( ).zipواحد كما هو ظاهر في النافذة ادناه:
نقوم بتحديد اسم للملف والنقر على ( )saveوبذلك تنتهي العملية بنجاح
اتمنى ان يكون هذا الشرح مفيدا ً للجميع خصوصا ً وانه الشرح االول من نوعه في العالم العربي حيث لم يسبق ألي شخص
عربي شرح هذه االداة وهذه الطريقة وهللا الموفق لكل خير
للمزيد من هذه الشروحات والكتب والكورسات المجانية حول كل ما يخص الحاسوب تفضلوا بزيارتنا على الرابط ادناه: