آموزش کامل کار با متغیرها در متلب
در حین کار با متلب براحتی میتوانیم متغیرهای مورد نظر خود را تعریف و از آنها بهره مورد نیاز را ببریم. در این درس دانشپژوهان با نحوه عملکرد variableها در این نرم افزار آشنا میشوند.
فهرست مطالب
ایجاد و کنترل متغیر در متلب
اجازه دهید نگاهی سریع بیانداریم به اینکه یک متغیر را در متلب چگونه به وجود آوریم و یا اینکه چگونه آنرا کنترل کنیم. ما برای شروع به چند متغیر نیاز داریم. الان من از سادهترین راه برای ایجاد متغیر با تایپ در کامند ویندو استفاده میکنم. تعریف کردن یک متغییر در متلب خیلی آسان است، چرا که مثل بقیه برنامهها مثل جاوا یا سی نیازی به تعریف متغیر نیست؛ به عبارت دیگر نیازی نیست به متلب بگویید که متغیر من عدد صحیح است یا اینکه اینتیجر است یا این متغییر استیرینگ است. به جای آن فقط به متلب لازم است بگویید که متغیر شما برابر با چه چیزی است. خب اجازه دهید این کار را انجام بدهیم.
در Command Window مقدار A مساوی با 1 را تایپ کنید و بعد اینتر را بزنید.
A=1
حالا این سه اتفاق میافتد: اول اینکه Command Window به شما مقدار A مساوی با یک را برمیگرداند. مشخص است الان این عملاً قابل استفاده نیست؛ ولی اگر این متغیر را به عنوان یک متغیر از یک تابع پیچیده برای A تعریف کنم؛ این به ما کمک میکند که متوجه مقدار واقعی آن شویم. دوم Command History است که آخرین دستور را آپدیت میکند. و سوم Workspace است. الان یک متغیر جدید به اسم A با مقدار 1 با سایز 1*1 را نشان میدهد، در اصل این میگوید که A یک عدد اسکالر است. در این ویدئو من ستون کلاس در Workspace را حذف کردم. پس حالا من مطمئن نیستم که واقعاً متغیر A از چه نوعی است. آن شبیه اینتیجر یا عدد صحیح است؛ اما خب به راحتی میتواند دابل (اعشاری) و یا لانگ هم باشد.
اگر من روی هر قسمتی از ستون Workspace راست کلیک کنم و Class را برای نشان دادن کلاس متغییر خود انتخاب کنم؛ میتوانید ببینید که A از نوع دابل است.
اما اگر شما در محیط اسکریپت و یا فانکشن کار میکردید هیچ راهی برای دانستن این که از چه نوعی است نبود. به صورت پیشفرض متلب متغیرهای خود را از نوع دابل فرض میکند و محاسبات خود را بر حسب آن انجام میدهد.
ایجاد متغیر با کلاس مورد نظر
اما بنظر شما اگر من بخواهم یک متغیر با یک کلاس دیگری درست کنم باید چیکار کنم؟
برای وارد کردن دستی کلاس متغیر مورد نظر خود، باید در هنگام تعریف متغیر مورد نظر، کلاس آنرا هم بنویسیم. به عنوان مثال اگر من بخواهم یک متغیر جدید بسازم که مساوی با یک و همچنین یک متغیر اینتیجر یا یک عدد صحیح بدون علامت باشد؛ من میتوانم آنرا در داخل B بریزم به این صورت که B را مساوی unit16 پرانتز باز 1 پرانتز بسته مینویسم.
B=uint16(1)
unit16 معرف انساین 16 بیتی اینتیجر کلاس است، یعنی کلاس اعداد صحیح بدون علامت 16 بیتی.
بررسی اجمالی اسامی کلاسها در متلب
برای دیدن اسامی تمامی کلاسها میتوانید help class را تایپ کنید و بعد اینتر را بزنید.
خب نتیجه این دستور این است که متغیر B را مساوی مقدار و سایز A میگذارد؛ اما کلاس آنرا به جای دابل به unit16 تغییر میدهد.
تغییر کلاس یک متغیر موجود در متلب
تغییر کلاس یک متغیر بعد از ساخت آن نیز آسان است. به راحتی بعد از تایپ نام متغیری که میخواهید کلاس آنرا تغییر بدهید یک علامت مساوی میگذارید و بعد از آن با نوشتن کلاس جدید در پرانتز، کلاس جدیدی برای متغیر مورد نظر تعریف میکنیم.
برای مثال برای تغییر کلاس متغیر A به کاراکتر، شما میتوانید با تایپ A مساوی char پرانتز باز A پرانتز بسته؛ آنرا به کاراکتر تغییر بدهید.
A=char(A)
این را یادتان بماند که با تغییر کلاس یک متغیر ممکن است برخی از اطلاعات آنرا از دست بدهید. مثلاً اگر شما دابل را به اینتیجر تغیر بدهید؛ تمام اطلاعات دسیمال شما از بین میرود. تا الان ما فقط با اسکالر کار میکردیم، اما متلب متغیرهای بردار و ماتریس را هم پشتیبانی میکند.
متغیر برداری در متلب
اگر قصد دارید متغیری را به صورت برداری بنویسید؛ باید در دو طرف جملات خود، براکت بگذارید و اعداد آن بردار را با کاما یا اسپیس از هم جدا کنید.
به عنوان مثال C مساوی با براکت باز یک اسپیس 2 اسپیس 3 براکت بسته؛ و نهایتاً اینتر قرار میزنیم تا C را با سه بردار که متغیر مربوطه را در داخل آن ذخیره کردیم درست کند.
C=[1 2 3]
برای درست کردن ماتریس همین کار را انجام میدهیم، با این تفاوت که برای جدا کردن سطرها از سمی کالن استفاده میکنیم. به عنوان مثال D را برابر با براکت باز 1 کاما 2 سمی کالن 3 کاما 4 براکت بسته قرار میدهیم.
حالا D یک ماتریس دو در دو با مقادیری که برای آن سفارشی کردیم، به ما میدهد. همینطور که در خروجی میبینید، متلب همیشه اطلاعات را به صورت سطری ذخیره میکند و بعد پایین آن ستونیها را ذخیره میکند. این پایه تعریف متغیرها است. هر متغیری یک مقدار و یک اندازه و یک کلاس دارد. برای تعریف یا تغییر یک کلاس اسم کلاس آنرا به عنوان یک تابع تعریف کنید. برای تعریف و یا تغییر اندازه یا مقدار آن هم، متغیر را با مقداری که میخواهید، مساوی قرار بدهید.