[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]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 [2] CONTROL SYSTEM TOOLBOX[1]
SIGNAL PROCESSING TOOLBOX [4] COMMUNICATION TOOLBOX [3]
MODEL PREDICTIVE CONTROL TOOLBOX[5]
توضيح لبعض الوسائط المساعدة لي MATLAB:
Communication Toolbox
عبارة عن وسائل مدمجة تستخدم لتصميم و تحليل و محاكاة أنظمة الاتصالات المختلفة وهي مفيدة في العديد من مجالات أبحاث الاتصالات مثل الاتصالات السلكية و اللاسلكية وكذلك الاتصالات الرقمية و الفضائية و الأقمار الصناعية
Control system Toolbox
تستخدم في تصميم و محاكاة أنظمة التحكم الآلي مثل التحكم في العمليات النفطية و التحكم في المراكب الفضائية و غرف التحكم في المصانع الكبرى و العديد من الأجهزة المتداولة كالغسالات الكهربائية الأتوماتيكية .
Model predictive control Toolbox
يستخدم في تطبيقات أنظمة التحكم الآلي ذات المداخل و المخارج المتعددة كما هو الحال في الهندسة الكيميائية و التحكم في العمليات
مقدمة عن SIMULINK TOOLBOX
SIMULINK هو برنامج مصاحب للMATLAB ذو استجابة فائقة لتحليل و محاكاة الأنظمة الديناميكية [ الخطية والغير خطية ] .
يعتبر برنامج SIMULINK من اكثر برامج الحاسوب الهندسية شيوعاً و استخداماً في مجالات الأبحاث الأكاديمية و الصناعية لبناء نماذج تقليدية للأنظمة الديناميكية و تحليلها و محاكاتها . يمكن للباحث باستخدام هذا البرنامج بناء نماذج للأنظمة الحقيقية و محاكاتها كما يمكن تعديل متغيرات هذه الأنظمة أثناء المحاكاة و ملاحظة التغيرات التي تحدث على المنظومة .
في هذا البرنامج تتم عملية بناء النماذج باستخدام المخططات الصندوقية المخزنة فيه على عكس البرامج الأخرى و التي تستهلك جهد ووقت الباحث في كتابة برامج طويلة و معقدة مثل [ C أو Fortran ] .
هناك العديد من المخططات الصندوقية مخزنة في SIMULINK جاهزة للاستعمال كم هو موضح في الجدول رقم (1) .
عند اكتمال بناء نموذج للمنظومة تبدأ عملية المحاكاة و ذلك باختيار طريقة التكامل المناسبة فبرنامج 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
Cool أجراء عملية جمع وقلب المصفوفة sum, transpose, and diag
لجمع أعمدة المصفوفة نقوم بالعملية التالية: sum (A)
لجمع صفوف المصفوفة نأخذ أولا مقلوب هذه المصفوفة A' ثم نجمع أعمدة مقلوب المصفوفة وأخيرا نقلب الناتج كما يلي:
sum(A')'
لجمع العناصر القطرية للمصفوفة نقوم بالعملية التالية: sum(diag(A))
9) التعبيرات الرياضية 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 complex vectors, the two scalar products x'*y and y'*x are complex
conjugates of each other and the scalar product x'*x of a complex vector with
itself is real.
ضرب المصفوفات 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:+')