شبکه هوشمند
آموزش متلب کلید

جابجا کردن سطرهای یک ماتریس در متلب

جابجا کردن سطرهای یک ماتریس نسبت به سطر وسط ، با دستور flipud در متلب :

از دستور flipud در متلب، برای جابجا کردن سطرهای یک ماتریس نسبت به سطر وسط آن ماتریس، استفاده می شود. بنابراین بالاترین سطر ماتریس به پایین ترین سطر و پایین ترین سطر ماتریس به بالاترین سطر، تبدیل خواهد شد و سایر سطرها نیز نسبت به سطر وسط ماتریس، تغییر مکان خواهند داشت. به مثال زیر توجه کنید :

مثال :

A=[1 2 3;4 5 6;7 8 9]
B=flipud(A)

نتیجه :

A =1     2     3
4     5     6
7     8     9

B =

7     8     9
4     5     6
1     2     3

مشاهده می کنید که جای سطر اول و سطر سوم، عوض شده است و سطر دوم نیز در جای خود باقی مانده است.

جابجا کردن ستون های یک ماتریس نسبت به ستون وسط ، با دستور fliplr در متلب :

چنانچه از دستور fliplr در متلب، برای یک ماتریس استفاده کنیم، آنگاه دستور fliplr جای ستون های ماتریس را عوض خواهد کرد و این جابجایی، نسبت به ستون وسط ماتریس می باشد. یعنی اینکه اولین ستون ماتریس، به آخرین ستون و آخرین ستون ماتریس، به اولین ستون، تبدیل خواهد شد و سایر ستون ها نیز نسبت به ستون وسط ماتریس، با یکدیگر جابجا خواهند شد. به مثال زیر توجه کنید :

مثال :

A=[1 2 3;4 5 6;7 8 9]
B=fliplr(A)

نتیجه :

A =1     2     3
4     5     6
7     8     9

B =

3     2     1
6     5     4
9     8     7

مشاهده می کنید که جای ستون اول و ستون سوم، با هم عوض شده است و ستون دوم نیز که ستون وسط ماتریس می باشد، در جای خود باقی مانده است.

تغییر اندازه (ابعاد) یک ماتریس با دستور reshape در متلب :

فرض کنید ماتریسی داشته باشیم که بخواهیم اندازه (ابعاد) آن را تغییر دهیم، برای این منظور، می توانیم از دستور reshape در متلب، استفاده کنیم. البته باید دقت داشته باشیم که تعداد عناصر ماتریس اولیه و تعداد عناصر ماتریسی که ساخته می شود، باید برابر باشد. به مثال زیر توجه کنید :

مثال :

A=[1 2 3 4;5 6 7 8]
B=reshape(A,4,2)

نتیجه :

A =1     2     3     4
5     6     7     8

B =

1     3
5     7
2     4
6     8

ماتریس A ، دارای 2 ردیف و 4 ستون می باشد. با دستور reshape(A,4,2) ، تعیین کرده ایم که ماتریسی می خواهیم که تعداد ردیف های آن، برابر 4 و تعداد ستون های آن، برابر 2 باشد و عناصر آن، همان عناصر ماتریس A باشد.

تکرار یک ماتریس برای ساخت یک ماتریس جدید با دستور repmat در متلب :

با دستور repmat در متلب، می توانیم یک ماتریس را به تعداد دلخواه تکرار کنیم و از تکرارهای آن ماتریس، یک ماتریس جدید بسازیم. اگر دستور repmat را برای ماتریس A به صورت repmat(A,m,n) به کار ببریم، آنگاه ماتریس A به تعداد m*n تکرار خواهد شد. چیدمان تکرارهای ماتریس A ، به صورت m ردیف و n ستون خواهد بود. به مثال زیر توجه کنید :

مثال :

A=[1 2;3 4]
B=repmat(A,2,3)

نتیجه :

A =1     2
3     4

B =

1     2     1     2     1     2
3     4     3     4     3     4
1     2     1     2     1     2
3     4     3     4     3     4

چیدن ضرایبی از یک ماتریس برای ساختن یک ماتریس جدید با دستور kron در متلب :

چنانچه با دستور repmat آشنایی داشته باشید، می دانید که دستور repmat ، به تعدادی دلخواه، یک ماتریس را تکرار کرده و در کنار هم می چیند تا یک ماتریس بزرگتر و جدید را بسازد. اما شاید بخواهیم در چیدمان این تکرارها، برخی از تکرارها دارای ضرایبی از ماتریس اولیه باشند (مثلا 2 برابر)، برای این منظور، دستور kron در متلب، استفاده می شود. دستور kron را باید به صورت kron(B,A) به کار ببریم که در آن A ماتریسی است که می خواهیم تکرارهایی از آن (با ضریب یا بدون ضریب) را داشته باشیم و B نیز ماتریسی است که نحوه چیدمان و ضرایبی که باید در ماتریس A ضرب شوند را تعریف می کند. به مثال زیر توجه کنید :

مثال :

A=[1 2;3 4]
B=[1 2]
C=kron(B,A)

نتیجه :

A =1     2
3     4

B =

1     2

C =

1     2     2     4
3     4     6     8

در واقع نتیجه کدهای بالا، همانند نتیجه کدهای زیر می باشد :

A=[1 2;3 4]
B=[1 2]
C=[B(1)*A,B(2)*A]

نتیجه :

A =1     2
3     4

B =

1     2

C =

1     2     2     4
3     4     6     8

حذف عناصر تکراری یک بردار یا ماتریس با دستور unique در متلب :

با استفاده از دستور unique در متلب، می توانیم عناصر تکراری یک ماتریس را حذف کنیم. دستور unique ، برداری که حاوی عناصر ماتریس (به ترتیب صعودی) بدون تکرارهای آنها می باشد را در خروجی برمی گرداند. به مثال زیر توجه کنید :

مثال :

A=[1 1 2;3 3 4;5 5 6]
B=unique(A)

نتیجه :

A =1     1     2
3     3     4
5     5     6

B =

1
2
3
4
5
6

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

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

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