با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن. و کاربرانی که دوره کامل آموزش متلب را دنبال می کنند. ماتریس ها در واقع آرایه های دو بعدی هستند که از سطر و ستون ها تشکیل شده اند. و انواع مقادیر را می توان در طول سطر و ستون ها در آرایه ها ذخیره کرد. همچنین می توان از ماتریس ها برای ذخیره کردن داده هایی بصورت جدولی استفاده کرد. از این رو استفاده از ماتریس در متلب از اهمیت ویژه ای برخوردار می باشد. ماتریس ها در سایر زبان های برنامه نویسی نیز پشتیبانی می شوند. اعمال اصلی محاسباتی نظیر جمع ، تفریق ، ضرب و … در ماتریس ها با متغیر و آرایه ها کمی متفاوت است. در ادامه ی مباحث آشنایی با ماتریس در متلب که شامل ( ضرب ماتریس در متلب ، معکوس یک ماتریس و … ) می باشد ، ما شما را با ساختار و اعمال ماتریس در متلب آشنا خواهیم کرد.
تعریف عناصر ماتریس در متلب مانند تعریف آرایه های یک بعدی داخل براکت” [ ] “انجام شده و فقط سطرها با سمیکولون (;) جدا می شوند.
مثال – تعریف یک آرایه با ۴ سطر و ۵ ستون (۵ * ۴) در متلب :
1 | a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8] |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 4 5 | a = 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 |
برای اشاره و دسترسی به عناصر ماتریس نام ماتریس را قید کرده و به سطر و ستون مقدار مورد نظر در ماتریس اشاره می کنیم.
برای دسترسی به یکی از مقادیر ماتریس از ساختار زیر استفاده می کنیم:
1 | mx(m, n); |
در ساختار فوق mx نام ماتریس و m و n به ترتیب سطر و ستون حاوی مقدار مورد نظر در ماتریس هستند.
مثال – ماتریسی با ۴ سطر و ۵ ستون و با نام a ایجاد کرده و عنصر سطر ۲ و ستون ۵ را از ماتریس a نمایش می دهیم:
1 2 | a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(2,5) |
نتیجه ی اجرای کد فوق در متلب :
1 | ans = 6 |
برای دسترسی و استخراج تمام عناصر یکی از ستون های ماتریس از ساختار (A(:,m استفاده کنید.
در ساختار (A(:,m حرف A نام ماتریس و m شماره ستون مورد نظر از ماتریس A است.
مثال – ماتریسی با ۴ سطر و ۵ ستون و با نام a ایجاد کرده و عناصر ستون شماره ۴ ماتریس a را نمایش می دهیم:
1 2 | a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; v = a(:,4) |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 4 5 | v = 4 5 6 7 |
شما همچنین می توانید بیش از یک ستون را با استفاده از ساختار زیر از یک ماتریس استخراج کنید:
1 | a(:,m:n) |
در ساختار فوق a نام ماتریس و m و n نیز شماره ستون های مورد نظر در ماتریس است.
مثال – ماتریسی با ۴ سطر و ۵ ستون و با نام a ایجاد کرده و عناصر ستون شماره ۲ و ۳ از ماتریس a را نمایش می دهیم:
1 2 | a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(:, 2:3) |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 4 5 | ans = 2 3 3 4 4 5 5 6 |
به همین ترتیب می توانید یک ماتریس زیر مجموعه را از ماتریس اصلی a ایجاد کنید:
1 2 | 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) |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 | sa = 3 4 5 4 5 6 |
برای حذف یک سطر یا ستون از ماتریس کافیست ابتدا سطر یا ستون را مشخص کرده و سپس یک براکت خالی “[ ]” به آن اختصاص بدهیم.
مثال- سطر ۴ از ماتریس a را حذف می کنیم:
1 2 | a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a( 4 , : ) = [] |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 4 | a = 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 |
مثال ۲- ستون ۵ از ماتریس a را حذف می کنیم:
1 2 | a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(: , 5)=[] |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 4 5 | a = 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 |
برای مثال ما یک ماتریس ۳ * ۳ را ایجاد کرده و سطر ۲ و ۳ از این ماتریس را دوبار در یک ماتریس جدید کپی می کنیم:
1 2 | a = [ 1 2 3 ; 4 5 6; 7 8 9]; new_mat = a([2,3,2,3],:) |
نتیجه ی اجرای کد فوق در متلب :
1 2 3 4 5 | new_mat = 4 5 6 7 8 9 4 5 6 7 8 9 |
در این قسمت به عملگرهای محاسباتی اصلی در ماتریس ها اشاره می کنیم:
مثال- تفریق دو ماتریس :
1 2 3 4 | 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 |
نتیجه :
1 2 3 4 5 6 7 8 | c = 8 7 9 6 5 14 12 15 10 d = -6 -3 -3 2 5 -2 2 1 8 |
مثال- تقسیم صحیح و اعشاری ماتریس :
1 2 3 4 | 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 |
نتیجه :
1 2 3 4 5 6 7 8 9 10 11 | 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 |
مثال- انجام اعمال جمع ، تفریق ، ضرب و تقسیم عناصر ماتریس با یک مقدار مشخص:
1 2 3 4 5 6 | a = [ 10 12 23 ; 14 8 6; 27 8 9]; b = 2; c = a + b d = a - b e = a * b f = a / b |
نتیجه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 |
مثال- جا به جایی مقادیر سطر با ستون در یک ماتریس:
1 2 | a = [ 10 12 23 ; 14 8 6; 27 8 9] b = a' |
نتیجه :
1 2 3 4 5 6 7 8 | a = 10 12 23 14 8 6 27 8 9 b = 10 14 27 12 8 8 23 6 9 |
مثال- ترکیب عناصر دو ماتریس در یک ماتریس جدید :
1 2 3 4 | 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] |
نتیجه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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 :
1 2 3 | a = [ 1 2 3; 2 3 4; 1 2 5] b = [ 2 1 3 ; 5 0 -2; 2 3 -1] prod = a * b |
نتیجه:
1 2 3 4 5 6 7 8 9 10 11 12 | 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 |
مثال :
1 2 | a = [ 1 2 3; 2 3 4; 1 2 5] det(a) |
نتیجه :
1 2 3 4 5 | a = 1 2 3 2 3 4 1 2 5 ans = -2 |
مثال- معکوس ماتریس a :
1 2 | a = [ 1 2 3; 2 3 4; 1 2 5] inv(a) |
نتیجه :
1 2 3 4 5 6 7 8 | 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 |
ماتریس ها به شما اجازه می دهند تا مقادیر عددی از هر نوع را در یک آرایه ی دو بعدی در قالب سطر و ستون بصورت موقت ذخیره کنید. ماتریس ها در انواع محاسبات روی مجموعه ای از داده ها کاربرد فراوانی دارند. از این رو مباحث این آموزش را به آشنایی با ماتریس در متلب اختصاص دادیم.