[آموزش] بردارها و ماتریس ها در متلب

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
چک کردن عضو بودن تمامی عناصر یک ماتریس در ماتریسی دیگر با دستور ismember

چک کردن عضو بودن تمامی عناصر یک ماتریس در ماتریسی دیگر با دستور ismember

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

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR];[COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR];[COLOR=#3333FF]7[/COLOR] [COLOR=#3333FF]8[/COLOR] [COLOR=#3333FF]9[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR];[COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR];[COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]10[/COLOR][COLOR=#008800]][/COLOR]
D=[COLOR=#0000FF]ismember[/COLOR][COLOR=#008800]([/COLOR]B,A[COLOR=#008800])[/COLOR]
E=[COLOR=#0000FF]ismember[/COLOR][COLOR=#008800]([/COLOR]C,A[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]
     [COLOR=#3333FF]7[/COLOR]     [COLOR=#3333FF]8[/COLOR]     [COLOR=#3333FF]9[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
C =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]3[/COLOR]    [COLOR=#3333FF]10[/COLOR]
 
 
D =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]1[/COLOR]
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]1[/COLOR]
 
 
E =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]1[/COLOR]
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]0[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
مشاهده می کنید که چون عدد 10 از ماتریس B ، عضو ماتریس A نمی باشد، بنابراین در محل آن، مقدار 0 نمایش داده شده است.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
محاسبه اجتماع عناصر دو بردار (دو مجموعه) با دستور union در متلب

محاسبه اجتماع عناصر دو بردار (دو مجموعه) با دستور union در متلب

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

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#0000FF]union[/COLOR][COLOR=#008800]([/COLOR]A,B[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]
 
 
C =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

شیوه استفاده از دستور union برای ماتریس ها :
دستور union را نمی توان به صورت union(A,B) برای ماتریس ها به کار برد و چنانچه این دستور را برای ماتریس ها، به این شکل به کار ببریم، نرم افزار متلب یک پیام خطا (error) را در خروجی نمایش خواهد داد. به مثال زیر توجه کنید :

مثال :

کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR];[COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]4[/COLOR];[COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#0000FF]union[/COLOR][COLOR=#008800]([/COLOR]A,B[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]4[/COLOR]
     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]
 
