انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة
الكلية كلية العلوم للبنات
القسم قسم الحاسبات
المرحلة 4
أستاذ المادة نور كاظم ايوب مهدي المهدي
08/01/2016 19:27:25
1-1 الدخول الى اللغة و التعامل مع واجهتها عند الضغط على الأيقونة الخاصة بـ MATLAB سوف تظهر الواجهة الخاصة باللغة : وكما نلاحظ فان واجهة ماتلاب مقسمة الى اربعة اقسام رئيسية و هي : القسم الاول : نافذة الاوامر (Command window ) كما يتضح من التسمية فأن هذه الشاشة هي شاشة الأوامر و الأيعازات والتي تمثل واجهة تخاطب حية مع المستخدم حيث تعمل وفق مبدأ :
(( انت تسأل وانا أجيب))
حيث نلاحظ ظهور العلامة (>>) و التي يقف عندها المؤشر منتظرا ً تنفيذ أي امر يقوم المستخدم بأدخاله و يبدأ بتنفيذ هذا الأمر بمجرد ضغط مفتاح (enter) بعد الأنتهاء من كتابة الأيعاز .انظر الى الأمثلة الآتية : 1. في هذا المثال سنقوم بأنشاء متغير اسمه x يحوي القيمة 5.
2. الشكل التالي يوضح تاثير استخدام الفارزة المنقوطة بعد عملية الاحلال حيث تم تخصيص قيمة الى المتغيّر r, و لكن عند ضغط (enter) لم تظهر القيمة لأنّ وضع الفارزة المنقوطة في نهاية عبارة الإحلال يعمل على منع طباعة .
3. ماتلاب يتذكر اسم المتغير المعرّف سابقاً بمجرد ذكر اسمه! هذا المثال يوضح انّه بمجرد كتابة اسم متغير تم اعطاءه قيمة مسبقا ً و الضغظ على (enter) ف?نّ هذا الامر يؤدي الى طباعة قيمة ذلك المتغير.
4. ماتلاب يعفيك من كتابة البرامج :الشكل التالي يوضح انّه لا داعي لكتابة برنامج من اجل جمع عددين. في لغات مثل pascal و c++ ف?نّ جمع عددين يتطلب كتابة برنامج يستلزم التقيّد بهيكل اللغة حتى يتم الحصول على هذه النتيجة. امّا في ماتلاب ف?نّ ذلك يتم ببساطة دون الحاجة الى برنامج!.
كذلك يمكنك جمع عددين (ثوابت) دون اسناد نتيجة الجمع الى متغير لذا ف?نّ ماتلاب سيسند المجموع الى متغيّر جاهز (معرّف من قبل اللغة) وهو (ans) .
القسم الثاني : نافذة الاوامر السابقة (Command history ) هذه النافذة تخزن جميع الأوامر التي يقوم المستخدم بتنفيذها في شاشة الاوامر فبمجرد الضغط على أي ايعاز يؤدي الى تنفيذه مع ملاحظة انه اذا كان هذا الإيعاز يحوي على متغيّرات يجب ان يتم استدعاء قيمها بالضغط عليها اولاً قبل ان تنفذ ذلك الإيعاز .
القسم الثالث : الملفات الحالية (Current directory) واجهة من اجل ادارة الملفات و المجلدات في ماتلاب .
القسم الرابع : فضاء العمل (Workspace) واجهة تعرض المتغيرات التي ينشاها المستخدم في ماتلاب مع إمكانية تحريرها . الوضع التلقائي لهذه الواجهات هو ان تظهر الواجهات الثلاثة الاولى امّا واجهة workspace فهي مخفية عادةً و يمكن التحكم في اظهار و اخفاء هذه الواجهات من خلال القائمة العلوية (desktop ) .
1-3 شريط القوائم العلوية ماتلاب وكبقية اللغات يحوي شريط القوائم العلوية المتعارف عليها في واجهته و التي تشمل : (file , edit , debug , desktop , window , help)
1- قائمة الملف (File) : تحوي هذه القائمة على مجموعة من الاختيارات المعروفة مثل : (new) :تحوي مجموعة من الاختيارات أهمها: M-File: خلق برنامج جديد. figure : خلق واجهة رسوم جديدة. GUI: تتيح للمستحدم التعامل مع بيئة رسومية تشبه ما توفره لغات الفيجوال.
(open) تفتح ملفات سبق إنشائها في اللغة , كذلك تعرض اخر الملفات التي تم العمل عليها مؤخرا ً و من خلال هذه القائمة يمكنك الخروج نهائيا ً من اللغة .
2 -قائمة التحرير (Edit): تحوي مجموعة من الاختيارات الخاصة بالنسخ و القص و التراجع كما تحوي على الاختيارات الآتية :
clear command window - : تقوم بمسح وتنظيف نافذة (command window ). clear command history - : تقوم بمسح وتنظيف (command history). - clear workspace : تقوم بمسح وتنظيف نافذة (workspace). الشكل 1-3 : خيارات قائمة التحرير قائمة سطح المكتب (Desktop) : تحوي مجموعة من الخيارات التي تختص بأظهار النوافذ و اخفائها و طريقة ترتيب النوافذ,فمثلا" عند اختيار (desktop layout) و ضبطه على الخيار (default) ستظهر واجهة ماتلاب.ولإظهار نافذة معينة ما علينا الا تأشير اسم النافذة بالضغط على اسم النافذة لتأشيره بالعلامة (?) .
قائمة النافذة (Window) :هذه القائمة تنقل المستخدم الى أي نافذة من نوافذ اللغة بالضغط على الخيار الذي يحمل اسم النافذة.
قائمة المساعدة (Help): يحوي مجمعة اختيارات تتيح للمستخدم الحصول على مساعدة MATLAB للحصول على معلومات عن أي شيء يسأل عنه .
1-2 كتابة برنامج في ماتلاب ?نّ أي ايعاز تطرّقنا له سابقاً تم كتابته في نافذة الاوامر , لكن ماذا لو احتجنا الى تنفيذ عدد من العمليات المترابطة و المعقدة ؟ اذا حاولنا استعادة ايعازات كتبت في جلسة سابقة لابد من الذهاب الى شاشة command history و الضغط على الأيعازات المطلوبة للتنفيذ, ?نّ هذه العملية متعبة! بدلاً من ذلك نقوم بفتح برنامج نكتب فيه الأيعازات و نسترجعها فيما بعد بواسطة open أو شاشة current directory . لذا لابد ان نتعلم كيفية كتابة البرامج في هذه اللغة. يتم فتح شاشة كتابة البرنامج باتباع أحدى الطرق الآتية :
1- نضغط القائمة العلوية file ثم نختار M-file 2- نضغط ctrl+N .
عند تنفيذ اي من الطريقتين سيؤدي الى فتح شاشة يمكننا فيها كتابة البرنامج . لايمتلك ماتلاب هيكل خاص بالبرنامج كما في بقية اللغات مثل C++ و باسكال ,حيث انّ برنامج في هذه اللغة هوعبارة عن مجموعة من الايعازات المتناسقة التي تؤدي الى حل مشكلة معينة, و من الجدير بالذكر انّ ماتلاب لا يحتاج الى تعريف المتغيّرات كما في اللغات الأخرى. انّ تعريف أي متغيّر يقصد به اعطاء اسم و نوع لذلك المتغيّر وذلك حسب الصيغة التي تسمح بها اللغة.انظر الى الأمثلة الآتية : طريقة التعريف اللغة المستخدمة X:integer; Pascal/delphi Int x; C++ Dim x as integer vb
لكن كيف يمكن لماتلاب ان يتعرف على انواع المتغيرات ان لم يكن هناك عبارات تعريف؟ انّ جواب هذا السؤال بسيط!! حيث انّ ماتلاب يتعرّف الى نوع المتغيّر من خلال القيمة المسندة اليه!و الامثلة الاتية توضخ المقصود : 1. f=5.2 عدد حقيقي لأنّ القيمة التي خصصت الى f (5.2) هي قيمة عشرية. 2. x=4 عدد صحيح لأنّ القيمة التي خصصت الى x (4) هي عدد صحيح. 3. h= hello سلسلة . 4. a=[1 2 3] متجه من الأعداد الصحيحة.
و من الجدير بالذكر ان : ماتلاب يقوم بترقيم الأيعازات.
البرنامج ليس له هيكل خاص.
لا مانع من كتابة أكثر من إيعاز على سطر واحد شرط أن تفصل بينها الفارزة المنقوطة مع ملاحظة تاثيرها بالنسبة لعبارات الاحلال.
ماتلاب حساس الى الأحرف الصغيرة و الكبيرة (تماماً مثل C++) فالمتغيّر T في ماتلاب هو ليس نفسه المتغيّر t ويتم التعامل معهما على انّهما متغيرين مختلفين.
بعد الأنتهاء من كتابة البرنامج لابد من عملية الخزن و التنفيذ و ذلك باستخدام احد الطرق الآتية : 1- نضغط القائمة العلوية debug ثم نختار save and run التي تظهر في حالة التنفيذ الأول للبرنامج أو run التي تظهر في حال تم تنفيذ البرنامج سابقاً.
2- يمكن التنفيذ مباشرةً بضغط المفتاح F5. عند تنفيذ البرنامج في المرة الأولى سوف تظهر الواجهة الآتية :
نعطي الأسم المناسب في الحقل المقابل لـ(file name) ثم نضغط (save) و عندها يخزن تلقائياً بالأمتداد (.m).
1-3 العمليات الحسابية و المنطقية اليك جدول بأهم العمليات الحسابية و المنطقية في MATLAB :
الرمز المعنى + جمع - طرح * ضرب / أو \ القسمة mod (x , y) باقي قسمة x على y ^ الرفع للقوة > اكبر من < اصغر من >= اكبر أو يساوي <= اصغر أو يساوي = عبارة احلال = = اختبار تساوي معاملين (شرط ) = ~ اختبار عدم تساوي معاملين (شرط ) && And (شرط) || Or (شرط)
1-4 ايعازات الأدخال و الأخراج في MATLAB ?نّ أي لغة لابد أن توفر عدد من طرق لقراءة و طباعة البيانات و فيما يلي أهم طرق الأدخال و الأخراج في ماتلاب:
1- الأيعاز input : ويساخدم لادخال البيانات عن طرق شاشة الاوامر له صيغتان :
الصيغة الأولى تستخدم لقراءة المتغيّرات العددية:
var_name = input ( text )
حيث أنّ :- -Var_name يمثل اسم المتغيّر المقروء : - Text يمثل رسالة لتوضيح ماهية البيانات المقروءة . :- X= input ( enter the first number ); ?نّ هذا الايعاز يتسبب في قطع تنفيذ البرنامج لل?نتقال الى شاشة الاوامر حيث تظهر هناك الرسالة التوضيحية و نلاحظ ظهور المؤشر في نهايتها ينتظر من المستخدم أن يدخل القيمة المطلوبة , و عندما يضغط المستخدم على مفتاح (enter) يتم ?حلال هذه القيمة في المتغيّر المقروء (X).
الصيغة الثانية تستخدم لقراءة الحروف و السلاسل و الحرف sالوارد في الصيغة يوعز الى ماتلاب بأنّ المتغيّر المقروء من نوع السلاسل او الحروف.
var_name = input ( text , s ) ;
2- الأيعاز disp: و يستخدم لطباعة النتائج و النصوص علة شاشة الاوامر ويكتب بأحدى الصيغ الآتية:- - الصيغة العامة الآتية تستخدم لطباعة قيمة المتغيّر في الـ command :
Disp (var_name) :- disp (x)
- الصيغة العامة الآتية تستخدم لطباعة رسالة توضيحية في الـ command :
Disp (‘text’)
:- disp ( hello everybody ) - الصيغة العامة الآتية تستخدم لطباعة قيمة متغيّرمع رسالة توضيحية في آن واحد في شاشة command :
disp ( [ text var_name] )
:- disp ([ my message is h]) ?نّ هذه الصيغة من disp غير قادرة على طباعة متغيّر عددي فهي تطبع فقط المتغيّرات من نوع char أو string .
- الصيغة العامة الآتية تحل المشكلة السابقة و تستخدم لطباعة قيمة متغيّر عددي مع رسالة توضيحية في آن واحد في نافذة command :
disp ( [ text num2str ( var_name ) ] ) :- disp ([ the summation = num2 str(s)])
?نّ وضع الفارزة المنقوطة في نهاية الأيعاز disp لا يمنع الطباعة لأنّ تأثير الفارزة المنقوطة يقتصر فقط على عبارات ال?حلال.
?نّ disp يطبع قيمة المتغيّر دون ذكر اسمه,فمثلاً لو قام المستخدم بطباعة الأمر الآتي في شاشة command:
disp(x) التنفيذ 5
الجدير بالذكر ان هناك طرق اخرى للطباعة بدون استخدام ايعاز disp منها كتابة ايعاز يحوي اسم المتغيّر فقط كما ان عدم وضع فارزة منقوطة بعد عبارة الأحلال كفيل بطباعة نتيجة هذه العبارة . برنامج 1-1 : جمع عددين !! هذا البرنامج يقوم بقراءة العددين (x) و (y) ثم يقوم بجمعهما و طباعة النتيجة على نافذةالاوامر : ويمكن ال?ستغناء عن العبارة الأخيرة و رفع الفارزة المنقوطة في نهاية الأيعاز رقم (3) كما يمكن ال?ستعاضة عن العبارة الأخيرة ب?يعاز يحوي فقط المتغير(z).
تمرين : ما ناتج تنفيذ البرنامج الآتي ؟
المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .
|