گام ششم: انواع داده ها در متلب

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)

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

370

 

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

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)

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

371

 

 

خرید کتاب 28 گام موثر در فتح متلب

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *