نمادهای پرکاربرد در متلب 4
آموزش متلب کلید

بردارها و ماتریس ها در متلب

نرم افزار متلب، بر اساس کار کردن با بردارها و ماتریس ها ساخته شده است.

بردارها در متلب :

یک بردار، فهرستی از اعداد می باشد که پشت سرهم چیده شده اند. به هر کدام از این اعداد، یک عنصر بردار می گوییم. بردارها را با روش های مختلفی می توان در متلب تعریف نمود.
روش اول : استفاده از علامت کاما (،) برای جدا کردن عناصر بردار و قرار دادن آنها درون براکت

مثال :

 

A=[1,2,3,4]

نتیجه :

 

A =1     2     3     4

روش دوم : استفاده از فاصله برای جدا کردن عناصر بردار و قرار دادن آنها درون براکت

مثال :

 

A=[1 2 3 4]

نتیجه :

 

A =1     2     3     4

ساخت بردارهایی با عناصر قاعده مند :

فرض کنید بخواهیم برداری تعریف کنیم که عناصر آن شامل اعداد 1 تا 9 باشد که به ترتیب پشت سرهم باشند، برای این گونه موارد، نرم افزار متلب شیوه ای از علامت گذاری را به کار می برد که در مثال زیر نشان داده شده است و دیگر لازم نیست که این 9 عدد را به شیوه های ذکر شده قبلی در بردار تعریف کنیم :

مثال :

 

A=1:9

نتیجه :

 

A =1     2     3     4     5     6     7     8     9

عدد 1 ، اولین عدد است و آن قدر به آن، یک واحد یک واحد، اضافه می شود تا به آخرین عدد که برابر 9 است برسیم.
حال فرض کنید که به جای اعداد 1 تا 9 می بایست اعداد 1 تا 900 را به عنوان عناصر بردار تعریف می کردیم، مطمئنا نوشتن اعداد 1 تا 900 کار ساده ای نیست، اما شیوه فوق، این کار را به راحتی انجام می دهد.

نکته :

مراقب باشید که اگر دستوراتی می نویسید که بردارهای با طول بسیار بزرگ ایجاد می کنند، حتما در انتهای آن خط از دستورات، از علامت ; استفاده کنید تا مقادیر عناصر بردار در پنجره Command نمایش داده نشود. نمایش بردارهای با طول بزرگ در پنجره Command ، می تواند بسیار آزاردهنده باشد و باعث شود که برنامه نویس نتواند به راحتی نتایج خط های مختلف از دستورات را که مفید است، در پنجره Command دنبال کند.
برای شیوه ذکر شده، نوع دیگری از علامت گذاری نیز وجود دارد که در مثال زیر نشان داده شده است :

مثال :

 

A=1:1:9

نتیجه :

 

A =1     2     3     4     5     6     7     8     9

تنها تفاوت در این است که میزان افزایش که برابر 1 واحد است را در علامت گذاری ذکر کرده ایم. در واقع دستور A=1:9 نوعی اختصار برای دستور A=1:1:9 در متلب می باشد.

مثال :

فرض کنید بخواهیم اعداد زوج بین 0 تا 10 را به عنوان عناصر یک بردار در متلب تعریف کنیم، می نویسیم :

 

A=0:2:10

نتیجه :

 

A =0     2     4     6     8    10

اولین عنصر بردار برابر 0 است و هر بار، 2 واحد به آن اضافه می شود تا عنصر بعدی بردار ساخته شود، تا زمانی که به عدد 10 برسیم که آخرین عنصر بردار می باشد.

نکته :

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

مثال :

فرض کنید بخواهیم اعداد زوج بین 0 تا 10 را به عنوان عناصر یک بردار در متلب تعریف کنیم، می نویسیم :

 

A=1:0.2:2

نتیجه :

 

A =1.0000    1.2000    1.4000    1.6000    1.8000    2.0000

نکته :

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

مثال :

 

A=9:-1:1

نتیجه :

 

A =9     8     7     6     5     4     3     2     1

اشاره به عناصر یک بردار :

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

مثال :

 

A=[1 2 3 4]
B=A(3)

نتیجه :

 

A =1     2     3     4

B =

3

دستور (3)B=A ، متغیر B را برابر عنصر سوم از بردار A قرار می دهد.
زمانی که برداری را به شیوه های قبلی، در متلب تعریف کنید، نرم افزار متلب به طور خودکار آن بردار را به صورت بردار ردیفی در نظر می گیرد (دارای یک ردیف و چندین ستون)، در صورتی که بخواهیم بردار به صورت بردار ستونی (دارای یک ستون و چندین ردیف) باشد، تنها کافی است که از علامت ‘ در انتهای نام بردار استفاده کنیم. به مثال زیر توجه کنید :

