



آموزش برنامه نویسی متلب
موضوع:ادامه ماتریس ها در برنامه نویسی متلب
جلسه: هشتم
مدرس : مدرسین جاوا پرو
متلب را ساده،آسان و شیرین بنوشید!!!
در جلسه هفتم آموزش برنامه نویسی متلب یادگیری دستورات مربوط به ماتریس ها را آغاز کردیم. در این جلسه نیز قصد داریم به ادامه مباحث گذشته بپردازیم.
-دستور 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 (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 10 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی می باشد
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690




![مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو [کلیک کنید]](https://dl.javapro.ir/image/marketing/banerday1403springboot.png)
























.png)
-min.png)
-min.png)
-min.png)


-min.png)









-min.png)

.jpg)


