گام ششم: انواع داده ها در متلب
matlab به هیچ اعلان نوع یا تعریف بعد نیاز ندارد.زمانیکه matlab با یک متغیر با نام جدید برخورد می کند ،آن متغیر را ایجاد می کند و فضای مناسبی را به آن اختصاص می دهد.اگر آن متغیر وجود داشته باشد ،در آن صورت matlab مقدار اصلی را با مقدار جدید جایگزین می کند و در صورت لزوم ، فضای ذخیره سازی جدیدی را به آن اختصاص می دهد.
برای مثال،
total = 42
عبارت بالا یک ماتریس 1 x1 با نام ‘total ‘ را ایجاد می کند و مقدار 42 را در آن ذخیره می کند.
انواع متغیرهای قابل استفاده در matlab :
matlab 15 نوع داده اصلی را فراهم کرده است.هر نوع داده داده را به شکلی از ماتریس یا آرایه ذخیره می نماید.اندازه ماتریس یا آرایه حداقل 0 x 0 است و اندازه ماتریس یا آرایه می تواند به هر اندازه ای بزرگ شود.جدول زیر رایج ترین انواع داده استفاده شده در matlab را نمایش می دهد :
| توصیف | نوع داده |
| 8 بیتی عددی علامت دار | int 8 |
| 8 بیتی عددی بدون علامت | uint8 |
| 16 بیتی عددی علامت دار | int 16 |
| 16 بیتی عددی بدون علامت | uint16 |
| 32بیتی عددی علامت دار | int32 |
| 32 بیتی عددی بدون علامت | uint32 |
| 64 بیتی عددی علامت دار | int 64 |
| 64 بیتی عددی بدون علامت | uint64 |
| داده های عددی با دقت معمولی | single |
| داده های عددی با دقت مضاعف | double |
| ارزش منطقی 1 یا 0،به ترتیب نشان دهنده درست یا اشتباه | logical |
| داده نویسه(رشته های ذخیره شده به عنوان برداری از کاراکترها) | char |
| آرایه ای از خانه های شاخص دار.توانایی ذخیره سازی ابعاد و نوع داده یک آرایه | cellarray |
| c – مانند ساختارها.هر ساختار در این زمینه یک نام دارد که قادر به زخیره سازی و ابعاد آرایه است | structure |
| اشاره گر به تابع | function handle |
| اشیا ساخته شده از یک کلاس تعریف شده توسط کاربر | user classes |
| اشیا ساخته شده از یک کلا جاوا | java classes |
مثال
یک فایل اسکریپت با کد زیر را ایجاد کنید :
str = ‘hello world ! ‘
n=2345
d= double(n)
un =unit32(789.50)
rn = 5678.92347
c=int32(rn)
زمانیکه کد بالا کامپایل و اجرا می شود ،نتیجه زیر تولید می شود:
تبدیل انواع داده ها در متلب
matlab توابع مختلفی را برای تبدیل یک داده به داده دیگر فراهم آورده است.جدول زیر توابع تبدیل انواع داده را نمایش می دهد :
| هدف | تابع |
| تبدیل به کاراکترهای آرایه (رشته) | char |
| تبدیل داده عددی به رشته | int2str |
| تبدیل ماتریس به رشته | mat2str |
| تبدیل عدد به رشته | num2str |
| تبدیل رشته به دقت مضاعف | str2double |
| تبدیل رشته به عدد | str2num |
| تبدیل بایت های عدد به رشته های یونیکد | native2unicode |
| تبدیل رشته های یونیکد به بایت های عددی | unicode2native |
| تبدیل تعداد n رشته به اعداد اعشار | base2dec |
| تبدیل اعداد باینری به اعداد اعشار | bin2dec |
| تبدیل اعشاری به n تعداد رشته | dec2base |
| تبدیل اعداد اعشاری به باینری | dec2bin |
| تبدیل اعداد اعشاری به هگزادسیمال در رشته | dec2hex |
| تیدیل هگزادسیمال در رشته به اعداد اعشار | hex2dec |
| تبدیل معمولی و مضاعف به رشته های هگزادسیمال ieee | num2hex |
| تبدیل خانه های آرایه به آرایه عددی | cell2mat |
| تبدیل خانه های آرایه به ساختار آرایه | cell2struct |
| ایجاد خانه های آرایه از رشته ها از نویسه های آرایه | cellstr |
| تبدیل آرایه به خانه های آرایه با خانه هایی با اندازه های بسیار مختلف | mat2cell |
| تبدیل آرایه به خانه های آرایه با اندازه هموار | num2cell |
| تبدیل ساختار به خانه آرایه | struct2cell |
تعیین نوع داده
matlab توابع متفاوتی را برای شناسایی نوع داده متغیر تولید کرده است.جدول زیر توابعی را برای تعیین نوع داده متغیر فراهم کرده است:
| هدف | تابع |
| تشخیص حالت | is |
| تعیین کننده اگر ورودی شی ء از کلاس مشخص شده | isa |
| تعیین اینکه آیا ورودی خانه آرایه است | iscell |
| تعیین اینکه ورودی خانه آرایه رشته است | iscellstr |
| تعیین اینکه آیا عناصر خانه آرایه نویسه است | ischar |
| تعیین اینکه آیا ورودی ساختار آرایه است | isfield |
| تعیین کننده اگر ورودی نقطه اعشار است | isfloat |
| صحیح برای بکارگیری گرافیک و بگارگیری اشیاء | ishghandle |
| تعیین کند اگر ورودی آرایه عدد صحیح است | isinteger |
| تعیین کند اگر ورودی شیء جاوا است | isjava |
| تعیین کند اگر ورودی آرایه منطقی است | islogical |
| تعیین کند اگر ورودی آرایه عددی است | isnumeric |
| تعیین کند اگر ورودی آرایه شیء matlab است | isobject |
| تعیین کند اگر ورودی آرایه واقعی است | isreal |
| تعیین اینکه ورودی آرایه واقعی است | isscalar |
| تعیین اینکه آیا ورودی آرایه نویسه است | isstr |
| تعیین اینکه آیا ورودی آرایه ساختاری است | isstruct |
| تعیین اینکه آیا ورودی بردار است | isvector |
| تعیین کلاس از اشیاء | class |
| بررسی اعتبار آرایه | validateattributes |
| لیست متغیرها در فضای کاری ، با اندازه ها و انواع | whos |
مثال
یک فایل اسکریپت با کد زیر ایجاد کنید :
x=3
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
x=23.54
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
x=[123]
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
x=’hello’
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)
زمانیکه شما فایل را ایجاد می کنید نتیجه زیر تولید می شود:
خرید کتاب 28 گام موثر در فتح متلب


