آموزش برنامه نویسی متلب
موضوع:ادامه ماتریس ها در برنامه نویسی متلب
جلسه: هشتم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!
در جلسه هفتم آموزش برنامه نویسی متلب یادگیری دستورات مربوط به ماتریس ها را آغاز کردیم. در این جلسه نیز قصد داریم به ادامه مباحث گذشته بپردازیم.
-دستور prod:
ضرب ستونی ماتریس:
m = 1 2 3 4 5 6 7 8 9 >>prod(m) ans = 28 80 162 >>prod ( prod(m) ) ans = 362880 |
- دستور size:
این دستور برای به دست آوردن ابعاد یک ماتریس به کارمی رود. و به چند شکل قابل استفاده است و بسته به آرگومان های ورودی و خروجی آن میتواند تعداد سطرها و تعداد ستون ها یا هردو را در یک بردار یا دو متغیر جداگانه برگرداند:
>>m = [1 2 3;4 5 6] m = 1 2 3 4 5 6 >>size(m) ans = 2 3 >>size(m,1) ans = 2 >>size(m,2) ans = 3 >>[a b] = size(m) a = 2 b = 3 |
- دستور length:
این دستور طول یک بردار یا آرایه را برمی گرداند. چنانچه یک ماتریس را آرگومان آن بدهیم، حاصل برابر با بیشینه تعداد سطر و تعداد ستون ماتریس خواهدبود:
>>m = 1 2 3 4 5 6 >>a = m(1,:) a = 1 2 3 >>length(a) ans = 3 >>length(m) ans = 3 |
- دستورات ismatrix، ،isvector، isscalar،iscolumn ،isrow :
به ترتیب چنانچه آرگومان ورودی یک ماتریس، بردار، عدد، بردار ستونی، بردار سطری باشد، مقدار 1 را برمی-گرداند، درغیراین صورت 0 را برمی گرداند.
مثال:
>>m = 1 2 3 4 5 6 7 8 9 >>ismatrix(m) ans = 1 >>isvector(m) ans = 0 >>isvector( diag(m) ) ans = 1 >>iscolumn( diag(m) ) ans = 1 >>isrow( diag(m) ) ans = 0 |
قبلاً یادگرفتیم که چطور جای سطرها یا ستون های یک ماتریس را تعویض کنیم، دستورات خاصی نیز برای این منظور در متلب وجود دارد:
- دستور fliplr :
جای ستون های راست و چپ را عوض میکند:
>>m = 1 2 3 4 5 6 7 8 9 >>fliplr(m) ans = 3 2 1 6 5 4 9 8 7 |
- دستور flipud :
جای سطرهای بالا و پایین را عوض میکند.
>>flipud(m) ans = 7 8 9 4 5 6 1 2 3 |
- دستور rot90 :
90 درجه خلاف جهت عقربه های ساعت ماتریس را میچرخاند:
>>rot90(m) ans = 3 6 9 2 5 8 1 4 7 |
- دستور flipdim :
این دستور به شکل flipdim(m,n) به کارمی رود. که m یک ماتریس دلخواه، و n میتواند 1 یا 2 باشد. اگر 1 باشد، flipud(m) را برمی گرداند و اگر 2 باشد، fliplr(m) را برمی گرداند.
- تمرین: با استفاده از دستورات فوق ماتریس زیر را از ماتریس m داده شده به دست آورید:
9 8 7 6 5 4 3 2 1 |
- دستور sort :
اگر آرگومان آن یک بردار باشد، درایه ها را به ترتیب کم به زیاد مرتب میکند و اگر ماتریس باشد، این کار را برای هر ستون انجام میدهد:
>>a = 5 4 6 6 3 4 1 9 >>sort(a) ans = 1 3 4 4 5 6 6 9 >>m = 6 6 9 5 2 2 7 2 1 >>sort(m) ans = 5 2 1 6 2 2 7 6 9 |
- تمرین: ماتریس m فوق را به صورت سطری مرتب کنید.
جواب:
>>sort(m')' ans = 6 6 9 2 2 5 1 2 7 |
- دستور min :
کمینه یک بردار را برمی گرداند، اگر آرگومان ماتریسی بگیرد مقدار کمینه هر ستون را برمی گرداند:
>>m = magic(3) m = 8 1 6 3 5 7 4 9 2 >>min(m) ans = 3 1 2 >>min( min(m) ) ans = 1 |
برای یافتن کمینه کل ماتریس از دستور آخر بالا استفاده میکنیم.
این دستور را با آرگومان های بیشتری نیز میتوان به کاربرد:
min(m,5) ans = 5 1 5 3 5 5 4 5 2 |
هر مؤلفه ماتریس m، با مقدار "5" مقایسه میشود، چنانچه مقدار آن از 5 کمتر بود خود عدد و درغیراین صورت 5 را به جای مؤلفه مربوطه قرار میدهد. در واقع با این کار یک فیلتر روی مقادیر بالاتر از یک مقدار دلخواه اعمال میکنیم.
دستور زیر نیز برای انتخاب اعمال کمینه سازی روی سطرها یا ستون ها به کار میرود:
min(m,[],1) ans = 3 1 2 min(m,[],2) ans = 1 3 2 max(m) ans = 8 9 7 max(m,[],2) ans = 8 7 9 |
در حالت اول کمینه سازی مشابه قبل بوده و روی ها اعمال میشود و در حالت دوم روی سطرها. شاید از خود بپرسید که بدون این دستورها نیز میتوانستیم به راحتی به نتیجه موردنظر خود برسیم. اما از آنجایی که در متلب ماتریس هایی با ابعاد بالاتر نیز قابل تعریف هستند، این دستورات به ازای ابعاد 3 به بالا کاربردی تر هستند.
- دستور median:
اگر با مباحث مقدماتی آمار آشنایی داشته باشید، دستوراتی در این حوزه نیز وجود دارند، median در واقع مقدار میانی یک بردار را برمی گرداند. مقدار میانی عددی است که پس از مرتب سازی بردار از کم به زیاد،در صورتی که طول بردار فرد باشد در وسط بردار قرار دارد و در غیر این صورت میانگین دو مقدار وسط بردار خواهدبود. همانند دستورات دیگر نیز چنانچه این دستور را با ماتریس فراخوانی کنیم میانه یابی به هر ستون ماتریس اعمال میگردد:
>>a = 5 4 6 6 3 4 1 9 >>median(a) ans = 4.5000 >>m = 8 1 6 3 5 7 4 9 2 >>median(m) ans = 4 5 6 |
می بینیم که در حالت اول که طول بردار 8 بود حاصل میانگین دو عدد 4 و 5 به عنوان میانه برگردانده میگردد.
- نکته: برای یادگیری بیشتر دستورات آمار در متلب مانند میانگین، واریانس، کوواریانس و انحراف معیار با کمک help متلب کلمات کلیدی زیر را جستجو کنید:
mean, var, cov, std |
بحث این با دو دستور زیر به پایان میرسانیم:
- دستور repmat :
Repmat(A,m,n) ماتریس A را میگیرد، و به تناسب m و n به ترتیب در زیر آخرین سطر و ستون، ماتریس A را تکرار میکند، در واقع اگر ماتریس A یک ماتریس با اندازه a*b باشد ماتریس حاصلm.a * n.b خواهد بود:
>>A = eye(2) A = 1 0 0 1 >>repmat(A,2,1) ans = 1 0 0 1 1 0 0 1 >>repmat(A,2,3) ans = 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 |
-دستور reshape :
Reshape(A,m,n) درایه های ماتریس A را به ترتیب ستونی میگیرد و در ماتریس جدیدی با ابعاد m*n قرار میدهد:
>>A = 1 2 3 4 5 6 7 8 9 10 11 12 >>reshape(A,4,3) ans = 1 6 11 5 10 4 9 3 8 2 7 12 |
پیروز و موفق باشید
تدریس خصوصی آنلاین و از راه دور متلب(MATLAB) با مدرس های حرفه ای و با تجربه
جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب
فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |