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

P O U R I A

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

  1. تشخیص نوع متغیرها با دستور class در متلب
  2. تعریف تعداد زیادی متغیر جدید، درون یک حلقه for ، در متلب
  3. تبدیل عدد صحیح (integer) به رشته (string)، با دستور int2str در متلب
  4. تبدیل ماتریس (matrix) به رشته (string) ، به صورت ساختار اصلی ماتریس (یعنی شامل علامت های ; و [ و ] )، با دستور mat2str در متلب
  5. تبدیل یک ماتریس (matrix) به رشته (string)، به صورت هر ردیف ماتریس در یک خط جدید از رشته، با دستور num2str در متلب
  6. تبدیل یک ماتریس (matrix) به رشته (string)، به صورت تمامی عناصر ماتریس در یک خط از رشته، با دستور sprintf در متلب
  7. تبدیل رشته (string) به عدد (number)، با دستور str2num در متلب
  8. تبدیل یک عدد (number) به یک رشته (string) با دستور num2str در متلب
  9. تبدیل یک آرایه سلولی (cell array) به آرایه عددی (numeric array)، با دستور cell2mat در متلب
  10. دادن مقدار به متغیرها از طریق کیبورد با دستور input در متلب



منبع:kelidestan.com
 
آخرین ویرایش:

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تشخیص نوع متغیرها با دستور class در متلب

تشخیص نوع متغیرها با دستور class در متلب

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

مثال :


