متلب
صفحات وبلاگ
نویسنده: پ متلب - سه‌شنبه ۱٥ فروردین ،۱۳٩۱

یکی از پایه ای ترین مباحث برای کسی که می خواهد با متلب کار کند دونستن کار با ماتریس ها و بردار ها هستش.

در این پست می خوام نحوه ایجاد بردارها و ماتریس ها و توابع مخصوص به ماتریس ها رو بهتون آموزش بدم. امیدوارم که بپسندین!

 

نحوه ایجاد بردار:

راه اول: یک زمانی اعضای بردار رو خودتون دستی می خواهید وارد کنید. مثلا یه بردار سرعت دارید که اعضای اون 20 و 25 و 30 می باشد. برای این کار این اعداد را با یک فاصله و بین دو علامت [ ] قرار می دهید:

>>velocity=[20  25  30]

با این کار بردار سرعت با سایز 1x3 برای شما ایجاد می گردد.

همانطور که مشاهده کردید با این کار شما یک بردار سطری ایجاد کرده اید. می توانید به جای فاصله بین اعداد از “,”  هم استفاده کنید:

>>velocity=[20,25,30]

پس طریقه ایجاد یک بردار سطری زمانیکه درایه های اون بردار رو خودتون وارد می کنید را فرا گرفتیم.

حالا می خواهیم همین بردار را به صورت ستونی ایجاد کنیم. دو راه وجود داره:

1- از ترانهاده استفاده کنیم. علامت ترانهاده در متلب یک تک کوتیشن هستش:

>>v = [20  25  30]’

2- به جای گذاشتن فاصله یا “,” در بین اعداد از “;” استفاده کنیم:

>>v = [25;25;30]

با این کار بردار ستونی ایجاد می گردد.

 

راه دوم:

راه دوم، ایجاد یک بردار با فاصله مساوی بین درایه های اون می باشد. برای مثال می خواهیم برداری با درایه های 1و3و5و7و9و11 ایجاد کنیم. میبینیم که در این بردار عدد اول 1 و بقیه اعداد دو تا دوتا اضافه شده اند تا به عدد آخر یعنی 11 رسیده اند. متلب یک فرم مشخصی برای این گونه بردارها دارد:

m:q:n

این فرم نوشتن یعنی از عدد m تا عدد n ، q تا q‌ تا برو جلو. در واقع گام بردار q می باشد:

>>A=1:2:11

با دستور بالا بردار A با درایه ای 1و3و5و7و9و11 ایجاد می گردد. که یک بردار سطری می باشد.

در ایجاد بردار سطری گذاشتن [ ] نیازی نمی باشد.

اما اگر بخواهید به همین فرم یک بردار ستونی ایجاد کنید و باید ‌[ ] را گذاشته و علامت ترانهاده را نیز به کار ببرید:

>>B=[1:2:11]’

نکات:

1- اگر عدد گام را ننویسید مثل A=1:4 خود متلب گام را برابر با یک می گیرد.

2- اگر بخواهید از گام منفی استفاده کنید حتما باید m از n بزرگتر باشد: B=5:-2:0

3- در این حالت باید حواستان باشد که ممکن است عدد n جزو درایه های یک بردار نباشد چراکه همه چیز بسته به گام دارد. برای مثال در مثال زیر عدد 10 جزو درایه های بردار نخواهد بود:

>>C=1:2:10

 

راه سوم: استفاده از دستور linspace(m,n,q)

به کمک این دستور می توان برداری را بدین صورت ایجاد کرد که عدد اول آن بردار m و عدد آخر n خواهد بود و  بین این دو عدد تعداد q-2 عدد دیگر قرار دارد که متلب خود فاصله بین اعداد را مشخص خواهد کرد:

>>linspace(3,5,4)

ans =

       3.0000    3.6667    4.3333    5.0000

با این کار یک بردار سطری ایجاد می گردد. برای بردار ستونی نیز می توان از ترانهاد استفاده نمود:

>>linspace(3,5,4)’

نکته: متلب دستور دیگری به نام logspace هم دارد که کارش شبیه linspace است با این تفاوت که تقسیم بندی ها لگاریتمی می باشد.

 

اعمال بر روی بردارها:

1- برای انتخاب یک عضو از یک بردار باید جایگاه آن را به کار برد:

>>A=[-1  2  0  5]

>>A(3)

ans =

         0

اگر بخواهیم عضو اول تا سوم بردار A را نشان دهیم:

>>A(1:3)

اگر بخواهیم عضو دوم تا آخر بردار A را نشان دهیم:

>>A(2:end)

اگر بخواهیم عضوهای اول و دوم وچهارم از A را نشان دهیم:

>>A([1 2 4])

اگر بخواهیم عضو های اول و سوم از A را نشان دهیم:

>>A([1 3])

یا

>>A(1:2:3)

2- برای عوض کردن یک عضو یا چند عضو کافیست در برابر جایگاه آن مقدار جدید را وارد کنیم. مثلا می خواهیم عضو سوم از بردار A که صفر می باشد را برابر با 10 قرار دهیم:

>>A(3)=10

A=

    -1   2   10   5

حالا می خواهیم اعضای 1 تا 3 را عوض کنیم:

>>A(1:3)=[12  13  6]

A=

12  13  6  5

3- برای حذف یک یا چند عضو جایگاه آن را برابر با   [‌]  قرار می دهیم. مثلا می خواهیم عضد چهارم بردار A را حذف کنیم:

>>A(4)=[]

A=

     12  13  6

توجه کنید که با این کار سایز A هم 1x3 خواهد شد. برای حذف چندین عضو هم به همین ترتیب عمل می کنیم:

>>A(1:2)=[]

A=

     6

4- برای اضافه کردن هم می توانیم در برابر جایگاههای جدید مقادیر جدید را قرار دهیم. فرض کنید بردار B به صورت زیر باشد:

>>B=[1  2  5  -4]

حال می خواهیم به این بردار عضو پنجمی را با مقدار 9 اضافه کنیم:

>>B(5)=9

B=

    1  2  5  -4  9

توجه کنید که مثلا حالا می خواهید عضو نهمی با مقدار 3- به B اضافه کنید:

>>B(9)=-3

B=

     1  2  5  -4  9  0  0   0  -3

چون برای جایگاههای ششم و هفتم و هشتم مقداری داده نشد خود متلب آنها را برابر صفر در نظر میگیرد.

5- چسباندن دو بردار به یکدیگر. فرض کنید دو بردار  A و B را داریم و می خواهیم با کنار هم قرار دادن آنها بردار C را ایجاد کنیم:

اگر A و B سطری باشند:

>>C=[A B]

اگر A و B‌ ستونی باشند:

>>C=[A;B]

 

نحوه ایجاد ماتریس:

فرض کنید که می خواهیم ماتریس زیر را ایجاد کنیم:

           1200  5.0  0.25   1.1

data = 1400  4.1  0.23   0.8

           1500  3.2  0.22   0.3

کافی است سطر به سطر اعداد را بنویسیم و برای رفتن به سطر بعد از یک سمیکالون استفاده کنیم. می توانید برای ایجاد سطرها در بین اعداد از فاصله یا کاما استفاده کنید:

>>data = [1200  5.0  0.25  1.1;1400  4.1  0.23  0.8;1500  3.2  0.22 0.3]

اعمال بر ماتریس ها:

1- برای انتخاب یک عضو از ماتریس باید جایگاه سطر و ستون آنرا به ترتیب اول سطر و دوم ستون مشخص کنید. برای مقال برای انتخاب عدد 1400 باید بنویسیم:

>>data(2,1)

برای انتخاب مثلا دو عدد 4.1 و 0.23 باید بنویسیم:

>>data(2,2:3)

برای انتخاب همه اعضای ستون دوم باید یکی از حالتهای زیر را بنویسیم:

>>data(1:3,2) = data(1:end,2) = data(:,2)

2- برای عوض کردن اعضا باید سطر و ستون را مشخص کرده و برابر اعداد جایگزین نمائیم.

برای عوض کردن عدد سطر سوم و ستون چهارم با عدد 10:

>>data(3,4)=10

برای عوض کردن اعداد سطر سوم:

>>data(3,:)=[1 2 3 4]

برای عوض کردن اعضای ستون اول:

>>data(:,1)=[4;5;6]

3- برای حذف اعضا: دقت کنید که در حذف فقط می توانید یک سطر و یا سا ستون را کلا حذف کنید چراکه در غیر اینصورت حالت ماتریسی به هم خواهد خورد. برای حذف ستون سوم:

>>data(1:3,3)=[]

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

>>data(:,5)=[6;7;8]

>>data(4,:)=[1 0 -1 2]

>>data(6,6)=9

در عبارت آخر عوض سطر 6  و ستون 6 برابر با 9 قرار میگیرد و دیگر اعضا جدید برابر صفر خواهند شد.

http://elmoya.mihanblog.com/post/28

نویسندگان وبلاگ:
کدهای اضافی کاربر :