24
ولدرس ال ال ما هوMatLab ? سابية، حيثم الحلمهار برمجية مخصصة لئة تطوي أداة وبي هوخلياضية المبنية دالريادوال ائف واللوظاتوفر فيه الكثير من ا تاضية. كمات الريمعادلف أنواع ال مختلي تسهل حل والت تساعد لغة برمجة على كتابة دوال و برامجلعديد منضافة ل خاصة. بالمميزات الخرى به. الت الـستعمالتضمن ا تMatLab لتالية:لت المجا الحسابت و ااضيا الريMath and computation رزميات تطوير الخواAlgorithm development Data acquisition ال ن مذ جلمحاكاة ة واModeling, simulation, and prototyping لبياناتتصوير استكشاف ويل وا تحلData analysis, exploration, and visualization لبيانيةم الهندسية وا الرسوScientific and engineering graphics ت المعدةلتطبيقا رسومية ل استخدامجهاتء وا بناApplication development, including graphical user interface building ومات حولمعلزيد من اللم ولMatLab وقع الشركة المنتجة راجع ملنظام : لhttp://www.mathworks.com / شغيل: ة الت و اجهك لـ عند تشغيلMatLab ستعمالك واجهة ال سوف تظهر للتالية: ات و زاهر الميند : ميخائيل صفوية الهندسة والتقنية – أعدا – كلنيلمعة وادى ال جا1

اساسيات الماتلاب

Embed Size (px)

Citation preview

Page 1: اساسيات الماتلاب

لدرس الول ا

?MatLabما هو

هو أداة وبيئة تطوير برمجية مخصصة للمهام الحسابية، حيث تتوفر فيه الكثير من الوظائف والدوال الرياضية المبنية داخليا

تساعدوالتي تسهل حل مختلف أنواع المعادلت الرياضية. كما خاصة. بالضافة للعديد من برامجدوال و كتابة علىلغة برمجة

المميزات الخرى به.

المجالت التالية:MatLabتتضمن استعمالت الـ

Math and computationالرياضيات و الحساب • Algorithm developmentتطوير الخوارزميات ••Data acquisition Modeling, simulation, andة والمحاكاة جمذنال•

prototyping ,Data analysisتحليل واستكشاف وتصوير البيانات •

exploration, and visualization Scientific and engineeringالرسوم الهندسية والبيانية •

graphics بناء واجهات استخدام رسومية للتطبيقات المعدة•

Application development, including graphical user interface building

راجع موقع الشركة المنتجةMatLabوللمزيد من المعلومات حول للنظام :

http://www.mathworks.com/

شغيل: ة الت اجه و

سوف تظهر لك واجهة الستعمالMatLabعند تشغيلك لـ التالية:

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

1

Page 2: اساسيات الماتلاب

تتكون الواجهة من مجموعة من الطارات

Command Window إطار الوامر.1

