در بخش قبلی به طور مفصل در مورد ماتریس ها و نحوه استفاده از آن در متلب توضیح داده شد. در این قسمت در مورد کلیه عملگرهای روی ماتریس ها با ذکر مثال های متنوع پرداخته می شود
جمع و تفریق ماتریس ها (Addition and Subtraction of Matrices)
شما می توانید ماتریس ها را اضافه یا تفریق کنید. هر دو ماتریس عددی باید همان تعداد ردیف ها و ستون ها را داشته باشند.
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید
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 = ۸ ۷ ۹ ۶ ۵ ۱۴ ۱۲ ۱۵ ۱۰ d = -۶ -۳ -۳ ۲ ۵ -۲ ۲ ۱ ۸
تقسیم ماتریس ها (Division of Matrices) :
شما می توانید دو ماتریس را با استفاده از عملگرهای چپ (\) یا راست (/) تقسیم کنید. هر دو ماتریس عددی باید همان تعداد ردیف ها و ستون ها را داشته باشند.
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید
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 = -۰.۵۲۵۴۲ ۰.۶۸۶۴۴ ۰.۶۶۱۰۲ -۰.۴۲۳۷۳ ۰.۹۴۰۶۸ ۱.۰۱۶۹۵ -۰.۳۲۲۰۳ ۱.۱۹۴۹۲ ۱.۳۷۲۸۸ d = -۳.۲۷۷۷۸ -۱.۰۵۵۵۶ -۴.۸۶۱۱۱ -۰.۱۱۱۱۱ ۰.۱۱۱۱۱ -۰.۲۷۷۷۸ ۳.۰۵۵۵۶ ۱.۲۷۷۷۸ ۴.۳۰۵۵۶
عملیات اسکالر روی ماتریس ها در متلب (Scalar Operations of Matrices)
شما هنگامی که ماتریس اضافه، تفریق، ضرب یا تقسیم کنید، این عملیات اسکالر نامیده می شود.
عملیات Scalar یک ماتریس جدید با همان تعداد رسطر ها و ستون ها با هر عنصر از ماتریس اصلی اضافه، تقریق، ضرب و یا تقسیم بر عددی ، تولید می کند.
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید
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 = ۱۲ ۱۴ ۲۵ ۱۶ ۱۰ ۸ ۲۹ ۱۰ ۱۱ d = ۸ ۱۰ ۲۱ ۱۲ ۶ ۴ ۲۵ ۶ ۷ e = ۲۰ ۲۴ ۴۶ ۲۸ ۱۶ ۱۲ ۵۴ ۱۶ ۱۸ f = ۵.۰۰۰۰ ۶.۰۰۰۰ ۱۱.۵۰۰۰ ۷.۰۰۰۰ ۴.۰۰۰۰ ۳.۰۰۰۰ ۱۳.۵۰۰۰ ۴.۰۰۰۰ ۴.۵۰۰۰
ترنهاده یک ماتریس (Transpose of a Matrix)
عملیات ترانهاده در ماتریس ها یک ردیف ها را به صورت ستونی در یک ماتریس تبدیل می کند. نقل قول (‘) به این منظور اشاره می کند.
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید
a = [ 10 12 23 ; 14 8 6; 27 8 9] b = a'
پس از اجرای فایل نتیجه زیر به نمایش در می آید
a = ۱۰ ۱۲ ۲۳ ۱۴ ۸ ۶ ۲۷ ۸ ۹ b = ۱۰ ۱۴ ۲۷ ۱۲ ۸ ۸ ۲۳ ۶ ۹
ترکیب ماتریس ها (Concatenating Matrices):
شما می توانید دو ماتریس را برای ایجاد یک ماتریس بزرگتر ترکیب کنید. جفت براکت های مربع [] یک اپراتور اتصال است. نرم افزار متلب MATLAB دو نوع ترکیب را به شما اجازه می دهد:
- ترکیب افقی
- ترکیب عمودی
ترکیب افقی : هنگامی که شما دو ماتریس مجزا را با کاما متصل می کنید، آنها فقط به صورت افقی اضافه می شوند. این ترکیب افقی است
ترکیب عمودی : متناوبا، اگر شما دو ماتریس جدا را با استفاده از سلیکون (;)semicolons به هم پیوند دهید، آنها را به صورت عمودی اضافه می شوند. این ترکیب عمودی نامیده می شود.
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید
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 = ۱۰ ۱۲ ۲۳ ۱۴ ۸ ۶ ۲۷ ۸ ۹ b = ۱۲ ۳۱ ۴۵ ۸ ۰ -۹ ۴۵ ۲ ۱۱ c = ۱۰ ۱۲ ۲۳ ۱۲ ۳۱ ۴۵ ۱۴ ۸ ۶ ۸ ۰ -۹ ۲۷ ۸ ۹ ۴۵ ۲ ۱۱ d = ۱۰ ۱۲ ۲۳ ۱۴ ۸ ۶ ۲۷ ۸ ۹ ۱۲ ۳۱ ۴۵ ۸ ۰ -۹ ۴۵ ۲ ۱۱
ضرب ماتریس ها در متلب (Matrix Multiplication)
دو ماتریس A و B را در نظر بگیرید. اگر A یک ماتریس mxn باشد و B یک ماتریس nxp باشد، می توان آنها را برای تولید یک ماتریس mxn C ضرب کرد. ماتریس ضرب تنها زمانی امکان پذیر است که تعداد ستون های n در ماتریس A برابر تعداد سطرهای n در ماتریس B باشد.
در ضرب ماتریس، عناصر سطر در ماتریس اول با ستون های مربوطه در ماتریس دوم ضرب می شود.
هر عنصر در موقعیت (I، J) ام ماتریس C، از مجموع حاصل ضرب عناصر در ردیف i ام از ماتریس اول با عنصر مربوطه در ستون j ام ماتریس دوم است.
ضرب ماتریس در MATLAB با استفاده از اپراتور * انجام می شود.
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید –
a = [ 1 2 3; 2 3 4; 1 2 5] b = [ 2 1 3 ; 5 0 -2; 2 3 -1] prod = a * b
با اجرای فایل بالا، نتیجه زیر به نمایش در می آید
a = ۱ ۲ ۳ ۲ ۳ ۴ ۱ ۲ ۵ b = ۲ ۱ ۳ ۵ ۰ -۲ ۲ ۳ -۱ prod = ۱۸ ۱۰ -۴ ۲۷ ۱۴ -۴ ۲۲ ۱۶ -۶
محاسبه دترمینان یک ماتریس در متلب (Determinant of a Matrix)
دترمینان یک ماتریس با استفاده از تابع det در MATLAB محاسبه می شود. دترمینان یک ماتریس A توسط (det (A :
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید
a = [ 1 2 3; 2 3 4; 1 2 5] det(a)
نتیجه ناشی از اجرای فایل بالا
a = ۱ ۲ ۳ ۲ ۳ ۴ ۱ ۲ ۵ ans = -2
محاسبه معکوس یک ماتریس در متلب (Inverse of a Matrix)
معکوس ماتریس A توسط A به توان (۱-) مشخص می شود به طوری که رابطه زیر در آن برقرار است
AA^(-1) = A(−۱)A = 1
معکوس یک ماتریس همیشه وجود ندارد. اگر دترمینان یک ماتریس صفر باشد، معکوس ماتریس وجود ندارد و ماتریس منحصر به فرد یا singular است.
معکوس یک ماتریس در MATLAB با استفاده از تابع inv محاسبه می شود. معکوس یک ماتریس A توسط (inv (A به دست می آید
مثال
یک فایل اسکریپتی ایجاد کنید و کد زیر را تایپ کنید –
a = [ 1 2 3; 2 3 4; 1 2 5] inv(a)
خروجی ناشی از اجرای دستور بالا به صورت زیر می باشد
a = ۱ ۲ ۳ ۲ ۳ ۴ ۱ ۲ ۵ ans = -۳.۵۰۰۰ ۲.۰۰۰۰ ۰.۵۰۰۰ ۳.۰۰۰۰ -۱.۰۰۰۰ -۱.۰۰۰۰ -۰.۵۰۰۰ ۰ ۰.۵۰۰۰