دیتا تایپ در متلب / matlab data types

دیتا تایپ در متلب | MATLAB data types5 دقیقه مطالعه

هدیه فنولوژی به شما!

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

تعریف دیتا تایپ

متلب به هیچ نوع اعلام نوع یا اعلام ابعاد برای ایجاد یک متغیر نیاز ندارد. هرگاه متلب با نام متغیر جدیدی روبرو شود، این متغیر را ایجاد کرده و فضای حافظه مناسبی را اختصاص می‌دهد. اگر متغیر از قبل وجود داشته باشد­­­­­­­­­، سپس متلب محتوای اصلی را جایگزین محتوای جدید می‌کند و در صورت لزوم فضای ذخیره سازی جدیدی را اختصاص می‌دهد.

برای مثال:

دستور بالا یک ماتریس ۱ در ۱ به نام  Total ایجاد می‌کند و مقدار ۴۲ را در آن ذخیره می‌کند.

انواع دیتا تایپ در متلب

۱۵ نوع دیتا تایپ در متلب وجود دارد. انواع دیتا تایپ در متلب، به صورت ماتریس یا آرایه هستند. اندازه این ماتریس یا آرایه حداقل ۰ در ۰ است و این می‌تواند یک ماتریس یا آرایه‌ با هر اندازه‌ای باشد.

جدول زیر متداول‌ترین انواع دیتا تایپ در متلب را نشان می دهد:

دیتا تایپ  توضیحات
int8 اعداد صحیح ۸ بیتی علامت‌دار
uint8 اعداد صحیح ۸ بیتی بدون علامت
int16 اعداد صحیح ۱۶ بیتی علامت‌دار
uint16 اعداد صحیح ۱۶ بیتی بدون علامت
int32 اعداد صحیح ۳۲ بیتی علامت‌دار
uint32 اعداد صحیح ۳۲ بیتی بدون علامت
int64 اعداد صحیح ۶۴ بیتی علامت‌دار
uint64 اعداد صحیح ۶۴ بیتی بدون علامت
single داده‌های عددی از نوع single
double داده‌های عددی از نوع double (که فضای بیش‌تری نسبت به single اشغال می‌کند)
logical دیتا تایپ منطقی (صفر و یک) در متلب
char کاراکتر (که رشته‌ها در اصل آرایه‌ای از کاراکترها هستند)
cell array آرایه‌یا ماتریسی از داده‌ها که هر سلول از آرایه، خود می‌تواند آرایه‌ی دیگری را در خود جای دهد. (تفاوت آن با آرایه‌های معمولی در متلب همین است که می‌توان انواع دیتا تایپ‌ در متلب را جای داد)
structure دیتا تایپ structure که مشابه همین دیتا تایپ در زبان c می‌باشد. در این نوع داده می‌توان به هر عنوان (field)، یک مقدار (value) نسبت داد و آن مقدار می‌تواند از هر نوع دیتا تایپ در متلب باشد.
function handle اشاره‌گر یا پوینتر به یک تابع
user classes اشیائی که توسط کلاس‌های تعریف شده کاربر ایجاد شده‌اند.
java classes اشیائی که توسط کلاس‌های جاوا تعریف شده‌اند.

مثال

یک فایل اسکریپت با کد زیر ایجاد کنید:

وقتی کد فوق کامپایل و اجرا می‌شود، نتیجه زیر را ایجاد می‌کند:

تبدیل انواع data type

متلب توابع مختلفی را برای تبدیل دیتا تایپ فراهم می‌کند، مقداری از یک نوع داده به نوع دیگر. جدول زیر توابع تبدیل انواع دیتا تایپ در متلب را نشان می‌دهد:

تابع عملکرد تابع
char تبدیل به آرایه نویسه (رشته)
int2str داده های عدد صحیح را به رشته تبدیل می‌کند.
mat2str ماتریس را به رشته تبدیل می‌کند.
num2str تبدیل عدد به رشته‌
str2double رشته را به مقدار دقت دو برابر تبدیل می‌کند.
str2num رشته را به عدد تبدیل می‌کند.
native2unicode تبدیل بایت‌های عددی به نویسه‌های یونیکد
unicode2native تبدیل نویسه‌های یونیکد به بایت‌های عددی
base2dec رشته در مبنای N را به عدد دهدهی تبدیل می‌کند.
bin2dec رشته اعداد باینری را به عدد دهدهی تبدیل می‌کند.
dec2base اعداد دهدهی را به عدد مبنای N در رشته تبدیل می‌کند.
dec2bin عدد دهدهی را به باینری در رشته تبدیل می‌کند.
dec2hex عدد دهدهی را به هگزادسیمال در رشته تبدیل می‌کند.
hex2dec رشته هگزادسیمال را به عدد دهدهی تبدیل می‌کند.
hex2num رشته هگزادسیمال را به عدد double تبدیل می‌کند.
num2hex تبدیل single و double به رشته های هگزادسیمال IEEE
cell2mat آرایه سلولی را به آرایه عددی تبدیل می‌کند.
cell2struct آرایه سلولی را به آرایه structure تبدیل می‌کند.
cellstr ساخت سلول آرایه‌های رشته از آرایه‌های کاراکتر
mat2cell تبدیل آرایه به ‌آرایه سلولی با سلول‌هایی با اندازه‌های متفاوت
num2cell تبدیل آرایه،‌ به آرایه سلولی با سلول‌های یک اندازه
struct2cell تبدیل ساختار به آرایه سلولی

توابعی برای تعیین دیتا تایپ در متلب

متلب توابع مختلفی را برای شناسایی انواع دیتا تایپ (data type) یک متغیر فراهم می‌کند.

تابع عملکرد تابع
is حالت را تشخیص می‌دهد.
isa تعیین می‌کند که ورودی یک شیئ از کلاس مشخص شده باشد.
iscell تعیین می‌کند که آیا ورودی یک آرایه سلولی است.
iscellstr تعیین می‌کند که ورودی آرایه سلولی از رشته‌ها باشد.
ischar تعیین می‌کند که آرایه کاراکتر است یا خیر.
isfield تعیین می‌کند که ورودی یک فیلد از آرایه struct باشد.
isfloat تعیین می‌کند که ورودی آرایه‌ای از نوع float (اعشاری) است یا خیر.
ishghandle آیا شیئ از نوع handle گرافیکی است؟
isinteger تعیین می‌کند آیا ورودی آرایه ای صحیح است.
isjava تعیین می‌کند که ورودی شی Java است.
islogical تعیین می‌کند آیا ورودی آرایه منطقی (صفر و یک) است.
isnumeric تعیین می‌کند که ورودی آرایه عددی باشد.
isobject تعیین می‌کند که ورودی شی MATLAB باشد.
isreal بررسی می‌کند آیا ورودی آرایه واقعی است.
isscalar تعیین می‌کند ورودی اسکالر است.
isstr تعیین می‌کند که ورودی از نوع رشته است.
isstruct تعیین می‌کند که ورودی آرایه ساختار است.
isvector مشخص می‌کند ورودی بردار است یا نه.
class کلاس شی را تعیین می‌کند.
validateattributes اعتبار آرایه را بررسی می‌کند.
whos متغیرها را در workspace با اندازه و نوع، لیست می‌کند.

یک فایل اسکریپت با کد زیر ایجاد کنید:

وقتی فایل را اجرا کنید، نتیجه زیر ایجاد می‌شود:
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
عضویت
اطلاع از
0 دیدگاه‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

فنولوژی را در شبکه‌های اجتماعی دنبال کنید

©۲۰۲۰ – کلیه حقوق مادی و معنوی متعلق به فنولوژی است.