عمليات ماتريسي روي آرايه ها در متلب matlab

عمليات ماتريسي روي آرايه ها

در MATLAB مي توان دو نوع عمليات روي آرايه ها انجــام داد كـه بـه آنـها عمليـات ماتريسـي و عمليات عضو به عضو مي گويند.  عمليات ماتريسي شامل محاسبه ترانهاده، ضرب ماتريسي، جمـع و تفريق آرايـه هاي هم اندازه و غيره مي شود.  ترانهاده يك ماتـريـس با كمك علامـت پريـم بدسـت مي آيد:

» r=rand(2,4)

r =     0.9501    0.6068    0.8913    0.4565

    0.2311    0.4860    0.7621    0.0185

» r’ ans =     0.9501    0.2311

    0.6068    0.4860

    0.8913    0.7621

    0.4565    0.0185

 

ضرب ماتريسي با استفاده از علامت * و جمع و تفريق ماتريسها بـا اسـتفاده از علامتـهاي مربوطـه انجام مي گيرند:

» v=[1:4];

» r*v’ ans =     6.6636

    3.5634

» s=[0:3; 2:-.5:.5];

» s+r ans =     0.9501    1.6068    2.8913    3.4565

    2.2311    1.9860    1.7621    0.5185

 

تعدادي از توابع ماتريسي در زير آورده شده اند :
 det(a) دترمينان ماتريس مربعي
 inv(a) ماتريس وارون
 eig(a) مقادير و بردارهاي ويژه ماتريس مربعي
 poly(a) چند جمله اي مشخصه ماتريس

 

٢-٤   عمليات عضو به عضو روي آرايه ها

انجام عمليات جبري روي آرايه ها در MATLAB نيازمند دقت است.  بطور كلــي دو نـوع عمليـات مي توان روي آرايه ها انجام داد: ١-عمليات عضو به عضــو، ٢-عمليـات بـرداري-ماتريسـي.  اشـتباه گرفتن اين دو نوع عمليات باعث بروز مشكل در محاسبات مي گردد.  دو بردار زير را در نظر بگيريد:

» a=[1 2 3];

» b=[2 -1 0];

 

فرض كنيد كه مي خواهيد اين دو را در هم ضرب كنيد:

» a*b

??? Error using ==> *

Inner matrix dimensions must agree.

 

دليل گرفتن پيام خطا از عمل فوق اين است كه در MATLAB استفاده از علامت ضرب به تنـهايي به معناي ضرب ماتريسي است.  بنابراين عمل بالا را مي توان با ترانهاده بردار دوم به انجام رسانيد:

» a*b’

ans =

     0

 

اين عمل در حقيقت ضرب اسكالر دو ماتريس است، يعني:  ٠=٠*٣+(١-)*٢+٢*١

 

حال اگر بخواهيد ضرب عضو به عضو اين دو بردار را به دست آوريد بايد يك نقطــه قبـل از علامـت ضرب بگذاريد:

» a.*b

ans =

     2    -2     0

 

همين دستورالعمل را مي توان براي تقسيم و به توان رساندن آرايه ها بكار بست:

» a.^2 ans =

     1     4     9

 

در صورت فراموش كردن نقطه قبل از علامت توان:

» a^2

??? Error using ==> ^

Matrix must be square.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *