مشخصات مقاله
-
1904
-
0.0
-
13755
-
0
-
0
ماتریس در متلب
Matrix
ماتریس آرایه دو بعدی است.
در متلب یک ماتریس توسط وارد کردن عناصر در یک سطر با استفاده از کاما یا فاصله و گذاشتن سمیکالن در پایان هر سطر به وجود می آید.
به عنوان مثال، ماتریس a یک ماتریس 4 در 5 می باشد.
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
پس از اجرای متلب، نتیجه زیر دیده می شود.
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
پیداکردن عناصر یک ماتریس
برای پیدا کردن عنصری در سطر mth و ستون nth در ماتریس mx، عبارت زیر را می نویسیم.
mx(m, n);
مثال
برای پیدا کردن عنصر سطر 2nd و ستون 5th برای ماتریس a بخش قبل، مانند عبارت زیر می نویسیم.
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
متلب عبارت بالا را اجرا کرده و نتیجه را به صورت زیر بیان می کند.
ans = 6
نکته
برای پیدا کردن عناصر ستون mth، عبارت A(:,m) را می نویسیم.
فرض کنیم یک بردار ستونی v از سطر 4th ماتریس a را بخواهیم، مانند دستور زیر عمل می کنیم.
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
متلب عبارت بالا را اجرا کرده و به صورت زیر نمایش می دهد.
v =
4
5
6
7
همچنین می توان عناصر ما بین ستون های mth و nth را با استفاده از دستور زیر نوشت.
a(:,m:n)
مثال
فرض کنیم عناصر بین ستون های دوم و سوم را از ماتریس زیر بخواهیم.
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
متلب عبارت بالا را به صورت زیر نمایش می دهد.
ans =
2 3
3 4
4 5
5 6
همچنین از این دستور برای گرفتن یک زیر ماتریس می توان استفاده کرد. مانند
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
متلب عبارت بالا را اجرا کرده و به صورت زیر نتیجه را نشان می دهد.
برای مثال فرض کنیم زیر ماتریس sa از زیر بخش های داخلی ماتریس a به صورت زیر باشد.
3 4 5
4 5 6
به صورت زیر می نویسیم.
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
sa = a(2:3,2:4)
متلب عبارت بالا را به صورت زیر می نویسید.
sa =
3 4 5
4 5 6
حذف یک سطر یا ستون یک ماتریس
می توانیم سطر یا یک ستون دلخواه از یک ماتریس را با برابر قرار دادن با مجموعه خالی ([])، حذف کنیم.
مثال
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(4 , : ) = []
متلب عبارت دستوری بالا را به صورت زیر بیان می کند.
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
مثال
فرض کنیم بخواهیم ستون پنجم ماتریس بالا را حذف کنیم.
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]
نتیجه دستور بالا به صورت زیر خواهد بود.
a =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
مثال
در این مثال، یک ماتریس 3 در 3 به نام M داریم، سپس دومین و سومین سطر این ماتریس را دو بار اضافه کرده و ماتریس 4 در 3 ایجاد می کنیم.
کد زیر را بنویسید.
a = [1 2 3; 4 5 6; 7 8 9];
new_mat = a([2,3,2,3],:)
نتیجه به صورت زیر خواهد بود.
new_mat =
4 5 6
7 8 9
4 5 6
7 8 9
عملگر های ماتریس
جمع و تفریق ماتریس ها
ماتریس ها را می توان به هم اضافه یا از هم کم کرد. در این عملوند ها عناصر نظیر به نظیر به هم اضافه یا از هم کم می شوند.
مثال
فایل اسکریپت را باز کرده و عبارت زیر را در آن می نویسیم.
a = [1 2 3; 4 5 6; 7 8 9];
b = [7 5 6; 2 0 8; 5 7 1];
c = a + b
d = a - b
بعد از اجرا در متلب، خواهیم داشت.
c =
8 7 9
6 5 14
12 15 10
d =
-6 -3 -3
2 5 -2
2 1 8
تقسیم (راست یا چپ) ماتریس ها
تقسیم ماتریس ها به دو صورت چپ (\) و راست (/) صورت می گیرد.
مثال
کد زیر را در فایل اسکریپت زیر بنویسید.
a = [1 2 3; 4 5 6; 7 8 9];
b = [7 5 6; 2 0 8; 5 7 1];
c = a / b
d = a \ b
وقتی که در متلب اجرا می شود، خواهیم داشت.
c =
-0.52542 0.68644 0.66102
-0.42373 0.94068 1.01695
-0.32203 1.19492 1.37288
d =
-3.27778 -1.05556 -4.86111
-0.11111 0.11111 -0.27778
3.05556 1.27778 4.30556
عملگر اسکالر ماتریس ها
ما می توانیم یک اسکالر را با عناصر ماتریس جمع، منها، ضرب و یا تقسیم کنیم که به این عمل، عمل اسکالر می گوییم.
عمل های اسکالر یک ماتریس جدید با همان تعداد سطر و ستون ماتریس اصلی، با تفاوت اضافه شدن به عناصر، کم شدن، ضرب شدن و یا تقسیم شدن عناصر به وجود می آید.
مثال
کد زیر را در فایل اسکریپت بنویسید.
a = [10 12 23; 14 8 6; 27 8 9];
b = 2;
c = a + b
d = a - b
e = a * b
f = a / b
بعد از اجرا، نتیجه زیر دیده خواهد شد.
c =
12 14 25
16 10 8
29 10 11
d =
8 10 21
12 6 4
25 6 7
e =
20 24 46
28 16 12
54 16 18
f =
5.0000 6.0000 11.5000
7.0000 4.0000 3.0000
13.5000 4.0000 4.5000
ترانهاده یک ماتریس
عمل ترانهاده، جای سطر ها و ستون ها را با هم عوض می کند و با نماد کوتیشن (') نشان داده می شود.
مثال
کد زیر را بنویسید.
a = [10 12 23; 14 8 6; 27 8 9]
b = a'
پس از اجرا خواهیم داشت.
a =
10 12 23
14 8 6
27 8 9
b =
10 14 27
12 8 8
23 6 9
چسباندن ماتریس ها
می توان با چسباندن دو ماتریس، ماتریس بزرگتری به وجود آورد. عملگر چسباندن را با جفت براکت '[]' مشخص می کنیم.
متلب دارای دو نوع چسباندن ماتریس است.
1) چسباندن افقی
2) چسباندن عمودی
می توان با استفاده از کاما، دو ماتریس را به صورت افقی به هم چسباند که چسباندن افقی نامیده می شود.
به همین ترتیب اگر ماتریس ها را توسط سمیکالن به هم چسباندیم به آن چسباندن عمودی می گوییم.
مثال
کد زیر ار در فایل اسکریپت بنویسید.
a = [10 12 23; 14 8 6; 27 8 9]
b = [12 31 45; 8 0 -9; 45 2 11]
c = [a, b]
d = [a; b]
فایل اجرا شده به صورت زیر می باشد.
a =
10 12 23
14 8 6
27 8 9
b =
12 31 45
8 0 -9
45 2 11
c =
10 12 23 12 31 45
14 8 6 8 0 -9
27 8 9 45 2 11
d =
10 12 23
14 8 6
27 8 9
12 31 45
8 0 -9
45 2 11
ضرب ماتریس ها
ماتریس A و B را در نظر می گیریم. اگر A یک ماتریس m x n و B یک ماتریس n x p باشد، از ضرب ماتریس A در B یک ماتریس m x n به نام C به وجود می آید.
ضرب دو ماتریس زمانی امکان پذیر است که تعداد ستون های ماتریس اول با تعداد سطر های ماتریس دوم با هم برابر باشد.
در ضرب ماتریسی، عناصر سطر های ماتریس اول به طور نظیر به نظیر در ستون های ماتریس دوم ضرب می شود.
هر عنصر در مکان (i, j)th در ماتریس C، مجموع حاصل ضرب نظیر به نظیر سطر i ام ماتریس اول در ستون j ام ماتریس دوم می باشد.
ضرب ماتریس ها در متلب با عملگر * نشان داده می شود.
مثال
کد زیر را در فایل اسکریپت بنویسید.
a = [1 2 3; 2 3 4; 1 2 5]
b = [2 1 3; 5 0 -2; 2 3 -1]
prod = a * b
بعد از اجرا، نتیجه زیر بدست می آید.
a =
1 2 3
2 3 4
1 2 5
b =
2 1 3
5 0 -2
2 3 -1
prod =
18 10 -4
27 14 -4
22 16 -6
دترمینان ماتریس
برای محاسبه دترمینان یک ماتریس از تابع det استفاده می کنیم. دترمینان ماتریس A را باه صورت det(A) می نویسیم.
a = [1 2 3; 2 3 4; 1 2 5]
det(a)
می توانیم فایل زیر را اجرا کرده و نتیجه را به صورت زیر ببینیم.
a =
1 2 3
2 3 4
1 2 5
ans = -2
وارون یک ماتریس
وارون ماتریس A را با نماد A−1 نشان داده و روابط زیر به درستی برقرار می باشد.
AA−1 = A−1A = 1
وارون هر ماتریسی همیشه موجود نخواهد بود. وقتی که دترمینان یک ماتریس صفر باشد، ماتریس وارون پذیر نبوده و به آن ماتریس منفرد یا تکین می گوییم.
برای بدست آوردن وارون ماتریس از تابع inv استفاده می کنیم و برای پیدا کردن وارون ماتریس A از عبارت inv(A) استفاده می کنیم.
مثال
کد زیر را در فایل اسکریپت بنویسید.
a = [1 2 3; 2 3 4; 1 2 5]
inv(a)
نتیجه بعد از اجرا به صورت زیر خواهد بود.
a =
1 2 3
2 3 4
1 2 5
ans =
-3.5000 2.0000 0.5000
3.0000 -1.0000 -1.0000
-0.5000 0 0.5000