كيفية التعامل مع M-files فى الماتلاب


#1

هي نوع من أنواع الملفات النصية Script files التي يمكننا برنامج MATLAB من إنشائها كوسيلة لإدخال الأوامر والأكواد البرمجية , ولكن ما الذي يميز هذه الوسيلة الجديدة لإدخال الأوامر ؟

فعلي الرغم من أنه بإمكاننا تنفيذ العديد من الأوامر في برنامج MATLAB من خلال نافذة محرر الأوامر command window بشكل سريع وفعال إلا أنه عند إزدياد عدد هذه الأوامر commands فمن الممكن أن يحدث أحد النتائج التالية :

  • إذا أردنا إجراء عملية التعديل في أمر أو أكثر فيجب علينا إعادة إدخال الأمر من جديد في نافذة محرر الأوامر command window.
  • إذا وجد خطأ في أمر معين فيجب علينا تحرير الأمر من جديد.
    *إذا حررنا برنامج كبير وأردنا تعديل أمر أو أكثر مرة أخري فيجب علينا إدخال جميع الأوامر من جديد وبنفس الترتيب.
  • إذا حدث خطأ في ترتيب الأوامر لهذا البرنامج الكبير ستقوم بإعادة إدخال الأوامر من البداية مرة أخري.

مما سبق نستنتج أنه عند إزدياد الأوامر التي يقوم المستخدم بإدخالها عبر نافذة command window يؤدي ذلك إلي حدوث بعض الأخطاء والتي قد يصعب إجراء عملية تصحيح لهذه الأخطاء debugging أو يؤدي إلي إستغراق وقتا كبيرا أمام نافذة محرر الأوامر command window هذا بالإضلفة إلي الملل الذي يتعرض له للمستخدم عند إزدياد الأوامر التي يقوم المستخدم بإدخالها إلي نافذة محرر الأوامر commabd window.

وحلا لهذه المشكلة يمكننا برنامج MATLAB من تحرير أوامر البرنامج في ملف نصي script file(يسمي ملف M-file")"m أولا بدون تشغيل ربعد الإنتهاء من تحرير جميع أوامر البرنامج يتم تشغيله مما يعطي القدرة علي تعديل الأوامر والأكواد البرمجية دون الحاجة إلي إعادة كتابتها مرة أخري أو إعادة إدخال الأوامر التي تعتمد علي أمر معين مما يسهل إجراء عملية تصحيح لهذه الأخطاء debugging فيما بعد بالإضافة إلي سهولة تبادل ملفات M-files بين المستخدمين عبر شبكة الإنترنت وغيرها من طرق الإتصال , مما يسهل عملية تبادل المعلومات والملفات مع الأخري.

إنشاء ملف M-file جديد :

يمكننا برنامج MATLAB من إنشاء ملف جديد من نوع M-file بإتباع إحدي ثلاث طرق :
الطريقة الأولي … اختر الأمر new من قائمة file لتظهر قائمة فرعية اختر منها الأمر M-file , كما في الشكل التالي :

الطريقة الثانية ….اضغط علي أيقونة الأمر newM-file والتي لها شكل ورقة بيضاء والموجود في شريط الأدوات tool Bar, كما في الشكل التالي

الطريقة الثالثة …قم بتحرير الأمر edit داخل نافذة محرر الأوامر command window كما يلي :

>> edit

وبإتباع إحدي الطرق الثلاثة السابقة ستظهر نافذة جديدة , تأخذ الشكل التالي :

ونظرا لأننا لم نحدد اسما لهذا الملف حتي الآن فإن البرنامج يعطي له اسما إفتراضيا هو untitled وعند حفظ هذا النوع من الملفات يقوم البرنامج بإضافة الإمتداد (*.m) إلي اسم هذا الملف.

سنقوم الآن بإنشاء ملف m-file جديد متضمنا بعض الأوامر التي قمنا بتنفيذها سابقا في نافذة محرر الأوامر command window في الفصول السابقة ليصبح ملف m-file , كما في الشكل التالي :

شرح الكود البرمجي :

  • في السطر الثاني قمنا بمسح محتويات نافذتي محرر الأوامر command window ومنطقة العمل workspace وإغلاق جميع نوافذ الرسم المفتوحة سابقا.

  • في السطر الثالث يطلب البرنامج من المستخدم بأن يقوم بإدخال قيم عناصر المصفوفة والتي نريد إجراء عليها بعض العمليات الحسابية , ليقوم البرنامج بتخزين هذه المصفوفة في المتغير A.

  • في السطر الرابع قمنا بإيجاد حاصل جمع جميع قيم عناصر المصفوفة A التي قام المستخدم بإدخالها بإستخدام الدالة sum وتخزين ناتج حاصل الجمع في المتغير sum.

  • في السطر الخامس قمنا بإيجاد حاصل ضرب جميع قيم عناصر المصفوفة A التي قام المستخدم بإدخالها بإستخدام الدالة prod وتخزين ناتج حاصل الضرب في المتغير product.

  • في السطر السادس قمنا بإيجاد متوسط جميع قيم عناصر المصفوفة A التي قام المستخدم بإدخالها بإستخدام الدالة mean وتخزين الناتج في المتغير Average.

*في السطر السابع والثامن والتاسع قمنا بعرض اسم وقيمة المتغيرات Average,product,sum الممثلة لحاصل جمع وضرب ومتوسط جميع قيم عناصر المصفوفة A.

ملحوظة : يفضل بدء أي كود برمجي لأي برنامج بالأوامر close all ,clear,clc حيث يقوم الأمر clc بمسح جميع محتويات نافذة محرر الأوامر command window بينما يقوم الأمر clear بمسح جميع قيم المتغيرات المتبقية من البرامج الأخري والموجودة في نافذة Workspace كما يقوم الأمر close all بإغلاق جميع نوافذ الرسم المفتوحة سابقا.

ويجب تثبيت هذه الأوامر في أول كل برنامج وهذا سيكون مبدأ في جميع البرامج التي سنقوم بتصميمها فلابد وأن تبدأ بهذه الأوامر لأنها تقوم بإجراء عملية تحديث للبرنامج في كل مرة يتم فيها إعادة تشغيل البرنامج أو إجراء تعديل في أحد أوامر البرنامج مثلا.

ولكن تشغيل الكود البرمجي المحرر سيطالبك برنامج MATLAb بحفظ ملف الكود البرمجي M-file أولا.


دورة متكاملة لتعلم أساسيات برنامج الماتلاب من البداية
#2

شروط حفظ ملف M-file :

  • أن يبدأ اسم الملف بحرف وليس برقم أوبرمز فمثلا لا يمكن كتابة اسم الملف علي الشكل 1 test.m وبدلا من ذلك يمكننا كتابة اسم الملف علي الشكل test1.m.

  • لا يجب تسمية اسم الملف علي اسم أمرا معرفا أو دالة موجودة مبنية داخل بنية برنامج MATLAB فمثلا لا يمكن تسمية المتغير if لأن هذا الإسم يمثل أحد الدوال الداخلية Built in functions للبرنامج.

  • يجب ألا يحتوي اسم الملف علي مسافات فاصلة space فمثلا لا يمكن كتابة اسم الملف علي الشكل التالي test a وبدلا من ذلك يمكن استخدام علامة الشرطة السفلية underscore"-" علي الشكل التالي test-a.

يجب ألا يحتوي اسم الملف علي بعض الرموز الخاصة مثل ?,!,,?… بإستثناء علامة الشرطة السفلية “-” والتي تسمي underscore حيث يمكن إستخدامها كما ذكرنا من قبل.

علما بأنه يجب مراعاة الشروط السابقة وإلا فلن يقوم البرنامج بتنفيذ البرنامج المكتوب داخل الملف m-file.

حفظ ملف M-file :

يمكنننا برنامج MATLAB من حفظ الكود البرمجي المكتوب داخل ملف m-file بإتباع إحدي طريقتين :

الطريقة الأولي …. اختر أمر الحفظ save من قائمة file أو اضغط علي مفتاحي ctrl+s من لوحة المفاتيح keyboard كما في الشكل التالي , أو اختر الأمر حفظ بإسم save As من قائمة file لحفظ نسخة أخري من الملف.أو اختر أمر حفظ الكل save all من قائمة بهمث لحفظ جميع الملفات المفتوحة حاليا .

الطريقة الثانية …. اضغط علي أيقونة أمر الحفظ save والموجودة في شريط الأدوات tool bar كما في الشكل التالي

وعند حفظ ملف m-file المتضمن للكود البرمجي بإستخدام أي من الطرق السابقة يظهر المربع الحواري save file as لإختيار مسار حفظ الملف m-file, كما في الشكل التالي

فقم بكتابة اسم الملف المرتد حفظه وليكن “mat-op.m” في خانة file name, مع ضرورة مراعاة شروط اختيار اسم للملف المراد حفظه السابق ذكرها وأن يكون اسم الملف معبرا عن هدف الكود البرمجي الذي يتضمنه هذا الملف , كما نلاحظ أن الملف المحفوظ يأخذ الإمتداد (*.m).

بعد حفظ ملف m-file بإتباع إحدي الطرق السابقة ستلاحظ أنه قد تم كتابة اسم الملف ومساره في شريط العنوان title bar الخاص بنافذة محرر الأكواد MATLAB Editor Debugger, كما في الشكل التالي :


#3

تشغيل البرنامج

يمكننا برنامج MATLAB من تشغيل الكود البرمجي المكتوب داخل الملف m-file بإتباع إحدي طريقتين :

الطريقة الأولي …. قم بالضغط علي أيقونة زر التشغيل Run والموجودة في شريط الأدوات tool Bar في نافذة محرر الأكواد كما هو واضح في الشكل التالي

الطريقة الثانية …. اختر الأمر Run mat-op من قائمة إزالة الخطأ debug أو للتشغيل السريع اضغط علي مفتاح f5 من لوحة المفاتيح keyboard.

وعند اتباع إحدي الطريقتين السابقتين لتشغيل البرنامج المكتوب داخل الملف “mat-op.m” ستظهر لك رسالة نصية لإدخال قيم عناصر المصفوفة وبمجرد إدخالك لقيم عناصر المصفوفة سيقوم البرنامج بعرض ناتج جمع وضرب ومتوسط جميع قيم عناصر المصفوفة التي قمت بإدخالها لتظهر في نافذة محرر الأوامر command window كما تظهر قيم المتغيرات المعينة في نافذة workspace ,كما في الشكل التالي


#4

إغلاق ملف M-File :

يمكننا برنامج MATLAB من إغلاق الملف المفتوح حاليا “mat-op.m” من خلال فتح قائمة file ثم اختيار الأمر close mat-op.m أو الضغط علي مفتاحي ctrl+w من لوحة المفاتيح keyboard ليقوم البرنامج بإغلاق الملف “mat-op.m” دون إغلاق نافذة محرر الأكواد MATLAB EditorDebugger والتي تصبح كما في الشكل التالي

ولإغلاق نافذة محرر الأكواد MATLAB EditorDebugger بما تتطمنه من ملفات مفتوحة قم بفتح قائمة file ثم اختر الأمر close Editor ليتم إغلاق نافذة محرر الأكواد MATLAB EditorDebugger والعودة إلي نافذة سطح مكتب البرنامج MATLAb Desktop.

فتح ملف m-file سبق حفظه Opening a saved m-file :

يمكننا برنامج MATLAB من فتح open ملف m-file سبق حفظه بإتباع إحدي طريقتين :

الطريقة الأولي …اختر أمر الفتحOpen من قائمة file من نافذة سطح مكتب البرنامج MATLAB Desktop او من نافذة محرر الأكواد MATLAB Editor Debugger أو اضغط علي مفتاحي ctrl+O من لوحة المفاتيح Key board.

الطريقة الثانية …. اضغط علي أيقونة الأمر file open الموجودة في شريط الأدوات tool bar والموجود في سطح مكتب البرنامج MATLAB Desktop أو في نافذة محرر الأكواد MATLAB EditorDebugger, كما في الشكل التالي

وبإتباع إحدي الطريقتين السابقتين لفتح ملف m سيظهر لك المربع الحواري open لإختيار اسم الملف المراد فتحه ثم الضغط علي مفتاح open كما في الشكل التالي