بازدید: ۶٢٠

متغیرها در MATLAB (آموزش MATLAB)

بازگشت به صفحه اصلی آموزش MATLAB

 

در قسمتهای قبل محاسبه زیر را انجام دادیم:

 

متغیرها در MATLAB

 

اکنون می خواهیم مراحل اجرای این فرمان را قدم به قدم بررسی کنیم. وقتی مقدار 10/20/10 را وارد می کنید، مقدار آن را برابر با 0.05 محاسبه می کند. سپس متغیری را به نام ans تعریف می کند و مقدار این متغیر را برابر با مقدار جواب قرار می دهد. اگر متغیری به نام ans از قبل وجود داشته باشد، مقدار آن به مقدار جواب ما تغییر می کند. سپس نام متغیر را (ans) در پنجره فرمان (Command Window) به همراه یک علامت سوال  نمایش می دهد سپس مقدار جواب(0.05) را در سطر بعدی می نویسد. قسمت بعدی نمایش در پنجره فرمان می باشد که در صورتی که در انتهای دستور سمی کالن گذاشته شده باشد، از نمایش آن جلوگیری می کند.

این مراحل، مخصوص تعریف یک متغیر در زمانی است که کاربر نامی را برای متغیر خود تعریف نکرده باشد. اگر به جای آن دستور abc=10/20/10 را وارد کنید، مراحل انجام کار همان است با این تفاوت که به جای تعریف یک متغیر به نام ans، برنامه MATLAB متغیری به نام abc ایجاد می کند و مقدار جواب را به آن تخصیص می دهد و اطلاعات را در پنجره فرمان چاپ می کند:

 

متغیرها در متلب

 

در این متن علامت تساوی به MATLAB می گوید تا مقداری را به یک متغیر تخصیص دهد به عبارتی دیگر مقدار 0.05  به متغیر abc تخصیص داده شده است. اگر پنجره workspace را کنترل کنید، متوجه خواهید شد که متغیری به نام abc وجود دارد. هنگامی که متغیری تعریف می شود برای اطلاع از مقدار تخصیص داده شده به آن می توانید نام آن را وارد کنید:

 

متغیر

 

همچنین می توانید متغیرها را مجددا تخصیص دهید. بعنوان مثال مقدار جاری متغیر abc برابر با 0.05 است. حال اگر شما abc = 3 را تایپ کنید، مقدار جدید جایگزین مقدار قبلی می شود. همچنین می توانید متغیرها را با متغیرهای دیگر و یا با استفاده از خود همان متغیر جایگزین کنید. بعنوان مثال، برای اینکه مقدار abc را دو برابر کنید، کافی است عبارت زیر را وارد کنید:

 

متغیر جدید در متلب

 

اسامی متغیرها حتما باید با یک حرف آغاز شوند که می توانند حداکثر تا 64 کاراکتر طول داشته باشند. همیشه بهتر است از اسامی با مسما برای نامگذاری متغیرهای خود استفاده کنید.  استفاده از چندین کلمه در هنگام تعریف یک متغیر که با کاراکتر خط زیر (_) بهم متصل شده اند و یا از حروف بزرگ تشکیل شده اند، می توانند به خواناتر شدن نام متغیر شما کمک کنند. بعنوان مثال: interstate و یا Exchange_rate. این نکته را بدانید که برنامه MATLAB نسبت به حروف بزرگ و کوچک حساس است و متغیرهای c و C و یا interestRate و interestrate با یکدیگر فرق دارند.

 

متغیرهای از پیش تعریف شده

 

برخی متغیرها در MATLAB از پیش تعریف شده می باشند:

Ans

متغیری که آخرین مقدار محاسبه شده را که نام متغیری برای آن تعریف نشده در خود نگه می دارد. اگر این متغیر حذف شود(بعنوان مثال با وارد کردن دستور clear ans)، به محض انجام محاسبه جدیدی که متغیری برای آن تعریف نشده باشد، مجددا ظاهر می شود.

 

Pi

حاوی مقدار عدد پی می باشد ( 3.141592…).

 

Inf

بی نهایت. می تواند نتیجه انجام یک محاسبه باشد. بعنوان مثال، 1/0 می شود inf. همچنین می توانید از آن در انجام محاسبات استفاده کنید. بعنوان مثال، 3*inf برابر با inf می شود.

 

NaN

نامعین. از آن زمانی استفاده می شود که نمی توانید یک مقدار عددی را ذخیره کنید. از آن می توان در انجام محاسبات یا خروجی یک محاسبه استفاده کرد. بعنوان مثال، NaN*2 و 0/0 هردو برابر با مقدار NaN می شوند.

 

انواع متغیرها

 

متغیرها می توانند انواع مختلف داشته باشند. ما باید بتوانیم بین متغیرهای عددی، کاراکتر و متغیرهای منطقی تفاوت قائل شویم.

 

متغیرهای کاراکتری و عددی

 

