آموزش سیمولینک (مجتبی آیتی نیا)
آموزش متلب کلید

اتصال ماتریس ها و تشخیص عناصر صفر

تشخیص عناصر صفر یا غیرصفر یک ماتریس و تعداد آنها :

گاهی نیاز داریم که بدانیم چه عناصری از یک ماتریس برابر صفر هستند یا خیر و همچنین ممکن است بخواهیم تعداد عناصر صفر یا غیرصفر ماتریس و موقعیت آنها را بدانیم. در ادامه دستوراتی را برای این منظور معرفی می کنیم.

تعیین تعداد عناصر غیرصفر ماتریس با دستور nnz در متلب :

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

مثال :

A=[0 1 2;3 0 4]
B=nnz(A)

نتیجه :

A =

0     1     2
3     0     4

B =

4

نکته :

می دانیم با دستور numel در متلب، می توانیم تعداد کل عناصر یک ماتریس را محاسبه کنیم، بنابراین با استفاده از تفاضل نتیجه دو دستور numel و nnz ، می توانیم تعداد عناصری از ماتریس را که برابر صفر می باشند، تعیین کنیم. به مثال زیر توجه کنید :

مثال :

A=[0 1 2;3 0 4]
B=numel(A)
C=nnz(A)
D=B-C

نتیجه :

A =

0     1     2
3     0     4

B =

6

C =

4

D =

2

مشاهده می کنید که B ، برابر تعداد کل عناصر ماتریس A و C برابر تعداد عناصر غیرصفر ماتریس A و D برابر تعداد عناصر برابر صفر از ماتریس A می باشد.

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

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

مثال :

A=[0 1 2;3 0 4]
B=find(A)

نتیجه :

A =

0     1     2
3     0     4

B =

2
3
5
6

تعیین مقدار عناصر غیرصفر یک ماتریس با دستور nonzeros در متلب :

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

مثال :

A=[0 1 2;3 0 4]
B=nonzeros(A)

نتیجه :

A =

0     1     2
3     0     4

B =

3
1
2
4

چرخش 90 درجه ای یک ماتریس با دستور rot90 در متلب :

منظور از چرخش ماتریس، در واقع چرخش محل قرارگیری عناصر ماتریس می باشد. چنانچه بخواهیم محل قرارگیری عناصر یک ماتریس، 90 درجه در خلاف جهت عقربه های ساعت بچرخد، باید از دستور rot90 در متلب استفاده کنیم. به مثال زیر توجه کنید :

مثال :

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

نتیجه :

A =

1     2     3
4     5     6
7     8     9

B =

3     6     9
2     5     8
1     4     7

چرخش ماتریس با زوایای مضرب 90 درجه (180 و 270 درجه) :

شاید در مواردی بخواهیم ماتریسی، 180 درجه یا 270 درجه بچرخد. برای این منظور، باید از دستور rot90 به صورت rot90 (A,n) استفاده کنیم که n تعداد چرخش های 90 درجه ای می باشد (A نام ماتریس می باشد). بنابراین اگر مثلا n=2 باشد، آنگاه یک چرخش 180درجه ای برای ماتریس خواهیم داشت. به مثال زیر توجه کنید :

مثال :

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

نتیجه :

A =

1     2     3
4     5     6
7     8     9

B =

9     8     7
6     5     4
3     2     1

چک کردن مساوی بودن دو ماتریس با دستور isequal در متلب :

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

مثال :

A=[1 2;3 4]
B=[1 2;3 4]
C=[1 2;3 5]
D=isequal(A,B)
E=isequal(A,C)

نتیجه :

A =

1     2
3     4

B =

1     2
3     4

C =

1     2
3     5

D =

1

E =

0

چون دو ماتریس A و B با هم برابر می باشند، بنابراین مقدار D برابر 1 شده است و چون دو ماتریس A و C با هم برابر نیستند، بنابراین مقدار E برابر 0 شده است.

الحاق (اتصال) دو ماتریس در جهت دلخواه با دستور cat در متلب :

برای الحاق (اتصال) دو یا چند ماتریس در متلب، می توانیم از دستور cat استفاده کنیم. در دستور cat ، می توانیم جهت الحاق ماتریس ها را هم مشخص کنیم. مثلا فرض کنید قصد الحاق دو ماتریس A و B را داشته باشیم، باید دستور cat را به صورت cat(n,A,B) به کار ببریم که n جهت دلخواه برای الحاق دو ماتریس A و B می باشد و باید آن را به صورت یک عدد مشخص کنیم.

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

مثال :

clear all
close all
clc

A=[1 2;3 4]
B=[5 6;7 8]
C=cat(1,A,B)
D=cat(2,A,B)
E=cat(3,A,B)

نتیجه :

A =

1     2
3     4

B =

5     6
7     8

C =

1     2
3     4
5     6
7     8

D =

1     2     5     6
3     4     7     8

E(:,:,1) =

1     2
3     4

E(:,:,2) =

5     6
7     8

مثال :

این بار، 4 ماتریس را به هم متصل می کنیم :

clear all
close all
clc

A=[1 2;3 4]
B=[5 6;7 8]
C=[9 10;11 12]
D=[13 14;15 16]
E=cat(1,A,B,C,D)

نتیجه :

A =

1     2
3     4

B =

5     6
7     8

C =

9    10
11    12

D =

13    14
15    16

E =

1     2
3     4
5     6
7     8
9    10
11    12
13    14
15    16

تشخیص عناصر روی قطر اصلی ماتریس با دستور diag در متلب :

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

مثال :

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

نتیجه :

A =

1     2     3
4     5     6
7     8     9

B =

1
5
9

نکته :

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

نکته :

اگر از دستور diag ، برای ماتریس A ، به صورت diag(A,n) استفاده کنیم، آنگاه دستور diag ، قطر n ام ماتریس A را برمی گرداند. باید دقت داشته باشید که n می تواند مثبت یا منفی باشد. به مثال زیر توجه کنید :

مثال :

A=[1 2 3;4 5 6;7 8 9]
B=diag(A,0)
C=diag(A,1)
D=diag(A,2)
E=diag(A,-1)
F=diag(A,-2)

نتیجه :

A =

1     2     3
4     5     6
7     8     9

B =

1
5
9

C =

2
6

D =

3

E =

4
8

F =

7

مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,

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

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

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