کد:
[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=#3333FF]2[/COLOR];
A_class=[COLOR=#0000FF]class[/COLOR][COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

نتیجه :


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

[COLOR=#0000FF]double[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

نکته :
دقت کنید که برای دیدن تمامی متغیرهای تعریف شده در متلب و همچنین نوع آنها، می توانیم از دستور whos استفاده کنیم. در مثال بعدی، از این دستور نیز استفاده می کنیم :مثال :


کد:
[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=#3333FF]2[/COLOR];
B=[COLOR=#A020F0]'hello'[/COLOR];

A_class=[COLOR=#0000FF]class[/COLOR][COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR]
B_class=[COLOR=#0000FF]class[/COLOR][COLOR=#008800]([/COLOR]B[COLOR=#008800])[/COLOR]

[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


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

[COLOR=#0000FF]double[/COLOR]


B_class =

[COLOR=#0000FF]char[/COLOR]

  Name         [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  A            1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  A_class      1x6                [COLOR=#3333FF]12[/COLOR]  [COLOR=#0000FF]char[/COLOR]                
  B            1x5                [COLOR=#3333FF]10[/COLOR]  [COLOR=#0000FF]char[/COLOR]                
  B_class      1x4                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]char[/COLOR]  [/FONT]


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

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تعریف تعداد زیادی متغیر جدید، درون یک حلقه for ، در متلب

تعریف تعداد زیادی متغیر جدید، درون یک حلقه for ، در متلب

گاهی نیاز داریم که تعداد زیادی متغیر را تعریف کنیم، بنابراین راه مناسب این است که از یک حلقه for استفاده کنیم، اما این سوال پیش می آید که چگونه در حلقه for ، نام های متفاوتی برای این تعداد زیاد از متغیرها، تعریف نماییم. شیوه کدنویسی متلب را با یک مثال برایتان شرح می دهم :


مثال :
یک برنامه متلب می نویسیم که متغیرهای با نام x1 و x2 و ... تا x9 را تعریف کرده و مقادیر آنها را برابر 1 و 2 و ... تا 9 قرار دهد :
کد:
[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]

[COLOR=#0000FF]for[/COLOR] k = [COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]9[/COLOR]
     [COLOR=#0000FF]eval[/COLOR][COLOR=#008800]([/COLOR][COLOR=#008800][[/COLOR][COLOR=#A020F0]'x'[/COLOR], [COLOR=#0000FF]num2str[/COLOR][COLOR=#008800]([/COLOR]k[COLOR=#008800])[/COLOR] , [COLOR=#A020F0]' = '[/COLOR] , [COLOR=#0000FF]num2str[/COLOR][COLOR=#008800]([/COLOR]k[COLOR=#008800])[/COLOR] ,[COLOR=#A020F0]';'[/COLOR][COLOR=#008800]][/COLOR][COLOR=#008800])[/COLOR];
[COLOR=#0000FF]end[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
سه خط اول کدهای متلب، برای عدم تداخل این برنامه با برنامه های قبلی اجرا شده می باشد. درون حلقه for ، از دستور eval استفاده کرده ایم که این آزادی عمل را به ما می دهد که دستورهای متلب را که می خواهیم اجرا شود، با یک سری رشته (string) تعریف کنیم. در واقع، چون دیگر با رشته ها سر و کار داریم، بنابراین با تولید رشته های دلخواه در پرانتز دستور eval ، می توانیم کدهای متلب مورد نظرمان را اجرا نماییم.دستور num2str ، برای تبدیل اعداد به رشته (string) به کار رفته است.دستور whos ، برای نمایش متغیرهای تعریف شده در متلب می باشد تا چک کنیم که آیا متغیرهای مورد نظرمان، تعریف شده اند یا خیر.

نتیجه :

کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace] Name      [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  k         1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x1        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x2        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x3        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x4        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x5        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x6        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x7        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x8        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  x9        1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

مشاهده می کنید که متغیرهای x1 تا x9 درون متلب، تعریف شده اند.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل عدد صحیح (integer) به رشته (string)، با دستور int2str در متلب

تبدیل عدد صحیح (integer) به رشته (string)، با دستور int2str در متلب

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

مثال :

کد:
[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]
 
integer=[COLOR=#3333FF]6[/COLOR]
text=[COLOR=#0000FF]int2str[/COLOR][COLOR=#008800]([/COLOR]integer[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. دستور whos را به کار برده ایم تا نوع متغیرها، نمایش داده شود.

نتیجه :

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

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


text =

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

  Name         [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  integer      1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text         1x1                 [COLOR=#3333FF]2[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نکته :

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

مثال :

کد:
[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]
 
integer=[COLOR=#3333FF]6.789[/COLOR]
text_1=[COLOR=#0000FF]int2str[/COLOR][COLOR=#008800]([/COLOR]integer[COLOR=#008800])[/COLOR]
text_2=[COLOR=#0000FF]num2str[/COLOR][COLOR=#008800]([/COLOR]integer[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

نتیجه :


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

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


text_1 =

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


text_2 =

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

  Name         [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  integer      1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text_1       1x1                 [COLOR=#3333FF]2[/COLOR]  [COLOR=#0000FF]char[/COLOR]                
  text_2       1x5                [COLOR=#3333FF]10[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[COLOR=#0000FF]
[/COLOR]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل ماتریس (matrix) به رشته (string) ، به صورت ساختار اصلی ماتریس (یعنی شامل علامت های ; و [ و ] )، با دستور mat2str در متلب

تبدیل ماتریس (matrix) به رشته (string) ، به صورت ساختار اصلی ماتریس (یعنی شامل علامت های ; و [ و ] )، با دستور mat2str در متلب

دستور mat2str در متلب، برای تبدیل ماتریس (matrix) به رشته (string) به کار می رود. این دستور، ساختار اصلی ماتریس (یعنی شامل علامت های ; و [ و ] ) را در رشته (string) قرار می دهد.به مثال زیر توجه کنید :

مثال :


کد:
[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]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]
text=[COLOR=#0000FF]mat2str[/COLOR][COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. دستور whos را به کار برده ایم تا نوع متغیرها، نمایش داده شود.

نتیجه :


کد:
[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]


text =

[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]

  Name      [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  A         3x3                [COLOR=#3333FF]72[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text      1x19               [COLOR=#3333FF]38[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل یک ماتریس (matrix) به رشته (string)، به صورت هر ردیف ماتریس در یک خط جدید از رشته، با دستور num2str در متلب

تبدیل یک ماتریس (matrix) به رشته (string)، به صورت هر ردیف ماتریس در یک خط جدید از رشته، با دستور num2str در متلب

در مبحثی دیگر، دستور num2str را معرفی کردیم و گفتیم که این دستور برای تبدیل یک عدد (number) به رشته (string) به کار می رود. اما علاوه بر این، اگر ورودی دستور num2str ، یک ماتریس (matrix) باشد، آن را به رشته ای شامل عناصر ماتریس تبدیل می کند که هر ردیف از ماتریس، در خطی جدید از آن رشته قرار می گیرد.به مثال زیر توجه کنید :

مثال :
کد:
[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]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]
str = [COLOR=#0000FF]num2str[/COLOR][COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
با دستور whos ، متغیرهای تعریف شده در متلب و نوع آنها را در خروجی نمایش داده ایم.

نتیجه :

کد:
[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]


str =

[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]

  Name      [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  A         3x3                [COLOR=#3333FF]72[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  str       3x7                [COLOR=#3333FF]42[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[COLOR=#0000FF]
[/COLOR]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل یک ماتریس (matrix) به رشته (string)، به صورت تمامی عناصر ماتریس در یک خط از رشته، با دستور sprintf در متلب

تبدیل یک ماتریس (matrix) به رشته (string)، به صورت تمامی عناصر ماتریس در یک خط از رشته، با دستور sprintf در متلب

برای اینکه یک ماتریس (matrix) را به رشته (string) تبدیل کنیم، به گونه ای که تمامی عناصر ماتریس در یک خط از رشته قرار بگیرند (رشته تک خطی)، می توانیم از دستور sprintf در متلب استفاده کنیم.به مثال زیر توجه کنید :

مثال :


کد:
[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]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]
str = [COLOR=#0000FF]sprintf[/COLOR][COLOR=#008800]([/COLOR][COLOR=#A020F0]'%d '[/COLOR], A[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
با دستور whos ، متغیرهای تعریف شده در متلب و نوع آنها را در خروجی نمایش داده ایم.

نتیجه :


کد:
[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]


str =

[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] 

  Name      [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  A         3x3                [COLOR=#3333FF]72[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  str       1x18               [COLOR=#3333FF]36[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل رشته (string) به عدد (number)، با دستور str2num در متلب

تبدیل رشته (string) به عدد (number)، با دستور str2num در متلب

دستور str2num در متلب، برای تبدیل رشته (string) به عدد (number) به کار می رود.به مثال زیر توجه کنید :

مثال :


کد:
[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]
 
text=[COLOR=#A020F0]'100'[/COLOR]
number=[COLOR=#0000FF]str2num[/COLOR][COLOR=#008800]([/COLOR]text[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. دستور whos را به کار برده ایم تا نوع متغیرها، نمایش داده شود.

نتیجه :


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

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


number =

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

  Name        [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  number      1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text        1x3                 [COLOR=#3333FF]6[/COLOR]  [COLOR=#0000FF]char[/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]
 
text=[COLOR=#A020F0]'100 101 102 103'[/COLOR]
number=[COLOR=#0000FF]str2num[/COLOR][COLOR=#008800]([/COLOR]text[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


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

[COLOR=#3333FF]100[/COLOR] [COLOR=#3333FF]101[/COLOR] [COLOR=#3333FF]102[/COLOR] [COLOR=#3333FF]103[/COLOR]


number =

   [COLOR=#3333FF]100[/COLOR]   [COLOR=#3333FF]101[/COLOR]   [COLOR=#3333FF]102[/COLOR]   [COLOR=#3333FF]103[/COLOR]

  Name        [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  number      1x4                [COLOR=#3333FF]32[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text        1x15               [COLOR=#3333FF]30[/COLOR]  [COLOR=#0000FF]char[/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]
 
text=[COLOR=#A020F0]'1 2 3; 4 5 6; 7 8 9'[/COLOR]
number=[COLOR=#0000FF]str2num[/COLOR][COLOR=#008800]([/COLOR]text[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]
نتیجه :


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

[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]


number =

     [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]

  Name        [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  number      3x3                [COLOR=#3333FF]72[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text        1x19               [COLOR=#3333FF]38[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[COLOR=#0000FF]
[/COLOR]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل رشته (string) به عدد (number)، با دستور str2num در متلب

تبدیل رشته (string) به عدد (number)، با دستور str2num در متلب

دستور str2num در متلب، برای تبدیل رشته (string) به عدد (number) به کار می رود.به مثال زیر توجه کنید :

مثال :


کد:
[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]
 
text=[COLOR=#A020F0]'100'[/COLOR]
number=[COLOR=#0000FF]str2num[/COLOR][COLOR=#008800]([/COLOR]text[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. دستور whos را به کار برده ایم تا نوع متغیرها، نمایش داده شود.

نتیجه :


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

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


number =

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

  Name        [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  number      1x1                 [COLOR=#3333FF]8[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text        1x3                 [COLOR=#3333FF]6[/COLOR]  [COLOR=#0000FF]char[/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]
 
text=[COLOR=#A020F0]'100 101 102 103'[/COLOR]
number=[COLOR=#0000FF]str2num[/COLOR][COLOR=#008800]([/COLOR]text[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]
نتیجه :


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

[COLOR=#3333FF]100[/COLOR] [COLOR=#3333FF]101[/COLOR] [COLOR=#3333FF]102[/COLOR] [COLOR=#3333FF]103[/COLOR]


number =

   [COLOR=#3333FF]100[/COLOR]   [COLOR=#3333FF]101[/COLOR]   [COLOR=#3333FF]102[/COLOR]   [COLOR=#3333FF]103[/COLOR]

  Name        [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  number      1x4                [COLOR=#3333FF]32[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text        1x15               [COLOR=#3333FF]30[/COLOR]  [COLOR=#0000FF]char[/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]
 
text=[COLOR=#A020F0]'1 2 3; 4 5 6; 7 8 9'[/COLOR]
number=[COLOR=#0000FF]str2num[/COLOR][COLOR=#008800]([/COLOR]text[COLOR=#008800])[/COLOR]
[COLOR=#0000FF]whos[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]
نتیجه :


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

[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]


number =

     [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]

  Name        [COLOR=#0000FF]Size[/COLOR]            Bytes  [COLOR=#0000FF]Class[/COLOR]     Attributes

  number      3x3                [COLOR=#3333FF]72[/COLOR]  [COLOR=#0000FF]double[/COLOR]              
  text        1x19               [COLOR=#3333FF]38[/COLOR]  [COLOR=#0000FF]char[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]


 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تبدیل یک آرایه سلولی (cell array) به آرایه عددی (numeric array)، با دستور cell2mat در متلب

تبدیل یک آرایه سلولی (cell array) به آرایه عددی (numeric array)، با دستور cell2mat در متلب

دستور cell2mat در متلب، برای تبدیل یک آرایه سلولی (cell array) به آرایه عددی (numeric array) به کار می رود. در واقع با cell2mat می توانیم که یک آرایه سلولی را که خود شامل تعدادی ماتریس است، به یک ماتریس تنها تبدیل کنیم.البته برای اینکه این تبدیل موفقیت آمیز باشد، باید اندازه ماتریس های موجود در آرایه سلولی، به گونه ای باشد که دستور cell2mat بتواند آنها را به هم متصل کند. یک مثال برای اندازه مناسب ماتریس های آرایه سلولی، در شکل زیر نمایش داده شده است
matlab-253.png
به مثال زیر توجه کنید :

مثال :


کد:
[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=#008800][[/COLOR][COLOR=#3333FF]1[/COLOR][COLOR=#008800]][/COLOR] [COLOR=#008800][[/COLOR][COLOR=#3333FF]2[/COLOR] [COLOR=#3333FF]3[/COLOR] [COLOR=#3333FF]4[/COLOR][COLOR=#008800]][/COLOR]; [COLOR=#008800][[/COLOR][COLOR=#3333FF]5[/COLOR]; [COLOR=#3333FF]9[/COLOR][COLOR=#008800]][/COLOR] [COLOR=#008800][[/COLOR][COLOR=#3333FF]6[/COLOR] [COLOR=#3333FF]7[/COLOR] [COLOR=#3333FF]8[/COLOR]; [COLOR=#3333FF]10[/COLOR] [COLOR=#3333FF]11[/COLOR] [COLOR=#3333FF]12[/COLOR][COLOR=#008800]][/COLOR][COLOR=#008800]}[/COLOR]
B = cell2mat[COLOR=#008800]([/COLOR]A[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :


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

    [COLOR=#008800][[/COLOR]         [COLOR=#3333FF]1[/COLOR][COLOR=#008800]][/COLOR]    [COLOR=#008800][[/COLOR]1x3 [COLOR=#0000FF]double[/COLOR][COLOR=#008800]][/COLOR]
    [COLOR=#008800][[/COLOR]2x1 [COLOR=#0000FF]double[/COLOR][COLOR=#008800]][/COLOR]    [COLOR=#008800][[/COLOR]2x3 [COLOR=#0000FF]double[/COLOR][COLOR=#008800]][/COLOR]


B =

     [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=#3333FF]10[/COLOR]    [COLOR=#3333FF]11[/COLOR]    [COLOR=#3333FF]12[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
دادن مقدار به متغیرها از طریق کیبورد با دستور input در متلب

دادن مقدار به متغیرها از طریق کیبورد با دستور input در متلب

در متلب، معمولا مقدار متغیرها در همان ابتدای برنامه و با علامت تساوی، تعیین می شود، اما روش دیگری نیز برای اختصاص مقدار به متغیرها وجود دارد و می توان تعیین مقدار به متغیرها را در بین اجرای کدهای برنامه نیز انجام داد. دستور input در متلب، برای این منظور به کار می رود. زمانی که متلب به دستور input برسد، منتظر خواهد ماند تا کاربر مقدار مورد نظرش برای آن متغیر را در پنجره Command وارد کند و سپس زمانی که کاربر کلید enter از کیبورد را فشار دهد، متلب مقدار وارد شده توسط کاربر را به متغیر اختصاص خواهد داد و سپس بقیه کدهای برنامه را اجرا خواهد نمود.


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

مثال :

کد:
[LEFT][COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#0000FF]input[/COLOR][COLOR=#008800]([/COLOR][COLOR=#A020F0]'please enter your number :   '[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :

در پنجره Command ، عبارت : please enter your number نمایش داده خواهد شد. حال تنها کافی است که مثلا عدد 2 را وارد کنیم و سپس کلید enter از کیبورد را فشار دهیم. آنگاه نتیجه زیر نمایش داده خواهد شد :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
     [COLOR=#3333FF]2[/COLOR][/FONT]
[/FONT][/COLOR]
[/LEFT]

بنابراین عدد 2 را که وارد کرده ایم، به عنوان مقدار متغیر A در نظر گرفته شده است.

به کار بردن دستور input برای متغیرهای رشته ای :
همان طور که گفتیم، اگر دستور input را بخواهیم برای یک متغیر عددی به کار ببریم، از شکل معمولی آن استفاده می کنیم، اما چنانچه متغیر، یک متغیر رشته ای باشد، آنگاه باید عبارت 's' را درون پرانتز دستور input بنویسیم. به مثال زیر توجه کنید :

مثال :
همان مثال قبل را این بار برای یک متغیر رشته ای به کار می بریم :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#0000FF]input[/COLOR][COLOR=#008800]([/COLOR][COLOR=#A020F0]'please enter your number :   '[/COLOR],[COLOR=#A020F0]'s'[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :

در پنجره Command ، عبارت : please enter your number نمایش داده خواهد شد. حال تنها کافی است که مثلا کلمه cat را وارد کنیم و سپس کلید enter از کیبورد را فشار دهیم. آنگاه نتیجه زیر نمایش داده خواهد شد :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A =
 
[COLOR=#0000FF]cat[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]

مشاهده می کنید که متغیر A ، یک متغیر رشته ای می باشد.


به کار بردن دستور input برای متغیرهای عددی و رشته ای به صورت هم زمان :
ممکن است بخواهیم که انتخاب اینکه مقدار متغیر مورد نظر یک عدد باشد یا یک رشته باشد را به عهده خود کاربر بگذاریم تا از این نظر، کاربر آزادی انتخاب داشته باشد. برای این منظور می توان از یک نکته کوچک استفاده کرد و آن این است که از دستور input ، به همان شکل معمولیش استفاده کنیم، اگر کاربر قصد وارد کردن یک عدد را داشت، باید عدد را وارد کند، اما اگر قصد وارد کردن یک رشته را داشته باشد، باید رشته مورد نظر خود را بین دو علامت ' قرار دهد. دستور input تشخیص خواهد داد که منظور کاربر، وارد کردن یک رشته بوده است و بنابراین دو علامت ' را جزء رشته در نظر نخواهد گرفت و کاراکترهای بین آن دو علامت را به عنوان یک رشته، به متغیر اختصاص خواهد داد. به مثال زیر توجه کنید :


مثال :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]A=[COLOR=#0000FF]input[/COLOR][COLOR=#008800]([/COLOR][COLOR=#A020F0]'please enter your number for A :   '[/COLOR][COLOR=#008800])[/COLOR]
B=[COLOR=#0000FF]input[/COLOR][COLOR=#008800]([/COLOR][COLOR=#A020F0]'please enter your string for B :   '[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
نتیجه :

در پنجره Command ، ابتدا عبارت زیر نمایش داده می شود :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]please enter your number [COLOR=#0000FF]for[/COLOR] A :[/FONT]
[/FONT][/COLOR][/LEFT]

فرض کنید مقدار عددی 2 را وارد کرده و کلید enter از کیبورد را فشار دهیم. تا اینجا، در پنجره Command ، عبارات زیر نمایش داده شده است :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]please enter your number [COLOR=#0000FF]for[/COLOR] A :   [COLOR=#3333FF]2[/COLOR]
 
A =
 
     [COLOR=#3333FF]2[/COLOR]
 
please enter your string [COLOR=#0000FF]for[/COLOR] B :[/FONT]
[/FONT][/COLOR]
[/LEFT]
حال برای متغیر B ، عبارت 'cat' را وارد کرده و کلید enter از کیبورد را فشار می دهیم. کل عبارات نمایش داده شده به صورت زیر می باشد :
کد:
[LEFT]
[COLOR=#000000][FONT=Tahoma][FONT=monospace]please enter your number [COLOR=#0000FF]for[/COLOR] A :   [COLOR=#3333FF]2[/COLOR]
 
A =
 
     [COLOR=#3333FF]2[/COLOR]
 
please enter your string [COLOR=#0000FF]for[/COLOR] B :   [COLOR=#A020F0]'cat'[/COLOR]
 
B =
 
[COLOR=#0000FF]cat[/COLOR][/FONT]
[/FONT][/COLOR][/LEFT]
مشاهده می کنید که متغیر B به صورت رشته cat (شامل سه کاراکتر) تعریف شده است.
 
بالا