دانستن این نکته که متغیرهای مختلفی داریم اهمیت زیادی دارد. متغیر abc در مثال فوق، یک متغیر عددی بود. اگرچه متغیرها می توانند یک یا چند کاراکتر را در خود نگه دارند. برای اینکه به MATLAB بگویید که می خواهید مقادیری را بعنوان یک رشته کاراکتر در نظر بگیرد، باید آن را در بین یک جفت تک کتیشن () قرار دهید. بعنوان مثال کافی است عبارت ‘def’ را  در پنجره فرمان وارد کنید:

 

متغیر کاراکتری

 

قسمتی از متن که با رنگ بنفش نمایش داده شده است، مشخص می کند که این قسمت یک رشته کاراکتری می باشد. برنامه MATLAB دستور شما را بعنوان یک رشته کاراکتری تفسیر می کند. به عبارتی دیگر همان رشته کاراکتری را تولید می کند (def) و به متغیر ans تخصیص داده سپس در پنجره فرمان نمایش می دهد.  اگر اکنون به پنجره workspace نگاه کنید متوجه خواهید شد که متغیر ans در ستون کلاسی نمایش داده می شود که نشان می دهد متغیر شما یک متغیر کاراکتری است و برچسب Char به آن خورده است. معمولا متغیرهای عددی دارای برچسب double می باشند.

در نتیجه بین 123  و ‘123’ تفاوت وجود دارد. اگر هردو مقدار را در حالیکه با کاما از یکیدگر جدا کرده ایم، وارد کنیم، نتیجه زیر بدست می آید:

 

متغیر عددی

 

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

در حالت دوم ‘123’ بعنوان یک رشته کاراکتری تفسیر می شود. در حقیقت 1، 2 و 3 بعنوان عدد در نظر گرفته نمی شوند بلکه بعنوان کاراکتر تفسیر می شوند. نتیجه به متغیر ans تخصیص داده شده و در پنجره فرمان نمایش داده می شود. از آنجایی که این مقدار یک عدد نیست پس بنابراین هیچ فضای خالی در مقابل آن قرار نمی گیرد و رشته کاراکتری درست در ابتدای پنجره وارد می شود.

روشهای مناسبی برای تبدیل و تغییر متغیرهای عددی به متغیرهای رشته ای و یا برعکس وجود دارد.

 

Str2num

یک رشته کاراکتری را به عدد تبدیل می کند به گونه ای که از آن به بعد MATLAB رشته کاراکتری را بعنوان عدد تفسیر می کند. بعنوان مثال: جواب تابع str2num(‘542’) می شود 542.

 

Num2str

یک مقدار عددی را به یک رشته کاراکتری تبدیل می کند. بعنوان مثال: جواب تابع num2str(542) می شود ‘542’.

 

برخی مواقع که می خواهیم عنوانی را به یک گراف اضافه کنیم یا اطلاعاتی را در پنجره فرمان نمایش دهیم، بهتر است که اعداد و متن را با یکدیگر مخلوط کنیم. در چنین مواقعی باید در ابتدا اعداد به رشته های کاراکتری تبدیل شوند.

رشته ها توابع مختلفی در MATLAB دارند. از آنها مرتبا برای نمایش پیغامها و آدرس فایلها در کامپیوتر استفاده می شود (بعنوان مثال در هنگام وارد کردن داده ها). برخی از توابع نیز وجود دارند که آرگومانهای ورودی رشته ای را می گیرند. همچنین می توانید دستورات قالب بندی برای پلاتها را همانند رشته ها وارد کنید.

 

متغیرهای منطقی

 

به متغیرهایی متغیرهای منطقی می گویند که تنها می توانند دارای مقادیر true و یا false باشند. در MATLAB مقدار true بصورت 1  و مقدار false بصورت 0 نمایش داده می شوند. بنابراین از نظر ظاهری متغیرهای منطقی شبیه به متغیرهای عددی معمولی به نظر می رسند. معمولا متغیرهای منطقی، خروجی دستورات منطقی یا رابطه ای می باشند. فرض کنید ما دارای متغیر abc می باشیم که مقدار آن از قبل  6 بوده است. حال دستور زیر را اجرا می کنیم:

 

متغیر منطقی

 

جواب 1 است که به معنی true می باشد. از آنجایی که مقدار abc بزرگتر از 5 است پس جواب صحیح است (true). اگر دقت کنید متوجه خواهید شد که در این حالت متغیر ans، یک متغیر عددی معمولی نیست. پنجره workspace را کنترل کنید تا مشاهده کنید که کلاس ans، Logical می باشد. با این وجود هنوز می توانید از متغیر ans در عبارات جبری استفاده کنید.  بعنوان مثال اگر دستور زیر را اجرا کنیم:

 

متغیر منطقی

 

به نظر می رسد که مقدار متغیر تغییری نکرده است در حالیکه اگر پنجره workspace را کنترل کنیم، مشاهده می کنیم که کلاس متغیر به double تغییر کرده است و این بیانگر آن است که به یک متغیر عددی معمولی تبدیل شده است.

 

بازگشت به صفحه اصلی آموزش MATLAB

طراحی سایت و سئو توسط ضابط