تتكون المصفوفة من عدد من الصفوف وعدد من الأعمدة حيث يرمز بمتحول ما لكل منهما وتستخدم المصفوفات في كثير من التطبيقات الهندسية لحل المشاكل المعقدة , وعناصر المصفوفة ممكن أن تكون قيم حقيقية أو عقدية , ويرمز عادة للمصفوفة :
Matrixname(m,n)
m عدد الأسطر
nعدد الأعمدة
و يمكننا التعامل في الماتلاب مع عدة أنواع من المصفوفات نذكر منها :
1) المصفوفات الرقمية .
2) المصفوفات المحرفية (Cell and structure array) .
1) المصفوفات الرقمية .
2) المصفوفات المحرفية (Cell and structure array) .
العمليات الأساسية على المصفوفات
إنشاء مصفوفة (4,4) باسم A
>> A = [3 4 4 3 ; 4 5 6 7 ; 5 6 7 4 ; 4 5 6 7]
إدخال السطر السابق في سطر الأوامر في ماتلاب يشكل لدي مصفوفة مربعة بالقياس سابق الذكر حيث نلاحظ أنه عندما نريد الانتقال من سطر لسطر لإدخال عناصر مصفوفة نضع فاصلة منقوطة وذلك كما هو موضح .
يتم استدعاء قيم عناصر مصفوفة لحذفها أو التعديل عليها أو إجراء العمليات المختلفة بعدة طرق , حيث يمكننا استدعاء عنصر من مصفوفة أو سطر أو عمود , يمكننا أيضاً استدعاء مصفوفة جزئية من مصفوفة. يمكن مثلاً استدعاء عنصر من مصفوفة عن طريق رقم السطر و رقم العمود و ذلك بكتابة :
>> A(3,2)ans = 6
وبطريقة مشابهة يمكن استدعاء عنصر من مصفوفة حسب ترتيب العنصر , بكتابة :
>> A(8)
ans = 5
>> A(1)
ans = 7
يمكن إضافة عمود جديد للمصفوفة الجديدة بحيث يكون العنصر الأخير من السطر الثالث مساوي لقيمة معينة و لتكن في مثالنا "9" بكتابة :
>> A(3,6) = 9
ويمكن حذف قيم و عناصر مصفوفة بالاستفادة من [ ] , فعلى سبيل المثال كتابة السطر التالي تؤدي لحذف كامل عناصر العمود الثاني :
>> A(:,2) = [ ]
1 – تشكيل مصفوفة واحدية ones(m,n)
عمليات أخرى على المصفوفات
تتيح لنا التوابع الكثيرة في الماتلاب تنفيذ عدد كبير من العمليات الخاصة بالمصفوفات , فيمكننا مثلاً إيجاد مقلوب مصفوفة و كذلك منقولها كما يمكن إيجاد رتبة مصفوفة و الكثير من العمليات الأخرى الخاصة بالمصفوفات .
T = D’ S = inv(D) V = rank(D)
عمليات متقدمة على المصفوفات
التعامل مع المصفوفة وتغيير شكلها وتعيين حجمها
تتيح لنا بعض التوابع إمكانية الحصول على خصائص المصفوفة , كما تتيح توابع أخرى إمكانية إعادة تشكيل المصفوفة أو تدويرها.
فمثلاً التابع size يعيد مصفوفة تحوي قيمتين الأولى تمثل عدد أسطر المصفوفة بينما القيمة الثانية تمثل عدد الأعمدة , بينما يقوم التابع length بإعادة مصفوفة تحوي قيمة واحدة تمثل طول أطول سلسلة في المصفوفة و يستخدم هذا الأخير غالباً مع المصفوفات الشعاعية التي تكون عبارة عن سطر واحد و ذلك لمعرفة عدد عناصر هذا الشعاع. التابع reshape يسمح بإعادة تشكيل المصفوفة فيمكن مثلاً تحويل المصفوفة من سطرين و عمود إلى عمودين و سطر و هكذا.
فمثلاً التابع size يعيد مصفوفة تحوي قيمتين الأولى تمثل عدد أسطر المصفوفة بينما القيمة الثانية تمثل عدد الأعمدة , بينما يقوم التابع length بإعادة مصفوفة تحوي قيمة واحدة تمثل طول أطول سلسلة في المصفوفة و يستخدم هذا الأخير غالباً مع المصفوفات الشعاعية التي تكون عبارة عن سطر واحد و ذلك لمعرفة عدد عناصر هذا الشعاع. التابع reshape يسمح بإعادة تشكيل المصفوفة فيمكن مثلاً تحويل المصفوفة من سطرين و عمود إلى عمودين و سطر و هكذا.
بعض التوابع الخاصة المساعدة لإنشاء المصفوفات
إنشاء مصفوفة متزايدة خطياً معلوم عدد عناصرها
إنشاء مصفوفة متزايدة خطياً معلوم عدد عناصرها
>> linspace(a,b,c)
a القيمة البدائية b القيمة النهائية c عدد عناصر المصفوفة
إنشاء مصفوفة متزايدة لوغاريتمياً معلوم عدد عناصرها
>> logspace(a,b,c)
a القيمة البدائية b القيمة النهائية c عدد عناصر المصفوفة
إنشاء مصفوفة سحرية
إنشاء مصفوفة سحرية
magic(d) حيث d أبعاد المصفوفة
تحقق هذه المصفوفة أن :
مجموع عناصر كل عمود يساوي مجموع عناصر كل سطر و يساوي مجموع عناصر القطر الرئيسي .
يمكنك الإطلاع على أنواع أخرى من التوابع الخاصة بالمصفوفات في الرابط التالي :
http://www.mathworks.com.au/help/matlab/constants-and-test-matrices.html
قم بمحاولة تنفيذ كل تابع في الماتلاب و ناقش النتائج .
كل ما سبق ذكره يتعلق بالمصفوفات الرقمية , يمكنكم مشاهدة الفيديو التالي الذي يتم فيه شرح المصفوفات الخلوية cell array في مقدمة بسيطة .
يمكنك الإطلاع على أنواع أخرى من التوابع الخاصة بالمصفوفات في الرابط التالي :
http://www.mathworks.com.au/help/matlab/constants-and-test-matrices.html
قم بمحاولة تنفيذ كل تابع في الماتلاب و ناقش النتائج .
كل ما سبق ذكره يتعلق بالمصفوفات الرقمية , يمكنكم مشاهدة الفيديو التالي الذي يتم فيه شرح المصفوفات الخلوية cell array في مقدمة بسيطة .
أخـيـراً اتـمـنـى لـكـم مـشـاهـدة مـمـتـعـة لـهـذا الـدرس