??? [COLOR=#0000FF]Error[/COLOR] using ==> [COLOR=#0000FF]union[/COLOR] at [COLOR=#3333FF]53[/COLOR]
A and B must be vectors or [COLOR=#A020F0]'rows'[/COLOR] must be specified.[/FONT]
[/FONT][/COLOR][/LEFT]

برای آنکه از دستور union ، برای دو ماتریس استفاده کنیم، باید آن دستور را به شکل union(A,B,'rows') به کار ببریم.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
محاسبه اشتراک عناصر دو بردار (دو مجموعه) با دستور intersect در متلب

محاسبه اشتراک عناصر دو بردار (دو مجموعه) با دستور intersect در متلب

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

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#0000FF]intersect[/COLOR][COLOR=#008800]([/COLOR]A,B[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]
 
 
C =
 
     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]4[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

شیوه استفاده از دستور intersect برای ماتریس ها :
دستور intersect را نمی توان به صورت intersect (A,B) برای ماتریس ها به کار برد و چنانچه این دستور را برای ماتریس ها به این شکل به کار ببریم، نرم افزار متلب یک پیام خطا (error) را در خروجی نمایش خواهد داد. به مثال زیر توجه کنید :

مثال :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR];[COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]4[/COLOR];[COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#0000FF]intersect[/COLOR][COLOR=#008800]([/COLOR]A,B[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]4[/COLOR]
     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]
 
??? [COLOR=#0000FF]Error[/COLOR] using ==> [COLOR=#0000FF]intersect[/COLOR] at [COLOR=#3333FF]55[/COLOR]
A and B must be vectors, or [COLOR=#A020F0]'rows'[/COLOR] must be specified.[/FONT]
[/FONT][/COLOR][/LEFT]
برای آنکه از دستور intersect برای دو ماتریس استفاده کنیم، باید آن دستور را به شکل intersect(A,B,'rows') به کار ببریم.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تعیین عناصری که تنها در بردار A یا تنها در بردار B وجود دارند (اجتماع منهای اشتراک) با دستور setxor در متلب

تعیین عناصری که تنها در بردار A یا تنها در بردار B وجود دارند (اجتماع منهای اشتراک) با دستور setxor در متلب

فرض کنید دو بردار A و B را داریم و آن دو را به صورت دو مجموعه در نظر می گیریم. با استفاده از دستور setxor در متلب، می توانیم عناصری (عضوهایی) را که تنها در بردار A (مجموعه A) وجود دارند یا تنها در بردار B (مجموعه B) وجود دارند (اجتماع منهای اشتراک دو مجموعه A و B) را تعیین کنیم. به مثال زیر توجه کنید :

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#0000FF]setxor[/COLOR][COLOR=#008800]([/COLOR]A,B[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[/FONT][/COLOR]
[LEFT][COLOR=#000000][FONT=Tahoma]
[FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]
 
 
C =
 
     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
[COLOR=#000000][FONT=Tahoma]


 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تعیین عناصری از بردار A که در بردار B وجود ندارند با دستور setdiff در متلب

تعیین عناصری از بردار A که در بردار B وجود ندارند با دستور setdiff در متلب

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

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR][COLOR=#008800]][/COLOR]
C=[COLOR=#0000FF]setdiff[/COLOR][COLOR=#008800]([/COLOR]A,B[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]
 
 
C =
 
     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
محاسبه معکوس یک ماتریس با دستور inv در متلب

محاسبه معکوس یک ماتریس با دستور inv در متلب

با دستور inv در متلب، می توانیم معکوس یک ماتریس را محاسبه کنیم. به مثال زیر توجه کنید :

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]10[/COLOR] [COLOR=#3333FF]12[/COLOR] [COLOR=#3333FF]13[/COLOR];[COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR];[COLOR=#3333FF]7[/COLOR] [COLOR=#3333FF]8[/COLOR] [COLOR=#3333FF]9[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#0000FF]inv[/COLOR][COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
    [COLOR=#3333FF]10[/COLOR]    [COLOR=#3333FF]12[/COLOR]    [COLOR=#3333FF]13[/COLOR]
     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]
     [COLOR=#3333FF]7[/COLOR]     [COLOR=#3333FF]8[/COLOR]     [COLOR=#3333FF]9[/COLOR]
 
 
B =
 
   -[COLOR=#3333FF]1.0000[/COLOR]   -[COLOR=#3333FF]1.3333[/COLOR]    [COLOR=#3333FF]2.3333[/COLOR]
    [COLOR=#3333FF]2.0000[/COLOR]   -[COLOR=#3333FF]0.3333[/COLOR]   -[COLOR=#3333FF]2.6667[/COLOR]
   -[COLOR=#3333FF]1.0000[/COLOR]    [COLOR=#3333FF]1.3333[/COLOR]    [COLOR=#3333FF]0.6667[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
محاسبه دترمینان یک ماتریس با دستور det در متلب

محاسبه دترمینان یک ماتریس با دستور det در متلب

با استفاده از دستور det در متلب، می توانیم دترمینان یک ماتریس را محاسبه کنیم. به مثال زیر توجه کنید :

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR];[COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR];[COLOR=#3333FF]7[/COLOR] [COLOR=#3333FF]8[/COLOR] [COLOR=#3333FF]9[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#0000FF]det[/COLOR][COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma]
[FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]
     [COLOR=#3333FF]7[/COLOR]     [COLOR=#3333FF]8[/COLOR]     [COLOR=#3333FF]9[/COLOR]
 
 
B =
 
  6.6613e-016[/FONT]

[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
محاسبه ترانهاده یک ماتریس در متلب

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

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

مثال :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR];[COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR];[COLOR=#3333FF]7[/COLOR] [COLOR=#3333FF]8[/COLOR] [COLOR=#3333FF]9[/COLOR][COLOR=#008800]][/COLOR]
B=A'[/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]
     [COLOR=#3333FF]7[/COLOR]     [COLOR=#3333FF]8[/COLOR]     [COLOR=#3333FF]9[/COLOR]
 
 
B =
 
     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]7[/COLOR]
     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]8[/COLOR]
     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]9[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

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

تشخیص وجود یک عدد در یک ماتریس و موقعیت آن عدد در ماتریس، با دستور find در متلب

اگرچه دستور find در متلب، می تواند کاربردهای مختلفی داشته باشد، اما یکی از کاربردهای آن، یافتن یک عدد در یک ماتریس می باشد و حتی موقعیت آن عدد در ماتریس را هم به ما می دهد. در ادامه با چند مثال، چگونگی استفاده از دستور find برای این منظور و همچنین روش های مختلف یافتن موقعیت عدد در ماتریس را شرح خواهیم داد.

مثال :

در ماتریس A ، چک می کنیم که آیا عدد 2 وجود دارد یا خیر. دستور find ، موقعیت عدد 2 در ماتریس را به صورت ((چندمین عنصر ماتریس)) بر می گرداند :
کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR]; [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#0000FF]find[/COLOR][COLOR=#008800]([/COLOR]A==[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =

     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]


B =

     [COLOR=#3333FF]3[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

چون سومین عنصر ماتریس A برابر 2 بوده است، بنابراین دستور find ، عدد 3 را بر می گرداند.

مثال :
این بار همان مثال قبلی را به گونه ای می نویسیم که دستور find ، شماره ردیف و ستون عناصری از ماتریس A که برابر 2 می باشند را به ما بدهد. شماره ردیف این عناصر، در بردار row و شماره ستون آنها، در بردار column ذخیره خواهد شد :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR]; [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
[COLOR=#008800][[/COLOR]row,column[COLOR=#008800]][/COLOR]=[COLOR=#0000FF]find[/COLOR][COLOR=#008800]([/COLOR]A==[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =

     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]


row =

     [COLOR=#3333FF]1[/COLOR]


column =

     [COLOR=#3333FF]2[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
مثال :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]2[/COLOR]; [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
[COLOR=#008800][[/COLOR]row,column[COLOR=#008800]][/COLOR]=[COLOR=#0000FF]find[/COLOR][COLOR=#008800]([/COLOR]A==[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma]
[FONT=monospace]A =

     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]7[/COLOR]


row =

     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]1[/COLOR]


column =

     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]3[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]


 

P O U R I A

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

تشخیص وجود یک عدد در یک ماتریس و موقعیت آن عدد در ماتریس، با دستور find در متلب

اگرچه دستور find در متلب، می تواند کاربردهای مختلفی داشته باشد، اما یکی از کاربردهای آن، یافتن یک عدد در یک ماتریس می باشد و حتی موقعیت آن عدد در ماتریس را هم به ما می دهد. در ادامه با چند مثال، چگونگی استفاده از دستور find برای این منظور و همچنین روش های مختلف یافتن موقعیت عدد در ماتریس را شرح خواهیم داد.

مثال :
در ماتریس A ، چک می کنیم که آیا عدد 2 وجود دارد یا خیر. دستور find ، موقعیت عدد 2 در ماتریس را به صورت ((چندمین عنصر ماتریس)) بر می گرداند :
کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR]; [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
B=[COLOR=#0000FF]find[/COLOR][COLOR=#008800]([/COLOR]A==[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =

     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]


B =

     [COLOR=#3333FF]3[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
چون سومین عنصر ماتریس A برابر 2 بوده است، بنابراین دستور find ، عدد 3 را بر می گرداند.

مثال :
این بار همان مثال قبلی را به گونه ای می نویسیم که دستور find ، شماره ردیف و ستون عناصری از ماتریس A که برابر 2 می باشند را به ما بدهد. شماره ردیف این عناصر، در بردار row و شماره ستون آنها، در بردار column ذخیره خواهد شد :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR]; [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
[COLOR=#008800][[/COLOR]row,column[COLOR=#008800]][/COLOR]=[COLOR=#0000FF]find[/COLOR][COLOR=#008800]([/COLOR]A==[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =

     [COLOR=#3333FF]1[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]3[/COLOR]
     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]6[/COLOR]     [COLOR=#3333FF]7[/COLOR]


row =

     [COLOR=#3333FF]1[/COLOR]


column =

     [COLOR=#3333FF]2[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
مثال :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR] [COLOR=#3333FF]2[/COLOR]; [COLOR=#3333FF]5[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]7[/COLOR][COLOR=#008800]][/COLOR]
[COLOR=#008800][[/COLOR]row,column[COLOR=#008800]][/COLOR]=[COLOR=#0000FF]find[/COLOR][COLOR=#008800]([/COLOR]A==[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =

     [COLOR=#3333FF]3[/COLOR]     [COLOR=#3333FF]4[/COLOR]     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]5[/COLOR]     [COLOR=#3333FF]2[/COLOR]     [COLOR=#3333FF]7[/COLOR]


row =

     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]1[/COLOR]


column =

     [COLOR=#3333FF]2[/COLOR]
     [COLOR=#3333FF]3[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
چک کردن وجود یک عدد در یک ماتریس، با دستور ismember در متلب

چک کردن وجود یک عدد در یک ماتریس، با دستور ismember در متلب

در مبحثی دیگر شرح دادیم که با دستور ismember در متلب، می توانیم چک کنیم که آیا عناصر یک ماتریس، در یک ماتریس دیگر وجود دارد یا خیر. علاوه بر این، با دستور ismember می توانیم چک کنیم که آیا یک عنصر در یک بردار یا ماتریس وجود دارد یا خیر. دستور ismember را باید به شکل کلی زیر به کار ببریم :
کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]ismember[/COLOR][COLOR=#008800]([/COLOR]B,A[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
با دستور فوق، دستور ismember ، ماتریسی را با اندازه ماتریس B برمی گرداند که تنها حاوی مقادیر 1 و 0 می باشد. هر عنصری از ماتریس B که در ماتریس A عضو بوده است، در محل آن عنصر، مقدار 1 نمایش داده شده است و چنانچه آن عنصر عضو ماتریس A نباشد، در محل آن عنصر، مقدار 0 نمایش داده شده است.حال اگر بخواهیم چک کنیم که آیا یک عدد، عضو یک ماتریس است یا نه، تنها کافی است که آن عدد را به جای مقدار B در دستور بالا بنویسیم (ماتریس مورد نظر نیز به عنوان A تعریف می شود).به مثال زیر توجه کنید :

مثال :


کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]clc[/COLOR]

A=[COLOR=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR] [COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR][COLOR=#008800]][/COLOR];
B=[COLOR=#3333FF]1[/COLOR];
C=[COLOR=#0000FF]ismember[/COLOR][COLOR=#008800]([/COLOR]B,A[COLOR=#008800])[/COLOR]

D=[COLOR=#008800][[/COLOR][COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR];
E=[COLOR=#0000FF]ismember[/COLOR][COLOR=#008800]([/COLOR]B,D[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد.

نتیجه :


کد:
[LEFT][COLOR=#000000][FONT=Tahoma]
[FONT=monospace]C =

     [COLOR=#3333FF]1[/COLOR]


E =

     [COLOR=#3333FF]0[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]


 
بالا