MATLAB Lecture 3: Vectors and Matrices PDF

Summary

This document explains the concept of vectors and matrices in MATLAB programming, including different types of vectors, basic operations like addition, subtraction, and multiplication. It also covers creating and manipulating vectors, matrices in MATLAB and providing examples for each.

Full Transcript

‫‪MATLAB‬‬ ‫المحاضرة الثالثة‬ ‫األشعة والمصفوفات‬ ‫و‬ ‫األعداد العقدية‬ ‫‪Mathworks‬‬ ‫األشعة والمصفوفات‬ ‫‪MATLAB ‬اختصار لكلمتين ‪ matrix laboratory‬وهي بيئة معتمدة‬ ‫على المصفوفات وعملياتها والتي تعتبر أساسا ً رئيسا ً في عمليات النمذجة‬...

‫‪MATLAB‬‬ ‫المحاضرة الثالثة‬ ‫األشعة والمصفوفات‬ ‫و‬ ‫األعداد العقدية‬ ‫‪Mathworks‬‬ ‫األشعة والمصفوفات‬ ‫‪MATLAB ‬اختصار لكلمتين ‪ matrix laboratory‬وهي بيئة معتمدة‬ ‫على المصفوفات وعملياتها والتي تعتبر أساسا ً رئيسا ً في عمليات النمذجة‬ ‫والتطبيقات الهندسية‪ ،‬وبالتالي عملية اإلدخال الرئيسة في ‪MATLAB‬‬ ‫هي إدخال المصفوفات‪ ،‬وإن األشعة وحتى األعداد هي حاالت خاصة‬ ‫من المصفوفة‪ ،‬فمثلً‪:‬‬ ‫‪ ‬الرقم ‪ 5‬هو مصفوفة بحجم (‪.)1x1‬‬ ‫تعريف األشعة‬ ‫األشعة حالة خاصة من المصفوفات‪ ،‬وهي نوعان‪:‬‬ ‫أ‪ -‬سطرية‪ :‬تعرف بوضع فاصلة عادية بين عناصرها ووضعها بين‬ ‫قوسين متوسطين [ ]‪.‬‬ ‫]‪>> X=[1,2,3,4,5‬‬ ‫=‪X‬‬ ‫‪1 2 3 4‬‬ ‫‪5‬‬ ‫كما يمكن كتابة عناصر الشعاع السطري بدون فاصلة‬ ‫]‪>> X=[1 2 3 4 5‬‬ ‫=‪X‬‬ ‫‪1 2 3 4 5‬‬ ‫تعريف األشعة‬ ‫ب‪ -‬عمودية‪ :‬تعرف بوضع فاصلة نقطية بين عناصرها ووضعها بين‬ ‫قوسين متوسطين [ ]‪.‬‬ ‫]‪>> y=[1;2;3;4;5‬‬ ‫=‪y‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫تعريف األشعة‬ ‫كما يمكن تعريف األشعة السطرية ذات العناصر المتسلسلة وبتزايد‬ ‫ثابت باستخدام النقطتين (‪ ):‬كما في المثال‪:‬‬ ‫]‪>> t=[1:2:10‬‬ ‫=‪t‬‬ ‫‪1 3 5 7 9‬‬ ‫في هذا المثال تم تحديد القيمة االبتدائية للشعاع ‪ t‬ومن ثم مقدار التزايد‬ ‫(الخطوة)‪ ،‬وأخيرا ً القيمة النهائية ويفصل بين كل منها نقطتين‪.‬‬ ‫تعريف األشعة‬ ‫في حال لم يتم تحديد مقدار التزايد يعتبر ‪ MATLAB‬أن قيمة التزايد‬ ‫االفتراضية وهي ‪1‬‬ ‫]‪>> t=[1:10‬‬ ‫=‪t‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫هذا في حالة أن الشعاع سطري‪ ،‬أما للحصول على الشعاع العمودي‬ ‫نستخدم المنقول (‘) كما يلي‪:‬‬ ‫تعريف األشعة‬ ‫‘‪>> t‬‬ ‫= ‪ans‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫التعامل مع األشعة‬ ‫‪ ‬استبدال عناصر الشعاع السطري (عمودي)‪ :‬يتم بوضع اسم الشعاع‬ ‫متبوعا بقوسين صغيرين () يتضمن ترتيب العنصر المراد استبداله‬ ‫ثم إشارة = وقيمة العنصر المطلوبة بالنسبة للمصفوفة ‪ x‬والتي‬ ‫سنستبدل الرقم ‪ 3‬بالرقم ‪ 6‬يتم باألمر‪:‬‬ ‫‪>> X(3)=6‬‬ ‫=‪X‬‬ ‫‪1 2 6 4 5‬‬ ‫التعامل مع األشعة‬ ‫‪ ‬إضافة عناصر جديدة للشعاع السطري (عمودي)‪ :‬تتم بنفس طريقة‬ ‫االستبدال إال أن الترتيب يجب أن يكون أكبر من ترتيب أكبر عدد في‬ ‫الشعاع‪.‬‬ ‫‪>> y(8)=12‬‬ ‫=‪y‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪12‬‬ ‫مالحظة ‪ :‬كل قيمة غير موجودة في الشعاع يعتبرها ‪ MATLAB‬صفرا‬ ‫التعامل مع األشعة‬ ‫‪ ‬استدعاء عنصر من الشعاع السطري (عمودي)‪ :‬يتم بطريقة تشبه‬ ‫االستبدال ولكن بدون = والرقم الذي يليها‪.‬‬ ‫)‪>> y(3‬‬ ‫= ‪ans‬‬ ‫‪3‬‬ ‫‪ ‬استدعاء أكثر من عنصر بترتيب متتالي‪:‬‬ ‫)‪>> y(3:6‬‬ ‫= ‪ans‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪0‬‬ ‫العمليات والتوابع األساسية الخاصة باألشعة‬ ‫لدينا الشعاع ‪ X‬كما يلي‪:‬‬ ‫‪X=[ 1‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫]‪4 5‬‬ ‫‪ ‬التابع ‪ max‬يرجع أكبر عنصر في الشعاع‬ ‫)‪>> max(X‬‬ ‫= ‪ans‬‬ ‫‪6‬‬ ‫‪ ‬التابع ‪ min‬يرجع أصغر عنصر في الشعاع‬ ‫)‪>> min(y‬‬ ‫= ‪ans‬‬ ‫‪0‬‬ ‫العمليات والتوابع األساسية الخاصة باألشعة‬ ‫‪ ‬التابع ‪ length‬يرجع عدد عناصر الشعاع‬ ‫)‪>> length(X‬‬ ‫= ‪ans‬‬ ‫‪5‬‬ ‫‪ ‬التابع ‪ sum‬يقوم بحساب مجموع عناصر الشعاع‪.‬‬ ‫)‪>> sum(y‬‬ ‫= ‪ans‬‬ ‫‪27‬‬ ‫العمليات والتوابع األساسية الخاصة باألشعة‬ ‫‪ ‬التابع ‪ sort‬يقوم بترتيب عناصر الشعاع ترتيبا تصاعديا‬ ‫)‪>> sort(y‬‬ ‫= ‪ans‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪12‬‬ ‫العمليات والتوابع األساسية الخاصة باألشعة‬ ‫‪ ‬التابع ‪ range‬يقوم بحساب الفرق بين أكبر عنصر‬ ‫وأصغر عنصر من عناصر الشعاع‬ ‫)‪>> range(X‬‬ ‫= ‪ans‬‬ ‫‪5‬‬ ‫العمليات الحسابية على األشعة‬ ‫نعرف الشعاعين التاليين‪:‬‬ ‫]‪>> a=[1 2 3 4 5‬‬ ‫=‪a‬‬ ‫‪1 2 3 4‬‬ ‫‪5‬‬ ‫]‪>> b=[6 7 8 9 10‬‬ ‫=‪b‬‬ ‫‪6 7 8 9‬‬ ‫‪10‬‬ ‫العمليات الحسابية على األشعة‬ ‫‪ -1‬الجمع‪:‬‬ ‫‪>> a+b‬‬ ‫= ‪ans‬‬ ‫‪7‬‬ ‫‪9‬‬ ‫‪11‬‬ ‫‪13‬‬ ‫‪15‬‬ ‫العمليات الحسابية على األشعة‬ ‫‪ -2‬الطرح‪:‬‬ ‫‪>> a-b‬‬ ‫= ‪ans‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫العمليات الحسابية على األشعة‬ ‫‪ -3‬الجداء‪:‬‬ ‫‪>> a*b‬‬ ‫* ‪Error using‬‬ ‫‪Inner matrix dimensions must agree.‬‬ ‫هنا خصوصية المصفوفات فإلجراء عملية الجداء البد من االلتزام بجبر المصفوفات‬ ‫حيث يجب أن يتم الجداء بين شعاع سطري وشعاع عمودي‪.‬‬ ‫'‪>> a*b‬‬ ‫= ‪ans‬‬ ‫‪130‬‬ ‫العمليات الحسابية على األشعة‬ ‫يمكن استخدام العملية *‪.‬لتنفيذ عملية الجداء لكل عنصر في الشعاع‬ ‫األول بالعنصر المقابل في الشعاع اآلخر‪ ،‬ويكون الشعاعان من‬ ‫نفس الحجم والشعاع الناتج أيضا من نفس الحجم‪.‬‬ ‫‪>> a.*b‬‬ ‫= ‪ans‬‬ ‫‪6 14 24 36 50‬‬ ‫تعريف األشعة‬ ‫األشعة حالة خاصة من المصفوفات‪ ،‬وهي نوعان‪:‬‬ ‫أ‪ -‬سطرية‪ :‬تعرف بوضع فاصلة عادية بين عناصرها ووضعها بين‬ ‫قوسين متوسطين ] [‪.‬‬ ‫]‪>> X=[1,2,3,4,5‬‬ ‫=‪X‬‬ ‫‪1 2 3 4‬‬ ‫‪5‬‬ ‫كما يمكن كتابة عناصر الشعاع السطري بدون فاصلة‬ ‫]‪>> X=[1 2 3 4 5‬‬ ‫=‪X‬‬ ‫‪1 2 3 4‬‬ ‫‪5‬‬ ‫تعريف األشعة‬ ‫ب‪ -‬عمودية‪ :‬تعرف بوضع فاصلة نقطية بين عناصرها ووضعها بين‬ ‫قوسين متوسطين ] [‪.‬‬ ‫]‪>> y=[1;2;3;4;5‬‬ ‫=‪y‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫تعريف األشعة‬ ‫‪ ‬يمكن تعريف األشعة السطرية والتي عناصرها متسلسلة وبتزايد‬ ‫ثابت باستخدام النقطتين (‪ ):‬كما في المثال‪:‬‬ ‫]‪>> t=[1:2:10‬‬ ‫=‪t‬‬ ‫‪1 3 5 7 9‬‬ ‫يظهر في المثال أنه تم تحديد القيمة األدنى للشعاع ‪ t‬وبعد النقطتين‬ ‫األوليتين مقدار التزايد (الخطوة)‪ ،‬وبعد النقطتين الثانيتين توضع‬ ‫القيمة النهائية‪.‬‬ ‫تعريف األشعة‬ ‫ملحظة‪ :‬في حال لم يتم تحديد مقدار التزايد يعتبر ‪ MATLAB‬أن‬ ‫التزايد بقيمة ‪ 1‬افتراضيا ً‬ ‫]‪>> t=[1:10‬‬ ‫=‪t‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪ ‬يمكن الحصول على الشعاع العمودي بهذه الطريقة عن طريق ايجاد‬ ‫المنقول (‘)‬ ‫تعريف األشعة‬ ‫‘‪>> t‬‬ ‫= ‪ans‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫التعامل مع األشعة‬ ‫‪ ‬استبدال عناصر الشعاع السطري (أو العمودي) بقيم أخرى‪ :‬يتم‬ ‫ذلك بوضع اسم الشعاع متبوعا ً بقوسين صغيرين () يتضمنان‬ ‫ترتيب العنصر المراد استبداله ثم إشارة = وقيمة العنصر‬ ‫المطلوبة‪.‬‬ ‫‪ ‬مثال‪ :‬نعتبر المصفوفة ‪ x‬والتي سنستبدل فيها الرقم ‪ 3‬بالرقم ‪6‬‬ ‫يتم ذلك باألمر‪:‬‬ ‫‪>> X(3)=6‬‬ ‫=‪X‬‬ ‫‪1 2 6 4 5‬‬ ‫التعامل مع األشعة‬ ‫‪ ‬إضافة عناصر جديدة للشعاع السطري (عمودي)‪ :‬يتم بنفس طريقة‬ ‫االستبدال إال أن الترتيب يجب أن يكون أكبر من ترتيب أكبر عدد‬ ‫في الشعاع‪.‬‬ ‫‪>> y(8)=12‬‬ ‫=‪y‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫ملحظة ‪ :‬كل قيمة غير معرفة القيمة في الشعاع يعتبرها ‪MATLAB‬‬ ‫صفرا ً‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪12‬‬ ‫التعامل مع األشعة‬ ‫‪ ‬استدعاء عنصر من الشعاع السطري (عمودي)‪ :‬يتم بنفس طريقة‬ ‫اإلستبدال بدون إشارة = والرقم الذي بعدها‪.‬‬ ‫)‪>> y(3‬‬ ‫= ‪ans‬‬ ‫‪3‬‬ ‫‪ ‬استدعاء أكثر من عنصر بترتيب متتالي‪:‬‬ ‫)‪>> y(3:6‬‬ ‫= ‪ans‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪0‬‬ ‫العمليات والتوابع الحسابيةالخاصة باألشعة‬ ‫‪ ‬التابع ‪ :length‬يرجع عدد عناصر الشعاع‪.‬‬ ‫فمثلً بالنسبة للمصفوفة ‪:X‬‬ ‫)‪>> length(X‬‬ ‫= ‪ans‬‬ ‫‪5‬‬ ‫‪ ‬التابع ‪ :sum‬يقوم بحساب عناصر الشعاع‪.‬‬ ‫)‪>> sum(y‬‬ ‫= ‪ans‬‬ ‫‪27‬‬ ‫العمليات والتوابع الحسابيةالخاصة باألشعة‬ ‫‪ ‬التابع ‪ :max‬يرجع أكبر عنصر في الشعاع‪ ,‬فمثلً بالنسبة للمصفوفة‬ ‫‪:X‬‬ ‫)‪>> max(X‬‬ ‫= ‪ans‬‬ ‫‪6‬‬ ‫التابع ‪ :min‬يرجع أصغر عنصر في الشعاع‬ ‫)‪>> min(y‬‬ ‫= ‪ans‬‬ ‫‪0‬‬ ‫العمليات والتوابع الحسابيةالخاصة باألشعة‬ ‫‪ ‬التابع‪ :sort‬يقوم بترتيب عناصر الشعاع ترتيبا ً تصاعديا ً‬ ‫)‪>> sort(y‬‬ ‫= ‪ans‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪12‬‬ ‫العمليات والتوابع الحسابيةالخاصة باألشعة‬ ‫‪ ‬التابع ‪ :range‬يقوم بحساب الفرق بين أكبر عنصر وأصغر عنصر‬ ‫من عناصر الشعاع‬ ‫)‪>> range(X‬‬ ‫= ‪ans‬‬ ‫‪5‬‬ ‫العمليات الحسابية على األشعة‬ ‫ليكن لدينا الشعاعين التاليين‪:‬‬ ‫]‪>> a=[1 2 3 4 5‬‬ ‫=‪a‬‬ ‫‪1 2 3 4‬‬ ‫‪5‬‬ ‫]‪>> b=[6 7 8 9 10‬‬ ‫=‪b‬‬ ‫‪6 7 8 9‬‬ ‫‪10‬‬ ‫العمليات الحسابية على األشعة‬ ‫‪ -1‬الجمع‪:‬‬ ‫‪>> a+b‬‬ ‫= ‪ans‬‬ ‫‪7‬‬ ‫‪9‬‬ ‫‪11‬‬ ‫‪13‬‬ ‫‪15‬‬ ‫العمليات الحسابية على األشعة‬ ‫‪ -2‬الطرح‪:‬‬ ‫‪>> a-b‬‬ ‫= ‪ans‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫‪-5‬‬ ‫العمليات الحسابية على األشعة‬ ‫‪ -3‬الجداء‪:‬‬ ‫‪>> a*b‬‬ ‫* ‪Error using‬‬ ‫‪Inner matrix dimensions must agree.‬‬ ‫هنا خصوصية المصفوفات فإلجراء عملية الجداء البد من االلتزام بجبر‬ ‫المصفوفات حيث يجب أن يتم الجداء بين شعاع سطري وشعاع عمودي‪.‬‬ ‫'‪>> a*b‬‬ ‫= ‪ans‬‬ ‫‪130‬‬ ‫العمليات الحسابية على األشعة‬ ‫يمكن استخدام العملية *‪.‬لتنفيذ عملية الجداء الجبري حيث يتم الجداء‬ ‫لكل عنصر من الشعاع بمقابله من الشعاع اآلخر والنتيجة بشعاع‬ ‫من نفس القياس‪.‬‬ ‫‪>> a.*b‬‬ ‫= ‪ans‬‬ ‫‪6 14 24 36 50‬‬ ‫العمليات الحسابية على األشعة‬ ‫يمكن استخدام العملية *‪.‬لتنفيذ عملية الجداء الجبري حيث يتم الجداء‬ ‫لكل عنصر من الشعاع بمقابله من الشعاع اآلخر والنتيجة بشعاع‬ ‫من نفس القياس‪.‬‬ ‫‪>> a.*b‬‬ ‫= ‪ans‬‬ ‫‪6 14 24 36 50‬‬ ‫المصفوفات‬ ‫‪ ‬المصفوفات هي مجموعة من البيانات والتي يتم وضعها في صورة أسطر‬ ‫وأعمدة‪ ،‬وتأخذ الشكل التالي ‪:‬‬ ‫‪ ‬وتستخدم المصفوفات في حل كثيرات الحدود ‪ Polynomials‬وفي حل‬ ‫مجموعة من المعادالت وغيرها من التطبيقات‪.‬‬ ‫)‪Matrixname (m,n‬‬ ‫‪ ‬ويرمز عادة للمصفوفة في الرياضيات‪:‬‬ ‫‪ m‬عدد األسطر (الصفوف) و ‪ n‬عدد األعمدة‬ ‫حيث ‪:‬‬ ‫كتابة المصفوفات في ‪MATLAB‬‬ ‫‪ ‬يتم إدخال المصفوفة بكتابة عناصر السطراألول ثم الثاني ‪...‬إلخ‪،‬‬ ‫فمثلً لكتابة المصفوفة التالية في ‪:MATLAB‬‬ ‫‪ ‬يتم الفصل بين أرقام السطر األول إما بفاصلة )‪ Comma (,‬أو‬ ‫بترك فراغ بين األرقام‪.‬‬ ‫‪ ‬يتم فصل عناصر السطر األول عن عناصر السطر الثاني بالضغط‬ ‫على مفتاح ‪ Enter‬أو باستخدام الفاصلة المنقوطة ‪Semicolon‬‬ ‫) ;) كما يلي‪:‬‬ ‫كتابة المصفوفات في ‪MATLAB‬‬ ‫مصفوفات خاصة‬ ‫‪ – 1 ‬المصفوفة الواحدية‪ :‬هي مصفوفة من ‪ m‬سطر و‪ n‬عمود‬ ‫كل عناصرها واحدات )‪.ones(m,n‬‬ ‫‪ -2 ‬المصفوفة الصفرية‪ :‬هي مصفوفة من ‪ m‬سطر و‪ n‬عمود كل‬ ‫عناصرها أصفار )‪.zeros(m,n‬‬ ‫‪ -3 ‬مصفوفة الهوية ‪ :I‬وهي مصفوفة جميع عناصرها أصفار ما‬ ‫عدا عناصر القطر الرئيسي واحدات )‪.eye(m,n‬‬ ‫العمليات األساسية على المصفوفات‬ ‫‪ ‬هناك العديد من العمليات األساسية التي يمكن تطبيقها على المصفوفات في‬ ‫‪ MATLAB‬وذلك لجعل التعامل مع المصفوفات مرنا ً‪.‬‬ ‫‪-1 ‬االستدعاء‪:‬‬ ‫يمكن استدعاء عنصر من المصفوفة ‪ a‬عن طريق‪:‬‬ ‫أ‪ -‬رقم السطر ورقم العمود‪ a(2,3) :‬يستدعي العنصر في السطر ‪ 2‬والعمود ‪ 3‬من‬ ‫المصفوفة ‪.a‬‬ ‫ب‪ -‬ترتيب العنصر‪ a(8) :‬استدعاء العنصر الذي ترتيبه ‪ 8‬في المصفوفة ويحسب‬ ‫هذا الترتيب من العنصر (‪ )1x1‬باتجاه اليمين‪.‬‬ ‫كما يمكن استدعاء عناصر سطر أو عناصر عمود معين أو حتى مصفوفة جزئية‬ ‫من خلل استخدام المؤثر (‪.):‬‬ ‫‪ ‬مثال‪ a(2:4,1:2) :‬استدعاء مصفوفة جزئية عناصرها هي األسطر ‪ 2,3,4‬واألعمدة ‪1,2‬‬ ‫العمليات األساسية على المصفوفات‬ ‫‪ -2‬اإلضافة‪ :‬يمكن إضافة أعمدة أو أسطر أو مصفوفة جزئية للمصفوفة‬ ‫من خلل تحديد الموقع المراد إضافته وتحديد قيم اإلضافة مثال‪:‬‬ ‫]‪ A(:,5)=[1;2;3;4;5‬إضافة عمود خامس للمصفوفة ‪.A‬‬ ‫‪ -3‬التعديل على العناصر في المصفوفة ويتم من خلل تحدي موقع‬ ‫العنصر بنفس آليات االستدعاء وإسناد القيمة الجديدة لهذا العنصر‪.‬‬ ‫مثال‪ a(1,2)=5 :‬تعديل العنصر ذي الترتيب ‪1x2‬بالعدد ‪5‬‬ ‫‪ -4‬الحذف‪ :‬يمكن حذف عناصر من المصفوفة من خلل استدعائها‬ ‫وإسنادها للمؤثر ] [‬ ‫مثال ] [=(‪ a):,5‬يحذف عناصر العمود الخامس‬ ‫العمليات األساسية على المصفوفات‬ ‫‪ -5 ‬منقول المصفوفة والذي يعني استبدال أسطر المصفوفة‬ ‫بأعمدتها ويستخدم المؤثر (‘) إليجاد المنقول‪.‬‬ ‫‪ -6 ‬مقلوب المصفوفة‪ :‬يتم إيجاده من خلل التعليمة )‪.inv(a‬‬ ‫بعض التوابع المستخدمة مع المصفوفات‬ ‫‪ ‬يوجد في ‪ MATLAB‬العديد من التوابع التي تستخدم مع المصفوفات‬ ‫والتي تساعد في استخدام المصفوفات بشكل فعال لحل مختلف‬ ‫المسائل العلمية منها‪:‬‬ ‫‪.1‬التابع )‪ :size(a‬يستخدم هذا التابع للحصول على أبعاد المصفوفة‬ ‫‪.a‬‬ ‫‪.2‬التابع )‪ :diag(a‬يستخدم إليجاد القطر الرئيسي للمصفوفة المربعة‬ ‫‪.a‬‬ ‫‪.3‬التابع )‪ :max(a‬يعيد شعاع يحتوي على العنصر األكبر لكل عمود‬ ‫في المصفوفة ‪.a‬‬ ‫بعض التوابع المستخدمة مع المصفوفات‬ ‫‪.4‬التابع )‪ :min(a‬يعيد شعاع يحتوي على العنصر األصغر لكل‬ ‫عمود في المصفوفة ‪.a‬‬ ‫‪.5‬التابع )‪ :sum(a‬يعيد شعاع يحتوي على مجموع عناصر كل عمود‬ ‫في المصفوفة ‪.a‬‬ ‫‪.6‬التابع )‪ :prod(a‬يعيد شعاع يحتوي على جداء عناصر كل عمود‬ ‫في المصفوفة ‪.a‬‬ ‫العمليات الحسابية على المصفوفات‬ ‫‪ ‬الجمع والطرح‪:‬‬ ‫شرط جمع مصفوفتين وطرحهما‪ :‬شرط جمع (طرح) مصفوفتين‬ ‫أن يكون لكليهما نفس عدد الصفوف ‪ m‬وكذلك نفس عدد األعمدة‬ ‫‪n‬‬ ‫‪ ‬وتتم عملية الجمع (الطرح) بجمع (طرح) كل عنصرين متقابلين‬ ‫ووضعهما بالمصفوفة الناتجة‪.‬‬ ‫‪ ‬مثال المصفوفتان التاليتان يمكن‬ ‫جمعهما (طرحهما) ألنها يحملن نفس‬ ‫عدد الصفوف واألعمدة ‪.‬‬ ‫العمليات الحسابية على المصفوفات‬ ‫يستخدم مؤثرا الجمع (‪ )+‬والطرح (‪ )-‬لتنفيذ عمليتي الجمع والطرح على‬ ‫التوالي كما في المثال التالي‪:‬‬ ‫العمليات الحسابية على المصفوفات‬ ‫‪ ‬ضرب المصفوفات ‪:‬‬ ‫‪ ‬شرط ضرب أي مصفوفتين هو أن يكون عدد أعمدة المصفوفة‬ ‫األولى ‪ n1‬مساويا ً لعدد الصفوف في المصفوفة الثانية ‪ m2‬وتكون‬ ‫النتيجة مصفوفة لها عدد سطور األولى ‪ m1‬وأعمدة الثانية ‪n2‬‬ ‫مثال‪ :‬ضرب المصفوفتين التاليتين‪:‬‬ ‫‪ ‬ينتج‪:‬‬ ‫العمليات الحسابية على المصفوفات‬ ‫العمليات الحسابية على المصفوفات‬ ‫‪ ‬يتم تنفيذ الضرب في ‪MATLAB‬‬ ‫بمؤثر الضرب (*) مع االنتباه لتحقق‬ ‫شرط الضرب‪.‬‬ ‫‪ ‬هناك المؤثر السلمي للضرب (*‪).‬‬ ‫والذي يقوم بضرب كل عنصر من‬ ‫المصفوفة األولى بمقابله من المصفوفة‬ ‫الثانية‪.‬‬ ‫‪ ‬إن ضرب عدد سلمي بالمصفوفة هو‬ ‫مصفوفة ناتجة عن ضرب كل عنصر‬ ‫من عناصرها بهذا العدد‪.‬‬ ‫العمليات الحسابية على المصفوفات‬ ‫‪ ‬قسمة المصفوفات‪:‬‬ ‫قسمة المصفوفات ‪ a/b‬عمليا ً هو ضرب المصفوفة ‪ a‬بمقلوب المصفوفة ‪.b‬‬ ‫‪‬‬ ‫وبالتالي فإن شرط القسمة هو عدد أعمدة المصفوفتين متساويتين‪.‬‬ ‫هناك نوعين من القسمة في ‪ MATLA‬هما القسمة من اليمين ‪ a/b‬وهنا يتم قسمة‬ ‫‪‬‬ ‫المصفوفة ‪ a‬على المصفوفة ‪ ،b‬والقسمة من اليسار ‪ a\b‬ويعني قسمة المصفوفة‬ ‫‪b‬على ‪.a‬‬ ‫يجب االنتباه إلى أن المصفوفة المقسوم عليها والتي سيستخدم مقلوبها يجب أن‬ ‫‪‬‬ ‫تكون مربعة‪.‬‬ ‫وبشكل مشابه للضرب فإن استخدام المؤثر السلمي للقسمة (‪ ).\,./‬والعدد السلمي‬ ‫‪‬‬ ‫سينفذ كما في الضرب أي قسمة كل عنصر من المصفوفة األولى على العنصر‬ ‫المقابل له في المصفوفة الثانية أو قسمة عناصر المصفوفة على العدد السلمي‪.‬‬ ‫العمليات الحسابية على المصفوفات‬ ‫‪ )^( ‬مؤثر الرفع إلى قوة‪:‬‬ ‫لمؤثر الرفع إلى قوة معاملن‪.‬ويعمل مع األعداد السلمية عمل المعامل )^‪(.‬‬ ‫‪‬‬ ‫والذي يعني رفع كل عنصر من عناصر المصفوفة لألس المحدد‪.‬‬ ‫لكن إن كان أحد معامليه عدد سلمي واآلخر مصفوفة فإنه ينجز عملية مختلفة‬ ‫‪‬‬ ‫حسب ترتيب معامليه‪.‬‬ ‫إن كان المعامل اليساري مصفوفة واليميني عدد فإنه يرفع المصفوفة للقوة العدد‬ ‫‪o‬‬ ‫بضرب المصفوفة بنفسها عدد من المرات يساوي العدد (إذا كانت القوة عدد‬ ‫صحيح موجب) وهنا يجب أن تكون المصفوفة مربعة‪.‬وإن كانت القوة عدداً‬ ‫صحيحا ً سالبا ً تقلب المصفوفة ثم تنجز عملية الرفع للقيمة المطلقة للقوة‪.‬ويمكن أن‬ ‫تكون القوة عدد حقيقي أو عقدي‪.‬‬ ‫كما يمكن رفع عدد للقوة مصفوفة ويشترط أيضا ً أن تكون المصفوفة مربعة‪.‬‬ ‫‪o‬‬ ‫ال يمكن استخدام مؤثر الرفع إلى قوة إن كان معامليه مصفوفة‪.‬‬ ‫‪o‬‬ ‫األعداد العقدية‬ ‫‪ ‬يحتوي ‪ MATLAB‬على العديد من التوابع المخصصة للتعامل مع األعداد‬ ‫العقدية‪ ،‬والتي تتكون كما هو معلوم من قسم حقيقي وقسم عقدي‪.‬‬ ‫‪ ‬مثلً العدد العقدي ‪ 3+i5‬يتكون من جزأين حقيقي ‪ 3‬وتخيلي (عقدي) ‪ 5‬إلدخال‬ ‫هذا العدد في ‪ MATLAB‬نستخدم أسلوبين‪:‬‬ ‫‪.1‬اإلدخال المباشر باستخدام الرمز ‪ i‬أو ‪ j‬الدال على القسم التخيلي في‬ ‫‪ MATLAB‬كما في المثال‪:‬‬ ‫‪ >>a = 5+3*i‬أو ‪>>a = 5 + 3i‬‬ ‫‪.2‬باستخدام التابع )‪ comlex (Re,Im‬كما في المثال‪:‬‬ ‫)‪>>a = complex(5,3‬‬ ‫الذي يعطي الخرج التالي‪:‬‬ ‫‪>>a = 5.0000 + 3.0000i‬‬ ‫األعداد العقدية‬ ‫‪ ‬إن التمثيل السابق للعدد العقدي يدعى بالتمثيل الديكارتي حيث يمثل‬ ‫بمستوي محوره األفقي هو المحور الحقيقي والمحور الشاقولي هو‬ ‫المحور التخيلي‪.‬‬ ‫‪ ‬هناك تمثيل آخر للعدد العقدي هو التمثيل القطبي والذي يستخدم‬ ‫الزاوية ونصف القطر(‪ No)r,θ‬والذي يمكن أن نسمي مركباته‬ ‫بطويلة وزاوية‪.‬تستخدم التوابع التالية للتمثيل القطبي للعدد العقدي‪:‬‬ ‫‪ :abs(No) -1‬تستخدم لحساب طويلة العدد العقدي‪.‬‬ ‫‪ :angle(No) -2‬تستخدم لحساب زاوية العدد العقدي بالراديان‪.‬‬ ‫األعداد العقدية‬ ‫طويلة العدد العقدي ‪a‬‬ ‫)‪>> abs(a‬‬ ‫= ‪ans‬‬ ‫‪5.8310‬‬ ‫زاوية العدد العقدي ‪a‬‬ ‫)‪>> angle(a‬‬ ‫= ‪ans‬‬ ‫‪1.0304‬‬ ‫األعداد العقدية‬ ‫‪ ‬برنامج ‪ MATLAB‬مزود بالعديد من التوابع التي تستخدم مع‬ ‫األعداد العقدية من هذه التوابع‪:‬‬ ‫‪ :real(No)-1‬يستخدم إلخراج الجزء الحقيقي من العدد العقدي‪.‬‬ ‫‪ :imag(No) -2‬يستخدم إلخراج الجزء التخيلي من العدد العقدي‪.‬‬ ‫‪ :conj(No) -3‬إليجاد المرافق العقدي للعدد العقدي‪ ،‬كما يمكن‬ ‫استخدام الرمز (‘) إليجاد المرافق العقدي بالشكل ’‪.No‬‬ ‫‪ :isreal(No)-4‬يستخدم لتحديد فيما إذا كان المتحول الموجود عقديا ً أم‬ ‫ال‪ ،‬حيث يرجع القيمة ‪ 1‬إذا كان العدد حقيقي‪ ،‬و ‪ 0‬إذا كان العدد عقديا ً‪.‬‬ ‫األعداد العقدية‬ ‫‪ MATLAB ‬مزود بالعديد من التوابع التي تستخدم مع األعداد‬ ‫العقدية من هذه التوابع‪:‬‬ ‫‪ :real(No)-1 ‬يستخدم الستخراج الجزء الحقيقي من العدد‬ ‫العقدي‪.‬‬ ‫‪ :imag(No) -2 ‬يستخدم الستخراج الجزء التخيلي من العدد‬ ‫العقدي‪.‬‬ ‫)‪>> real(a‬‬ ‫= ‪ans‬‬ ‫‪5‬‬ ‫)‪>> imag(a‬‬ ‫= ‪ans‬‬ ‫‪3‬‬ ‫األعداد العقدية‬ ‫‪ :conj(No) -3 ‬إليجاد المرافق العقدي للعدد العقدي‪ ,‬كما يمكن‬ ‫استخدام الرمز (‘) إليجاد المرافق العقدي بالشكل ’‪.No‬‬ ‫‪ :isreal(No)-4 ‬يستخدم لتحديد فيما إذا كان المتحول الموجود‬ ‫عقديا أم ال‪ ,‬حيث يرجع القيمة ‪ 1‬إذا كان العدد حقيقي‪ ,‬و ‪ 0‬إذا كان‬ ‫العدد عقديا‪.‬‬ ‫)‪>> conj(a‬‬ ‫= ‪ans‬‬ ‫‪5.0000 - 3.0000i‬‬ ‫)‪>> isreal(a‬‬ ‫= ‪ans‬‬ ‫‪0‬‬ ‫األعداد العقدية‬ ‫إدخال العدد العقدي بشكل مباشر‬ ‫‪>> a=5+3i‬‬ ‫=‪a‬‬ ‫‪5.0000 + 3.0000i‬‬ ‫استخدام التابع ‪ complex‬لتعريف العدد العقدي‬ ‫)‪>> a=complex(3,5‬‬ ‫=‪a‬‬ ‫‪5.0000 + 3.0000i‬‬ ‫إيجاد مرافق العدد العقدي‬ ‫‘‪>> a‬‬ ‫= ‪ans‬‬ ‫‪5.0000 - 3.0000i‬‬ ‫األعداد العقدية‬ ‫‪ ‬التحويل من االحداثيات الديكارتية إلى القطبية‬ ‫)‪[theta,rho] = cart2pol(x,y‬‬ ‫‪ ‬التحويل من اإلحداثيات القطبية إلى اإلحداثيات الديكارتية‬ ‫)‪[x,y] = pol2cart(theta,rho‬‬

Use Quizgecko on...
Browser
Browser