در قسمت ششم مبحثی رو تحت عنوان پرونده ها ی متلب در آموزش صفر تا صد متلب شروع کردیم. در این قسمت میخوایم مبحث انواع داده در متلب رو بررسی کنیم.
۱۳) انواع داده
هرگاه متلب با نام متغیر جدیدی روبرو شود ، این متغیر را ایجاد می کند و فضای مناسب حافظه را اختصاص می دهد.
اگر متغیر از قبل وجود داشته باشد ، سپس متلب محتوای اصلی را با محتوای جدید جایگزین می کند و در صورت لزوم فضای ذخیره سازی جدید را اختصاص می دهد.
مثلا،
Total = 32
جمله بالا یک ماتریس ۱ به ۱ با نام “Total” ایجاد می کند و مقدار ۳۲ را در آن ذخیره می کند.
انواع داده های موجود در متلب
متلب ۱۵ نوع داده بنیادی را ارائه می دهد. هر نوع داده، داده هایی را به صورت ماتریس یا آرایه ذخیره می کند. اندازه این ماتریس یا آرایه حداقل ۰ در ۰ است و می تواند تا یک ماتریس یا آرایه از هر اندازه بزرگ شود.
جدول زیر متداول ترین نوع داده استفاده شده در MATLAB را نشان می دهد –
Sr.No. | نوع و توضیحات داده ها |
---|---|
۱ | int8
عدد صحیح علامت دار ۸بیت |
۲ | uint8
عدد صحیح بدون علامت ۸بیت |
۳ | int16
عدد صحیح علامت دار ۱۶بیت |
۴ | uint16
عدد صحیح بدون علامت ۱۶ بیت |
۵ | int32
عدد صحیح علامت دار۳۲بیت |
۶ | uint32
عدد صحیح بدون علامت ۳۲بیت |
۷ | int64
عدد صحیح علامت دار ۶۴بیت |
۸ | uint64
عدد صحیح بدون علامت ۶۴بیت |
۹ | single
single precision numerical data |
۱۰ | double
double precision numerical data |
۱۱ | logical
logical values of 1 or 0, represent true and false respectively |
۱۲ | char
character data (strings are stored as vector of characters) |
۱۳ | cell array
array of indexed cells, each capable of storing an array of a different dimension and data type |
۱۴ | structure
C-like structures, each structure having named fields capable of storing an array of a different dimension and data type |
۱۵ | function handle
pointer to a function |
۱۶ | user classes
objects constructed from a user-defined class |
۱۷ | java classes
objects constructed from a Java class |
مثال
با کد زیر یک فایل اسکریپت ایجاد کنید
str = 'Hello World!' n = 2345 d = double(n) un = uint32(789.50) rn = 5678.92347 c = int32(rn)
هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند
str = Hello World! n = 2345 d = 2345 un = 790 rn = 5678.9 c = 5679
تبدیل انواع داده
متلب توابع مختلفی را برای تبدیل ، مقدار از نوع داده به دیگری ارائه می دهد. جدول زیر توابع تبدیل نوع داده را نشان می دهد
Function | Purpose |
---|---|
char | تبدیل به آرایه کاراکتر (رشته) |
int2str | تبدیل داده های عدد صحیح به رشته |
mat2str | تبدیل ماتریس به رشته |
num2str | تبدیل عدد به رشته |
str2double | تبدیل رشته به double-precision |
str2num | تبدیل رشته به عدد |
native2unicode | تبدیل بایت های عددی به کاراکترهای یونیکد |
unicode2native | تبدیل کاراکترهای یونیکد به بایت های عددی |
base2dec | تبدیل تعداد رشته پایه N به عدد اعشاری |
bin2dec | تبدیل تعداد رشته های باینری به عدد اعشاری |
dec2base | تبدیل اعشار به base N number |
dec2bin | تبدیل اعشار به عدد باینری |
dec2hex | تبدیل اعشار به عدد hexadecimal |
hex2dec | تبدیل عدد hexadecimal به اعشار |
hex2num | Convert hexadecimal number string to double-precision number |
num2hex | Convert singles and doubles to IEEE hexadecimal strings |
cell2mat | تبدیل آرایه سلولی به آرایه عددی |
cell2struct | تبدیل آرایه سلولی به آرایه ساختاری |
cellstr | Create cell array of strings from character array |
mat2cell | Convert array to cell array with potentially different sized cells |
num2cell | Convert array to cell array with consistently sized cells |
struct2cell | تبدیل ساختار به آرایه سلولی |
تعیین انواع داده ها
متلب توابع مختلفی را برای شناسایی نوع داده های یک متغیر فراهم می کند.
در جدول زیر توابع تعیین نوع داده های متغیر ارائه شده است
FUNCTION | PURPOSE |
---|---|
is | تشخیص حالت |
isfield | بررسی آرایه ساختاری |
iscell | بررسی آرایه سلولی |
validateattributes | بررسی اعتبار آرایه |
isstruct | بررسی آرایه ساختاری |
class | بررسی کلاس object |
isscalar | بررسی آرایه اسکالر |
isvector | بررسی بردار |
isinteger | بررسی آرایه عدد صحیح |
isjava | بررسی ورودی Java |
islogical | بررسی آرایه منطقی |
مثال
با کد زیر یک فایل اسکریپت ایجاد کنید
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 = [1 2 3] isinteger(x) isfloat(x) isvector(x) isscalar(x) x = 'Hello' isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x)
هنگامی که پرونده را اجرا می کنید ، نتیجه زیر را ایجاد می کند
x = 3 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 23.540 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = ۱ ۲ ۳ ans = 0 ans = 1 ans = 1 ans = 0 x = Hello ans = 0 ans = 0 ans = 1 ans = 0 ans = 0
خب امیدوارم سری آموزش صفر تا صد متلب براتون مفید بوده باشه تا اینجای کار. با ما همراه باشید.