مقدمة لشرح برنامج الماتلاب

برنامج الماتلاب MATLAB أو (matrix laboratory) هو برنامج هندسي متقدم يقوم بإجراء العمليات الحسابية ومحاكاة الأنظمة المختلفة لذا يستخدم كوسيلة تحليل في عدة مجالات مثل العلوم و الرياضيات المتقدمة و في الصناعة كأداة بحث وتصميم ذات مردود عالي. يستعمل البرنامج للأغراض التالية:

  • إجراء العمليات الحسابية المعقدة بسرعة فائقة. Math and computation
  • اشتقاق اللوغاريتمات Algorithm development
  • محاكاة وتصميم الأنظمة المختلفة في جميع فروع العلوم و الصناعة Modeling & simulation System
  • تحليل البيانات و استكشافها Data analysis and exploration
  • رسم المجسمات الهندسية و الصناعية ذات الثلاثة أبعاد (Three dimension (3D

يعتبر MATLAB من البرامج ذات الاستجابة السريعة حيث عنصر البيانات الأساسي فيه عبارة عن مصفوفة بدون أبعاد قياسية . لذلك يمكن استخدامه في حل معظم المسائل الحسابية المعقدة بسهولة وفي زمن قصير مقارنةً باستخدام لغات البرمجة الأخرى مثل C أو FORTRAN .

مكونات MATLAB

يتكون برامج MATLAB من خمسة أجزاء رئيسية و هي :

  1. لغة البرمجة MATLAB language
    وهي عبارة عن لغة برمجة جاهزة ومكونة من ملفات فرعية تستخدم فيها المصفوفات و المحددات و الدوال الجبرية .

  2. محيط العمل working environment
    عبارة عن مجموعة وسائل و تسهيلات تستخدم لتمكين المستخدم من العمل . يحتوي هذا المحيط على وسائل لتنظيم و إدارة المتغيرات كما يقوم بجلب و إرسال المعلومات .

  3. منظم الرسوم البيانية graphics Handle:
    وهو عبارة عن منظومة رسم تجسيمي يحتوي على أوامر لرسم المجسمات ذات البعدين و الثلاثة أبعاد. كما يحتوي على أوامر لإظهار المجسمات وتحريكها .

  4. مكتبة MATLAB للدوال الرياضية
    تحتوي علي الدوال التالية:
    Fast Fourier transforms , matrix eigenvalues , matrix inverse , cosine , sine , sum

  5. Application program interface
    عبارة عن وسائل مساعدة تسمح بربط البرامج المعدة بلغات أخرى مثل Fortran) و (C مع MATLAB.

وسائط MATLAB المساعدة Toolboxes MATLAB

يحتوي (MATLAB) على وسائل مساعدة للتطبيقات المتخصصة و تسمى (Toolboxes) التي تساعد على القيام بدراسةٍ أوسع في مجالات الصناعة و استخدام التكنولوجيا المتخصصة .

هذه الوسائل المساعدة (Toolboxes) هي عبارة عن مجموعات شاملة من دوال (مشتقات) MATLAB تعرف ب (M-Files) التي تعطي MATLAB قدرات كبيرة لحل مسائل معقدة ذات طابع خاص .

هناك عدة وسائل مساعدة Toolboxesتستخدم ضمنيا مع MATLAB منها :

  • SIMULINK TOOLBOX
  • CONTROL SYSTEM TOOLBOX
  • SIGNAL PROCESSING TOOLBOX
  • COMMUNICATION TOOLBOX
  • MODEL PREDICTIVE CONTROL TOOLBOX

توضيح لبعض الوسائط المساعدة لي MATLAB:

Communication Toolbox
عبارة عن وسائل مدمجة تستخدم لتصميم و تحليل و محاكاة أنظمة الاتصالات المختلفة وهي مفيدة في العديد من مجالات أبحاث الاتصالات مثل الاتصالات السلكية و اللاسلكية وكذلك الاتصالات الرقمية و الفضائية و الأقمار الصناعية

Control system Toolbox
تستخدم في تصميم و محاكاة أنظمة التحكم الآلي مثل التحكم في العمليات النفطية و التحكم في المراكب الفضائية و غرف التحكم في المصانع الكبرى و العديد من الأجهزة المتداولة كالغسالات الكهربائية الأتوماتيكية .

Model predictive control Toolbox
يستخدم في تطبيقات أنظمة التحكم الآلي ذات المداخل و المخارج المتعددة كما هو الحال في الهندسة الكيميائية و التحكم في العمليات

مقدمة عن SIMULINK TOOLBOX

SIMULINK هو برنامج مصاحب للMATLAB ذو استجابة فائقة لتحليل و محاكاة الأنظمة الديناميكية [ الخطية والغير خطية ] .

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

في هذا البرنامج تتم عملية بناء النماذج باستخدام المخططات الصندوقية المخزنة فيه على عكس البرامج الأخرى و التي تستهلك جهد ووقت الباحث في كتابة برامج طويلة و معقدة مثل [ C أو Fortran ] .

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

استخدام MATLAB

  1. بدء البرنامج وإنهائه Starting & Ending MATLAB
    لبدء استخدام البرنامج انقر علي أيقونة MATLAB للخروج من البرنامج انقر علي أيقونة Exit في قائمة الملفات.

  2. استخدام نافذة الأوامر The Command Window
    نافذة الأوامر هي النافذة الرئيسية التي من خلالها يتم الاتصال بالمترجم Interpreter وتجرى فيها جميع العمليات الحسابية . يظهر المترجم العلامة (>>) كذليل علي جاهز يته لتقبل الأوامر .

  3. كتابة اسطر الأوامر Command Line Editing
    تحرك إلي اليسار كلمة واحد Move left one word ctrl  استدعاء السطر السابق Recall previous line. 
    تحرك إلي بداية السطر Move to beginning of line home استدعاء السطر قبل السابق Recall next line 
    تحرك إلي نهاية السطر Move to end of line end تحرك إلي الخلف حرف واحد Move back one character. 
    لحذف السطر clear line esc تحرك إلي الأمام حرف واحد Move forward one character. 
    لحذف حرف عند المشيرة delete character at cursor del تحرك إلي اليمين كلمة واحد Move right one word ctrl 

  4. مقاطعة البرنامج Interrupting a Running Program
    يمكن مقاطعة البرنامج في أي لحظة بالضغط علي Ctrl-c

  5. تفويت النتيجة Suppressing Output
    عند إدخال البيانات المراد تحليلها والضغط علي Enter تظهر النتيجة فوراً علي الشاشة. أما إذا أنهيت السطر بشارحة منقوطة فان MATLAB يقوم بتحليل البيانات بدون إظهار النتيجة علي الشاشة . هذه العملية مفيدة عند إدخال البيانات ذات النتيجة الكبيرة.

  6. كتابة الأوامر الطويلة Long Command Lines
    إذا كانت المعلومة طويلة بحيث تأخذ اكثر من سطر يمكن استخدام ثلاثة نقاط … و Enter لبيان استمرارية المعلومة إلي السطر المقبل .

  7. إدخال المصفوفات ENTERING MATRICES
    يجب فصل عناصر الصف الواحد في المصفوفة بواسطة فراغات. كما يجب استخدام فاصلة منقوطة عند نهاية كل صف. وأخيرا يحاط جميع عناصر المصفوفة بواسطة قوسين مربعين [ ] كالتالي:

    A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] 
    

وبالضغط علي المفتاح Enter
عندها يقوم MATLAB بإظهار المصفوفة علي النحو التالي:

A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1

أجراء عملية جمع وقلب المصفوفة sum, transpose, and diag
لجمع أعمدة المصفوفة نقوم بالعملية التالية:

 sum (A)

لجمع صفوف المصفوفة نأخذ أولا مقلوب هذه المصفوفة A’ ثم نجمع أعمدة مقلوب المصفوفة وأخيرا نقلب الناتج كما يلي:

sum(A’)’

لجمع العناصر القطرية للمصفوفة نقوم بالعملية التالية:

 sum(diag(A))
  1. التعبيرات الرياضية mathematical expressions
    يحتوي MATLAB علي تعبيرات رياضيةكثيرة وهي: المتغيرات Variables الأعداد Numbers والمعاملات او الرموز Operators والدوال Functions

اولاً المتغيرات Variables عندما يكتشف MATLAB متغير جديد يقوم بتخزينه أتوماتيكيا علي سبيل المثال إذا كتبت

num_students = 25

فان MATLAB يقوم بتخزين هذا المتغير أتوماتيكيا . ولإظهاره مرة أخرى يكتب فقط اسم المتغير num.

ثانياً الأعداد Numbers يتقبل MATLAB الأعداد بشكل طبيعي

ثالثاً الرموز الحسابية Operators

  • الجمع + Addition
  • الطرح – Subtraction
  • الضرب * Multiplication
  • القسمة / Division
  • القسمة اليسارية \ Left division
  • الاس ^ Power
  • المقلوب ‘ Complex conjugate transpose
  • ( ) Specify evaluation order

رابعاً الدوال الرياضية Functions

graph2d (two-dimensional graphs).
graph3d (three-dimensional graphs).
specgraph (specialized graphs).
graphics (handle graphics).
uitools (graphical user interface tools).

جمع وطرح المصفوفات Addition and Subtraction

لجمع المصفوفتين A , B باستخدام MATLAB نقوم بالعملية التالية:

X = A + B

X =

9 2 7
4 7 10
5 12 8

وعند طرح A من الناتج نحصل علي النتيجة التالية:

Y = X –A

Y =

8 1 6
3 5 7
4 9 2

w = v + s

w =
9 7 6

ضرب المصفوفات ومقلوبها Vector Products and Transpose
A row vector and a column vector of the same length can be multiplied in either order. The result is either a scalar, the inner product, or a matrix, the outer product.

x = v * u

x =
2

X = u*v
X =
6 0 —3
2 0 —1
8 0 —4

مقلوب المصفوفة Matrix transposition

X = B’

X =
8 3 4
1 5 9
6 7 2

x = v’

x =
2
0
—1

For a complex vector or matrix, z, the quantity z’ denotes the complex
conjugate transpose. The unconjugated complex transpose is denoted by z.’, in analogy with the other array operations. So if

z = [1+2i 3+4i]
then z’ is

1—2i
3—4i
while z.’ is

1+2i
3+4i

For a complex vector or matrix, z, the quantity z’ denotes the complex
conjugate transpose. The unconjugated complex transpose is denoted by z.’, in analogy with the other array operations. So if

ضرب المصفوفات Matrix Multiplication

The matrix product C = AB is

X = A*B

X =

15 15 15
26 38 26
41 70 39

Y = B*A

Y =

15 28 47
15 34 60
15 28 43

A matrix can be multiplied on the right by a column vector and on the left by a row vector.

x = A*u
x =
8
17
30
y = v*B
y =
12 —7 10

الرسم البياني GRAPHICS باستخدام MATLAB
Creating a Plot

اذا كانت y كمية متجهة فان الامر

plot(y) 

ينتج عنه رسم بياني لي y كدالة في الزمن اما الامر

plot(x,y) 

فينتج عنه الرسم البياني y و x مثلا لايجاد الرسم البياني للدالة y = sin(t) من 0 الي 2 نجري العملية التالية:

t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y)

y2 = sin(t–.25);
y3 = sin(t–.5);
plot(t,y,t,y2,t,y3)

يمكن رسم كل منحني بلون وخط مميز وذلك باستخدام

plot(x,y,’color_style_marker’)

لاختيار اللون نختار الاحرف التالية:
( اصفر, احمر, اخضر-ازرق-ابيض-اسود) ’y’, ‘r’, ‘g’, ‘b’, ‘w’, and ‘k’.
لاختيار نوع الخط نختار الرموز التالية: (– – – : –. )

مثال

plot(x,y,’y:+’)

سيكون شكل الرسم الناتج هو اصفر منقط به علامة +