ایجاد ماتریس ها
آموزش متلب محیط متلب

آموزش نرم افزار متلب برای رشته برق – ایجاد ماتریس ها( بخش دوم)

آموزش نرم افزار متلب برای رشته برق – ایجاد ماتریس ها( بخش دوم)

در بخش قبلی در مورد ایجاد ماتریس ها در متلب صحبت شد. ادامه این بحث را در این پست دنبال می کنیم. برای مطالعه بخش اول به  ایجاد ماتریس ها( بخش اول) مراجعه نمایید.

ایجاد ماتریس ها( بخش دوم)

تابع magic ماتریسی را ایجاد می کند که مجموع اعضای هر ستون، هرسطر و دو قطر مورب آنها باهم برابر است. برای یک ماتریس (4⨯4) مقدار این مجموع برابر  با 34 است. حال اعضای سطر 2 را بر 2 تقسیم و سپس اعضای ستون 2 را با ستون 4 جمع و نتیجه را با ستون 4 جایگزین می کنیم:

ایجاد ماتریس ها

برای صفر کردن اعضای مورب ماتریس اصلی بدین شکل عمل می شود:

ایجاد ماتریس ها

برای جایگزین کردن اعضای مورب ماتریس اصلی با مقدار 5، از دستورات زیر استفاده می شود:

ایجاد ماتریس ها

برای جایگزین کردن مقادیر 11، 23، 54 و 61 با اعضای مورب ماتریس z می توان نوشت:

ایجاد ماتریس ها

متلب سایت سیم پاور

متلب سایت سیم پاور  دوتابع دارد که برای ایجاد ماتریس هایی که با تکرار یک اسکالر می توان ایجاد کرد، به کار برده می شوند. این توابع عبارتند از : repmat و meshgrid، شکل اصلی repmat عبارت است از:

repmat(x,y,c) <<

که x یک اسکالر، بردار یا ماتریس است و r تعداد تکرای است که سطرهای x جایگزین می گردند و c تعداد تکرار ستون های جایگزین شده x است. به طور مثال، تابع repmat می تواند یک بردار ستونی یا سطری با طول دلخواه که اعضای بردار دارای مقادیر عددی یکسانی هستند را ایجاد کند.

بنابراین، برای ایجاد یک بردار سطری w متشکل از 6 مقدار عددی 45.72 می توان نوشت:

w=repmat(45.72,1,6) <<
w=    45.72  45.72  45.72  45.72  45.72  45.72

این بردار را همچنین همانگونه که در سایت سیم پاور  توضیح دادم می توان به شکل زیر ایجاد کرد:

;  w(1,1:6)=45.72 <<

ایجاد یک ماتریس

برای ایجاد یک ماتریس (3⨯3) با این مقادیر می توان نوشت :

; w=repmat(45.72,3,3)<<

همچنین همانگونه که در سایت سیم پاور  توضیح دادم می توان این ماتریس را به شکل زیر ایجاد کرد:

; w(1:3,3:1)=45.72<<

هرکدام از این عبارات در پنجره فرمان، ماتریس زیر را تولید می کنند:

ایجاد ماتریس ها

حال به بردار زیر توجه کنید:

S = [a1 a2 a3 a4]

عبارت v = repmat(s,3,1) معادل عددی ماتریس زیر را ایجاد می کند.

ایجاد ماتریس ها

سه سطر بردار v را ایجاد می کند که هر سطر دارای چهار ستون است.
عبارت repmat(s,3,2) معادل عددی ماتریس زیر را ایجاد می کند.

ایجاد ماتریس ها

به عبارت دیگر، دستور زیر یک ماتریس سه ستونی معادل عددی بردار ستونی s ́ را ایجاد می کند، که هر ستون دارای چهار سطر است.

; v=repmat(s ́,1,3) <<

ایجاد ماتریس ها

عبارت repmat(s ́,1,3) معادل عددی ماتریس زیر را نتیجه می دهد.

ایجاد ماتریس ها

اگر دو بردار t و s سطری باشند، آنگاه عبارت

[u,v]=meshgrid(s,t) <<

نتیجه یکسانی مانند دوسطر زیر را ارائه می دهد:

 u=repmat(s,length(t),l) <<
v=repmat(t ́,length(s)) <<

به عبارت دیگر، u و v ماتریس هایی از مرتبه(length(t)⨯length(s)) می باشند. بنابراین اگر

s = [s1 s2 s3 s4]
t = [t1 t2 t3]

آنگاه دستور زیر معادل عددی دو ماتریس (3⨯4) را ایجاد می کند.

 [u,v]=meshgrid(s,t) <<

ایجاد ماتریس ها

تابع meshgrid

تابع meshgrid همچنین همانگونه که در سایت سیم پاور  توضیح دادم می تواند تنها یک ماتریس مانند زیر را برگرداند:

w=meshgrid(s,t) <<

که w=u را ایجاد می کند که u ماتریس است.
حال دو تابع  fliplr(a)و flipud(a) که به ترتیب برای جابجایی سطرها و ستون ها به کار می روند، معرفی میشوند. ماتریس (2⨯5) زیر را ملاحظه کنید:

ایجاد ماتریس ها

که با جمله زیر ایجاد می گردد:

 a= [a11 a12 a13 a14 a15; a21 a22 a23 a24 a25] <<

بنابراین

ایجاد ماتریس ها

توابع fliplr(a)و  flipud(a)

همچنین همانگونه که در سایت سیم پاور  توضیح دادم می توان نتایج توابع fliplr(a)و  flipud(a)را با علامت دو نقطه (:) به دست آورد. به طور مثال :

c=fliplr(a)<<

نتیجه یکسان با عبارت زیر را ایجاد می کند.

c=a(:,length(a):-1:1) <<

….. به بردار زیر توجه کنید:

ایجاد ماتریس ها

دو سطر یکسان و همانند 5 و 6 را ایجاد می کند. حذف یکی از این سطرها، با مجموعه یک سطر مقدار خالی مانند عبارت [] انجام می شود که فضای بین براکت ها خالی است. بنابراین عبارت

[]= c(length(a),:) <<

[]= c(length(a)+1,:) <<

بردار زیر را ایجاد می کند:

ایجاد ماتریس ها

که c یک ماتریس (9⨯2) است. عبارت c(length(a),:)=[] به این معنی است که تمام ستون های سطر با عدد length(a) در c با مقدار [] تعیین شده اند. ( در این مورد، حذف شده اند). اگرچه میدانیم طول a، 5 است این مزیت خوبی است که متلب سایت سیم پاور  اجازه انجام شمارش را می­دهد. از این رو، از تابع length(a) استفاده می­شود.

علائم فوق را با معرفی نتایج سه عملگر مختلف متلب سایت سیم پاور  بیشتر توضیح می­دهیم. اول، دو ماتریس (2⨯5)  با نام a و b را به صورت زیر در نظر بگیرید.

ایجاد ماتریس ها

کاربرد این سه عملگر را در بخش سوم مشاهده می نمایید.

برای دانلود این آموزش به صورت پی دی اف بر روی لینک زیر کلیک کنید.

دانلود فایل ایجاد ماتریس ها( بخش دوم)

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

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