• 0
Hammadi2100

مقدمة عامة حول ال Matlab

سؤال

السلام عليكم

سأحاول في هذا الدرس تقديم البرنامج Matlabومساعدة المبتدئين في بداية التعامل معه دون صعوبات. ستكون هناك دروس أخرى إن شاء الله تعرف بالبرنامج بشكل أوضح وبأوفر معلومات. هذا الدرس ينقسم الى جزئين أساسيان أولهما لتقديم النوافذ الرئيسية ودورها و الثاني للبدأ في كتابة تعليمات بسيطة و تطبيق ما تم تقديمه في الجزء الأول

I. الجزء الأول

1. مكونات واجهة البرنامج

2. تعليمات التحكم

3. الكلمات المفاتيح

4. التعاليق

II. الجزء الثاني

.

I. الجزء الأول

1. مكونات واجهة البرنامج

post-91400-1188078013_thumb.jpg

نافذة التعليمات :Command Window

النافذة الرئيسية للبرنامج وفيها يتم كتابة التعليمات بشكل مباشر. توفر هذه النافذة عدة وضائف أخرى من بينها:

ـ الإطلاع على نصوص المساعدة المدرجة مع الدوال التي يوفرها البرنامج أو المساعدة العامة.

ـ الإطلاع على نتائج الترجمة.

ـ الإطلاع على مسار العمل وتغيره برمجيا.

ـ الإطلاع على محتويات مجال العمل وقيمة المتغيرات المتواجدة فيه, وإفراغه عند الحاجة.

ـ فتح الأقسام الفرعية للبرنامج مثل demo و Semulink...

(العنصر رقم 1 في الصورة)

مسار العمل:Current Directory

يتمثل في المجلد الحالي الذي تعمل فيه. المسار التلقائي الذي يوفره البرنامج هو المجلد Workالموجود في مسار تنصيب البرنامج. هذا المسار التلقائي يمكن من إستغلال أسهل للدوال التي يوفرها البرنامج ويحتوي كافة الملفات و المجلدات المرتبطة بالتطبيق الذي تم فتح أحد ملفاته الرئيسية(.m). لتغير المسار يكفي إختيار الزر المقابل لخانة الكتابة أوكتابة المسار هناك مباشرة وتفعيل التغير عبر النقر على الزر "Enter" (العنصر رقم 2 في الصورة)

. يمكن تعديل ذلك المسار برمجيا وسأبرز ذلك في الجزء الثاني من الدرس.(العنصر رقم 4 في الصورة)

أرشيف التعليمات:Command History

في هذه النافذة يتم تسجيل وقتيا و بترتيب كافة التعليمات السابقة التي تم تنفيذها في نافذة التعليمات مما ييسر إعادة تفعيلها/ترجمتها فقط بالضغط على أزرار الإتجاهات في لوحة المفاتيح. ما إن يتم إغلاق البرنامج تمحى محتويات مجال العمل وتبقى محتويات أرشيف التعليمات متواجدة,ويمكن إفراغها برمجيا وهو ما سأبرزه في الجزء اللاحق من هذا الدرس.(العنصر رقم 5 في الصورة)

مجال العمل: WorkSpace

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

العنصر رقم 3 في الصورة يبرز كيفية إخراج نافذة التعليمات في نافذة مستقلة.

2. تعليمات التحكم

ls: إظهار الملفات المتواجدة في مسار العمل. ويمكن إستخدامها لإختيار إظهار ملفات ذات إمتداد معين بالكيفية التالية :

ls *.m

pwd: إظهار مسار العمل

echo: إرجاع نص/كلمة على شاشة التعليمات. مثال

echo Assalamou alaykom

who:إظهار أسماء المتغيرات المسجلة في مجال العمل

whos:,إظهار أسماء المتغيرات المسجلة في مجال العمل حجمها بالبايت, عدد مكوناتها خاصة للمصفوفات و نوعها

clear all: إفراغ كافة البيانات المسجلة تلقائيا في والتعليمات السابقة التي تم كتابتها في نافذة التعليمات

clc: تنظيف نافذة التعليمات من الأوامر السابقة ونتائجها

cd: تغير مجلد العمل, ويمكن إستعمالها بالكيفية التالية:

cd..
%or
cd C:\My file

quit/exit: إغلاق البرنامج

3. الكلمات المفاتيح

كباقي لغات البرمجة, يحتفظ Matlab بمجموعة من الكلمات التي يمنع إستعمالها في غير محلها كتسمية المتغيرات. عند كتابة إحدى هاته الكلمات يصبح لونها أزرق أو بالإمكان الكتابة في شاشة التعليمات ما يلي:

iskeyword <option>

عند إستعمال بمفرها نحصل على مجموعة الكلمات المفاتيح أو يمكن كتابة الكلمة التي نريد التثبت منها مكان <option>.

. 4التعاليق

لإضافة تعليقات لجعل الكود أكثر وضوحا ينبغي إستعمال رمز النسبة المئوية "%" في بداية كل سطر من أسطر التعليقات. هذا الحل مفيد أيضا عند الرغبة في إخراج جزء من الكود من عملية الترجمة. ولكن إذا كان الحال يخص العديد من الأسطر, يجب أن أضيف الرمز % لكل سطر ثم العكس؟؟؟ :wacko:

طبعا لا. الأمر أيسر من ذلك, يكفي أن تقوم بتظليل الأسطر المعنية, ثم إختر عند النقر بيمين الفأرة Insert Commentو Remove Commentعند إعادة تفعيل تلك الأسطر.

II. الجزء الثاني

الهدف من هذا الجزء من الدرس هو تعلم كتابة بعض التعليمات البسيطة كالجمع والطرح والقسمة:

 >> 3-2 <Enter>
>> 2*3 <Enter>
>> 1/2 <Enter>
>> 2+3 <Enter>
>> 2\1 <Enter>

المقصود ب<Enter> هو النقر على الزر Enter لترجمة التعليمات وإرجاع النتيجة

النتائج المتحصل عليها تكون كما يلي:

  ans =
1
ans =
6
ans =
0.5
ans =
5
ans =
2

نلاحظ هنا تكرار العبارة "ans"كل مرة وهو ما يعني answer. وهي التسمية التي يسندها البرنامج تلقائيا للمخرجات عند عدم تعريفها. المتغير يحتفظ دائما بالقيمة الأخيرة المسندة له من قبل البرنامج.

عوضا عن ذلك يمكن تسمية المخرجات بالكيفة التالية:

>> a = 2*3 <Enter>

أو

>> a = 2*3; <Enter>

كلتا التعليمتان ترجع نفس النتيجة وهي إسناد رقم 6 كقيمة للمتغير a ويتم حفظه في مجال العمل. لكن الفرق يكمن في إرجاع نص النتجة في شاشة التعليمات أو لا. ونتجة التعليمة الأولى هي كما يلي:

a =
6

فل نجرب الآن التعليمة التالية

>> a = 2*b <Enter>

النتيجة:Undefined function or variable ... :blink:

الخطأ هنا يكمن في إستعمال المتغيرb دون تعريفه, لذلك يجب تعريفه أولا ثم إستخدامه وترتيب التعليمات مهم جدا هنا. والحل إذا:

>> b=3, a = 2*b <Enter>

نلاحظ هنا أني إستعملت تعليمتان في سطر تفصلهما فاصلة. هذه الأخيرة تمكن من رؤية نتيجة الترجمة في شاشة التعليمات وإذا لم ترغب في ذلك عوض الفاصلة ب ";". وبالإمكان كتابة أكثر من تعليمة واحدة في نفس السطر.

الآن وقد تم تعريف كل من و أسناد قيمة لكل منها سنقوم بتجربة بعض تعليمات التحكم التي تم تعريفها في الجزء الأول من الدرس.

>>clc

تم تنظيف شاشة التعليمات. أليس كذلك؟

سنجرب الآن

>>whos, clear all, whos

هذه التعليمات تمكن من الإطلاع على محتويات مجال العمل ثم تنظيف كل ما قام البرنامج بتخزينه ثم إعادة الإطلاع مجددا على مجال العمل.

يوفر البرنامج مجموعة من الدوال التي نحتاجها في الرياضيات مثلSin, cos, sqrt... كما يوفر بعض المسميات التي نحتاجها دون الضرورة لتعريفها, مثال Piوهي العدد 3.14....

>>sqrt(Pi)

الكود السابق يبين كيفية حساب الجذع التربيعي ل Pi

هكذا نصل لنهاية الدرس الأول. سأنتظر الأسئلة, الملاحظات و التعاليق خاصة إذا كان هناك من يريد إضافة جزء ما أو تغير آخر...

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

تم تعديل بواسطه Ben_Laiid
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

السلام عليكم ورحمة الله

أخى الفاضل Ben_Laiid

بارك الله فيك وفى مجهوداتك , ونفعنا الله بما تقدمه لنا فى هذا الموضوع , وجعله فى ميزان حسناتك باذن الله.

أرشيف التعليمات:Command History

في هذه النافذة يتم تسجيل وقتيا و بترتيب كافة التعليمات السابقة التي تم تنفيذها في نافذة التعليمات مما ييسر إعادة تفعيلها/ترجمتها فقط بالضغط على أزرار الإتجاهات في لوحة المفاتيح. ما إن يتم إغلاق البرنامج تمحى محتويات أرشيف التعليمات ويمكن القيام بذلك برمجيا وهو ما سأبرزه في الجزء اللاحق من هذا الدرس

اخى الفاضل انا استخدم اخر اصدار من الــ Matlab , وفيها لا تمحى الاوامر والتعليمات السابقة من أرشيف التعليمات عند غلق البرنامج. فهل هذا الاجراء يختلف باختلاف الاصدار.

بارك الله فيك , وسدد خطاك ,,,

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

شكرا أخي عماد على المتابعة. إستعملت الإصدارين 6.5 و 7 للMatlab وعلى ما أذكر يتم إفراغ أرشيف التعليمات في الإصدار 7.

بصدد البحث عن تنصيب البرنامج في حاسوبي وسأتثبت من ذلك مجددا لأني لم أبرمج بال Matlab منذ مدة طويلة.

رجاء إذا كانت هناك ملاحظات أخرى أو تحويرات في الموضوع فلا تتردد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

شكرا أخي دكتور عبد الرحمن على الحوصلة

لان الاخ ben laiid ما اعطى امثلة كثيرة وغير كدة ما تكلم عن formate command

إن شاء الله سأبين كيفية كتابة الدوال في ملفات خارجية, إستدعائها, الرسم...

درجة درجة ياأخي والموضوع الذي كتبته قابل للتعديل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

على العموم اسف جدا ما راح اتدخل فى طريقة شرحك مرة اخرى

ارجو مثل ما قال الاخ الدكتور عماد حمدى بتلغى جميع المشاركات وتنقيح الدرس

أخي عبد الرحمن مداخلاتك أسعد بها وتساعني على إصلاح الأخطاء وتدارك النقائص وسأعدل الموضوع بإضافة ما أشرت له وما أشار له الأخ عماد :)

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .