The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط...

163
ة غ ل ب ة ج م ر لب اMATLAB ة غ ل ب ة ج م ر لب اMr.Hayder kadhum Mathematics ي م ل ع ل ا ث ح ب ل وا ي ل عا ل م ا ي ل ع ت ل ا ارة ور ة ي ل ك ومات ل ع م ل ا ا ي ج و ل و ن ك ب ات ج ب م را لب م ا س ق1

Transcript of The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط...

Page 1: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

البرمجة بلغة

MATLAB:لغة البرمجـــــــــــة

وزارة التعليم العالي والبحثالعلمي

تكنولوجيا المعلوماتكلية قسم البراميجات

1

Page 2: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

(The MATLAB programming language)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~.MATLAB- مقدمة عن لغة االحتساب التقني 1- الثوابت والمتغيرات.2- المصفوفات والعمليات على المصفوفات.3- المصفوفات متعددة األبعاد.4- مصفوفات الخاليا.5- السالسل الرمزية.6- جمل اإلدخال واإلخراج.7- الجمل الشرطيـــــة.8- جمل الدوران والتكرار.9

.MATLAB- ملفات البيانات الخاصة ببرنامج10- ايعازات المجموعات والبتات وااليعازات القاعدية.11- الدوال والبرامج الفرعية.12- الرسوم البيانية.13

:المصــــــــــادر1 -MATLAB 6.5,الدليل المرجعي والتعليمي, المهندس عبد الكريم البيكو

)دار شعاع للنشر(.2 -MATLAB Help Version 6.5

3 -www.mathworks.com

2

Page 3: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

MATLAB : The MATLAB Programming Languageلغة البرمجة

مقدمة البرنامج األشهر في األوساط العلمية، إذ يستخدم هذاMATLABيعتبر برنامج

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

وأحدثها وأيسرها برمجة، ومن الجدير ذكره بان هذا البرنامج يعلــّـــم أكثر من معهد وكلية في الواليات المتحدة األمريكية فقط، عدا تلك المعاهد في أوربا200

وبقية العالم، ويكفي أن تدخل إلى أحد محركات البحث على شبكة االنترنت ، فســـــتـُـــذهل من عدد المواقع التي تتحدث عن هذاMATLABوتكتب فقط

البرنامج. لغة برمجية عالية األداء تستخدم إلجراء الحساباتMATLAB وتعتبر لغة

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

.FORTAN و Cبلغات البرمجة األخرى مثل لغة )مختبرMATrix LABoratory أتت تسمية هذه اللغة من اختصار التعبير

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

)وهي أكثر من عشرين أداة(، وتعتبر هذه األدواتtoolboxesعلمية خاصة سميت هامة جداً لمستخدمي هذه اللغة، حيث تسمح لهم بتعلم وتطبيق تقنيات حل

متخصصة لمعالجة مشكالت ومسائل خاصة، مثل معالجة اإلشارة, ونظم التحكم والمحاكاة والشبكات العصبية والتحليل العددي والكمي والمالي واإلحصاء

ومسائل الجبر الخطي واالمثلية ... الخ. Graphical User أدوات واجهة التخاطب الرسومية MATLAB يؤمن برنامج

Interface (GUI).التي تجعلك تتعامل مع البرنامج على انه أداة تطبيقية متطورة

3

Page 4: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

MATLABتشغيل برنامج يتم تشغيل البرنامج بأحد الطرق التالية:

على الحاسبة التي تعمل عليها. يتم إضافة رمزMATLAB- بعد تنصيب برنامج 1 أيقونة البرنامج على سطح مكتب الحاسبة ويحمل الرمز ويتم فتحة

.double clickعند النقر على األيقونة بنقرتين مزدوجتين ثم أسمProgramsبرامج إلى ومنها start- أو عن طريق الذهاب إلى قائمة 2

.MATLAB 6.5البرنامج

ونسخة اإلصدارMATLAB عندها سوف تظهر لنا شاشة تحمل أسم البرنامج (. ثم بعد ثواني قليلة تظهر نافذة البرنامج1وسنة النشر كما في الشكل رقم )

( حيث تحتوي2الرئيسية والتي تكون في بداية التشغيل كما في الشكل رقم ) على نوافذWindowsهذه النافذة كسائر البرمجيات التي تعمل تحت بيئة نظام

فرعية.

MATLAB 6.5

4

Page 5: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

MATLABسطح مكتب برنامج

ستظهر على شاشتك عدة نوافذ عنوان احدهاMATLAB عند تشغيل برنامج MATLAB وتسمى سطح مكتب برنامج MATLABتحوي هذه النافذة وتتحكم ،

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

MATLABمكونات نافذة من األجزاء التالية:-MATLAB تتكون نافذة

- شريط العنوان ويكون ذات لون مميز عن باقي األشرطة يوجد على يساره1الرمز الصوري للبرنامج وأسم البرنامج وفي يمينه

، قائمة تحريرFile( يبدأ بقائمة ملف Lists Bar( أو )Menu Bar- شريط قوائم )2Edit قائمة عرض ،View وحتى قائمة المساعدة ... ،Help.

( ويضم رموز صورية لبعض االيعازات الموجودة فيTools Bar- شريط األدوات )3قوائم الشريط السابق.

هناك في الجزء األخير من شريط األدوات جزء مهم يدعى الدليل الحالي )Current Directoryوالذي يخبر المستخدم في أي جزء من الحاسب هو موجود )

MATLAB6P5\work( يعلمنا بأننا على الدليل )المجلد( 2حالياً وكما في الشكل )

: Cوعلى القرص

Start وفيه كلمتان األولى MATLAB- هنالك شريط مهام خاص بنافذة برنامج 4

تعلمك بأن البرنامجReadyوعملها كطريق مختصر لتنفيذ بعض االيعازات. بينما جاهز للعمل حسب التوجيه المعطى له.

5

Page 6: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

باإلضافة إلى األشرطة أعاله هناك مجموعة من النوافذ الفرعية التي يمكن ( حيث يتم تأشير أسم3تفعيلها أو إخفائها حسب الحاجة وذلك كما في الشكل )

(، لكن هناك نافذة أساسية للعمل هي نافذة√النافذة المرغوب بعرضها بإشارة ) ، والتي من خاللها يتم التعامل بكتابة وتنفيذ األوامرCommand Windowاألمر

بصورة مباشرة أو غير مباشرة. كما في الشكل رقم )View- تعتبر النوافذ الداخلية الظاهرة أسمائها في قائمة 5 ولكل نافذة منها عملها الخاص وكماMATLAB( هي من مكونات نافذة برنامج 3

يلي:-

وهي نافذة ال يمكن االستغناء عنها ألنCommand Windowأ- نافذة األمر : بواسطتها يتم تنفيذ األوامر وعرض النتائج التي نحصل عليها من تنفيذ تلك األوامر

(.وتكتب بعد عالمة الحث )<< : وهي عن واجهة تخاطبية تسمح لكWorkspaceب- نافذة ساحة العمل

حيث تظهر قائمة تضم أسمMATLABباستعراض وتحميل وحفظ متغيرات لغة هي من صنفMATLABالمتغير وحجمه وعدد بياناته وصنفه )جميع متغيرات لغة

(.4مصفوفة(, كما في الشكل )

6

Page 7: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

وهي أيضا واجهة رسومية تحدد الدليلCurrent Directoryج- نافذة الدليل الحالي :.MATLABالحاوي للملف الذي يتعامل معه برنامج

وهي نافذة تخاطبية )رسومية( تسمح لك بالبحثHelpد- نافذة المساعدة :واستعراض الوثائق بشكل مباشر.

وهي عبارة عن نافذة تستعرض بنيةLaunch Padو- لوحة البرامج التنفيذية :شجرية لألدوات والبرامج التنفيذية.

تمكنك هذه النافذة من إعادة تنفيذCommand Historyهـ- نافذة األوامر السابقة :األوامر السابقة المنفذة في نافذة األمر بدالً من كتابتها مرة أخرى.

بعد تفعيلها ....MATLAB( يبين النوافذ الداخلية لنافذة البرنامج 5والشكل )

7

Page 8: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

:مالحظات موجهةMATLAB عبارة عن مصفوفة، لغة MATLABكل متغير في -1

(.scalarبالمصفوفات حتى وان كانت المتغيرات أعداداً مفردة ) يستخدم لحذف المتغيرات والدوال منWorkspace ضمن clearاألمر -2

الذاكرة . Window يستخدم لمسح نافذة األمرWorkspace ضمن clcاألمر -3

Command. بتنسيقات أظهارMATLABيمكن إظهار النتائج العددية في لغة -4

مختلفة: format short, long, short e, long e, hex, blank, +, rat…,

منMATLAB كايعازات جاهزة في demo( demonstrationيمكن تنفيذ )-5خالل:

Help Demos( Toolboxes أختر الموضوع المحدد )مثال يمكن االستفادة منها في:-

(. ج- عرضHelp. ب- تعليم أكثر حول الموضوع )Demos أ- تنفيذ شفرة

.M–file إلىDemo البرنامج . د- استنساخ شفرة البرنامج من منDemos يمكن الدخول إلى مالحظـــــة :

Start

8

Page 9: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ثالث نقاط متتالية )...( في نهاية السطر مسبوقة بفراغ للداللة على-6استمرار االيعاز في السطر التالي.

فارزة منقوطة بعد اإليعاز تمنع طباعة المتغير أو الناتج في نافذة-7Command وكذلك في نافذة Editor.

إشارة النسبة المئوية )%( تستخدم للتعليق فكل نص يأتي بعدها يعتبر-8نص تعليق، مثل:

% This Program Compute Area

(, مثالً )m وتكون توسعها ).M–files تسمى MATLABملفات -9examplel.m.)

بحركةCommandاالحتفاظ بكتابة االيعازات السابقة والالحقة في نافذة -10السهم لألعلى واألسفل.

)النتائج واالخراجات( تظهر في شاشةMATLABنتيجة تنفيذ برنامج -11Command Window.لذلك يجب االنتقال إليها بعد التنفيذ

ال تحتاج إلى اإلعالن عن المتغيرات والثوابت واألنواعMATLABلغة -12البيانية األخرى المستخدمة بالبرنامج.

لتنفيذ مقطع من البرنامج )تعليمة أو مقطع من البرنامج( يتم تأشيرها-13ثم النقر أيمن فتظهر القائمة المنسدلة:

9

Page 10: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

Paste ونختار Command Window وننتقل إلى Copy وبعد ذلك نختار

وننفذها. ، أنقر على أيكونة الصفحة الفارغة )البيضاء(M-fileإلنشاء ملف نصي -14

New، أو اختر MATLABالموجودة ضمن شريط أدوات سطح مكتب

لفتح ملف موجودOpen أو اختيار M-file ومن ثم اختر Fileمن القائمة مسبقا. يستدعي هذه األوامر نافذة محرر النصوص التي يمكنك في

(, )6 )نافذة كتابة البرامج(. كما في األشكال )MATLABكتابة أوامر 7( ,)8 .)

الموجودة في شريطRunيمكن تنفيذ الملف المخزون باختيار أيكونة -15 منRun أو االختيار F5 أو عبر ضغط المفتاح Editorأدوات نافذة

، أو كتابة اسم الملف المخزون أمام عالمة الحث <<Debugالقائمة . بعد انتهاء كتابة البرنامج )الملف( يخزن هذاCommandفي نافذة

( على قرصكexample1.m باسم معين )مثالً M-fileالملف كملف أو الخزن ضمن شريطFile من القائمة Saveالصلب عبر اختيار االختيار

(. 9(. كما في الشكل )MATLABأدوات سطح مكتب مالحظة:

( فباإلمكان إعطاءUntitle1عند الخزن يحمل البرنامج اسم افتراضي )االسم الذي يرغب فيه المبرمج أو البقاء عليه.

10(: إنشاء ملف جديد.

Page 11: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

منExit MATLAB عبر االختيار MATLABعندما نريد إغالق برنامج -16 أو عبر كتابةMATLAB الموجودة في نافذة سطح مكتب Fileالقائمة

، أو عالمة )×( في زاوية سطح مكتبCommand في نافذة Exitاألمر MATLAB.العليا اليمنى

لإلعالن عن متغير عالمي بين الدوال والبرنامج الرئيسي.globalاإليعاز -17( بين االيعازات.toc( و )ticلحساب زمن تنفيذ البرنامج نضع تعليمتي )-18مثال:

clc;

clear;

tic;

(commands)

t = toc;

من خالل:Help للبحث عن إيعاز في الـ -19 Help MATLAB Help

هناك عدة طرق للبحث عن اإليعاز، منها:-

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

يفضل كتابتها فيبداية

أي برنامج

11

Page 12: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

1- Contents.

2- Index.

3- Search.

4- Demos.

يقوم بإيقاف تنفيذ البرنامج أو جزء من البرنامج أوbreak- اإليعاز 20 ال تـُـــنفذ(.breakالدالة )التعليمات التي بعد

: أمثـــــلــةfunction ……. if ……. …….

……. ……. …….

……. else …….

……. break; break;

break; .…….

….….

12

Page 13: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

للخروج من الدالة.return- اإليعاز 21function …… مثال:

……..

…….

……

return;

……..

.…...

رسالة الخطأ تحتوي على رقم السطر ونوع الخطأ.-22.ansأي عملية حسابية غير منسبة إلى متغير تنسب تلقائيا إلى المتغير -23 أي متغير غير مستخدم ويدخل في العمليات فان البرنامج سوف يعطي-24

خطأ.

MATLAB : MATLAB Symbolsرموز لغة من العناصر األساسية التالية:MATLAB تتكون لغة

A, B, … , Z, a, b, … , zأ- حروف أبجدية إنكليزية: وهي:

9, …, 2, 1, 0ب- أرقام حسابية: ج- رموز خاصة مثل: + , - ,= , < , > , ; , *, ( , ) , } , ... الخ.

Constants الثوابت : أنواع متعددة من الثوابت أهمها:-MATLAB يوجد في لغة

:Numerical Constants)أ( الثوابت العددية

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

خروج من الدالة

ال تنفذ

13

Page 14: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

وتتكون من عدد من األرقام ولها عدة أشكال هي:18, -472, 23, +0 مثل: ( الثوابت الصحيحة:1)

: أكبر عدد صحيح مستخدم.مالحظة >> bitmax

ans =

9.007199254740991e+015

1-253والتي تقابل 18.0, -472.5, 51.8, 0.0 مثل: ( الثوابت الحقيقية:2)

>> realmin مالحظة:

ans =

2.225073858507201e-308

>> realmax

ans =

1.797693134862316e+308

>> pi

ans =

3.146

10N حيث تحول الصيغة الجبرية ( الثوابت الحقيقية المدونة تدويناً يائياً:3)

أو2.0E3 في الجبر: 2.0¿103 فمثال تصبح EN يائية MATLABإلى صيغة 2.0E+3 بالتدوين اليائي في MATLAB في الجبر: -1.7¿102 وكذلك تصبح -

1.7E2 0.0032 في التدوين اليائي وكذلك تصبح: 10-3¿3.2E-3 : 3.2 2i , 6 - 9i , 6 + sin (0.5) * j , sqrt (-2) - 1 مثل: ( الثوابت العقدية:4)

= 1i = j−√ حيث: c = -7.7782 – 4.9497i إذا كان: : 1 مثال

cr = real cr = -7.7782( c فالستخراج الجزء الحقيقي )

14

Page 15: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

= ci = -4.9497 ci وإلستخراج الجزء التخيلي

imag (c)

c2 = 3 * (2 – sqrt (-1) * 3) 6.000 – 9.000i : 2 مثال

: 2 مثال : 1 مثال >> x = 100; >> x = 100;

>> x = double (x); >> x = uint8 (x);

>> y = x + 1; >> y = x + 1;

y = 101 Error

String Constants)ب( الثوابت الرمزية :

يسمى هذا النوع من "ثوابت" مجازاً ألن الثابت هذا يتكون من حروف وأرقام مفردة أي ' ' ويستخدم عادةquotationsورموز توضع بين عالمتي اقتباس

كعناوين توضح القيم الناتجة من الحسابات ووحداتها، تسمى العبارات التاليةوالموجودة بين الحاصرات العليا ثوابت رمزية.

'The speed of wind ='

�ُ'I love Basrah'

'My birthday = 1970'

ال تدخل في العمليات الحسابية )تستخدم لتقليل

حجم الخزن(

int8, uint8 (1 byte)int16, uint16 (2 bytes)int32, uint32 (4 bytes)int64, uint64 (8 bytes)

15

Page 16: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

كل الثوابت الرمزية أعاله، وان استخدمت أرقاما حسابية داخلها، فهي ال تحمل معنى حسابي، ومن الجدير بالذكر أثناء استعمال الثوابت الرمزية انه ال يجوزً استخدام حاصرات علوية داخل حاصراتها، كما ينبغي التنبيه أي أن هناك قيما

ويمكن كتابة ذلك بالصورة:B اقل من الحرف Aرمزية للحروف يعتبر الحرف 'A' < 'B'

Boolean Constants)جـ( الثوابت المنطقية:.false( في حالة 0 و )true( في حالة 1وهي الثوابت التي قيمتها العددية )

مثال:3 > 2 1

0 > 5 0

Variables المتغيرات : هناك بعض القواعد الواجب مراعاتها عند كتابة اسم المتغير وهي:

. ال يمكن استخدام الكلمات المفتاحية )الكلمات المحجوزة( أو الدوال1التي توفرها اللغة كأسماء متغيرات، مثال:

if, end, for, break, else, global, return, function, sin, log, …

COST, CoST, cost, Cost. أسماء المتغيرات حساسة لحالة الحرف ) 2

(.a وAمتغيرات مختلفة, وكذلك 1 يشبه رقم .MATLAB في لغة l (small letter). حرف 3 رمزا وسيهمل أي رمز زائد عن63. يمكن ألسماء المتغيرات أن تحوي 4

63. . يجب أن تبدأ أسماء المتغيرات بحرف متبوعا بأي عدد من األرقام أو5

. وال يجوز استخدام الرموز الخاصة أو الفراغ. underscoreاألحرف أو , …(.if, while, input تكتب بالحروف الصغيرة )MATLAB. جميع أوامر 6

وهي:MATLAB هناك عدة أنواع من المتغيرات في لغة Numerical Variables)أ( المتغيرات العددية :

16

Page 17: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ويمكنb إلى a و Z إلى A تتكون من حرف واحد أو مجموعة من الحروف من ويمكن أن تكون سلسلة من األرقام والحروف9 إلى 0أن يحتوي على أرقام من

بشرط أن يبدأ بحرف )خليط من أرقام وحروف مبدوءة بحرف( ويمكن كذلك أن رمزاً. وتكون قيمة المتغير عددية63 حتى underscoreيحتوي المتغير على

) صحيح، حقيقي، عقدي أو أسي(.مثال:

Ali_Ahmed, X2, S2, ks, K

التعبير الحسابي يتكون التعبير الحسابي من مجموعة من الثوابت والمتغيرات تجمع بينهما

عمليات حسابية ويستخدم فيها الرموز الحسابية مثل +، -، /، *، ^ واألمثلة آالتية.MATLABتعبر عن تعابير جبرية صيغت بلغة

MATLAB التعبير بلغة التعبير الجبري a – 3 * b a – 3b

c ^ 2 – 10 c2 - 10

(a ^ 2 + b ^ 2) / 12 a2 + b2 / 12

m * (7 * d – 8 * g) m (7d – 8g)

Rule of Precedenceقاعدة األسبقية )األولوية( وهذه القاعدة مهمة في فهم وترتيب أولويات العمليات الحسابية في التعابير

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

والجمع )أو الطرح( أخيراً والمثال التالي يوضع هذه القاعدة:التعبير:

A / B + C + يكافئ في الجبر CAB

17

Page 18: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

يكافئ في الجبر A( / B + Cبينما يكافئ التعبير )A

B+C

على نتيجةAالن الجمع داخل األقواس يجري أوالً حسب األولوية ثم يقسمِ القوس.

التعبيرمثال: M) ^ A - B / (K * F - X

تنفيذ العمليات حسب الخطوات التالية:تأخذ األقواس األولوية األولى، وتنفذ العمليات داخلها حسب األولوية أيضا.

لتصبح كمية واحدة.M إلى األس X: رفع العملية األولى لتصبح كمية واحدة.F في K ضرب العملية الثانية: : طرح نتيجة العملية األولى من نتيجة العملية الثانية وتصبح النتيجةالعملية الثالثةكمية واحدة.

على نتيجة العملية الثالثة وتصبح النتيجة كمية واحدة.B: تقسم العملية الرابعة وتصبح النتيجة كمية واحدة.A: تطرح نتيجة العملية الرابعة من العملية الخامسة

Arithmetic Statementالجملة الحسابية

18

Page 19: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

تكافئ المعادلة الحسابية في الجبر إال أنMATLAB الجملة الحسابية في MATLABتشترط أن يكون اسم المتغير المراد حساب قيمته في الطرف

األيسر وحده بدون أشارة بينما يكون التعبير الحسابي )بقية المعادلة( في الطرفاأليمن، كما في األمثلة التالية:

1( y = A * X + B

2) A = 3.14 * R ^ 2

مثال:أولوية العمليات الحسابية في الجمل الحسابية:

Z = A – B / C

يمكن مالحظة أن إشارة المساواة تمثل آخر أولوية حسابية بعد انتهاء جميعالعمليات الحسابية في الطرف األيمن.

String Variables )ب( المتغيرات الرمزية :

تشبه في تركيبها المتغيرات العددية والفرق الوحيد بينهما هو أن قيمة المتغيرالرمزي تكون رمزية )محصورة بين عالمتي اقتباس(.

String Statementالجملة الرمزية تشبه في تركيبها الجملة الحسابية والفرق الوحيد بينهما هو أن المتغير في

طرفها األيمن يكون رمزياً )محصورة بين عالمتي اقتباس( والتعبير في طرفهااأليسر يكون متغير.

واألمثلة التالية توضح ذلك:A = 'Hameed Abdul–Kareem';

N = 'Number of Student';

Dept = �'Computer Science';

1

32

19

Page 20: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

التعابير في الطرف األيمن ال يكون لها قيم حسابية لو استخدمت فيمالحظة:عمليات حسابية ألنها موضوعة داخل ' ' .

:Library Functionsاالقترانات المكتبية اقترانات رياضية يكثرMATLAB يتوفر في معظم الحاسبات باستخدام لغة

استعمالنا لها، مثل الدوال واالقترانات المثلثية واللوغارتيمية وغيرها ويمكناستدعائها في أي وقت، ومنها:

المعـــــــــنىاالقترانSqrtالجذر التربيعيabsالقيمة المطلقةexp 10المرفوع إلى قوة بأساسlogاللوغاريتم الطبيعي

log 10اللوغاريتم العشريlog 2 2اللوغاريتم ذو األساسsinجيب الزاويةCosجيب تمام الزاويةTanظل الزاويةatanظل معكوس الزاويةfixالتدوير باتجاه الصفر

floorالتدوير باتجاه الالنهاية السالبةceilالتدوير باتجاه الالنهاية الموجبة

roundالتدوير باتجاه أقرب عدد صحيحmodالجزء الصحيح من حاصل القسمةremبقية القسمةSignإشارة العدد إذا كانت موجبة, سالبة, صفرimagالقسم التخيليrealالقسم الحقيقي

factorالعوامل األولية 20

Page 21: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

Isprime يعيدtrueإذا كان العدد أوليا primesينشئ قائمة باألعداد األولية

gcdالقاسم المشترك األعظمlcmالمضاعف المشترك األصغر

مثال:>> x = 2.6;

>> y1 = fix (x); y2 = floor (x); y3 = ceil (x); y4 = round (x);

y1 = 2

y2 = 2

y3 = 3

y4 = 3 س/ مالفرق بين الدوال األربعة أعاله؟

مالحظة: تأخذ االقترانات المكتبية أولوية بعد األقواس عند تنفيذ العمليات الحسابية.sin (a + b) – m / sqrt (d)

يكون تنفيذ العمليات الحسابية كما يلي:.b مع a: إيجاد قيمة جمع العملية األولى(.1: إيجاد قيمة جيب الزاوية لناتج العملية )العملية الثانية.d: إيجاد قيمة الجذر التربيعي لــ العملية الثالثة

(.3 على ناتج العملية )m: إيجاد ناتج قيمة ناتج قسمة العملية الرابعة ( وتصبح النتيجة2( من ناتج العملية )4: طرح ناتج العملية )العملية الخامسة

النهائية كمية واحدة )عدداً واحداً(. تمثل الجمل التالية إقترانات مكتبية في الجبر وإزائها قيمتها فيمثال:

MATLAB:

21 3

45

21

Page 22: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

b=√a2+10 b = sqrt ( a ^ 2 + 10 )

z = ln (cx + ny) z = log (c * x + n * y)

y = sin 3 (x + nk) y = (sin (x + n * k)) ^ 3

s = tan-1 (y / x) s = atan (y / x)

r=2√e x−5 r = 2 * sqrt (exp (x – 5 ))

t = abs (x – sqrt (y)) / (a + m)

g = p ^ (3 / 2) + (a * b / c) ^ (1 / 5)

22

t=|x−√ y|(a+m)

g=p3

2+5√abc

Page 23: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

المصفوفات والعمليات على المصفوفات لقد كانت جميع الحسابات التي أجريتها حتى اآلن مؤلفة من أعداد وحيدة البعد

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

MATLAB.إلى إجراء العمليات الرياضية على مصفوفة من البيانات المصفوفة البسيطة

مع المصفوفات بشكل مباشر وبطريقة سلسلة، إذMATLAB يتعامل برنامج أن إنشاء المصفوفات يتم بطريقة سهلة جداً.

x = [1, 3, 7, 9, 20] ( 1 مثال ) : x≤π≥0 حيث y = sin (x) (: 2 مثال )

x = [0 0.1 * pi .2 * pi .3 * pi .4 * pi .5 * pi .6 * pi .7 * pi .8 * pi .9 * pi

pi]

y = sin (x)

على أن تبدأ بقوسMATLAB يقتصر كل ما عليك إلنشاء مصفوفة في لغة يساري ثم تدخل القيم المطلوبة بفراغ أو )فارزة( ثم أغلق المصفوفة بقوس

يعلم بأنك تريد حسابMATLAB فأن برنامج sin (x)يميني. وعندما تريد كتابة وتجعل هذهy ويقوم بوضع النتائج في مصفوفة أخرى هي xالجيب لكل قيم

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

عنصر، يمكن الوصول إلى أي عنصر منها11 المصفوفة أعاله تتكون من باستخدام الفهرسة له.

x 0 0.1π

0.2π

0.3π

0.4π

0.5π

0.6π

0.7π

0.8π

0.9π

π

y 0 0.31 0.59 0.81 0.95 1 0.95 0.81 0.59 0.31 0

23

Page 24: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> x (3)

ans =

0.6283

>> y (5)

ans =

0.9511

يستخدمMATLAB ولتعريف مجموعة من العناصر بنفس الوقت فأن برنامج النقطتين المتعامدتين ):(.

>> x (1: 5)

ans =

0 0.3142 0.6283 0.9425 1.2566

بأن تبدأ5: 1، ويجبرك الرمز xهذه هي العناصر الخمسة األولى من المصفوفة .5 وتعدّ حتى الرقم 1بالرقم

مثال:>> x (7: end)

ans =

1.885 2.1991 2.5133 2.8274 3.1416

إلىendوهنا تكمل من العنصر السابع وحتى نهاية المصفوفة، إذ تشير الكلمة آخر عنصر من عناصر المصفوفة.

مثال:>> y (3: -1: 1)

ans =

0.5878 0.3090 0

1: 1: -3هنا العنصر الثالث ثم الثاني ثم األول بترتيب عكسي، ويخبرك الرمز .1 وتقف عند الرقم 1 وتعدّ نزوالً بقيمة 3بأن تبدأ بالرقم

مثال:>> x (2: 2: 7)

24

Page 25: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

0.3142 0.9425 1.5708

7: 2: 2، ويخبرك الرمز xهنا العنصر الثاني والرابع والسادس من المصفوفة .7 وتقف عندما تصل إلى الرقم 2 وتعدّ نحو األعلى بــ 2بأن تبدأ بالرقم

مثال: >> y ([8 2 9 1])

ans =

0.8090 0.3090 0.5878 0

بالترتيبy[لوضع عناصر المصفوفة 1 9 2 8 استخدمنا هنا مصفوفة أخرى ] الذي نرغب فيه، حيث وضع العنصر الثامن أوالً والعنصر الثاني ثانيا، بينما وضع

9 2 8العنصر التاسع ثالثاً والعنصر األول رابعا. في الواقع تدل المصفوفة ].y[عناوين العناصر المرغوبة من المصفوفة 1مثال:

>> y ([1 1 3 4 2 2])

ans =

0 0 0.5878 0.8090 0.3090 0.3090

مثال: ال يقبل الدليل كرقم غير صحيح حيثMATLABتوضح األمثلة التالية بأن برنامج

يعطي رسالة خطأ.>> y (3.2)

Error

>> y (3.7)

Error

>> y (11.6)

Error خطأ بسبب تجاوز الدليل طول المصفوفةإنشاء المصفوفة

25

Page 26: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

عبر كتابة كل العناصر ضمن المصفوفة،x لقد قمنا سابقاً بإدخال قيم مصفوفة تحوي احد عشر عنصراً فقط، ماذا لو احتوتxوهنا األمر مقبول الن المصفوفة

عنصراً؟111 ، وذلك باستخدام النقطتينxهناك طريقتان إلدخال عناصر المصفوفة

المتعامدتين.أمثلة:

1) >> x = (0: 0.1: 1) * pi

2) >> x = linspace (0, pi, 11 )

مثال: >> a = [1: 7]

a =

1 2 3 4 5 6 7

مثال: >> b = [linspace (1, 7, 5)]

b =

1 2.5 4 5.5 7

مثال:>> a = (1: 7)

a =

1 2 3 4 5 6 7

مثال:>> a = 1 :5 , b = 1: 2: 9

a =

1 2 3 4 5

b =

القيمة االبتدائيةعدد القيمالقيمة النهائية

26

Page 27: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

1 3 5 7 9

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

واحد إذا لم تفصل بفواصل:>> c = [b a]

c =

1 3 5 7 9 1 2 3 4 5

.a متبوعة بعناصر b مؤلفة من عناصر cوبذلك تم إنشاء مصفوفة تكييف المصفوفة

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

العناصر واقعة في أسطر مختلفة. مثال:

>> c = [1 2 3 4 5]

c =

مصفوفة أفقية 5 4 3 2 1 مثال:

>> c = [1; 2; 3; 4; 5]

c =

مصفوفة عمودية )كل عنصر في سطر( 1

2

3

4

5

مثال:>> a = 1: 5

27

Page 28: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

a =

1 2 3 4 5

مثال:>> b = a'

b =

1

2

3

4

5

مثال:>> k = b; (تنسيب المصفوفات)

مثال:>> g = [1 2 3 4 ; 5 6 7 8 ]

g =

مصفوفة متكونة من سطرين وأربعة أعمدة 4 3 2 1 5 6 7 8

مثال:>> g = [1 2 3 4

5 6 7 8

9 10 11 12]

بأن ينتقل إلىMATLAB يخبرنا برنامج Return أو Enterكذلك فأن ضغط مفتاح سطر جديد أثناء إدخال قيم المصفوفة.

مثال:>> h = [1 2 3 ; 4 5 6 7]

aلقد استخدمنا هنا إشارة المنقول )المدور( لتحويل السطر .bإلى العمود

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

تنزيل سطرآخر

28

Page 29: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

Error عدد األعمدة غير متساويةمالحظة:

; half = g (2, 2) عنصر

; full = g مصفوفة

مثال:>> c = [1: 5; 2: 2: 10; 7: -1: 3]

c =

1 2 3 4 5

2 4 6 8 10

7 6 5 4 3

>> c (1, 2)

ans =

2

مالحظة: طريقة أخرى لإلشارة إلى عناصر المصفوفة باستخدامMATLAB تقدم لغة

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

عناصر العمود األول ثم الثاني ثم الثالث وهكذا(.>> c (12)

ans =

4

العمليات الحسابية بين المصفوفة والعدد المفرد تجري العديد من العمليات الحسابية كعملية اإلضافة والطرح والضرب

والقسمة بين العدد المفرد وبين جميع عناصر المصفوفة.مثال:

>> g – 2 % ًالمعرفة سابقا g المصفوفة

29

Page 30: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

-1 0 1 2

3 4 5 6

7 8 9 10

.2 العدد gوهنا ط���رح من كل عنصر من عناصر المصفوفة مثال:

>> 2 * g – 1

ans =

1 3 5 7

9 11 13 15

17 19 21 23

مثال:>> 2 * g / 5 + 1

ans =

1.4 1.8 2.2 2.6

3 3.4 3.8 4.2

4.6 5 5.4 5.8

، ثم2 بالعدد gأما في هذه الحالة، فقد ض�رب كل عنصر من عناصر المصفوفة �ضيف لها الواحد.5ق�ّسم الناتج على العدد وبعدها أ

العمليات الحسابية بين المصفوفات ال تعتبر العمليات الحسابية بين المصفوفات بسيطة تماماً مثل العمليات

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

واليك األمثلةMATLABوطرح وضرب وقسمة من العمليات األساسية في لغة التالية:

أما هنا فضرب كل عنصر من عناصر , ثم ط�رح من كل2 بالعدد gالمصفوفة

1عنصر من العناصر الناتجة الرقم .

30

Page 31: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> g % إعادة استخدام المصفوفة السابقة g =

1 2 3 4

5 6 7 8

9 10 11 12

>> h = [1 1 1 1 ; 2 2 2 2 ; 3 3 3 3]

h =

1 1 1 1

2 2 2 2

3 3 3 3

>> g + h

ans =

2 3 4 5

7 8 9 10

12 13 14 15

>> ans – h

ans =

1 2 3 4

5 6 7 8

9 10 11 12

>> 2 * g – h

ans =

1 3 5 7

8 10 12 14

15 17 19 21

>> 2 * (g – h)

ans =

31

Page 32: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

0 2 4 6

6 8 10 12

12 14 16 18

الحظ أيضاً بأن العمليات الحسابية بين المصفوفات تعتمد نفس تسلسل أسبقية العمليات المعتمد عند إجراء العمليات الحسابية على األعداد المفردة,

ويمكن أيضاً استخدام األقواس لكسر تلك األولوية. كما ويمكن ضرب كل عنصر�سبق إشارة بالعنصر المناظر له من المصفوفة األخرى أو قسمته شرط إن ت

الضرب أو القسمة بنقطة كما في الشكل: >> g .* h

ans =

1 2 3 4

10 12 14 16

27 30 33 36

عنصر بعنصر عبر استخدامh بالمصفوفة gولقد قمنا هنا بضرب المصفوفة إشارة الضرب المسبوقة بنقطة.

MATLAB يجعل وجود النقطة أمام إشارة الضرب القياسية برنامج مالحظة:

يضرب المصفوفتين عنصرا بعنصر, بينما تخبر إشارة الضرب لوحدها البرنامج بانيقوم بضرب مصفوفات عادية.

>> g * h

Error

h عدد األعمدة للمصفوفة ¿ g الن عدد األسطر للمصفوفة كما إن قسمة مصفوفتين عنصراً بعنصر ممكنة عن طريق كتابة إشارة القسمة

مسبوقة بنقطة كما في المثال التالي:>> g ./ h

ans =

1.0000 2.0000 3.0000 4.0000

2.5000 3.0000 3.5000 4.0000

32

Page 33: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

3.0000 3.3333 3.6667 4.0000

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

نقطة, فإننا ستحدد قسمة مصفوفات عادية.>> g .^ 2

ans =

1 4 9 16

25 36 49 64

81 100 121 144

.gولقد وجدنا هنا مربع كل عنصر من عناصر المصفوفة المصفوفات القياسية

من إنشاء مصفوفات قياسية, وذلك لتمتع تلكMATLAB يمكّنك برنامج المصفوفات بخواص وميزات خاصة, وتتضمن أيضاً المصفوفات التي جميع

عناصرها صفرية أو مساوية للواحد, ومصفوفات األعداد العشوائية والمصفوفاتالقطرية والمصفوفات التي عناصرها أعداد ثابتة.

>> ones (3) (مصفوفة واحديه)

ans =

1 1 1

1 1 1

1 1 1

>> zeros (2, 5) (مصفوفة صفرية)

ans =

0 0 0 0

0 0 0 0

>> size (g) (تحديد أبعاد مصفوفة)

األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر األعمدةاألسطر

33

Page 34: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

3 4

>> ones (size (g))

ans =

1 1 1 1

1 1 1 1

1 1 1 1

zeros أو ones (n) عندما يتبع اسم المصفوفة القياسية برقم مفرد مثل مالحظة:

(n) فأن برنامج MATLAB ينشىء مصفوفات مربعة n¿

nتحتوي على أصفارا أو واحديه على الترتيب.

>> eye (4) (مصفوفة الوحدة)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

>> rand (3) (مصفوفة عشوائية)

ans =

0.9501 0.4860 0.4565

0.2311 0.8913 0.0185

0.6068 0.7621 0.8214

>> rand (1, 5)

ans =

0.4447 0.6154 0.7919 0.9218 0.7382

مثال:>> d = pi;

>> d * ones (3, 4)

34

Page 35: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

3.1416 3.1416 3.1416 3.1416

3.1416 3.1416 3.1416 3.1416

3.1416 3.1416 3.1416 3.1416

>> d + zeros (3, 4)

ans =

3.1416 3.1416 3.1416 3.1416

3.1416 3.1416 3.1416 3.1416

3.1416 3.1416 3.1416 3.1416

>> repmat (d, 3, 4) (3¿4باألبعاد d (تكرار القيمة ans =

3.1416 3.1416 3.1416 3.1416

3.1416 3.1416 3.1416 3.1416

3.1416 3.1416 3.1416 3.1416

مصفوفة فتكون حينئذ تكرر مصفوفات وليس قيم.d يمكن ان تكون مالحظة: التعامل مع المصفوفة

العديد من الطرق للتعامل مع المصفوفات,MATLABلقد امتلك برنامج �حدّد المصفوفة حتى وكانت هذه الخاصية هي أهم مميزات البرنامج, فما إن ت

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

. ولشرح التعامل معMATLABالتعليمات مفتاح االستعمال الفعال لبرنامج المصفوفات نأخذ األمثلة التالية:

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

A =

1 2 3

4 5 6

35

Page 36: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

7 8 9

>> A (3, 3) = 0

A =

1 2 3

4 5 6

7 8 0

>> A (2, 6) = 1

A =

1 2 3 0 0 0

4 5 6 0 0 1

7 8 0 0 0 0

>> A (:, 4) = 4

A =

1 2 3 4 0 0

4 5 6 4 0 1

7 8 0 4 0 0

>> A (:, 4) = [4; 4; 4]

A =

1 2 3 4 0 0

4 5 6 4 0 1

7 8 0 4 0 0

>> A (:, 4) = [4 4 4]

Error بسبب عدم وجود فارزة منقوطةمثال:

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

B =

7 8 9

( صفراً.3, 3جعل العنصر في الموقع )

وبما ان1( تكون 6, 2جعل العنصر في الموقع ) ال تمتلك ستة أعمدة, لذلك سيقومAالمصفوفةِ

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

4جعل جميع عناصر العمود الرابع تكون

4جعل جميع عناصر العمود الرابع تكون

36

Page 37: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

4 5 6

1 2 3

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

A =

1 2 3

4 5 6

7 8 9

>> C = [A B(:, [1 3])]

C =

1 2 3 7 9

4 5 6 4 6

7 8 9 1 3

>> B = A (1: 2, 2: 3)

B =

2 3

5 6

كمصفوفة عمود واخذ أعمدتهاA بجعل المصفوفة B تشكيل المصفوفة مثال:عمود بعد عمود.

>> B = A (:)

B =

1

4

7

2

5

8

3

A عبر توسيع المصفوفة Cحصلنا على المصفوفة

.Bبإضافة العمودين األول والثالث من المصفوفة

37

Page 38: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

6

9

مثال:>> B = [1 2 3; 4 5 6; 7 8 9];

>> B = reshape (A, 1, 9)

B =

1 4 7 2 5 8 3 6 9

>> B = reshape (A, [1 9]);

B =

1 4 7 2 5 8 3 6 9

إلى مصفوفة أحادية3*3في المثال أعاله إيعاز تحويل أبعاد المصفوفة الثنائية 1*9

مثال:>> A = B

A =

1 2 3

4 5 6

7 8 9

>> B (:, 2) = [ ]

B =

1 3

4 6

7 9

.reshape إيجاد منقول )مدور( المصفوفة وإعادة تشكيلها بالتعليمة مثال:>> C = B'

C =

1 4 7

عبر حذف كل اسطر العمودBتمت إعادة صياغة المصفوفة Bًالثاني من المصفوفة األصلية, وعندما تضع أي عنصر مساويا

للمصفوفة الفارغة ] [, فهذا يعني انك تريد حذفها من المصفوفةوتقليصها لتحافظ على العناصر المتبقية بعد الحذف.

38

Page 39: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

3 6 9

>> reshape (B, 2, 3)

ans =

1 7 6

4 3 9

عمود بعد عمود وللحصول على سطر بعد سطرreshape تعمل تعليمة مالحظة: ( .transportنعمل المدور )

.C هنا حذفنا السطر الثاني في المصفوفة مثال: >> C (2, :) = [ ]

C =

1 4 7

.C بعناصر A استبدلنا عناصر السطر الثاني من المصفوفة مثال:>> A (2, :) = C

A =

1 2 3

1 4 7

7 8 9

مثال:>> x = -3: 3

x =

-3 -2 -1 0 1 2 3ً هناك المصفوفات المنطقية الناتجة عن العمليات المنطقية. كما يمكن أيضا

استخدام المصفوفات المنطقية إذا كان حجمها مساويا لحجم المصفوفات وهيtrue( أي 1المعنونة, ويتم في هذه الحالة اإلبقاء على العناصر ذات القيمة )

وهي العناصر غيرfalse( أي0العناصر المحققة للشرط بينما يتجاهل العناصر )المحققة الشرط. ولنأخذ المثال التالي:

>> abs (x) > 1

39

Page 40: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

1 1 0 0 0 1 1

>> y = x (abs (x) > 1)

التي قيمتها اكبر منx من تلك العناصر من المصفوفة yهنا تم إنشاء المصفوفة الواحد.

y =

-3 -2 2 3

ويمكن العمل مع المصفوفات الثنائية المنطقية كما عملنا مع األحادية المنطقية,كما في المثال التالي:

>> B = [5 -3; 2 -4]

B =

5 -3

2 -4

>> x = abs (B) > 2

x =

1 1

0 1

>> y = B (x)

y =

5

-3

-4

ترتيب المصفوفة عندما تعطى متجه من البيانات فان أهم عملية يمكن إن نحتاجها وتود تطبيقها

, كما هو واضحMATLAB عملية الترتيب في لغة sortهي الترتيب, ويؤمن االيعاز في المثال التالي:

40

Page 41: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

= x )إيعاز ترتيب األرقام بصورة عشوائية( <<

randperm (8) x =

7 5 2 1 3 6 4 8

>> [y, indx] = sort (x)

y =

1 2 3 4 5 6 7 8

indx =

4 3 5 7 2 6 1 8

وعندما تكون المصفوفة ثنائية البعد فان عملية الترتيب تتم بشكل مختلف وكمايلي:

)عمود بعد عمود( >> A = [randperm (6); randperm (6); randperm (6); randperm (6)]

A =

1 2 5 6 4 3

4 2 6 5 3 3

2 3 6 1 4 5

3 5 1 2 4 6

>> [As, idx] = sort (A)

As =

1 2 1 1 3 1

2 2 5 2 4 3

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

المواقع القديمة الترتيبالجديد

41

Page 42: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

3 3 6 5 4 5

4 5 6 6 4 6

idx =

1 1 4 3 2 2

3 2 1 4 1 1

4 3 2 2 3 3

2 4 3 1 4 4

البحث عن مصفوفة جزئية من المفيد في بعض األحيان إن تعرف موقع أو دليل العناصر التي تحقق

بتحقيقMATLABشرطا معينا, والموجودة ضمن مصفوفة معينة. يقوم برنامج , والذي يعيد لك دليل أو موقع العنصر الذي تكون نتيجةfindهذه الغاية عبر االيعاز

, واليك المثال التالي:trueتحقيقه لشرط ما >> x = -3: 3

x =

-3 -2 -1 0 1 2 3

>> k = find (abs (x) > 1)

k = (الموقع) 1 2 6 7

>> y = x (k)

y =

-3 -2 2 3

>> y = x (abs (x) > 1)

y =

-3 -2 2 3

أن يعمل في المصفوفات الثنائية البعد أيضا )عمود بعدfindويستطيع االيعاز عمود(, فمثال:

42

Page 43: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

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

A =

1 2 3

4 5 6

7 8 9

>> [i, j] = find (A > 6)

i =

3

3

3

j =

1

2

3

يوجد عناصر القطر الرئيسي للمصفوفة.diag االيعاز مالحظة:

A = [7 8 9 97 8 9 94 5 8 67 8 9 9 ]

>> diag (A)

ans =

7

8

8

9

مالحظة:

43

Page 44: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

الذين يوجدان اكبر واصغر عنصرmax، min الدالتين MATLABيوفر برنامج في المصفوفة ومواقعهما.

في حالة المصفوفة األحادية:>> v = rand (1, 6)

v =

0.3046 0.1897 0.1934 0.6822 0.3028 0.5417

>> max (v)

ans =

0.6822

>> [mx, i] = max (v)

mx =

0.6822

i =

4

>> min (v)

ans =

0.1897

>> [mn, j] = min (v)

mn =

0.1897

j =

2

في حالة كون المصفوفة ثنائية البعد:>> A = rand (4, 6)

A =

0.1509 0.8537 0.8216 0.3420 0.7271 0.3704

0.6979 0.5936 0.6449 0.2897 0.3093 0.7027

44

Page 45: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

0.3784 0.4966 0.8180 0.3412 0.8385 0.5466

0.8600 0.8998 0.6602 0.5341 0.5681 0.4449

>> [mx, r] = max (A)

mx =

0.8600 0.8998 0.8216 0.5341 0.8385 0.7027

r =

4 4 1 4 3 2

مالحظة: >> max (A'); (اكبر عنصر لكل سطر) >> [mn, r] = min (A)

mn =

0.1509 0.4966 0.6449 0.2897 0.3093 0.3704

r =

1 3 2 2 2 1

مالحظة: >> min (A'); (اصغر عنصر لكل سطر) . اكبر عنصر في مصفوفة ثنائية البعدمالحظة:

>> mmx = max (mx)

mmx =

0.8998

>> [mmx, i] = max (A (:))

mmx =

0.8998

i =

8

توجد طريقة أخرى:مالحظة: >> z = max (max (A));

45

Page 46: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> z = min (min (A));

.sum نفس الشيء لحساب المجموع مالحظة:>> z = sum (sum (A));

توابع التعامل مع المصفوفة , باإلضافة إلى عنونة المصفوفات والمقدرة علىMATLAB يزودك برنامج

التعامل مع المصفوفات التي شرحناها سابقاً, بعمليات التعامل مع المصفوفات,وهي سهلة التطبيق مثل:

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

A =

1 2 3

4 5 6

7 8 9

>> flipud (A) up-down قلب المصفوفة باتجاه ans =

7 8 9

4 5 6

1 2 3

>> fliplr (A) left-right قلب المصفوفة باتجاه ans =

3 2 1

6 5 4

9 8 7

>> triu (A) (upper) استخالص الجزء المثلية العليا ans =

1 2 3

0 5 6

46

Page 47: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

0 0 9

>> tril (A) (lower) استخالص الجزء المثلية السفلى ans =

1 0 0

4 5 0

7 8 9

>> g = det (A); )حساب محدد المصفوفة )قيمة

>> h = inv (A); )حساب معكوس المصفوفة )مصفوفة>> i = eig (A); حساب القيم الذاتية للمصفوفة >> j = eye (3) حساب مصفوفة الوحدة j =

1 0 0

0 1 0

0 0 1

>> trace (A); حساب مجموع عناصر القطر الرئيسي حجم المصفوفة

إذا أردت أن تعرف حجم أو بعد مصفوفة أحادية أو ثنائية أو ثالثية البعد غير معروفين وكنت بحاجة لحجمها إلجراء بعض العمليات الرياضية, فان برنامج

MATLAB يمكنك من خالل االيعاز length و size و numel:واليك األمثلة التالية>> A = [1 2 3 4; 5 6 7 8]

A =

1 2 3 4

5 6 7 8

>> S = size (A)

S =

2 4

47

Page 48: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

( بينما يعطي العنصر الثاني عدد األعمدة )2يعبر العنصر األول عن عدد األسطر)4.)

>> [r, c] = size (A)

r =

2

c =

4

>> r = size (A, 1)

r =

2

>> c = size (A, 2)

c =

4

العدد الكلي لعناصر مصفوفة فمثالً:numelيعيد االيعاز >> numel (A)

ans =

8

عدد العناصر الموجودة ضمن البعد األطول للمصفوفة,lengthبينما يعيد االيعاز كما يلي:

>> length (A)

ans =

4

>> B = -3: 3

B =

-3 -2 -1 0 1 2 3

>> length (B)

ans =

48

Page 49: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

7

>> min (size (A)) مصفوفة ثنائية Aans =

2

طريقة توليد مصفوفة بالدمج.مالحظة:>> x = [1 2; 3 4];

>> y = [x x .^ 2; x .^ 3 x .^ 4];

المصفوفات متعددة اإلبعاد لقد شرحنا في الفصل السابق المصفوفات أحادية وثنائية األبعاد والعمليات

-n)المصفوفات متعددة األبعاد )أي MATLABالتي تجري عليها. يدعم برنامج

49

Page 50: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

D arraysوذلك نفس االيعازات وتقنيات العنونة المطبقة على المصفوفات أحادية (, ولذلك تمتلكpagesوثنائية البعد. وبشكل عام, يرقم البعد الثالث عبر صفحات )

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

متساويا من األسطر واألعمدة والعكس بالعكس في كل صفحة. ليس هناك حد لعدد األبعاد في المصفوفات, ولكننا سنستخدم مصفوفات ثالثية

األبعاد في هذا الفصل بسبب سهولة تخيلها وإظهارها.تركيب المصفوفة

يمكن إنشاء المصفوفة المتعددة األبعاد بطرق مختلفة, واليك بعضها:>> A = zeros (4, 3, 2)

A (:, :, 1) =

0 0 0

0 0 0

0 0 0

0 0 0

A (:, :, 2) =

0 0 0

0 0 0

0 0 0

0 0 0

تتألف هذه المصفوفة الصفرية من أربعة اسطر وثالثة أعمدة وصفحتين, ولقدظهرت الصفحة األولى ثم الصفحة الثانية.

مثال:>> B (:, :, 1) = zeros (2, 3);

>> B (:, :, 2) = ones (2, 3);

>> B (:, :, 3) = 4;

50

Page 51: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> B

B (:, :, 1) =

0 0 0

0 0 0

B (:, :, 2) =

1 1 1

1 1 1

B (:, :, 3) =

4 4 4

4 4 4

لتحويل المصفوفة من مصفوفة ثنائية األبعاد إلىreshapeيمكن استخدام االيعاز مصفوفة ثالثية األبعاد وكاالتي:

>> C = [B (:, :, 1), B (:, :, 2), B (:, :, 3)]

C =

0 0 0 1 1 1 4 4 4

0 0 0 1 1 1 4 4 4

>> reshape (C, 2, 3, 3)

ans (:, :, 1) =

0 0 0

0 0 0

ans (:, :, 2) =

1 1 1

1 1 1

ans (:, :, 3) =

4 4 4

4 4 4

حجم المصفوفة 51

Page 52: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

يعيد بعد المصفوفة وفق كل أبعادها كما شرحنا سابقاً.size االيعاز >> [r, c, p] = size (C)

r =

2

c =

3

p =

3

وإذا لم نعرف عدد إبعاد المصفوفة أو كانت ابعادها متغيرة, عندما نستطيع كما يلي:ndimsاستخدام االيعاز

>> ndims (C)

ans =

3

>> numel (C) إيجاد عدد عناصر المصفوفة ans =

18

>> length (size (C)) إيجاد طول اكبر بعد بالمصفوفة ans =

3

Cell Arraysمصفوفة الخاليا

52

Page 53: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

تكون عناصرها عبارةMATLAB تعتبر مصفوفات الخاليا مصفوفات في لغة عن خاليا, وتتضمن كل خلية نوعاً من البيانات قد تكون مصفوفات عددية أو رمزية أو كائنات بسيطة أو مصفوفات خاليا أخرى. فمثالً قد تحوي خلية من

مصفوفة الخلية مصفوفة عددية وتحوي الخلية األخرى مصفوفة رمزية, بينما تحوي الثالثة على أعداد عقدية )يسمح باستخدام مصفوفات بأنواع بيانية مختلفة )غير متجانسة(( كما ويمكن إنشاء مصفوفات الخاليا بأي بعد كان كما هي الحال

مع المصفوفات العددية, ولكن معظم مصفوفات الخاليا تكون عبارة عنمصفوفات أحادية البعد.

تنشأ مصفوفات الخاليا عبر استخدام تعابير اإلسناد أو عبر إعادة تقسيم , ثم نقوم بإسناد البيانات إلى الخاليا.cellالمصفوفة باإليعاز

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

يستخدم هذه األقواس لتعريفMATLABمجموعة } { , إذ إن برنامج مصفوفات الخاليا, واليك األمثلة التالية:

>> A (1, 1) = {[1 2 3; 4 5 6; 7 8 9]};

>> A (1, 2) = {2 + 3i};

>> A (2, 1) = {'Ali Ahmed'};

>> A (2, 2) = {12: -2: 0};

>> A

A =

[3¿3 double] [2.0000 + 3.0000i]

'Ali Ahmed' [1¿7 double]

2¿2 بعداها كمصفوفة خلية يظهر المصفوفة MATLAB الحظ إن برنامج , وإنما يظهر البرنامج محتويات الخلية بشكلمحتويات الخليةولكن ذلك ال يظهر

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

53

Page 54: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

المساواة يدل على إن المشار إليه هو خلية وليس قيما عددية وهذا ما يسمى , وسينشئ التعابير التالية مصفوفة الخلية نفسها.(cell indexing) بفهرسة الخلية

مالحظة: بأنMATLAB برنامج A {i, j} = x و A (i, j) = {x} يخبر كال التعبيرين

.A(من مصفوفة الخلية i, j في العنصر )xيضع المتغير A {i, j} , بينما يدعى التعبير (cell indexing) بفهرسة الخلية A (i, j)يدعى التعبير

أي تدل أقواس المجموعة } { على( content addressingبعنونة المحتوى )محتوى الخلية, بينما تعرف األقواس العادية ) ( الخاليا دون النظر إلى محتواها.

مثال:>> y = {1, 'hello', 1 > 5}

y =

[1] 'hello' [0]

>> y {1}

ans =

1

>> y {2}

ans =

hello

>> y {3}

ans =

0

مثال: >> ce = {[1 2 3; 5 6 7], 'yes', 3 > 2};

>> ce {1}(2, 2)

ans =

6

54

Page 55: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

مثال:>> x = rand (3, 3);

>> y = rand (3, 3);

>> z = rand (3, 3);

>> w {1} = x;

>> w {2} = y;

>> w {3} = z;

>> w

ans =

[3¿3 double] [3¿3 double] [3¿3 double]

مثال:>> x {1} = rand (3, 3);

>> x {2} = rand (3, 3);

>> x {3} = rand (3, 3);

.

.

.

.

.

>> x {9} = rand (3, 3);

>> x {1}

ans =

0.8462 0.6721 0.6813

0.5252 0.8381 0.3795

0.2026 0.0196 0.8318

العنصر الموجود في السطر الثاني والعمود الثاني في مصفوفة )الخلية( األولى >>(x {1} (2, 2

55

Page 56: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

0.8381

برنامج لجمع المصفوفات التسعة في المثال السابق في مصفوفة واحدة.مثال:>> L = length (x);

>> sum1 = 0;

>> for i = 1: L

b = x {i};

sum1 = sum1 + b;

end;

على إظهار محتوى الخاليا بالنموذجMATLAB برنامج celldisp يجبر اإليعاز العادي, واليك المثال التالي الذي يوضح ذلك:

>> celldisp (A)

A (1, 1) =

1 2 3

4 5 6

7 8 9

A (2, 1) =

Ali Ahmed

A (1, 2) =

2.0000 + 3.0000i

A (2, 2) =

12 10 8 6 4 2 0

�¤ظهر البرنامج محتوى الخلية المفردة عبر طلب محتوى الخلية باستخدام كما يعنونة المحتوى, وهذا

يتم بشكل مختلف عن فهرسة الخلية التي تعّرف الخلية فقط دون الدخول إلىمحتوى الخلية, فمثال:

56

Page 57: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> A {2, 2}

ans =

12 10 8 6 4 2 0

>> A (2, 2)

ans =

[1¿7 double]

>> A (1, :)

ans =

[3¿3 double] [2.0000 + 3.0000i]

, وذلك الن خالياans الحظ بأن البرنامج استخدم لجميع الخاليا السابقة االسم البيانات المخزونة ليس لها اسم محدد.

لقد استخدمنا سابقاًً األقواس المربعة إلنشاء المصفوفات العددية, وتعمل أقواس المجموعة نفس العمل بالنسبة للخاليا, وتفصل األعمدة بفواصل بينما :تفصل األسطر بفواصل منقوطة. واليك المثال التالي>> B = {[1 2], 'John Smith'; 2 + 3i, 5}

B =

[1¿2 double] 'John Smith'

[2.0000 + 3.0000i] [5]

�مأل المصفوفة بعناصر من المألوف عند استخدام المصفوفات العددية أن ت�مأل من جديد بالبيانات الالزمة, ويمكن استخدام نفس المنهج في صفرية ثم ت

مصفوفة خلية ويملؤها بمصفوفاتcellمصفوفات الخاليا, حيث ينشأ االيعازعددية فارغة ] [ ولنأخذ المثال التالي:

>> C = cell (2, 3)

C =

[ ] [ ] [ ]

[ ] [ ] [ ]

57

Page 58: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ما إن يتم تعريف مصفوفة الخلية فأنة يمكن تعميم الخاليا عن طريق عنونةالمحتوى وفهرسة الخاليا, كما يبينه المثال التالي:

>> C (1, 1) = 'The does n't work'

Error

لقد استخدمنا هنا في الجانب األيسر دليل الخلية وبالتالي, يجب أن يكون�خط محتوياتها الطرف األيمن خلية وهذا ما سبب ظهور الخطأ, وليس كوننا لم ن

بأقواس مجموعة.>> C (1, 1) = {'The does n't work'}

C =

'The does n't work' [ ] [ ]

[ ] [ ] [ ]

>> C (2, 3) = {'This works too'}

C =

'This does work' [ ] [ ]

[ ] [ ] 'This works too'

وبسبب وجود أقواس المجموعة في الجانب األيسر من العبارة األخيرة, فان سيضع الخيط الرمزي في الخلية المعنونة. ويوجد هنا مرةMATLABبرنامج

أخرى عنونة محتوى, بينما تعتبر العبارة األصلية مثاالً عن فهرسة المصفوفة.التعامل مع مصفوفة الخلية

يمكن أن نستخدم األقواس المربعة أيضاً لضم مصفوفات الخاليا ضمنمصفوفات اكبر, كما هو الحال للمصفوفة العددية, واليك المثال التالي:

>> A

A=

[3¿3 double] [2.0000 + 3.0000i]

'Ali Ahmed' [1¿7 double]

58

Page 59: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> B

B =

[1¿2 double] 'John Smith'

[2.0000 + 3.0000i] [5]

>> C = [A; B] (متساوية األبعاد)

C =

[3¿3 double] [2.0000 + 3.0000i]

'Ali Ahmed' [1¿7 double]

[1¿2 double] 'John Smith'

[2.0000 + 3.0000i] [5]

يمكن تحديد خاليا جزئية إلنشاء خاليا جديدة عبر استخدام تقنيات مناسبة لعنونةمصفوفة الخلية كما في المثال التالي:

>> D = C ([1 3], :)

D =

[3¿3 double] [2.0000 + 3.0000i]

[1¿2 double] 'John Smith'

ويمكن حذف سطر مصفوفة الخلية عبر استخدام الخلية الفارغة.>> C (3, :) = [ ]

C =

[3¿3 double] [2.0000 + 3.0000i]

'Ali Ahmed' [1¿7 double]

[2.0000 + 3.0000i] [5]

لتغير مواضع الخاليا, ولكنه ال يستطيع إضافة أو حذفreshapeويستخدم االيعاز الخاليا وليبان ذلك, نأخذ المثال التالي:

>> x = cells (3, 4);

>> size (x)

ans =

59

Page 60: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

3 4

>> y = reshape (x, 6, 2);

>> size (y)

ans =

6 2

يعيد تشكيل أية مصفوفة بدون تغير نوعها, وكذلك يعيدreshape أي إن االيعاز حجم أي نوع من المصفوفات.sizeااليعاز

بالتعامل مع مصفوفات الخاليا حيث يعمل علىrepmat كذلك يعيد االيعاز تكرارها وفقاً للتكرار المطلوب.

مثال:>> y

y =

[ ] [ ]

[ ] [ ]

[ ] [ ]

[ ] [ ]

[ ] [ ]

[ ] [ ]

>> z = repmat (y, 1, 3)

z =

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

60

Page 61: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

السالسل الرمزية الحقيقية في القدرة على التعامل مع األرقام,MATLAB تكمن قوة برنامج

ولكنه يحتاج أحياناً إلى التعامل مع النصوص كما في حالة وضع العناوين وأسماءالمحاور على الرسومات.

تركيب السلسة الرمزية من مصفوفات عددية خاصة منMATLAB تتألف السالسل الرمزية في لغة

والتي تعيد أظهار السلسة الرمزية, فمثالً:ASCIIقيم >> t = 'How about this character string?'

t =

How about this character string?

>> size (t)

ans =

1 32

>> whos إيعاز عرض أسماء المتغيرات وحجومها وعدد بياناتها وصنفها Name Size Bytes Class

ans 1¿2 16 double array

t 1¿32 64 character array

Grand total is 34 elements using 80 bytes

إن السالسل الرمزية ببساطة هي نص محاطة بفاصلة علوية مفردة. ويعتبر كل حرف في السلسة عنصراً من مصفوفة, والتي نحتاج إلى بايتين لتخزين كل

61

Page 62: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

بايت المخصصة لكل عنصر من عناصر المصفوفة8حرف, ونختلف بذلك عن لسلسلة رمزية نحتاج فقطASCIIالعددية أو مضاعفة الدقة. ولرؤية التمثيل

, وكماdoubleإلجراء بعض العمليات الرياضية على السلسلة أو استخدام االيعاز في المثال التالي:

>> u = double (t)

u =

Columns 1 through 12

72 111 119 32 97 98 111 117 116 32 116 104

Columns 13 through 24

105 115 32 99 104 97 114 97 99 116 101 114

Columns 25 through 32

32 115 116 114 105 110 103 63

>> char (u)

ans =

How about this character string?

>> char (u (1))

ans =

H

وبما إن السالسل هي مصفوفات, لذلك يمكن التعامل معها بكل أدوات التعامل, فمثالً:MATLABمع المصفوفات المتوفرة في لغة

>> u = t (16: 24)

u =

character

إلى16 وتعنون السالسل تماماً كما تعنون المصفوفات, وتحوي العناصر من character في المثال أعاله الكلمة 24

>> u = t (24: -1: 16)

u =

62

Page 63: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

retcarahc

بشكل عكسي.character وهنا تمت تهجئة الكلمة >> u = t (16: 24)'

u =

c

h

a

r

a

c

t

e

r

إلى مصفوفة عمود عبر عملية مدور)منقول(.character وتم هنا تحويل كلمة يمكن دمج المصفوفات الرمزية وكاالتي:

>> u = 'Hameed ';

>> v = 'Aiad';

>> w = [u v]

w =

Hameed Aiad

إظهار السلسلة بدون طباعة اسم المتغير كما فيdisp ويسمح لنا االيعاز المثال التالي:

>> disp (u)

Hameed

63

Page 64: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ويمكن أن تتملك السالسل الرمزية )كما في باقي المصفوفات( عدة اسطر, ولكن يجب أن يحوي كل سطر عدداً متساوياً من األعمدة, لذلك يجب استخدام

الفراغات لجعل طول كل األسطر متساوية كما في المثال التالي:>> v = ['character strings having more than '

'one row must have the same number'

'of columns just like arrays! ']

v =

character string having more than

one row must have the same number

of columns just like array!

مصفوفة نصية متعددة األسطر انطالقاً من سالسل مستقلةchar وينشئ االيعاز مختلفة الطول, كما في المثال التالي:

>> legends = char ('Wilt', 'Russel', 'Kareem', 'Bird', 'Magic', 'Jordan')

legends =

Wilt

Russel

Kareem

Bird

Magic

Jordan

>> size (legends)

ans =

6 6

تحويل األعداد إلى سالسل رمزية وبالعكس قد نرغب في العديد من الحاالت بتحويل النتائج العددية إلى سالسل رمزية

MATLABواستخراج البيانات العددية من السالسل الرمزية. يزودك برنامج

64

Page 65: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

وغيرها لتحويل النتائج العددية إلى سالسلfprintf و int2str و num2strباإليعاز رمزية, واليك األمثلة التالية على التحويل:

>> int2str (35)

ans =

35

>> class (ans)

ans =

char

>> num2str (3.5)

ans =

3.5

>> class (ans)

ans =

char

>> fprintf ('% 4.3f\n', sqrt (2))

1.414

>> size (fprintf ('% 4.3f\n' , sqrt (2))

ans =

1 1

مثال:>> radius = sqrt (2);

>> area = pi * radius ^ 2;

>> fprintf ('A circle of radius% 6.4f has an area of % 6.4f', radius, area)

A circle of radius 1.4142 has an area of 6.2832

. area والمتغير radius ست خانات إلظهار المتغير6.4fتحدد هنا الصيغة % مثال )طريقة أخرى(:

>> S = ['A circle of radius ', (num2str (radius)), 'has an of ', (num2str (area)) '.']

65

Page 66: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

S =

A circle of radius 1.4121 has an area of 6.2832.

تحويل السالسل الرمزية إلى عددية>> S = str2num ('3.5')

S =

3.5

>> t = ['3.5▼' 'sqrt(2)' ;'▼1.5' '▼▼▼▼9.5']

يجب إن تكون أطوال األسطر متساويةt =

3.5 sqrt(2)

1.5 9.5

>> str2num (t)

ans =

3.5000 1.4142

1.5000 9.5000

>> t = '[3.5▼sqrt(2);▼1.5▼9.5]' يمكن أن تكون أطوال األسطر غيرمتساويt =

[3.5▼sqrt(2);▼1.5▼9.5]

>> str2num (t)

ans =

3.5000 1.4142

1.5000 9.5000

أدلة البداية لسلسلة رمزية موجودة ضمن سلسلة أخرى.findstrيعيد االيعاز >> b = 'Peter Piper picked a peck of pickled peppers';

>> findstr (b, '▼')

ans =

▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات ▼ فراغات

مصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزية

مصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عدديةمصفوفة عددية

مصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزيةمصفوفة رمزية

66

Page 67: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

6 12 1 9 21 26 29 37

>> findstr (b, 'p')

ans =

9 13 22 30 38 40 41

>> findstr (b, 'cow')

ans =

[ ]

مصفوفة الخاليا للسالسل الرمزية يبدو شرط تساوي عدد األعمدة في جميع اسطر المصفوفات النصية متعباً,

خاصة إذا اختلف عدد الفراغات المضافة من سطر آلخر, ويمكن حل هذه المشكلة عبر استخدام مصفوفات الخاليا, حيث يمكننا وضع كل أنواع البيانات

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

تعتبر مصفوفة الخلية ببساطة نوعاً من البيانات التي تسمح للمستخدم بتسمية مجموعة من البيانات ذات األنواع والحجوم المختلفة, وذلك كما يبينه المثال

التالي:>> C = {'How'; 'about'; 'this for a'; 'cell array of strings?'}

C =

'How'

'about'

'this for a'

'cell array of strings?'

>> size (C)

ans =

4 1

حرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغيرحرف صغير

67

Page 68: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

تستخدم أقواس المجموعة } { إلنشاء مصفوفة الخاليا, وذلك استخدمناها في هذا المثال أربعةCفي حصر السلسلة الرمزية بأكملها, وتملك المصفوفة

اسطر وعموداً واحداً, ويحوي كل عنصر من مصفوفة الخلية سلسلة رمزيةمختلفة الطول.

وتعنون مصفوفات الخاليا كما تعنون بقية المصفوفات, وذلك كما يلي:>> C (2: 3)

ans =

'about'

'this for a'

>> C ([4 3 2 1])

ans =

'cell array of strings?'

'this for a'

'about'

'How'

>> C (1)

ans =

'How'

>> size (C (1))

ans =

1 1

C ما زالت النتائج حتى أالن عبارة عن مصفوفات خاليا, وذلك الن التعبير

(indices)يعنون الخاليا المعطاة ولكنه ال يحدد محتوى هذه الخاليا. والسترجاع محتويات خلية جزئية محدّدة عليك استخدام أقواس مجموعة كما في المثال

التالي:>> S = C {4}

S =

68

Page 69: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

cell array of strings?

>> size (s)

ans =

1 22

كما ويمكن عنونة جزء من محتويات مصفوفة الخلية الجزئية كما يلي:>> C {4} (1: 10)

ans =

cell array

محتويات مصفوفة الخلية إلى مصفوفة نصية مناسبة, كماchar يحول االيعاز يبينه المثال التالي:

>> S = char (C)

S =

How

about

this for a

cell array of strings?

>> size (S)

ans =

4 22

بإجراء التحويل العكسي ويعيد صياغة السالسل الرمزيةcellstr ويقوم االيعازبشكل جيد كما يلي:

>> cellstr (S)

ans =

'How'

'about'

'this for a'

'cell array of strings?'

69

Page 70: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

جمل اإلدخال واإلخراججمل اإلدخال

هناك عدة صيغ لإلدخال باإلضافة إلى عملية التنسيب منها::inputتعليمة -1

(: 1 مثال )>> x = input ('enter x: ')

enter x:

إدخال األعداد. (: 2 مثال )n = input ('enter n:');

70

Page 71: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

m = input ('enter m:');

for i = 1: n

for j = 1: m

result (i, j) = i ^ j;

end;

end;

إدخال أسماء رمزية. (: 3 مثال )clc;

clear;

z = input ('enter name', 's');

صيغة ثابتة لإلدخال )على شكل مربع حوار(:-2مثال:

prompt = {'enter x'};

def = {'20'};

dlgTitle = 'Input for my program';

lineNo = 1; % عدد السطور المدخلة answer = inputdlg (prompt, dlgTitle, lineNo, def);

x = str2num (answer في حالة التعامل مع رقم %num إلى string تحويل

{1});

جمل اإلخراج هناك عدة صيغ لإلخراج منها:

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

للداللة على إدخالstring

القيمة األولى من مصفوفةالخاليا

71

Page 72: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

:disp- تعليمة 1 (: 1 مثال )

>> d = 15;

>> disp (d);

15

(: 2 مثال )>> a = 'ali';

>> disp (a);

ali

(: 3 مثال )>> sum = 9.8;

>> disp (['sum = ', num2str (sum)]);

sum = 9.8

(: 4 مثال )>> disp ('computer');

computer

(: 1 مالحظة ) قيمة ذات نوع بياني واحد ضمن الجملة الواحدةdisp يجب أن يكون محتويات )كل جملة نوع بياني واحد(.

(: 2 مالحظة ) أكثر من قيمة ذات نوع بيانية مختلفة ضمنdisp في حالة كون محتويات

(((.3الجملة الواحدة )يجب ان تجمع القيم في قوسين كبيرين ] [ )مثال )

:msgbox- تعليمة 2>> msgbox ('ok', 'result')

الشيء المطلوب طباعته ) نوع بياني

رمزي(

عنوانالصندوق

72

Page 73: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

:fprintf( تعليمة 3) (: 1 مثال )

>> y = 1.2;

>> x = 100.5;

>> fprintf ('variable x is % 6.3f\n', x);

>> fprintf ('variable y is % 6.3f\n', y);

variable x is 1.200

variable y is 100.500

مراتب بعد الفارزة العشرية. 3 مراتب منها 6وهذا يعني بأنه تم حجز (: 2 مثال )

>> fprintf ('% 8.3f\n', round (3.8));

4.000

(: 1 مالحظة ) يمكن استخدام صيغ مختلفة للطباعة وكما يلي:

c رمز واحد %d تدوين عشري %

e تدوين يائي %

f تدوين النقطة الثابتة %

i تدوين عشري %

o تدوين ثماني %

s تدوين رمزي %

x تدوين سداسي عشر %

(: 2 مالحظة ) 73

Page 74: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

يمكن طباعة األعداد واألسماء والنتائج من خالل كتابة االيعازات بدون فارزة.Command Windowمنقوطة وستظهر النتائج في نافذة األمر

الجمل الشرطية العمليات المنطقية والمقارنة مثلما يدعم العملياتMATLAB يدعم برنامج

الرياضية, وتهدف العمليات والمعامالت المنطقية الحصول على أجوبة لألسئلة(.True/Falseالتي يجاب عنها بصح أو خطأ )

في تعاملها مع جميع التعابير المنطقية وعمليات المقارنةMATLAB تعتبر لغة , كما ويكون إخراج جميعFalse ويعتبر الصفر Trueإن أي عدد غير صفري هو

التعابير المنطقية وعمليات المقارنة عبارة عن مصفوفات منطقية تحوي العدد.False والعدد صفر من اجل Trueواحد من اجل

وتعتبر المصفوفات المنطقية نوعاً خاصاً من المصفوفات العددية, كما يمكن عنونة المصفوفة المنطقية بنفس طريقة عنونة باقي المصفوفات التي استخدمها

سابقاً ضمن التعابير العددية. Relational Operatorsمعامالت المقارنة )العوامل العالئقية( :

74

Page 75: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

تتضمن معامالت المقارنة كل اإلشارات المقارنة الشائعة والمدرجة فيالجدول التالي:

الوصفمعامل المقارنةأصغر من>

أصغر أو يساوي>=أكبر من<

أكبر أو يساوي<=

== إشارة المساواة )لكي نميزها عن

)=اشارة عدم المساواة=~

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

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

(: 1 مثال )>> a = 1; b = 5;

>> x = a > b

x =

0

>> A = 1: 9, B = 9 - A

A =

1 2 3 4 5 6 7 8 9

B =

8 7 6 5 4 3 2 1 0

>> tf = A > 4

tf =

75

Page 76: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

0 0 0 0 1 1 1 1 1

, وتظهر االصفار في المصفوفة4 التي هي أكبر من A لقد أوجدنا العناصر من.A > 4 عندما 1, بينما يظهر الرقم A ≤ 4الناتجة في مواقع العناصر عندما

>> tf = (A == B)

tf =

0 0 0 0 0 0 0 0 0

.B التي تساوي العناصر في المصفوفة A لقد تم هنا إيجاد عناصر مالحظة:

الحظ بان اإلشارتين )=( و )==( تعنيان شيئاً مختلفاً, حيث يقوم )==( بمقارنة متغيرين وتعيد العدد واحد إذا كانا متساويين وصفراً إذا لم يكونا

متساويين, بينما تستخدم )=( إلسناد إخراج العملية إلى متغير. لتوليد مصفوفة أحادية منطقية عناصرها واحدات )في حالة اكبر من (: 1 مثال )

thr ( واصفاراً )في حالة اصغر من أو تساويthr.)>> inddent = [10 17 22 0 7 3 2];

>> thr = 7;

>> y = (indent > thr)

y =

1 1 1 0 0 0 0

(thr لتوليد مصفوفة أحادية عناصرها نفس العناصر )في حالة اكبر من (: 2 مثال )(.thrواصفاراً )في حالة اصغر من أو تساوي

>> z = inddent .* (inddent > thr)

z =

10 17 22 0 0 0 0

: Logical Operatorsالمعامالت المنطقية )العوامل المنطقية( توفر المعامالت المنطقية طريقة لدمج أو نفي تعابير المقارنة, ويظهر الجدول

MATLABالتالي المعامالت المنطقية الموجودة في لغة :

76

Page 77: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

الوصفالمعامل المنطقي&AND)و( |OR)أو( ~NOT)نفي(

وسنقدم لك فيما يلي بعض األمثلة على استخدام المعامالت المنطقية:>> a = 1;

>> b = 5;

>> x = a ~= b

x =

1

>> b = (1 == 1) & (2 ~= 3)

b =

1

>> b = (1==1) | (2 ~= 3)

b =

1

>> b = (1==1) & not ((2 ~= 3))

b =

0

>> A = 1: 9; B = 9 - A;

>> tf = A > 4

tf =

0 0 0 0 1 1 1 1 1

4 التي قيمها اكبر من Aحيث قام بإيجاد عناصر>> tf = ~ (A > 4)

77

Page 78: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

tf =

1 1 1 1 0 0 0 0 0

لقد قام البرنامج بقلب النتيجة السابقة, وتعني استبدال مواقع االصفاروالواحدات.

>> tf = (A > 2) & (A < 6)

tf =

0 0 1 1 1 0 0 0 0

واقل من2 اكبر من Aحيث تعيد هذه العبارة العدد واحد عندما يكون العنصر من .6

أسبقية المعامل بإيجاد قيمة تعبير مستنداً إلى مجموعة من القواعدMATLAB يقوم برنامج

الناظمة ألسبقية المعامل, وتحسب المعامالت ذات األسبقية العليا قبل المعامالت ذات األسبقية الدنيا, وتقيم المعامالت ذات األسبقية المتساوية من اليسار إلى

اليمين. ويشرح الجدول التالي قواعد أسبقية المعامل التي يعتدها برامجMATLAB.

78

المعامل مستوىاألسبقية

األعلىاألقواس ) (المدور)'(, القوة )^, ^.(

إشارة النفي )~(الضرب ) *, *.(, القسمة )/، /.(

الجمع )+(, والطرح )-(معامل النقطتين المتعامدتين ):(

أصغر من )>(, واصغر أو يساوي)>=(, اكبر من )<(, اكبر من أو يساوي)<=(, المساواة

)==(,عدم المساواة )=~(ANDالجمع المنطقي)&(

األدنىORالمعامل المنطقي )|(

Page 79: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

IF-ELSE-ENDالصيغة

قد نحتاج إلى حساب مجموعة من أوامر استناداً إلى إخراج ناتج عن اختبار if-else-end عبر استخدام الصيغة MATLABشرطي. وتنفذ هذه التعليمة في لغة

وكما يلي:if expression

(commands)

end

إذا كانت قيمةend وif( الواقعة بين العبارتين commands وستنفذ األوامر ). واليك المثال التالي:true( تكون expressionالتعبير )

>> x = 10;

>> if x == 10

disp ('ok')

end;

كما يلي:if-else-endوإذا كان لدنيا خياران, فتصبح الصيغة

if expression

(commands evaluated if True)

else

(commands evaluated if False)

end

79

Page 80: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

expression حيث ستنفذ المجموعة األولى من األوامر في حال امتلك التعبير

.false القيمة expression، بينما تنفذ المجموعة الثانية إذا امتلك التعبير trueالقيمة الشكل التالي:if-else-end وإذا كانت هناك عدة حاالت, فستأخذ التعبير

if expression1

(commands evaluated if expression1 is true)

elseif expression2

(commands evaluated if expression2 is true)

elseif expression3

(commands evaluated if expression3 is true)

elseif expression4

(commands evaluated if expression4 is true)

.

.

.

else

(commands evaluated if no other expression is true)

end

واليك األمثلة التالية: (: 1 مثال )

>> x = 10;

>> if x == 10

msgbox ('ok', 'result');

(: 2 مثال )>> if x == 10

msgbox ('ok', 'result');

else

msgbox ('no', 'result');

80

Page 81: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

end;

(: 3 مثال )>> x = 11;

>> if x == 1

disp ('1');

elseif x == 2

disp ('2');

else

disp ('3');

end;

اإلخراج 3

SWITCH-CASEالصيغة عندما يتوجب علينا تنفيذ أوامر اعتماداً على استخدام متكرر الختيار كمي

التي لها الصيغة العامةswitch-caseلوسط ما, عندها من السهل استخدام الصيغةالتالية:

switch expression

case test-expression1

(commands1)

case test-expression2

(commands2)

otherwise

(commands3)

end

هنا أما عدداً مفرداً أو سلسلة رمزية. يقارن التعبيرexpression يجب أن يكون expressionالموجود في الصيغة السابقة بالتعبير test-expression1الموجود في

81

Page 82: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

(commands1 األولى. وإذا تساوى التعبيران, سيتم تنفيذ األوامر )caseعبارة . أما إذا لم يتحقق الشرطendوتخطي التعليمات الواقعة بعدها حتى العبارة في المثال السابق معexpressionاألول, فسيختبر الشرط الثاني, حيث سيقارن

الثانية. وإذا تساوى التعبيران,case الموجودة في عبارة test-exoression2العبارات . إذا لم تحقق أيend(( وتهمل بقية العبارات حتى عبارة commands2سيتم تنفيذ

((commands3, عندها ستنفذ األوامر expression المساواة مع التعبير caseعبارة .otherwiseالتي تلي العبارة

بأنه سيتم تنفيذ أحدىswitch-case الحظ من الشرح الذي أوردناه عن صيغة واليك األمثلة التالية:switch-caseمجموعات األوامر المكونة للصيغة

(: 1 مثال ) x = 1;

switch x

case {1, 2, 3, 4, 5}

disp ('1..5');

case {9, 10}

disp ('9..10');

otherwise

disp ('this is impossible');

end;

(: 2 مثال )clc;

clear;

n = 3;

switch n

case {0}

m = n + 3;

5..1اإلخراج

82

Page 83: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

case {2}

m = 'ali';

case {3}

m = magic (n);

otherwise

disp ('error');

end;

disp (m);

اإلخراج 8 1 6

3 5 7

4 9 2

(: 3 مثال )x = 2.7;

units = 'm';

switch units

case {'inch', 'in'}

y = x * 2.54;

case {'meter', 'm'}

y = x / 100;

case {'feed', 'ft'}

y = x * 2.54 / 12;

case {'millimeter', 'mm'}

y = x * 10;

case {'centimeter', 'cm'}

y = x;

otherwise

83

Page 84: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

disp (['Unknown Units:' units]);

end;

اإلخراج y = 0.027

جمل الدوران والتكرار مجموعة من جمل الدوران والتكرار وهي:MATLABتوفر لغة forجملة

بإعادة تنفيذ مجموعة من األوامر لعدد معين من المراتfor تقوم حلقات كما يلي:forوبخطوة معينة, وتعطى الصيغة العامة لحلقة

84

Page 85: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

for i = x1: x3: x2

(commands)

end;

من القيمةend و for( الواقعة بين عبارتي commands حيث يعاد تنفيذ األوامر). كما في المثال التالي:x3 وبزيادة مقدارها x2 إلى القيمة النهائية x1االبتدائية

مثال:>> for n = 1: 10

x (n) = sin (n * pi / 10);

end;

>> x

x =

Columns 1 through 7

0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090

Columns 8 through 10

0.5878 0.3090 0.0000

ويمكن تفسير الدوارة أعاله كما يلي: يجب حساب قيمة العبارة الموجودة حتى10 إلى 1 من nمن اجل كل قيمة لـ

, وتكون في الدورة الثانيةn = 1 في الدورة األولى n التالية, تكون قيمة endعبارة n = 2 وهكذا حتى تصل إلى n = 10.(.10..1 أعداد عشوائية قيمتها )10 توليد مثال:

>> array = randperm (10)

array =

8 2 10 7 4 3 6 9 5 1

>> for n = array

x (n) = sin (n * pi / 10);

end;

>> x

85

Page 86: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

x =

Columns 1 through 7

0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090

Columns 8 through 10

0.5878 0.3090 0.0000

( معطاة بالمصفوفة10( و )1 هنا قيماً عشوائية بين )nسيأخذ متغير الحلقة array.

مالحظة: متداخلة, كما في المثال التالي:forيمكن إنشاء عدة حلقات

>> for n =1: 5

for m = 5: -1: 1

A (n, m) = n ^ 2 + m ^ 2;

end;

disp (n);

end;

اإلخراج 1

2

3

4

5

>> A

A =

2 5 10 17 26

5 8 13 20 29

10 13 18 25 34

86

Page 87: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

17 20 25 32 41

26 29 34 41 51

أمثلة:>> for i = 1: 10

disp (i);

end;

اإلخراج 1

2

3

.

.

10

>> for i = 0: 2: 10 disp (i);

end; اإلخراج 0

2

4

6

8

10

>> for i = 10: -2: 1

disp (i);

end;

اإلخراج 10

8

87

Page 88: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

6

4

2

>> for i =1: 10

for j = 1: 10

mult (i, j) = i * j;

end;

end; 1 2 3 4 5 6 7 8 9 10

2 4 6 8 10 12 14 16 18 20

3 6 9 12 15 18 21 24 27 30

4 8 12 16 20 24 28 32 3 6 40

. . . . . . . . . .

. . . . . . . . . .

10 20 30 40 50 60 70 80 90 100

WHILEجملة

�جري حلقات عمليات الحساب عدداً غير محدد من المرات على عكسwhile ت التي تؤدي عدداً معيناً من التمريرات, ويمكن كتابة الصيغة العامةforحلقات كما يلي:whileلحلقة

while expression

(commands)

end;

طالماend و while( الواقعة بين العبارتين commands ستنفذ مجموعة األوامر) (, وعادةً ما تكون نتيجةtrue تمتلك قيماً صحيحة )expressionأن كل العناصر ضمن

expression.ًعدداً مفردا (: 1 مثال )

>> x = 1;

طبع جدول ) (الضرب

88

Page 89: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> while x < 25

disp (x); x = x +

1;

end; اإلخراج 1

2

3

.

.

24

(: 2 مثال )>> num = 0; EPS = 1;

>> while (1 + EPS) > 1

EPS = EPS / 2;

num = num + 1;

end;

>> num

num =

53

مالحظة: وكاالتي:while وfor هناك طريقة قانونية للخروج من حلقة

(while وكذلك for)في حال تحقق الشرط يتم الخروج من الدوارة s = 0; s = 0;

for i = 1: 100 x = 1;

s = s + i; while x < 100

if s > 250 s = s + x;

break; if s > 250

89

Page 90: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

end; break;

end; end;

x = x + 5;

end;

اإلخراجاإلخراج

i = 22 x = 51

s = 253 s = 286

مالحظة: ضمن حلقة داخلية واقعة ضمن حلقات اكبر فانbreak أذا وجدت التعليمة

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

MATLABملفات البيانات الخاصة ببرنامج , وفق صيغةMATLAB يمكن تخزين المتغير الموجود في ساحة عمل برنامج

كما يلي:save, وذلك عن طريق استخدام األمر MATLABخاصة ببرنامج >> save

90

Page 91: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

( فيWorkspace وبذلك يتم خزن جميع المتغيرات الموجودة في ساحة العمل ) يوضع في المجلد الحالي. وتحافظ هذهmatlab.matملف ذي صيغة ثنائية باسم

, على كامل القيم وبدقةMATLABالملفات ذات صيغة الثنائية, والخاصة ببرنامج MAT-filesمضاعفة, كما وتخزن أسماء المتغيرات بنفس الدقة, وال تعتبر ملفات

ذات أصول مستقلة, إنما هي متوافقة تماماً مع بقية أنواع الملفات الموجودة في , إذ نستطيع تخزين أي متغير وفق نوع من الملفات وفتحة منMATLABبرنامج

قبل األنواع األخرى دون إجراء أية معالجة خاصة للملف. لتخزين متغيرات معينة كما في المثال التالي:save ويمكن أن يستخدم األمر

>> save var1 var2 var3

, ويمكنmatlab.mat ضمن الملف var3 و var2 وvar1 أي قم بتخزين المتغيرات كما يلي:saveأن نحدد اسم الملف كوسيط أول لألمر

>> save filename var1 var2 var3

ضمن ملفvar1, var2, var3 وتفسر التعليمة السابقة كما يلي: خّزن المتغيرات .filename.matاسمه

إذ يفتح هذا األمر ملفات البيانات التي تمsave األمر load ويعاكس األمر كما يلي:saveإنشاؤها باألمر

>> load

حيثماmatlab.mat وهي تعني حمّل كل المتغيرات التي تجدها ضمن الملف .MATLABوجدته أوال سواءً في المجلد الحالي أو في مسار البحث لبرنامج

في ساحة العمل,matlab.matويتم تخزين أسماء المتغيرات المخزونة في الملف وستحّمل فوق المتغيرات ذات األسماء المطابقة لها في حال وجودها.

( يجب ان نذكر اسمMAT-file ولتحميل متغيرات معينة من ملف ذي الحقة )الملف وقائمة المتغيرات كما يلي:

>> load filename var1, var2, var3

إلىvar1, var2, var3 وحملت المتغيرات filename.mat لقد تم هنا فتح الملف ساحة العمل.

91

Page 92: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ايعازات المجموعات والبتات وااليعازات القاعديةايعازات المجموعات

نستطيع تقييم المصفوفات على إنها مجموعات ألنها تجميع منتظم لعدد من عدة توابع الختبارMATLABالقيم وانطالقاً من هذا الفهم, يقدّم لك برنامج

92

Page 93: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ومقارنة المجموعات, ويقدم لك المثال التالي ابسط اختبار للمساواة:>> a = rand (2, 5);

>> b = rand (2, 5);

>> isequal (a, b)

ans =

0

>> isequal (a, a)

ans =

1

بحذف العناصر المتكررة من وسطunique ويقدم لك المثال التالي االيعاز اإلدخال:

>> a = [2: 2: 8; 4: 2: 10]

a =

2 4 6 8

4 6 8 10

>> unique (a)

ans =

2

4

6

8

10

ويمكن تحديد مجموعة العناصر المشتركة بين وسيطين عبر استخدام االيعازismember:كما يلي

>> a = 1: 9

a =

1 2 3 4 5 6 7 8 9

93

Page 94: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> b = 2: 2: 9

b =

2 4 6 8

>> ismember (a, b)

ans =

0 1 0 1 0 1 0 1 0

>> ismember (b, a)

ans =

1 1 1 1

التحاد مجموعتين.unionكذلك االيعاز >> union (a, b)

ans =

1 2 3 4 5 6 7 8 9

لتقاطع مجموعتين.intersectكذلك إيعاز >> intersect (a, b)

ans =

2 4 6 8

للفضلة بين مجموعتين.setdiffكذلك إيعاز >> setdiff (a, b)

ans =

1 3 5 7 9

مالحظة: يمكن إجراء العمليات السابقة على مصفوفات رمزية أو مصفوفات خاليا.

إيعاز البت إضافة إلى المعامالت المنطقية التي ذكرناها سابقاً, يؤمن البرامج توابعاً تسمح

بإجراء العمليات المنطقية على بتات منفصلة من األعداد الصحيحة.

94

Page 95: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> bitand (3, 4)

ans =

0

>> bitor (3, 4)

ans =

7

>> bitxor (13, 27)

ans =

22

>> bitcmp (20, 5) لخمس بتات20متمم العدد ans =

11

>> bitset (30, 1) 1 يكون 30جعل البت األولى من

ans =

31

>> bitget (30, 1) 30جلب البت األولى من

ans =

0

>> bitshift (3, 2) )إزاحة لليسار )موقعينans =

12

>> bitshift (12, -2) )إزاحة لليمين )موقعين ans =

3

>> z = [7 5 4 ; 3 8 9];

>> circshift (z, 1)

ans =

الموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقعالموقع

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

الموقعالعدد

95

Page 96: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

3 8 9

7 5 4

االيعازات القاعدية العديد من األوامر التي تحول األعداد العشرية إلىMATLAB يؤمن برنامج

قواعد أخرى وفق صيغ سالسل رمزية ونستطيع التحويل بين األعداد العشرية كما يلي:bin2dec,dec2binواألعداد الثنائية عبر االيعازين

>> a = dec2bin (17)

ans =

10001

>> class (a)

ans =

char

>> bin2dec (a)

ans =

17

>> class (ans)

ans =

double

>> dec2bin (17, 6)

ans =

01001

ويتم التحويل بين األعداد العشرية والستة عشرية )يكون أساس العد فيها العدد كما يلي:dec2hex و hex2dec( عبر االيعازين 16

>> a = dec2hex (2047)

a =

7FF

>> dec2hex (2047, 4)

عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد

عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد عدد

96

Page 97: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

ans =

07FF

>> class (a)

ans =

char

>> hex2dec (a)

ans =

2047

>> class (ans)

ans =

double

الدوال والبرامج الفرعية. والصيغة العامة للدوال هي:MATLAB تستخدم الدوال بشكل واسع في لغة

[out1, out2,…, outn] = function_name (input1, input2,...,inputn);

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

رمزي

المدخالتالمخرجات

اسم الدالة

97

اسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالةاسم الدالة

Page 98: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

كما في األمثلة التالية: (: 1 مثال )

>> x = [1, 2, 3, 4, 5, 6, 7, 8];

>> y = [11, 12, 13, 2, 9, 70];

>> avgx = average1 (x);

>> avgy = average1 (y);

function result = average1 (z);

L = length (z);

sum1 = sum (z);

result = sum1 / L;

>> avgx

avgx =

4.5000

>> avgy

avgy =

19.5000

(: 2 مثال )>> res1 = mult2 (x);

>> res2 = mult2 (y);

function result = mult2 (x);

result = 2 * x;

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامجالرئيسي

اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج اإلدخال اإلخراج

98

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

Page 99: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

>> res1

res1 =

2 4 6 8 10 12 14 16

>> res2

res2 =

22 24 26 4 18 140

(: 3 مثال )>> [sin_x, cos_x, x_2] = multf (x);

>> [sin_y, cos_y, y_2] = multf (y);

function [x1, x2, x3] = multf (x);

x1 = sin (x);

x2 = cos (x);

x3 = 2 * x;

>> plot (sin_x) لرسم النقاط

البرنامجالرئيسي

البرنامج الفرعي)الدالة(

99

البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي البرنامجالرئيسي

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

البرنامج الفرعي)الدالة(

Page 100: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

مالحظات: الدالة التي تكون على شكل ملف مفصول اليمكن تنفيذها مباشرة إال بعد-1

استدعائها بالبرنامج الرئيسي. تكون اسم الدالة المخزون في القرص الصلب واسم الدالة بعد عالمة )=(-2

الموجود في السطر األول يجب ان يكونا متطابقين.مثال:

function y = myfunction (a, b);

-------

-------

-------

myfunction.mفيكون الخزن

(.endال تحتوي نهاية الدالة على )-3تخزن البرامج بعد كل تعديل وخاصة الدوال.-4اسم الدالة المخزون يجب أن تبدأ بحرف.-5يمكن أن تستدعي دالة من قبل دالة أخرى.-6

الرسوم البيانية بالعديد من االيعازات التي تظهر البيانات ثنائيةMATLAB يزودك برنامج

األبعاد وثالثية األبعاد, حيث يرسم بعضها منحنيات ثنائية األبعاد وثالثية األبعادبينما يرسم بعضها سطوحاً وإطارات, كما يمكن استخدام اللون كبعد رابع.

plotااليعاز يقوم هذا االيعاز بإظهار البيانات على شكل ثنائي األبعاد.

(: 1 مثال )

100

Page 101: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

x = [1: 0.5: 10];

y = exp )مصفوفة( y الحتساب مجموعة قيم للـ

(x) ;plot (x, y) x, y لرسم قيم بيانية للمحورين

(: 2 مثال ) x = 1: 10;

plot (x)

مالحظة: برسم قيم بيانيةplot في حالة وجود إحداثي واحد )قائمة واحدة( يقوم االيعاز

( لكل عناصر القائمة.x, xمتناظرة بالمحورين أي ) (: 3 مثال )

y = [ ];

for i = 1: 10

y (i) = exp (i);

end;

plot (y);

(: 4 مثال )y = [ ];

for i = 1: 10

y = [y exp (i)];

end;

plot (y);

(: 5 مثال )(graph ارسم مخطط بياني .)

clc;

clear;

x = 0: pi / 100: 2 * pi;

101

Page 102: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

y = sin (x);

plot (x, y);

legend ('sin (x)'); دليل المخطط xlabel ('x = 0: 2: pi'); x عنوان المحور ylabel ('sin (x) cos (x)'); y عنوان المحور title ('plot sin cos function'); )عنوان المخطط الرئيسي )أعلى المخطط

(: 6 مثال )plot (x, sin (x), x, cos (x)); لرسم منحنيين

102

Page 103: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

(: 7 مثال )plot (x, sin (x), 'r: +', x, cos (x), 'b: *');

مالحظة: يمكن كتابة أي نص على المخطط باستخدام االيعاز:

text (x, y, 'string');

plot3إيعاز

, وصيغته لها نفس صيغةplot3 إلى ثالثي األبعاد وأصبح plot لقد تم تمديد االيعاز plotثنائي البعد عدا كون البيانات لها ثالث مساقط بدالً من مسقطين. والصيغة

العامة لها:plot3 (x1, y1, z1, s1, x2, y2, z2, s2,…);

مثال:

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

النص المطلوب االحداثياالحداثي

كتابته الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

اللون االحداثي االحداثياالحداثي

)خيط رمزي( الثالث الصاديالسيني

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

sin (x) لون ازرق عالمة المخطط cos (x) عالمة المخطط لون احمر

103

Page 104: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

t = linspace (0, 10 * pi, 100);

plot3 (sin (t), cos (t), t);

xlabel ('sin (t)');

ylabel ('cos (t)');

zlabel ('t');

text (0, 0, 0, 'origin');

grid on لرسم الشبكة

الرسوم البيانية الجزئية واحدة ان تمسك باكثر من مجموعة محاور أو صور, حيثfigure تستطيع نافذة

لرسم المناطقm*n نافذة الشكل الحالية الى مصفوفة subplot (m, n, p)يقسم لتصبح فعالة. لقد رسمت الرسومات البيانية الجزئية منpويختار المساحة

اليسار الى اليمين وعلى طول الصف العلوي, ثم على طول الصف السفليوهكذا, وذلك كما يلي:

مثال:x = linspace (0, 2 * pi, 30);

y = sin (x);

z = cos (x);

a = 2 * sin (x) .* cos (x);

b = sin (x) ./ (cos (x) + eps);

104

Page 105: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

subplot (2, 2, 1);

plot (x, y); axis ([0 2 * pi -1 1]); title ('Figure1');

subplot (2, 2, 2);

plot (x, z); axis ([0 2 * pi -1 1]); title ('Figure2');

subplot (2, 2, 3);

plot (x, a); axis ([0 2 * pi -1 1]); title ('Figure3');

subplot (2, 2, 4);

plot (x, b); axis ([0 2 * pi -20 20]); title ('Figure4');

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

كما يلي:surfالمساحات الواقعة, عبر استخدام االيعاز (: 1 مثال )

[x y z] = peaks (30);

surf (x, y, z);

xlabel ('x-axis');

ylabel ('y-axis');

zlabel ('z-axis');

105

Page 106: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

(: 2 مثال )for i = 1: 10

for j =1: 10

mult (i, j) = i * j;

end;

end;

surf (mult) ( شكل مجسم )ثالثي االبعادمالحظة:

هناك من االيعازات لرسم أشكال هندسية منها:barااليعاز

bar chart يستخدم لرسم مثال:

x = -2.9: 0.2: 2.9;

bar (x, exp (-x .* x));

106

Page 107: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

histااليعاز histogram يستخدم لرسم

مثال:x = -2.9: 0.1: 2.9;

y = randn (10000, 1);

hist (y, x);

pieااليعاز

pie chart يستخدم لرسم

مثال:x = [1 3 0.5 2.5 2];

explode = [0 1 0 0 0];

pie (x, explode);

107

Page 108: The MATLAB programming language · Web viewهناك في الجزء الأخير من شريط الأدوات جزء مهم يدعى الدليل الحالي (Current Directory)

MATLAB البرمجة بلغة

لرسم مخطط بياني.مثال:clear;

clc;

corr = [0.0012, 0.0208, 0.0633, 0.1391];

amount = [1, 2, 3, 4];

subplot (211);

plot (amount, corr, '--rs');title ('Cipher-image VS Amount of Encrypted Data');

xlabel ('Amount of Encrypted Data');

ylabel ('Cipher-image Correlation');

108