MATLAB یکی از محبوبترین محیطهای برنامهنویسی برای انجام محاسبات عددی، تحلیل داده، شبیهسازی، پردازش سیگنال، پردازش تصویر و حل مسائل مهندسی است. یادگیری مفاهیم پایه در MATLAB به شما کمک میکند کدهایی دقیقتر، خواناتر و قابلاعتمادتر بنویسید.
در این بخش از آموزش برنامه نویسی MATLAB، با سه مفهوم مهم آشنا میشویم : دستور Format در متلب، انواع داده و متغیرها و قوانین نامگذاری متغیرها. آشنایی با این مفاهیم، پایهای مناسب برای ورود به مباحث پیشرفتهتر برنامهنویسی MATLAB ایجاد میکند.
دستور Format در MATLAB چیست؟
یکی از دستورات کاربردی در MATLAB، دستور format است. از این دستور برای تغییر نحوه نمایش اعداد در Command Window استفاده میشود.
برای مثال، ممکن است بخواهید یک عدد اعشاری را با رقمهای بیشتری مشاهده کنید یا نتیجه محاسبه را به صورت علمی نمایش دهید. در این شرایط میتوانید از گزینههای مختلف دستور tforma استفاده کنید.
ساختار کلی این دستور به صورت زیر است:
format option
برخی از مهمترین گزینههای دستور Formatعبارتاند از:
|
کاربرد |
گزینه |
|
نمایش اعداد با فرمت کوتاه |
format short |
|
نمایش اعداد با رقمهای بیشتر |
format long |
|
نمایش اعداد به صورت علمی |
format short e |
|
نمایش علمی با دقت بیشتر |
format long e |
|
نمایش فشرده اعداد |
format short g |
|
نمایش فشرده با دقت بیشتر |
format long g |
|
نمایش مقدار به صورت هگزادسیمال |
format hex |
برای مثال، ابتدا مقدار عدد پی را در یک متغیر قرار میدهیم:
x = pi;
سپس با دستور زیر نحوه نمایش آن را تغییر میدهیم:
format long
x
در این حالت MATLAB رقمهای بیشتری از مقدار pi را در Command Window نمایش میدهد.
آیا Format دقت محاسبات را تغییر میدهد؟
خیر. این نکته برای کاربران تازهکار بسیار مهم است. دستور format تنها نحوه نمایش مقدار را تغییر میدهد و دقت داخلی محاسبات MATLAB را تغییر نمیدهد.
بنابراین نباید format long را با افزایش دقت محاسبات اشتباه گرفت.
انواع داده و متغیر در MATLAB
MATLAB از انواع مختلف داده پشتیبانی میکند. هر نوع داده برای کاربرد خاصی مناسب است و میتواند روی میزان حافظه مصرفی و نحوه پردازش اطلاعات تأثیر بگذارد.
برخی از مهمترین انواع داده عددی در MATLAB عبارتاند از:
نوع Double
doubleنوع عددی پیشفرض MATLAB است و برای ذخیره اعداد با دقت مضاعف استفاده میشود.
برای مثال:
a = 25.75;
در حالت عادی، متغیر a از نوع double خواهد بود.
نوع Single
نوع single نیز برای ذخیره اعداد اعشاری استفاده میشود، اما نسبت به double دقت و حافظه مصرفی متفاوتی دارد.
مثال:
a = single(25.75);
استفاده از single در برخی پروژههای محاسباتی بزرگ میتواند به کاهش مصرف حافظه کمک کند.
اعداد صحیح بدون علامت
MATLAB انواع مختلفی از اعداد صحیح بدون علامت را پشتیبانی میکند:
uint8
uint16
uint32
uint64
این انواع برای ذخیره اعداد صحیح غیرمنفی کاربرد دارند.
برای مثال:
a = uint8(200);
در این مثال، مقدار 200 از نوع uint8 ذخیره میشود.
اعداد صحیح علامتدار
برای ذخیره اعداد صحیح مثبت و منفی میتوان از انواع زیر استفاده کرد:
int8
int16
int32
int64
برای مثال:
temperature = int16(-10);
در این مثال مقدار -10 از نوع int16 ذخیره شده است.
نوع Struct
structیکی دیگر از انواع مهم داده در MATLAB است که برای سازماندهی اطلاعات مختلف در قالب فیلدهای نامگذاریشده استفاده میشود.
برای مثال:
student.name = 'Sara';
student.age = 20;
student.score = 18.5;
در این مثال، متغیر student شامل سه فیلد name، age و score است.
ساختارها در پروژههایی که با اطلاعات مختلف و مرتبط با یکدیگر سروکار داریم، کاربرد زیادی دارند.
نوع داده پیشفرض در MATLAB چیست؟
یکی از مهمترین نکات در آموزش متلب این است که بدانیم نوع پیشفرض دادههای عددی در MATLAB، double است.
برای مثال:
a = 100;
در این حالت MATLAB متغیر a را به صورت پیشفرض از نوع double در نظر میگیرد.
برای مشاهده نوع یک متغیر میتوان از تابع class استفاده کرد:
class(a)
خروجی:
double
خواهد بود.
این موضوع هنگام کار با پروژههای محاسباتی اهمیت زیادی دارد؛ زیرا انتخاب نوع داده مناسب میتواند در مصرف حافظه و نحوه پردازش اطلاعات تأثیرگذار باشد.
چگونه نوع یک متغیر را در MATLAB تغییر دهیم؟
برای تغییر نوع داده یک متغیر میتوان از نام نوع داده به عنوان تابع استفاده کرد.
برای مثال، اگر بخواهیم متغیر a را به uint8 تبدیل کنیم، مینویسیم:
a = uint8(a);
یا برای تبدیل آن به uint32 :
a = uint32(a);
همچنین میتوان متغیر را از ابتدا با نوع مشخص ایجاد کرد:
b = uint32(345);
در این مثال، متغیر b از نوع uint32 ایجاد شده است.
نکته مهم هنگام تبدیل نوع داده
هنگام تبدیل یک متغیر باید به محدوده قابل پشتیبانی نوع مقصد توجه کنید. اگر مقدار خارج از محدوده باشد، ممکن است MATLAB آن را مطابق قوانین تبدیل همان نوع داده پردازش کند.
برای بررسی محدوده انواع عددی میتوان از توابع intmin و intmax استفاده کرد.
برای مثال:
intmin('int16')
حداقل مقدار قابل ذخیره در int16 را نشان میدهد.
همچنین:
intmax('int16')
حداکثر مقدار قابل ذخیره در این نوع داده را نمایش میدهد.
قوانین نامگذاری متغیرها در MATLAB
نامگذاری صحیح متغیرها یکی از مهارتهای مهم در برنامه نویسی MATLAB است. رعایت چند قانون ساده باعث میشود کد شما خواناتر و قابل مدیریتتر باشد.
۱. متلب به حروف بزرگ و کوچک حساس است
MATLAB بین حروف کوچک و بزرگ تفاوت قائل میشود.
برای مثال:
score
Score
SCORE
سه نام متفاوت هستند.
بنابراین هنگام استفاده از متغیرها باید دقیقاً همان ترکیب حروف بزرگ و کوچک را به کار ببرید که هنگام تعریف متغیر استفاده کردهاید.
۲. نام متغیر باید با حرف شروع شود
نام متغیر نمیتواند با عدد آغاز شود.
نام زیر صحیح است:
student1 = 20;
اما:
1student
نام معتبری برای یک متغیر MATLAB نیست.
اگر میخواهید از عدد در نام متغیر استفاده کنید، عدد باید بعد از اولین حرف قرار بگیرد.
۳. استفاده از عدد و Underscore
پس از اولین حرف میتوانید از عدد و کاراکتر زیرخط _ استفاده کنید.
برای مثال:
student_name = 'Ali';
score1 = 18;
total_score = 95;
این نامها معتبر هستند.
استفاده از فاصله در نام متغیر مجاز نیست. به همین دلیل به جای:
student score
میتوان از شکل زیر استفاده کرد:
student_score
۴. طول نام متغیر
برای مشاهده حداکثر تعداد کاراکتر مجاز در نام متغیر میتوانید از دستور زیر استفاده کنید:
namelengthmax
این مقدار به نسخه MATLAB بستگی دارد.
چگونه از تداخل نام متغیر با توابع جلوگیری کنیم؟
هنگام انتخاب نام متغیر باید مراقب باشید نام انتخابشده با یک تابع یا متغیر داخلی MATLAB یکسان نباشد.
برای مثال، بهتر است نامهایی مانند pi را برای متغیرهای خود استفاده نکنید؛ زیرا pi یکی از مقادیر از پیش تعریفشده MATLAB است.
برای بررسی اینکه MATLAB یک نام مشخص را از کجا شناسایی میکند، میتوانید از دستور which استفاده کنید:
which pi
همچنین بهتر است از نامهای معنادار برای متغیرها استفاده کنید.
برای مثال:
student_score = 18;
total_students = 30;
average_score = 17.5;
این نامها بسیار خواناتر از نامهایی مانند a، b و x1 هستند؛ بهخصوص زمانی که پروژه شما بزرگ باشد و کد شامل تعداد زیادی متغیر باشد.
تفاوت Format با تغییر نوع داده درMATLAB
یکی از اشتباهات رایج کاربران مبتدی، یکسان دانستن format و تبدیل نوع داده است.
این دو مفهوم کاملاً متفاوت هستند.
با دستور:
format long
فقط نحوه نمایش عدد در Command Window تغییر میکند.
اما با دستور:
a = single(a);
نوع واقعی داده تغییر میکند.
به زبان ساده:
تغییر نحوه نمایش Format =
تغییر نوع داده = Type Conversion
شناخت این تفاوت در برنامهنویسی MATLAB اهمیت زیادی دارد و از بسیاری از اشتباهات هنگام تحلیل نتایج جلوگیری میکند.
یک مثال کامل از کار با متغیرها در MATLAB
در مثال زیر چند متغیر با انواع مختلف ایجاد میکنیم:
a = 25;
b = single(12.5);
c = uint8(100);
d = int16(-50);
class(a)
class(b)
class(c)
class(d)
تابع class نوع هر متغیر را مشخص میکند.
همچنین میتوانیم محدوده یک نوع داده را بررسی کنیم:
intmin('int16')
intmax('int16')
و برای تغییر نحوه نمایش اعداد نیز از format استفاده کنیم:
format long
a
این مثال ساده چند مفهوم اساسی MATLAB یعنی تعریف متغیر، نوع داده، بررسی نوع، محدوده اعداد و نحوه نمایش مقادیر را در کنار یکدیگر نشان میدهد.
نکات مهم برای نامگذاری حرفهای متغیرها
در پروژههای دانشگاهی و مهندسی MATLAB بهتر است تنها به درست بودن نام متغیر اکتفا نکنید و خوانایی کد را نیز در نظر بگیرید.
برای مثال، اگر متغیری میانگین نمرات دانشجویان را نگهداری میکند، نام زیر:
average_score
مناسبتر از:
x
است.
همچنین بهتر است در یک پروژه از یک الگوی ثابت برای نامگذاری استفاده کنید. این کار باعث میشود در زمان توسعه، خطایابی و ویرایش برنامه، ساختار کد برای شما و سایر اعضای تیم قابل فهمتر باشد.
جمعبندی
در این بخش از آموزش برنامه نویسی MATLAB با دستور format، انواع داده و قوانین نامگذاری متغیرها آشنا شدیم.
یاد گرفتیم کهformat تنها نحوه نمایش اعداد را تغییر میدهد و دقت داخلی محاسبات را افزایش نمیدهد. همچنین با انواع مهمی مانند double، single، int وuint آشنا شدیم.
برای بررسی نوع داده از class استفاده میکنیم. دستورات intmin و intmax نیز محدوده انواع صحیح را مشخص میکنند.
رعایت قوانین نامگذاری و استفاده از نامهای معنادار نیز باعث میشود کدهای MATLAB حرفهایتر و قابلفهمتر باشند.
اگر میخواهید یادگیری MATLAB را اصولی ادامه دهید، پیشنهاد میشود پس از این مباحث سراغ آرایهها و ماتریسها، عملگرها، دستورات شرطی، حلقهها، توابع و رسم نمودار در MATLAB بروید.
یادگیری MATLAB را کاربردی شروع کنید
اگر میخواهید برنامهنویسی MATLAB را اصولی و کاربردی یاد بگیرید، میتوانید در وبینار برنامهنویسی MATLAB پژواک دانش شرکت کنید.
برای ثبتنام در وبینار برنامهنویسیMATLAB ، همین حالا اقدام کنید.