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

MATLABایجاد ماتریس در

در این درس شما دوستان را با ایجاد ماتریس در مطلب آشنا می کنیم.

: MATLABایجاد یک ماتریس در

 فقط کافیست عناصر ماتریس را داخل کروشه گذاشتهMATLABبرای ایجاد یک ماتریس در  

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

>> A=[1 2 3]

 

A =

 

     1     2     3

 

 

>> B=[5 12 14;12 9 65;171 65 36]

 

B =

 

     5    12    14

    12     9    65

   171    65    36

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

 

به مثال زیر توجه کنید:

>> A=[4 5 6]

 

A =

 

     4     5     6

 

>> A'

 

ans =

 

     4

     5

     6

جمع ماتیس ها:

 

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

 

>> A=[1 2 3];

>> B=[4 5 6];

>> C=A+B

 

C =

 

     5     7     9

ضرب ماتریس ها:

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

 

>> A=[1 2 3];

>> B=[5;6;3];

>> C=A*B

 

C =

 

    26

نکته مهم :اگر قرار باشد تک تک عناصر دو ماتریس را در هم ضرب یا بر هم تقسیم کنیم از یک علامت نقطه قبل از عملگر بهره می بریم:

 

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

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

>> C=A.*B

 

C =

 

     3     4     3

    24    25    24

    63    64    63

 

 آشنا می کنم:MATLABدر ادمه شما را با چند ماتریس پیش ساخته در

ماتریس صفر:

 می توان ماتریس با تمام درایه های صفر ایجاد کرد.zeros(n)با استفاده از تابع

به مثال توجه کنید :

>> A=zeros(3)

 

A =

 

     0     0     0

     0     0     0

     0     0     0

 

>> B=zeros(2,3)

 

B =

 

     0     0     0

     0     0     0

ماتریس همانی:

 ماتریس همانی ایجاد کنید:eye(n)با استفاده از تابع 

>> A=eye(3)

 

A =

 

     1     0     0

     0     1     0

     0     0     1

 

>> A=eye(2,3)

 

A =

 

     1     0     0

     0     1     0

ما تریس یک:

 

 ماتریس با تمام اعضای یک ایجاد کنید:ones(n)با استفاده از تابع   

 

>> A=ones(3)

 

A =

 

     1     1     1

     1     1     1

     1     1     1

 

>> B=ones(2,3)

 

B =

 

     1     1     1

     1     1     1

برای دسترسی به یک عضو ماتریس می توان با اندیس به آن دسترسی داشت:

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

 

A =

 

     1     2     3

     4     5     6

     7     8     9

 

>> B=A(2,3)

 

B =

 

     6

 

>> C=A(1,1)

 

C =

 

     1

می توان هر عضو ماتریس را به راحتی تغییر داد برای مثال در ماتریس بالا سطر دوم و ستون اول را به 10 تغییر می دهیم.

>> A(2,1)=10

 

A =

 

     1     2     3

    10     5     6

     7     8     9

 

ایجاد بردار:

 

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

بردار=ابتدای بردار:گام حرکت:انتهای بردار

 

>> i=1:2:10

 

i =

 

     1     3     5     7     9

اگر گام حرکت را مشخص نکنید به صورت پیش فرض مقدار یک را خواهد داشت:

 

>> j=-3:3

 

j =

 

    -3    -2    -1     0     1     2     3

 

در اینجا نیز ترانهاده را می توان به راحتی ایجاد کرد:

 

>> u=(1:3)'

 

u =

 

     1

     2

     3

انتخاب سطر ها و ستون ها:

 

از دو نقطه به راحتی می توان برای انتخاب سطر یا ستون بهره برد:

 

انتخاب ستون:

>> s=[10 15 26;54 36 65;98 32 98]

 

s =

 

    10    15    26

    54    36    65

    98    32    98

 

>> s(:,1)

 

ans =

 

    10

    54

    98

انتخاب سطر:

 

 

>> s(1,:)

 

ans =

 

    10    15    26

 

انتخاب سطر و ستون خاص:

 

>> s(1:2,2:3)

 

ans =

 

    15    26

    36    65

:sumتا بع

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

 

 داریم:sبرای ماتریس

>> sum(s)

 

ans =

 

   162    83   189

 

:repmatتابع

 

برای تولید یک ماتریس که کلیه سطر ها و ستون های آن تکراری است بکار می رود:

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

 

>> B=[1 2 3 4]

 

B =

 

     1     2     3     4

 

>> BB=repmat(B,3,2)

 

BB =

 

     1     2     3     4     1     2     3     4

     1     2     3     4     1     2     3     4

     1     2     3     4     1     2     3     4

حذف عناصر از ماتریس

 

فرض کنید می خواهیم یک عضو از یک بردار و یا ماتریس را حذف کنیم:در این صورت از علامت کروشه باز و بسته    استفاده می کنیم.

 

مثال:

>> a=1:2:10

 

a =

 

     1     3     5     7     9

 

>> a(3)=[]

 

a =

 

     1     3     7     9

 

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

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

 

a =

 

     1     2     3

     4     5     6

     7     8     9

 

>> a(2,2)=[]

???  Indexed empty matrix assignment is not allowed.

 

تغییر شکل ماتریس ها:

 

:reshapeدستور

 

 می توان ماتریس دیگری ایجاد کنیم که تعداد سطر و ستون آن را مشخص کرده ایم:reshapeبا دستور

 

 

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

 

a =

 

     1     2     3

     4     5     6

     7     8     9

    10    11    12

 

>> b=reshape(a,2,6)

 

b =

 

     1     7     2     8     3     9

     4    10     5    11     6    12

 

>> b=reshape(a,1,12)

 

b =

 

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

 

و یا داریم

 

>> w=1:6;

>> z=reshape(w,2,3)

 

z =

 

     1     3     5

     2     4     6

 

ماتریس های خاص:

 

:magic(n)تابع

 

  n(n^2+1)ی  ایجاد می کند بطوری که مجموع سطر ها و ستون های ماتریس مساوی و برابر n  ماتریس مرتبه 

است:

 

>> magic(3)

 

ans =

 

     8     1     6

     3     5     7

     4     9     2

:pascal(n)تابع

 

جدول پاسکال راتولید می کند:

 

 

>> pascal(4)

 

ans =

 

     1     1     1     1

     1     2     3     4

     1     3     6    10

     1     4    10    20

:hilb(n)تابع

 

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

>> hilb(4)

 

ans =

 

    1.0000    0.5000    0.3333    0.2500

    0.5000    0.3333    0.2500    0.2000

    0.3333    0.2500    0.2000    0.1667

    0.2500    0.2000    0.1667    0.1429

 

ماتریس بالا و پایین مثلثی:

 

:trilتابع

 

با استفاده از تابع بالا می توان ماتریس پایین مثلثی ایجاد کرد:

 

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

 

a =

 

     1     2     3

     4     5     6

     7     8     9

    10    11    12

 

>> tril(a)

 

ans =

 

     1     0     0

     4     5     0

     7     8     9

    10    11    12

:triuتا بع

 

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

 

 

>> triu(a)

 

ans =

 

     1     2     3

     0     5     6

     0     0     9

     0     0     0

:rand(n)تابع

 

برای ایجاد مقادیر تصادفی بین صفر و یک بکار می رود:

>> rand(3)

 

ans =

 

    0.9501    0.4860    0.4565

    0.2311    0.8913    0.0185

    0.6068    0.7621    0.8214

 

>> rand(2,3)

 

ans =

 

    0.4447    0.7919    0.7382

    0.6154    0.9218    0.1763

 

 

برگرفته از http://matlabseven.blogfa.com

 

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