عملیاتهای ماتریسی در MATLAB
MATLAB بهطور خاص برای کار با ماتریسها و انجام عملیاتهای مختلف ریاضی روی آنها طراحی شده است. عملیاتهای ماتریسی در MATLAB بهطور گسترده برای حل مسائل ریاضی، علمی، مهندسی و محاسبات عددی استفاده میشوند. در اینجا به بررسی انواع مختلف عملیاتهای ماتریسی در MATLAB میپردازیم.
۱. ضرب ماتریسی
الف) ضرب دو ماتریس
در MATLAB برای ضرب دو ماتریس از عملگر * استفاده میشود. برای انجام ضرب ماتریسی، تعداد ستونهای ماتریس اول باید برابر با تعداد ردیفهای ماتریس دوم باشد.
مثال:
B = [5 6; 7 8]; % ماتریس B
C = A * B; % ضرب ماتریس A و B
در اینجا ماتریس A با ماتریس B ضرب میشود و نتیجه در ماتریس C ذخیره میشود.
ب) ضرب اسکالر با ماتریس
برای ضرب یک ماتریس با یک عدد اسکالر (عدد ثابت)، از عملگر * استفاده میشود. در این صورت، هر عنصر ماتریس با اسکالر ضرب میشود.
مثال:
scalar = 2;
B = scalar * A; % ضرب اسکالر با ماتریس A
۲. جمع و تفریق ماتریسها
الف) جمع دو ماتریس
برای جمع دو ماتریس، ابعاد ماتریسها باید مشابه باشند. در این صورت، هر عنصر ماتریس اول با عنصر متناظر در ماتریس دوم جمع میشود.
مثال:
B = [5 6; 7 8]; % ماتریس B
C = A + B; % جمع دو ماتریس A و B
ب) تفریق دو ماتریس
عملگر - برای تفریق دو ماتریس مشابه عمل میکند. در این صورت، هر عنصر ماتریس اول از عنصر متناظر در ماتریس دوم کم میشود.
مثال:
B = [5 6; 7 8]; % ماتریس B
C = A - B; % تفریق ماتریس A و B
۳. ضرب عنصر به عنصر (Hadamard Product)
ضرب عنصر به عنصر در MATLAB با استفاده از عملگر .* انجام میشود. این عملیات مشابه ضرب ماتریسی نیست، بلکه در آن هر عنصر از ماتریس اول با عنصر متناظر از ماتریس دوم ضرب میشود.
مثال:
B = [5 6; 7 8]; % ماتریس B
C = A .* B; % ضرب عنصر به عنصر
در این مثال، هر عنصر در A با عنصر متناظر در B ضرب میشود.
۴. تقسیم ماتریسها
الف) تقسیم عنصر به عنصر
برای تقسیم عناصر دو ماتریس بهطور عنصر به عنصر از عملگر ./ استفاده میشود. این عملیات هر عنصر ماتریس اول را بر عنصر متناظر در ماتریس دوم تقسیم میکند.
مثال:
B = [5 6; 7 8]; % ماتریس B
C = A ./ B; % تقسیم عنصر به عنصر
ب) تقسیم ماتریسی (Matricial Division)
برای تقسیم ماتریسها بهصورت ماتریسی (یعنی معکوس یک ماتریس ضرب در ماتریس دیگر) از عملگر \ یا / استفاده میشود.
-
تقسیم چپ (Backslash operator): برای حل معادلات خطی یا تقسیم ماتریسی از عملگر \ استفاده میشود.
A = [1 2; 3 4];
B = [5 6; 7 8];
C = A \ B; % حل معادله Ax = B -
تقسیم راست (Slash operator): برای تقسیم ماتریسی از عملگر / استفاده میشود.
C = A / B; % معکوس B ضرب در A
۵. ترانسپوز ماتریس
برای محاسبه ترانسپوز یک ماتریس، از عملگر ' (اپاستروف) استفاده میشود. این عملیات سطرها و ستونها را جابجا میکند.
مثال:
B = A'; % ترانسپوز ماتریس A
در اینجا ماتریس B معکوس سطرها و ستونهای ماتریس A است.
۶. معکوس ماتریس
اگر ماتریس معکوسپذیر باشد (یعنی دترمینان آن صفر نباشد)، میتوان از تابع inv برای محاسبه معکوس آن استفاده کرد.
مثال:
B = inv(A); % محاسبه معکوس ماتریس A
در اینجا ماتریس B معکوس ماتریس A است.
۷. مقادیر ویژه و بردارهای ویژه
برای محاسبه مقادیر ویژه (Eigenvalues) و بردارهای ویژه (Eigenvectors) یک ماتریس، میتوان از تابع eig استفاده کرد.
مثال:
[V, D] = eig(A); % V ماتریس بردارهای ویژه و D ماتریس مقادیر ویژه
در اینجا V ماتریس بردارهای ویژه و D ماتریس مقادیر ویژه است.
۸. دترمینان (Determinant)
برای محاسبه دترمینان یک ماتریس از تابع det استفاده میشود.
مثال:
detA = det(A); % محاسبه دترمینان ماتریس A
۹. ویژگیهای ماتریسها
MATLAB دارای توابع مختلفی برای دسترسی به ویژگیهای ماتریسها است:
-
تعداد ردیفها و ستونها:
[rows, cols] = size(A); % تعداد ردیفها و ستونهای ماتریس A -
ترتیب ماتریس:
rankA = rank(A); % ترتیب ماتریس A -
مقدار بزرگترین عنصر ماتریس:
maxValue = max(A(:)); % مقدار بیشینه در ماتریس A
۱۰. ماتریس همانی (Identity Matrix)
برای ایجاد ماتریس همانی (که مقادیر قطر اصلی برابر ۱ و بقیه صفر هستند) از تابع eye استفاده میشود.
مثال:
نتیجهگیری
عملیاتهای ماتریسی در MATLAB شامل مجموعهای از توابع و عملگرهای مختلف هستند که برای انجام محاسبات ریاضی پیچیده با ماتریسها و آرایهها کاربرد دارند. MATLAB ابزارهای قدرتمندی برای ضرب، جمع، تفریق، تقسیم، معکوس، و محاسبات عددی مختلف مانند مقادیر ویژه و دترمینان ارائه میدهد که در بسیاری از زمینههای علمی و مهندسی استفاده میشوند.