يظهر المحث علىحيث ، ومن خلله يتم إدخال الوامر للبرنامج هيMatLab)>>( ويتم كتابة المر بعده، وبما أن لغة الشكل

فإننا نحصل على الستجابة فور النتهاءInterpretedلغة مفسرة من كتابة البرنامج، ولكن يمكن تجنب إظهار النتيجة لكل أمر

بإلحاق المر بفاصلة منقوطة ;

Workspace إطار منطقة العمل .2

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

2

Page 3: اساسيات الماتلاب

حيث يظهر جميع المتغيرات المستعملة في جلسة العمل الحالية.

حيث يتم عرض Command History إطار الوامر السابقة .3 في جلسات عمل جميع الوامر التي سبق إدخالها

سابقة.

Current Directory إطار المجلد الحالي .4

في هذا الطار يتم عرض جميع الملفات الموجودة في مجلد حيث يوجد C:MATLAB6p5workالعمل الحالي والذي يكون عادة

به البرامج التي سنقوم بتشغيلها.

)...( لي مجلد آخر من خلل المفتاح هذا المجلديمكن تعديل المجاور لسم المجلد في أعلى الطار، أو من خلل نفس

في الصورة(5المفتاح الموجود على شريط الدوات )منطقة رقم

start الموجود أسفل الشاشة فهو شبيه لمفتاح Startأما مفتاح في نظام ويندوز، حيث يمكن من خلله تشغيل بقية الدوات

.MatLabالمرافقة لبيئة

ظة: ملح

عن قد تظهر لديك واجهة الستعمال مختلفة بعض الشيء المعروضة في الصورة، أو قد ترغب أنت في إخفاء بعض الطر أو

undockجعلها خارج الواجهة

الموجود على الجانبلجعل أي أطار خارجيا استعمل مفتاح اليمن العلوي من الطار، ولعادة داخل الواجهة أختار من الطار

View -< dock )window name(

ولغلقه استعمل مفتاح

الكثير من المعلومات المفيدةMatLabتوفر الوثائق المرافقة لـ MatLab ويمكنك البدا باستعراضها من خلل اختيار MatLabحول Help من قائمة Help.

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

3

Page 4: اساسيات الماتلاب

وأطر واجهةMatlabخلل هذا الدرس تعرفنا على بيئة تطوير MatLabالستخدام، في الدرس الثاني سوف نتعرف على أوامر

الخاصة بالتعامل مع المتجهات.

ثاني: س ال الدر

ت في ها متج MatLaال b

مجموعة من الوامر التي تجعل إدخال المتجهاتMatlabيوفر والتعامل معها أكثر سهولة، حيث تشبه الوامر المستعملة في

MatLab.أسلوب كتابة المتجهات في الجبر

خلل هذا الدرس سوف نوضح هذه الوامر، وكيفية استعمالها.

علومة: م

أو مختبرmatrix laboratory هي اختصار لعبارة MatLabكلمة هات: المصفوفات. متج ء ال إنشا

فصلي المتجهة عناصرابسط طريقة لتعريف المتجهة هي بكتابة [ ] قوسين مربعين ب ومحصورة مسافة كل منهابين

لحظ أن نتيجة المر الذي قمنا بكتابته قد ظهرت لنا مباشرة جربنفس المر السابق ولكن أضف في نهايته فاصلة منقوطة ;

هذه المرة ل تظهر نتيجة المر بعده.

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

4

Page 5: اساسيات الماتلاب

كما يمكن تعريف المتجهة من خلل تحديد القيمة الولى : قيمةالخيرة الزيادة: القيمة

لحظ المتغيرات المعرفة حالياWorkspaceفي إطار منطقة العمل في جلسة العمل

A و aكما بالشكل أعله يظهر حتى الن متغيرين هما

MatLab حساس لحالة الحرف Case-sensitive لذا فإن المتغير a .Aمختلف تماما عن المتغير

ظة: ملح

لعرض المتغير المعرفة في جلسةWhosيمكنك كتابة المر Command Windowالعمل الحالية في إطار الوامر

هات: متج ض ال عر

لعرض محتويات أي متجه نقوم بكتابة اسم المتجه ثم نضغطEnterعلى مفتاح الدخال

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

5

Page 6: اساسيات الماتلاب

أو يمكن عرض القيمة الثانية في المتجه فقط من خلل المر:

. في كل مرة يتم فيهاansلحظ المتغير الجديد الذي تم أنشاؤه كتابة امر تنتج عنه قيمة بدون تعيين هذه القيمة إلى متغير فأن

.ansتلك القيمة سوف تحمل في المتغير

قيم بالمتجه، أو لعرض القيمة الولى والرابعة فقط:4لعرض أول

الن وبعد أن تعرفنا على كيفية التعامل مع المتجهات في بيئة MatLabنختتم الدرس بحفظ جلسة العمل الحالية للرجوع لها ،

في أي وقت آخر

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

6

Page 7: اساسيات الماتلاب

لعمل: ة ا جلس ع جا ستر حفظ وا

Fil أختار من قائمةWorkSpaceلحفظ جلسة العمل e - < Sa ve work sp ac e A s

أختار اسم مناسب لملف جلسةSave Asومن خلل مربع حوار MyFirstMatالعمل مثل:

الملف سوف يحفظ في مجلد العمل والذي يكون عادة مجلدC: MATLAB 6p 5w ork ويعطى المتداد MAT

مرة ثانية يمكن استعادة ملف جلسةMatLabوعند تشغيل Filالعمل من خلل e - < O pe n ثم اختار الملف ذو المتداد Mat

الذي حفظت به جلسة العمل.

الدرس الثالث:

ات في فوف MatLaالمص b

خلل هذا الدرس سوف نستكمل دراسة المزيد من أوامر Matlab.والمتعلقة بإنشاء المصفوفات والتعامل معها

فات: شاء المصفو إن

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

7

Page 8: اساسيات الماتلاب

قريبا جدًا إلى طريقةMatLabطريقة تعريف المصفوفات في تعريف المتجهات، نبدأ مباشرة مع أول مثال:

>> D = [1 2 3; 4 5 6; 7 8 9]

D =

1 2 34 5 67 8 9

 

لحظ الفرق بين فصل العداد بمسافة أو فاصلة منقوطة، جرب هذا السلوب كذلك:

>> D = [ 1 2 3;4 5 6;7 8 9]

D =

1 2 34 5 67 8 9

>> 

كما يوجد عدد من الدوال لنشاء مصفوفات خاصة:

symmetric لنشاء مصفوفة متناظرة pascalدالة .1 لنشاء مصفوفات يتساوى فيها مجموع كلmagicدالة .2

الصفوف والعمدة. لنشاء مصفوفة صفرية.zerosدالة .31 لنشاء مصفوفة كل عناصرها تساوي onesدالة .4

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

8

Page 9: اساسيات الماتلاب

لحظ المثلة التالية

>> P = pascal(3)

P =

1 1 11 2 31 3 6

>> M= magic(3)

M =

8 1 63 5 74 9 2

>> z= zeros(2, 3)

z =

0 0 00 0 0

>> o = ones(2, 4)

o =

1 1 1 11 1 1 1

>> 

فات: بية على المصفو سا ت الح يا مل الع

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

9

Page 10: اساسيات الماتلاب

يجعل التعامل مع المتجهاتMatLabكما ذكرنا سابقا فإن والمصفوفات أكثر سهولة، جرب المثلة التالية:

>> Sum = D + P

>> Sub = P  D

>> D = D + 2

>> P2 = P * 2

>> Mult1 = P * D

>> Mult2 = P .* D 

Sum وينتج عنه المصفوفة D و Pالمر الول: يجمع كل من

Sub في المصفوفة P من Dالمر الثاني: ناتج طرح

D إلى كل عنصر من عناصر المصفوفة 2المر الثالث: يضيف

والتي يحفظ بها ناتج ضربMult1المر الرابع: ينتج عنه مصفوفة P في D

( هذا المرلحظ النقطة قبل علمة الضربالمر الخامس: ) ضرب والتي هي عبارة عن حاصل Mult2سينتج عنه مصفوفة

D في العنصر المقابل له في P كل عنصر في

جرب أيضا المرين التالين ولحظ الفرق في الناتج

>> M

M =

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

10

Page 11: اساسيات الماتلاب

8 1 63 5 74 9 2

>> MM = M ^ 2

MM =

91 67 6767 91 6767 67 91

>> M2 = M .^ 2

M2 =

64 1 369 25 4916 81 4

>> 

M ^ 2 يعني ضرب المصفوفة في نفسها

M .^ 2 .يعني ضرب كل عنصر في المصفوفة في نفسه

فوفة ة المص ور اد مح Tran ليج sp os e

>> M'

ans =

8 3 41 5 9

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

11

Page 12: اساسيات الماتلاب

6 7 2

فوفة س المص عكو اد م Inver ليج se

>> inv(M)

ans =

0.1472 0.1444 0.06390.0611 0.0222 0.10560.0194 0.1889 0.1028

>> 

جم المصفوفة ى ح ف عل تعر لل

>> size(z)

ans =

2 3 

>> size(o)

ans =

2 4

>>   

العدد الول يمثل عدد السطر والثانيالدرس الرابع:

د في حدو ير ال MatLabكث

أهداف الدرس:

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

12

Page 13: اساسيات الماتلاب

، وكيفيةMatLabالتعرف على كيفية تمثيل كثير الحدود في التعامل معها.

عدد من الدوال المبنية داخليا لتسهيل التعامل معMatlabيوفر ، حيث يتم تمثيلها كمتجه، مثل لتمثيلPolynomialsكثير الحدود

معادلة كثير الحدود التالية:

نعرف المتجه التالي:

>> x = [1 3 15 2 9]

x =

1 3 15 2 9

كذلك لتمثيل

>> Z = [1 0 0 0 2]

Z =

1 0 0 0 2 

ة: مة محدد د قي عن ود ثير الحد ة ك اب قيم حس

مثل،s=3 عند قيمة xلكي نحسب قيمة كثير الحدود الول polyvalيمكن استعمال دالة

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

13

Page 14: اساسيات الماتلاب

احسبها وتأكد من الناتج :(

د : حدو ير ال ذور كث جاد ج إي

التي تجعل القيمة الكلية للمعادلةsيقصد بالجذور قيم المتغير 0تساوي

كس: لع وا

معلومة، الدالة هنا يعني لكتشاف معادلة كثير الحدود لجذورpolyهي

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

14

Page 15: اساسيات الماتلاب

ثير الحدود: ة ك رب وقسم ض

convلضرب معادلتين كثير حدود في بعضهما استعمال دالة deconvوللقسمة الدالة

لقسمة كثيري حدود فأنه ينتج متجهين:deconvعند استعمال

ناتج القسمة.dالول • باقي القسمة )وفي المثال السابق كان الباقيrالثاني •

من القسمة متجه صفري(.

يمثل عدد العمدة

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

15

Page 16: اساسيات الماتلاب

الدرس الخامس:

ة في MatLabأوامر مفيد

وقفة قصيرة من المور الرياضية ودوالها التي تكلمنها عنها في matlabالدروس السابقة، لنتعلم المزيد عن كيفية استعمال

والوامر الساسية به.

وامر: ر ال ح إطا مس

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

Edit-< Clear أختار إذا كنت من محبي استعمال الفأرة.1Command Window

 clcأما إذا كنت تفضل استعمال لوحة المفاتيح فأكتب .2 .Enterثم

ظة: ملح

مسح إطار الوامر لن يحذف المتغيرات التي تم تعريفها خلل ستجد أنWorkspaceجلسة العمل، أنظر لطار جلسة العمل

 Whosالمتغيرات لم تتغير أو تحذف. يمكنك أيضا استعمال المر لعرض المتغير المعرفة في جلسة العمل الحالية للتأكد، إذا كان

إطار جلسة العمل غير ظاهر لديك.

عمل: ة ال لس عرفة في ج ت الم يرا تغ ع الم مي حذف ج

وهنا أيضا لدينا طريقتين:

Edit-< Clear أختار إذا كنت من محبي استعمال الفأرة.1Workspace

أما إذا كنت تفضل استعمال لوحة المفاتيح فأكتب.2clear ثم Enter .

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

16

Page 17: اساسيات الماتلاب

ر الوامر: ت إطا تويا عة مح با ط

File -< Printلطباعة محتويات إطار الوامر كاملة اختار

File -< Printولطباعة الجزء المحدد فقط من الطار أختار selection

File -< Pageوللتحكم في تنسيق المخرجات من الطباعة اختار Setup حيث تظهر لك مربع حوار page setupالذي يمكن من

خلله التحكم في تنسيق الصفحة مثل ظهور رأس الصفحةHeader،أو ل ومحتويات هذا الرأس، ظهور أرقام للسطر

المستعملة إثناء الطباعة.fontsوالخطوط

ة: يد ت مف ظا ملح

تذكر أنه حساس لحالةmatlabخلل عملك على • ليست مثلClear، لذلك فإن case sensitiveالحرف clear .على سبيل المثال

يمكن أن تكتب أكثر من أمر على سطر واحد في•MatLab.شرط أن تفصل بينهما بفاصلة منقوطة

>> A = [1 2 3 4 5]; B = [6 7 8 9 10];

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

17

Page 18: اساسيات الماتلاب

>> C= A + B

C =

7 9 11 13 15

>> 

كما يمكن كتابة المر الواحد على سطرين منفصلين، )خاصة إذا كان عرض الشاشة ل يتسع له( بأن نضع ثلث نقاط )...( عند

نهاية السطر الول.

>> D = [ 2 5 2 4 1 66 8 44 88 66 ...5 7 44 88 44 787 56 66 4]

D =

Columns 1 through 12 

2 5 2 4 1 66 8 44 88 66 5 7

Columns 13 through 19 

44 88 44 787 56 66 4

>> 

فإن الوامر التي تكتبها في أطارMatLab خلل العمل على وقد تسأل ما الفائدة منHistoryالوامر تحفظ في حافظة الـ

هذا؟

الفائدة منه أنه يمكنك إعادة استدعاء إي من هذه الوامر السابقة وتنفيذها من جديد، وذلك من خلل الضغط المتكرر على

مفتاح السهم للعلى حتى تصل إلى المر الذي تريد تكراره،وذلك دون الحاجة إلى إعادة كتابته مرة ثانية.

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

18

Page 19: اساسيات الماتلاب

للحصول على المساعدة حول أي أمر أو دالة في•MatLab مباشرة في إطار الوامر أكتب helpثم اسم

المر أو الدالة وسوف تظهر لك كل المعلومات التيhelp sin تريدها حول ذلك المر، جرب مثل

الدرس السادس:

ة في MatLabالبرمج

هوMatLabكما ذكرنا في الدرس الول من هذه السلسلة فإن بيئة تطوير برمجية تحوى العديد من الدوال الجاهزة، بالضافة إلى

إمكانية كتابة برامج ودوال خاصة بنا حسب الحاجة. خلل هذا.MatLabالدرس سوف نتعرف على الوامر البرمجة في

طية ة الشر جمل : if ال

تستخدم للختيار بين أمرين حسب شرط محدد

الصيغة العامة :

if <condition>

   <program1>

else

   <program2>

end

يتم تنفيذ الكود في conditionفي حالة تحقق الشرط program1 وإذا لم يتحقق الشرط يتم تنفيذ الكود في program2

مثال:

>> if n < 0

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

19

Page 20: اساسيات الماتلاب

  disp('n is negative')else  disp('n is positive')endn is positive>> n

n =

71

>> 

شكل أكثر تداخل باستعمال أكثر منifيمكن أن تأخذ جملة elseifمستوي لـ

if expression1  statements1elseif expression2  statements2else  statements3end

التي لها نفس العملswitchأو يمكن استعمال جملة

لة switch جم

الصيغة العامة:

switch switch_expr  case case_expr       statement,...,statement  case {case_expr1,case_expr2,case_expr3,...}      statement,...,statement  ...

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

20

Page 21: اساسيات الماتلاب

  otherwise      statement,...,statement

end

حيث:

switch_exprهو المتغير )أو التعبير( الذي سيتم اختبار قيمته.

case_expr أحد القيم التي يمكن أن يأخذها المتغيريمكن أن تتضمن الحالة الواحدة أكثر من قيمة، وإذا كانت القيمة للـ

switch_exprغير مدرجة في اي حالة ينتقل التنفيذ للقسم otherwise

ارية: ات التكر حلق ال

عندما نرغب في تكرار أمر معين )أو أكثر( عدة مرات، فإن أفضلطريقة لعمل ذلك هو بوضع هذا المر داخل حلقة تكرارية.

يوجد نوعين فقط من الحلقات التكرارية :MatLabفي

ة .1 for حلق

وتستخدم عندما يكون المطلوب هو التكرار لعدد محدد منالمرات.

الصيغة العامة

for variable = expression  statement  ...  statementend

مرات4مثال: حلقة بسيطة سوف تتكرر

<< for j=1:4

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

21

Page 22: اساسيات الماتلاب

jend

j =

1

j =

2

j =

3

j =

4

<<

ة .2 whil حلق e

حيث يكون التكرار هنا مرتبط بتحقق شرط ما، فإذا لم يعد الشرطمحقق تنتهي الحلقة

الصيغة العامة:

while expression   statements end

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

22

Page 23: اساسيات الماتلاب

 

! مكون منnمثال: هذا البرنامج يوجد أول عدد صحيح مضروبه خانة عشرية100

>> n = 1;while prod(1:n) < 1e100n = n + 1;end>> n

n =

70 

ظة: ملح

أي أن كل أمر يتمInterpreted هي لغة مفسرة MatLab لغة ترجمته للحاسوب قبل تنفيذه مباشرة، لذا فإن استعمال الحلقات

التكرارية سوف يجعل البرنامج أكثر بطأ، ويفضل استعمال الوامر كلما أمكن ذلك.MatLabوالدوال الجاهزة لـ

break :

يستخدم هذا المر ليقاف تنفيذ حلقة تكرارية وإعادة التحكمللبرنامج أو للحلقة الخارجية عند وجود حلقات متداخلة.

conti nu e :

ويبدأ فيiterationيقوم هذا المر بوقف التكرار الحالي للحلقة التكرار التالي له.

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

23

Page 24: اساسيات الماتلاب

جامعة وادى النيل – كلية الهندسة والتقنية – أعداد : ميخائيل صفوت و زاهر المين

24