مستوى الدرس :مبتدئ
الدرس الثالث:
المصفوفات في MatLab
خلال هذا الدرس سوف نستكمل دراسة المزيد من أوامر Matlab والمتعلقة بإنشاء المصفوفات والتعامل معها.
إنشاء المصفوفات:
طريقة تعريف المصفوفات في MatLab قريبا جداً إلى طريقة تعريف المتجهات، نبدأ مباشرة مع أول مثال:
>> D = [1 2 3; 4 5 6; 7 8 9]
D =
1 2 3 4 5 6 7 8 9
|
لاحظ الفرق بين فصل الأعداد بمسافة أو فاصلة منقوطة، جرب هذا الأسلوب كذلك:
>> D = [ 1 2 3; 4 5 6; 7 8 9]
D =
1 2 3 4 5 6 7 8 9
>> |
كما يوجد عدد من الدوال لإنشاء مصفوفات خاصة:
-
دالة pascal لإنشاء مصفوفة متناظرة symmetric
-
دالة magic لإنشاء مصفوفات يتساوى فيها مجموع كل الصفوف والاعمدة.
-
دالة zeros لإنشاء مصفوفة صفرية.
-
دالة ones لإنشاء مصفوفة كل عناصرها تساوي 1
لاحظ الامثلة التالية
>> P = pascal(3)
P =
1 1 1 1 2 3 1 3 6
>> M= magic(3)
M =
8 1 6 3 5 7 4 9 2
>> z= zeros(2, 3)
z =
0 0 0 0 0 0
>> o = ones(2, 4)
o =
1 1 1 1 1 1 1 1
>> |
العمليات الحسابية على المصفوفات:
كما ذكرنا سابقا فإن MatLab يجعل التعامل مع المتجهات والمصفوفات أكثر سهولة، جرب الأمثلة التالية:
>> Sum = D + P
>> Sub = P - D
>> D = D + 2
>> P2 = P * 2
>> Mult1 = P * D
>> Mult2 = P .* D |
الأمر الأول: يجمع كلا من P و D وينتج عنه المصفوفة Sum
الأمر الثاني: ناتج طرح D من P في المصفوفة Sub
الأمر الثالث: يضيف 2 إلى كل عنصر من عناصر المصفوفة D
الأمر الرابع: ينتج عنه مصفوفة Mult1 والتي يحفظ بها ناتج ضرب P في D
الأمر الخامس: (لاحظ النقطة قبل علامة الضرب) هذا الأمر سينتج عنه مصفوفة Mult2 والتي هي عبارة عن حاصل ضرب كل عنصر في P في العنصر المقابل له في D
جرب أيضا الأمرين التالين ولاحظ الفرق في الناتج
>> M
M =
8 1 6 3 5 7 4 9 2
>> MM = M ^ 2
MM =
91 67 67 67 91 67 67 67 91
>> M2 = M .^ 2
M2 =
64 1 36 9 25 49 16 81 4
>> |
M ^ 2 يعني ضرب المصفوفة في نفسها
M .^ 2 يعني ضرب كل عنصر في المصفوفة في نفسه.
لإيجاد محورة المصفوفة Transpose
>> M'
ans =
8 3 4 1 5 9 6 7 2 |
لإيجاد معكوس المصفوفة Inverse
>> inv(M)
ans =
0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028
>> |
للتعرف على حجم المصفوفة
>> size(z)
ans =
2 3
>> size(o)
ans =
2 4
>> |
العدد الأول يمثل عدد الأسطر والثاني يمثل عدد الأعمدة