ماهي المصفوفة?هي مجموعة من البيانات والتي يتم وضعها في صورة صفوف وأعمدة, وتأخذ الشكل التالي
وتستخدم المصفوفات في حل كثيرات الحدود Polynomials, وفي حل مجموعة من المعادلات, كما سيتم شرحه لاحقاً في هذا الإسبوع بإذن الله.
كيفية كتابة المصفوفات في برنامج الماتلابيتم إدخال المصفوفة بكتابة عناصر الصف الأول, ثم الثاني وهكذا.
فمثلاً كتابة مصفوفة مثل التالية
ولكن قبل إدخال القيم التالية, على الجميع أن يعلم بأنه يتم كتابة
عناصر الصف الأول, ويتم الفصل بين أرقام الصف الأول إما بفاصلة Comma (,)
أو بعمل مسافة Space بين الأرقام, بعد إدخال قيم الصف الأول يتم فصل عناصر
الصف الأول عن عناصر الصف الثاني ( الذي سيتم إدخال قيمه) إما بالضغط على
مفتاح Enter أو بإستخدام الفاصلة المنقوطة Semicolon ( ; ), أنظر الصورة
التالية
فكما نرى أساليب متعددة لإدخال قيم المصفوفات والشكل واحد في جميع الطرق.
ما هي العمليات الأساسية التي تتم على المصفوفات؟1- الجمع
2- الطرح
3- الضرب
4- القسم
5- المصفوفة الأسية
الجمع: قبل البدء في الشروع ببدء إستخدام الماتلاب يجب أولاً أن نذكر شرط جمع مصفوفتين.
شرط جمع مصفوفتين:لنفترض أن لدينا مصفوفتين A & B, فشرط جمعهما أن يكون كلاهما له نفس عدد الصفوف m, وكذلك نفس عدد الأعمدة n.
فمثلاً المصفوفتان التاليتان يمكن جمعهما لأنها يحملان نفس عدد الصفوف والأعمدة
كيف تتم عملية جمع مصفوفتين:تتم عملية الجمع بجمع العنصر الأول للصف الأول مثلاً في المصفوفة الأولى
وما يناظره في المصفوفة الثانية, وبالتالي نكون قد جمعنا العنصر الأول للصف
الأول.
وبالتالي نكون قد جمعنا
1+7=8
جمع الصف الأول العنصر الثاني: نجمع العنصر الثاني للصف الأول في المصفوفو
الأولى وما يناظره في المصفوفة الثانية, وبالتالي نكون قد جمعنا
2+8=10
ونستمر هكذا حتى إتمام كامل المصفوفة, ويمكن تلخيص العملية في الصورة
التالية
الجمع في الماتلاب
يجب أولاً كتابة المصفوفتين A&B, كما تعلمنا سابقاً
ثم إستخدام رمز الجمع (+) للتتم عملية الجمع, أنظر الصورة التالية
طرح المصفوفات فما هو شرط طرح المصفوفات؟حقيقة هي نفس شرط الجمع, حيث يشترط أن تكون المصفوفات التي يتم جمعها أو طرحها لها نفس القوة(m*n)
حيث m هي عدد الصفوف، وحيث n هي عدد الأعمدة
أنظر الصورة التالية
لنقم الآن بعمل نفس المثال على برنامج الماتلاب
أنظر الصورة التالية
ضرب المصفوفات ما هو شرط ضرب المصفوفات؟شرط ضرب أي مصفوفتين هو أن يكون عدد أعمدة المصفوفة الأولى n1 مساوياً لعدد الصفوف في المصفوفة الثانية m2
أنظر الصورة التالية
لنقوم الآن بإدخال نفس المثال على الماتلاب
أنظر الصورة التالية
قسمة المصفوفات قد يستغرب البعض من وجود كلمة القسمة للمصفوفات, ولكن الحقيقة أنها
موجودة ومستخدمة بكثيرة ولكننا لا ننتبه لوجودها, فبهذه القسمة نقوم بحل
المعادلات والتي سيتم شرحها لاحقاً بإذن الله
وقبل أن أشرح لكم كيفية عمل القسمة, لابد من شرح كيفية حل المعادلات كثيرة
الحدود
لنفترض أن لدينا معادلتان كالآتي
وكلتا المعادلتان يمكن حلهما ليكون الناتج
X=-2
Y=3
فكيف يتم ذلك؟
يمكن وضع المعادلتان في صورة مصفوفة كما في الشكل التالي
وهنا نذكر أن هنالك طريقتان لحل المعادلتان
1- طريقة الحذف
2- قسمة المصفوفات
وسأذكر سريعاً طريقة الحذف, أنظر الصورة التالية
أما الطريقة الثانية هي قسمة المصفوفات
لنعود إلى الصورة التالية مرة أخرى
نجد أنه يمكننا أن نضعها في الصيغة التالية AX=B وبالتالي من أجل الحصول على X يجب قسمة A على B, كما في الصورة التالية
ولكن ماذا تعني
من ناحية المصفوفات وليست الأعداد؟
وهذا ما يسمى قسمة المصفوفات
ولكن يشترط عند إيجاد inv أن تكون المصفوفة مربعة ( أي عدد الصفوف يساوي
عدد الأعمدة)
وبالتالي يمكن إيجاد قيمة X & Y عن طريق وضع المعادلة في الصورة
التالية, مع الأخذ في الإعتبار أن تتوفر شرط عملية الضرب بين المصفوفتين
فإذا قمنا بكتابة المعادلتين في الماتلاب كما في الصورة السابقة
إيجاد حجم المصفوفة لإيجاد حجم المصفوفة أو دعونا نقول لإيجاد عدد الصفوف والأعمدة لمصفوفة,
يجب إستخدام الأمر size, حيث لا يصلح إستخدام الأمر length, فأمر length
يستخدم في المتجهات وليس في المصفوفات, ولتوضيح الأمر دعونا نقوم بعمل مثال
مبسط لشرح هذا الأمر, أولاً لنقوم بعمل مصفوفة غير منتظمة ( أي أن عدد
الصفوف لا يساوي عدد الأعمدة) كما في الشكل التالي:
والآ لنقوم بكتابة الأمر size لمعرفة حجم المصفوفة
أما إذا أردنا أن نعرف عدد الصفوف فقط
نقوم بعمل الآتي:
أما إذا أردنا أن نعرف عدد الأعمدة فقط
نقوم بكتابة التالي
إضافة عنصر إلى المصفوفة عملية إضافة عنصر أو عدة عناصر هي من العمليات الهامة جداً داخل
الماتلاب, ودائماً نقوم بإستخدامها في الكثير من البرامج المتقدمة كما
سيتضح فيما بعد, ولتوضيح ذلك الأمر يجب أن نقوم بإعطاء مثال حتى تصل مرحلة
الفهم التام لها
لنقوم أولاً بتعريف مصفوفة في الماتلاب
لنفترض أننا نريد أن نقوم بوضع رقم 42 في الصف الثاني والعمود الخامس, نقوم بكتابة التالي في الماتلاب
كما تلاحظ فإن الصف الأول والصف الثالث للعمود الخامس, لم يتم وضع قيم
بهما, لذلك قام الماتلاب بإفتراضهما صفراً.
فماذا إذا أردنا إضافة عدة عناصر في المصفوفة؟ يمكن إيضاح ذلك بإستخدام
المثال التالي
لنقوم أننا نريد إضافة الأعداد31 و 54 و 13 و 11 في الصف الرابع والعمود
الأول الثاني والثالث و الرابع على التوالي, يمكن ذلك من خلال الماتلاب
بالشكل التالي
إستبدال عنصر قد تكون هذه العملية نادراً ما يتم إستخدامها, ولكنها هامة جداً, حيث
توفر إمكانية إستبدال عنصر أو عدة عناصر داخل المصفوفة, ولتوضيح هذه
الخاصية, سنقوم بتعريف مصفوفة كما ذكرنا مسبقاً
ولنقوم بإستبدال العنصر في الصف الثالث والعمود الأول إلى الرقم صفر
وإذا أردنا إستبدال عدة عناصر, يمكن ذلك بعمل مثال بسيط, لنقل أننا نريد
أن نستبدل الصف الأول والثاني والعمودين من الأول إلى الثالث بقيمة صفر
حذف أكثر من عنصر لايقوم الماتلاب بعملية حذف لعنصر واحد فقط في مصفوفة, حيث أنه من غير
المعقول حذف عنصر من داخل المصفوفة, وبقية الصف والعمود بهم قيم, ولكن إذا
أردت أن تقوم بحذف صف كامل أو عمود كامل فيمكن ذلك بعمل التالي
نقوم أولاً بعمل مصفوفة للعمل عليها
لنقل اننا نريد حذف الصف الثالث كله
ولحذف العمود الرابع كله, قم بعمل التالي:
نداء عنصر عملية نداء عنصر من أكثر العمليات هامة جداً داخل الماتلاب, أي أنه نود
الحصول على عنصر وحيد من المصفوفة, وذلك بذكر رقم الصف ورقم العمود الذي به
هذا العنصر, ولتوضيح هذا الأمر, نقوم بعمل مثال بسيط, معتمدين على نفس
المصفوفة التي تم ذكرها في المثال السابق
ملف:MATLAB153.gifلنقل اننا نريد العنصر في الصف الأول والعمود الثالث
ولنداء أكثر من عنصر, نقوم مثلاً بنداء الصف الثاني ومن العمود الثاني إلى الرابع
ملف:MATLAB155.gifهذا في حالة أننا نعرف حجم المصفوفة, ولكن ماذا إذا لم نكن نعرف حجمها, ونريد أن نحصل على العنصر الأخير مثلاً من الصف الثاني
وسنقوم بعد عملية الشرح تماماً بالعديد والعديد من الأمثلة التي تزيد من سرعتك ومهارتك في الماتلاب
إيجاد العنصر الأكبر يقوم الماتلاب بإيجاد العنصر الأكبر عن طريق العمل على المصفوفة بشكل
مختلف, فكيف يبحث عن العنصر الأكبر في المصفوفة, يقوم الماتلاب بالبحث عن
العنصر الأكبر في كل عمود في المصفوفة, وبعدما يقوم بعمل ذلك, يقوم بعمل
متجه به الرقم الأكبر من كل عمود, أنظر المثال التالي للتوضيح
لدينا الآن مصفوفة تم إنشائها على الماتلاب
ولنقم بكتابة الأمر max كما ذكرنا مسبقاً
كما تلاحظ فلقد قام الماتلاب بإختيار العنصر الأكبر من كل عمود,
ولإختيار الرقم الأكبر بينهم يجب كتابة نفس الأمر للناتج الخارج, وبالتالي
نحصل على الرقم الأكبر في المصفوفة ككل
إيجاد العنصر الأصغر هذه العملية أيضاً كثيرة الإستخدام في التطبيقات المختلفة, وهي نفس
الخطوات السابق ذكرها في إيجاد العنصر الأكبر ولكن يتم إستخدام الأمر min
وإليكم المثال التالي
إيجاد مجموع العناصر لإيجاد المجموع كما تعلمنا نقوم بإستخدام الأمر sum ولكن عملية الجمع
يقوم الماتلاب بإيجاد جمع كل عمود على حدى وتوضع في صورة متجه, كما في
المثال التالي:
إيجاد حاصل ضرب العناصر يمكن ضرب عناصر المصفوفة, ولكن في الماتلاب عملية الضرب تكون لكل عمود
على حدى ويتم وضع الناتج في متجه, وإذا تم إستخدام الأمر مرة أخرى يتم ضرب
عناصر المتجه جميعها, لينتج حاصل الضرب المصفوفة جميعها, أنظر المثال
التالي:
إيجاد قطر المصفوفة هذه العملية قد تكون ذات إستخدام أكاديمي, ولكنها هامة جداً, وخصوصاً أن
تلك الخاصية تخدم المصفوفة المربعة ( عدد الصفوف يساوي عدد الأعمدة), ويتم
إستخدام الأمر diag, وهذا مثال لذلك
يمكننا الآن عمل العديد من العمليات على قطر المصفوفة, فمثلاً نريد الحصول على عملية الجمع لعناصر المصفوفة
أو أننا نريد الحصول على حاصل ضرب تلك العناصر
المصفوفة السحرية حقاً كلمة قد يستغربها البعض, ولكنها حقيقة فحقاً إنها سحرية, حيث أن
الماتلاب لديه القدرة على إنتاج مصفوفة مربعة يقوم الماتلاب بإختيار
أرقامها بشكل عشوائي, كل ما عليك إلا إستخدام الأمر magic وتحديد N حيث
انها تمثل عدد الصفوف المساوي لعدد الأعمدة, هذه المصفوفة مهمة جداً
وخصوصاً في عمليات إختبار الأنظمة, كما سنتحدث لاحقاً بإذن الله في الشبكات
العصبية.
ولنأخذ مثالاً مبسطاً
منقول...
نرجوا الدعاااااء