بازدید: ٨١٣

معکوس کردن ماتریس ها (آموزش MATLAB)

بازگشت به صفحه اصلی آموزش MATLAB

 

عملیات تقسیم در جبر ماتریس ها تعریف نشده است. اگر به خاطر داشته باشید تقسیم دو عدد اسکالر معادل با ضرب عدد اول در معکوس عدد دوم است. به عبارتی دیگر: x/y=x*1/y. از آنجایی که معکوس کردن یک ماتریس در جبر ماتریس ها تعریف شده است، بنابراین ضرب یک ماتریس در معکوس ماتریس دیگر همانند تقسیم دو ماتریس به حساب می آید.

برای درک بهتر مفهوم معکوس ماتریس ها، به یادآوری این نکته از اعداد اسکالر می پردازیم: X*1/x=1. به عبارت دیگر عددی که شما در یک عدد دیگر ضرب می کنید و نتیجه آن1 می شود، معکوس آن عدد نامیده می شود. حال باید پرسید معادل ماتریسی عدد 1 چیست؟ این ماتریس را ماتریس همانی می نامیم که با کاراکتر I نمایش داده می شود. یک ماتریس مربع که تنها بر روی قطر آن عدد یک نوشته شده است و سایر اعداد آن صفر می باشند. همان ماتریسی که با استفاده از دستور eye() ایجاد می شود. اگر شما هر ماتریس مربعی را در یک ماتریس همانی (I) ضرب کنید، نتیجه بدست آمده همان ماتریس اول می شود. این عملیات بسیار شبیه به همان ضرب یک عدد اسکالر در 1 می باشد.

از ماتریس همانی در تعریف ماتریس معکوس استفاده می شود. اگر دو ماتریس A و B وجود داشته باشند که حاصلضرب آنها برابر با یک ماتریس همانی شود (A*B=I)، آنگاه ماتریس B را معکوس ماتریس A می نامند و آن را بصورت a-1 نمایش می دهند. اگر دقت کنید متوجه می شوید که وقتی A*B=I باشد، B*A=I نیز هست. اگرچه معکوس تمامی ماتریس های مربع را می توان محاسبه کرد ولی نمی توان معکوس عدد اسکالر صفر را محاسبه نمود.

در برنامه MATLAB ، معکوس ماتریس را با استفاده از دستور inv() محاسبه می کنند و یا می توان ماتریس را به توان -1 رساند:

 

معکوس کردن معکوس

 

اگرچه MATLAB امکان معکوس کردن ماتریس را با استفاده از عملگرهای تقسیم فراهم می کند (/ و یا \) ولی این عملگرها استاندارد نیستند. در این حالتها، ماتریس هایی که در بالای علامت تقسیم قرار دارد، در معکوس ماتریسی که در زیر علامت تقسیم قرار دارد، ضرب می شوند. به مثال زیر توجه کنید:

 

معکوس کردن ماتریس ها

 

نتیجه بدست آمده با نتیجه مثال قبلی یکسان است. حال به مثال زیر توجه کنید:

 

ماتریس همانی

 

در بالا دو روش برای محاسبه Y*X-1 را مشاهده می کنید. به جای علامتهای عملگرهای تقسیم / و یا \ می توانید از دستور mrdivide(X,Y) برای تقسیم سمت راست ماتریس و mldivide(X,Y) برای تقسیم سمت چپ ماتریس استفاده کنید. 

 

بازگشت به صفحه اصلی آموزش MATLAB

طراحی سایت و سئو توسط ضابط