مثال :

 

A=[1 2 3 4]
B=A’

نتیجه :

 

A =1     2     3     4

B =

1
2
3
4

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

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

نحوه تعریف ماتریس ها در متلب :

برای تعریف ماتریس ها در متلب، چندین روش وجود دارد :
روش اول : تعریف عناصر ماتریس با استفاده از علامت کاما (،) برای جدا کردن عناصر و استفاده از علامت ; برای جدا کردن ردیف ها از یکدیگر. به مثال زیر توجه کنید :

مثال :

 

A=[1,2,3;4,5,6;7,8,9]

نتیجه :

 

A =1     2     3
4     5     6
7     8     9

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

مثال :

 

A=[1 2 3;4 5 6;7 8 9]

نتیجه :

 

A =1     2     3
4     5     6
7     8     9

روش سوم : نرم افزار متلب برای ایجاد برخی ماتریس های خاص، دارای دستوراتی می باشد. برخی از این دستورها عبارتند از :

دستور ones :

این دستور ماتریسی ایجاد می کند که تمامی عناصر آن دارای مقدار عددی 1 می باشند. به مثال زیر توجه کنید :

مثال :

ماتریسی می سازیم که دارای 2 ردیف و 3 ستون باشد و تمامی عناصر آن دارای مقدار عددی 1 باشند :

 

A=ones(2,3)

نتیجه :

 

A =1     1     1
1     1     1

دستور zeros :

این دستور، ماتریسی ایجاد می کند که تمامی عناصر آن دارای مقدار عددی 0 می باشند. به مثال زیر توجه کنید :

مثال :

ماتریسی می سازیم که دارای 3 ردیف و 2 ستون باشد و تمامی عناصر آن دارای مقدار عددی 0 باشند :

 

A=zeros(3,2)

نتیجه :

 

A =0     0
0     0
0

 

انجام عملیات های ریاضی بر روی عناصر یک بردار :

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

مثال :

فرض کنیم بخواهیم تمامی عناصر بردار A را به توان 2 برسانیم، می نویسیم :

A=[1 2 3 4]
B=A.^2

نتیجه :

A =1     2     3     4

B =

1     4     9    16

نکته :

اهمیت علامت نقطه (.) بسیار زیاد است، زیرا این علامت است که مشخص می کند که عمل ریاضی مشخص شده، بر روی هر عنصر بردار صورت گیرد و چنانچه علامت نقطه گذاشته نشود، آن عمل ریاضی بر روی کل بردار انجام می شود (عملیات های برداری) که مطمئنا نتیجه ای غیر از آنچه می خواستیم به ما خواهد داد.
در صورت نگذاشتن علامت نقطه (.)، چنانچه آن عمل ریاضی قابل اجرا بر روی کل بردار نباشد، متلب یک پیام خطا را در خروجی نمایش می دهد، زیرا متلب سعی می کند که آن عمل ریاضی را بر روی کل بردار اجرا کند. برای روشن شدن این موضوع، به مثال زیر توجه کنید که در واقع همان مثال قبلی بدون علامت نقطه (.) می باشد :

مثال :

A=[1 2 3 4]
B=A^2

نتیجه :

A =1     2     3     4

??? Error using  mpower
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.

پیام خطای فوق به این دلیل است که متلب می خواهد کل بردار A را به توان 2 برساند و نمی تواند این کار را انجام دهد، زیرا تنها اعداد اسکالر و ماتریس های مربعی را می توان به توان 2 رساند.

مثال :

فرض کنید عناصر متناظر دو بردار A و B را بخواهیم به صورت تک تک در هم ضرب کنیم، می نویسیم :

A=[1 2 3 4]
B=[2 3 4 5]
C=A.*B

نتیجه :

A =1     2     3     4

B =

2     3     4     5

C =

2     6    12    20

نگذاشتن علامت نقطه (.) در دستور فوق باعث می شود که متلب یک پیام خطا را در خروجی نمایش دهد.

نکته :

برای دو عملگر ریاضی – و + احتیاجی نیست که علامت نقطه گذاشته شود، زیرا نرم افزار متلب به طور خودکار این عملگرها را بر روی تک تک عناصر بردارها اجرا می کند. به مثال زیر توجه کنید :

مثال :

A=[4 4 4 4]
B=[1 2 3 4]
C=A-B

نتیجه :

A =4     4     4     4

B =

1     2     3     4

C =

3     2     1     0

اشاره به یک ردیف یا یک ستون ماتریس :

گاهی لازم است که به یک ردیف یا یک ستون یک ماتریس، اشاره داشته باشیم. برای این منظور، می توان از علامت : استفاده نمود. به مثال زیر توجه کنید :

مثال :

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

نتیجه :

A =1     2     3
4     5     6
7     8     9

B =

4     5     6

همان طور که مشاهده می کنید، در دستور B=A(2,:) ، عدد 2 برای شماره ردیف و علامت :برای شماره ستون به کار رفته است، یعنی اینکه عناصری مورد نظرمان است که شماره ردیف آنها برابر 2 باشد، اما شماره ستون آنها می تواند شماره هر ستونی باشد. بنابراین حاصل برابر تمامی عناصر ردیف دوم ماتریس A می باشد.

اشاره به چند عنصر متوالی از یک ردیف یا یک ستون ماتریس :

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

مثال :

A=[1 2 3 4;5 6 7 8;9 10 11 12]
B=A(2,2:4)

نتیجه :

A =1     2     3     4
5     6     7     8
9    10    11    12

B =

6     7     8

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

مثال :

A=[1 2 3 4;5 6 7 8;9 10 11 12]
B=A(1:2,2:4)

نتیجه :

A =1     2     3     4
5     6     7     8
9    10    11    12

B =

2     3     4
6     7     8

اشاره به چند عنصر غیر متوالی از یک ردیف یا یک ستون ماتریس :

گاهی ممکن است عناصر مورد نظرمان متوالی نباشند، در اینگونه موارد، نمی توانیم از علامت : استفاده کنیم و باید شماره ردیف یا ستون عناصر مورد نظرمان را درون علامت های ] و [ قرار بدهیم. به مثال زیر توجه کنید :

مثال :

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

نتیجه :

A =1     2     3
4     5     6
7     8     9

B =

4     6

در دستور B=A(2,[1 3]) ، عدد 2 برای شماره ردیف و عبارت [1 3] برای شماره ستون به کار رفته است. عبارت [1 3] برای شماره ستون، به این معنی است که ستون شماره 1 و ستون شماره 3 مورد نظرمان بوده است.

اشاره به یک ردیف یا یک ستون ماتریس :

گاهی لازم است که به یک ردیف یا یک ستون یک ماتریس، اشاره داشته باشیم. برای این منظور، می توان از علامت : استفاده نمود. به مثال زیر توجه کنید :

مثال :

 

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

نتیجه :

 

A =1     2     3
4     5     6
7     8     9

B =

4     5     6

همان طور که مشاهده می کنید، در دستور B=A(2,:) ، عدد 2 برای شماره ردیف و علامت :برای شماره ستون به کار رفته است، یعنی اینکه عناصری مورد نظرمان است که شماره ردیف آنها برابر 2 باشد، اما شماره ستون آنها می تواند شماره هر ستونی باشد. بنابراین حاصل برابر تمامی عناصر ردیف دوم ماتریس A می باشد.

اشاره به چند عنصر متوالی از یک ردیف یا یک ستون ماتریس :

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

مثال :

 

A=[1 2 3 4;5 6 7 8;9 10 11 12]
B=A(2,2:4)

نتیجه :

 

A =1     2     3     4
5     6     7     8
9    10    11    12

B =

6     7     8

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

مثال :

 

A=[1 2 3 4;5 6 7 8;9 10 11 12]
B=A(1:2,2:4)

نتیجه :

 

A =1     2     3     4
5     6     7     8
9    10    11    12

B =

2     3     4
6     7     8

اشاره به چند عنصر غیر متوالی از یک ردیف یا یک ستون ماتریس :

گاهی ممکن است عناصر مورد نظرمان متوالی نباشند، در اینگونه موارد، نمی توانیم از علامت : استفاده کنیم و باید شماره ردیف یا ستون عناصر مورد نظرمان را درون علامت های ] و [ قرار بدهیم. به مثال زیر توجه کنید :

مثال :

 

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

نتیجه :

 

A =1     2     3
4     5     6
7     8     9

B =

4     6

در دستور B=A(2,[1 3]) ، عدد 2 برای شماره ردیف و عبارت [1 3] برای شماره ستون به کار رفته است. عبارت [1 3] برای شماره ستون، به این معنی است که ستون شماره 1 و ستون شماره 3 مورد نظرمان بوده است.

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

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

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