menusearch
javapro.ir

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جستجو
شنبه ۸ مهر ۱۴۰۲ | ۱۵:۳۲:۲۶
۱۴۰۰/۸/۱۷ دوشنبه
(1)
(0)
جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب
جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

فهرست جلسات مینی دوره متلب

جلسه اول | آموزش تصویری نصب برنامه متلب در کامپیوتر

جلسه دوم | آموزش کار با برنامه متلب

جلسه سوم | آموزش کار با توابع ریاضی ساده در متلب

جلسه چهارم | آموزش متغیرها در برنامه نویسی متلب

جلسه پنجم | معرفی انواع داده ها در متلب

جلسه ششم | آرایه ها در برنامه نویسی متلب

جلسه هفتم | ماتریس ها در برنامه نویسی متلب

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جلسه نهم | رشته ها در برنامه نویسی متلب

جلسه دهم | آرایه سلول ها در برنامه نویسی متلب

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جلسه دوازدهم | آرایه‌های چندبعدی در متلب

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

جلسه چهاردهم | ساختارها(structures) در متلب

جلسه پانزدهم | توابع در متلب

جلسه شانزدهم | رسم نمودار دوبعدی در متلب

جلسه هفدهم | ادامه رسم نمودار دوبعدی در متلب

جلسه هجدهم | رسم نمودار سه بعدی در متلب

جلسه نوزدهم | محاسبات نمادین در متلب

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

مینی دوره آموزش رایگان برنامه نویسی متلب

 

 

آموزش برنامه نویسی متلب
موضوع:ادامه ماتریس ها در برنامه نویسی متلب
جلسه: هشتم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!

 

 

 

 

در جلسه هفتم آموزش برنامه نویسی متلب یادگیری دستورات مربوط به ماتریس ها را آغاز کردیم. در این جلسه نیز قصد داریم به ادامه مباحث گذشته بپردازیم.


-دستور 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

 

پیروز و موفق باشید


ادامه حیات سایت جاواپرو به حمایت مالی (دونیت) از طرف شما کاربر عزیز بستگی دارد....


 

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 


لینک دانلود آموزش رایگان اندروید

لینک دانلود

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
زودتر از دیگران از جدیدترین مطالب آموزشی برنامه نویسی جاواپرو اطلاع پیدا کن
 شاید برای شما کم اهمیت باشد; اما حمایت مالی به جاواپرو جان می‌دهد
سوالات متداول برنامه نویسی
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی