سبد خرید (0)

متغیرها و دستورات انتساب در متلب

برای اینکه بتوانید یک مقدار را در خود متلب یا در یک برنامه ی آن ذخیره کنید، باید از متغیرها استفاده کنید. در پنجره ی Workspace، متغیرهایی که ایجاد کرده اید و مقادیری که برای آنها درنظر گرفته اید، نمایش داده می شوند. یک راه ساده برای ایجاد یک متغیر، استفاده از دستورهای انتساب است. شیوه ی نوشتن یک دستور انتساب، بصورت زیر است:

variablename = expression

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

 در دستور بالا، ابتدا کاربر(کسی که از متلب استفاده می کند) عبارت mynum = 6 را در prompt وارد می کند و سپس متلب عدد صحیح 6 را در متغیری به نام mynum ذخیره می کند و سپس نتیجه را نمایش می دهد. 

 توجه کنید که نام یک متغیر به هنگام انتساب، باید همواره در سمت چپ قرار بگیرد و عبارت مورد نظر باید در سمت راست باشد. در غیر این صورت یک خطا به وقوع خواهد پیوست. به مثال زیر توجه کنید:

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

با اجرای دستور بالا، ابتدا عبارت 2-9 در سمت راست محاسبه می شود و سپس عدد 7 در متغیر res ذخیره می شود. همان طور که مشاهده می کنید، پس از اجرای دستور بالا، هیچ خروجی نمایش داده نشده است و به جای آن بلافاصله یک علامت prompt نمایش داده شده است. اما اگر به پنجره ی Workspace نگاهی بیاندازید، خواهید دید که هر دوی متغیرهای mynum و res و مقادیر انها، قابل مشاهده هستند. 

به یاد داشته باشید که فاصله های سفیدی که در یک دستور یا عبارت وجود دارند، در نتیجه ی نهایی تاثیری ندارند. اما فایده ی آنها این است که باعث می شوند خوانایی عبارات بیشتر شود. همان طور که در زیر مشاهده می کنید، در این عبارت از هیچ فاصله ی سفیدی استفاده نشده است، ولی نتیجه ی آن با قبلی یکسان است:

 در صورتی که در متلب، در prompt یک عبارت را تایپ کنید که به هیچ متغیری انتساب داده نشده باشد، متلب از یک متغیر پیش فرض به نام ans استفاده می کند. بعنوان مثال در عبارت زیر، مقدار 3+6 در متغیر ans ذخیره می شود:

 

از متغیر پیش فرض ans زمانی استفاده می شود که تنها از یک عبارت در prompt استفاده کنیم و آن را به چیزی انتساب ندهیم. توجه کنید که اگر از ans بعنوان نام یک متغیر استفاده کنید و یا از آن در داخل عبارات خود استفاده کنید، ایده ی جالبی نمی باشد.

 یک راه میانبر برای استفاده ی دوباره از دستورات، این است که از دکمه ی جهت بالا ↑ استفاده کنیم. این دکمه باعث می شود تا به دستور یا عبارت تایپ شده ی قبلی برگردیم . بعنوان مثال (با توجه به مثال بالا) اگر بخواهید به جای استفاده از متغیر پیش فرض ans، مقدار 3+6 را در یک متغیر به نام result ذخیره کنید، می توانید دکمه ی جهت بالا ↑ را فشار دهید و سپس از دکمه ی جهت سمت چپ ← برای اصلاح دستور مورد نظر استفاده کنید. با استفاده از این روش، دیگر نیازی نیست عبارت مورد نظر را دوباره تایپ کنید:

 

این ترفند بسار کاربردی می باشد، زیرا در صورتی که یک عبارت بلند را در متلب وارد کرده باشم به طوری که حاوی یک خطا باشد، می توانیم به عقب برگردیم و آن را اصلاح کنیم. 

این امکان نیز وجود دارد تا دستورات قبلی را در پنجره ی Command History انتخاب کنیم و با راست کلیک کردن بر روی آن دستور، آن را بازیابی کنیم. برای انتخاب کردن دستورات متوالی، می توانید بر روی اولین یا آخرین دستور کلیک کنید و سپس با استفاده از دکمه ی Shift و جهت های پایین و بالا، آنها را انتخاب کنید. 

 برای تغییر دادن مقدار یک متغیر، می توانید یک عبارت دیگر را به آن انتساب دهید. بعنوان مثال به دستورات متوالی زیر توجه کنید:

 در اولین دستور، مقدار 3، به متغیر mynum انتساب داده شده است. در دستور بعدی، مقدار عبارت 2+4 به متغیر mynum انتساب داده شده است. در دستور سوم، مقدار عبارت mynum+1 به این متغیر انتساب داده شده است. به دلیل اینکه متغیر mynum از انتساب قبلی، حاوی مقدار 6 بوده است، در دستور سوم، مقدار این متغیر برابر با 1+6 یا همان 7 خواهد شد. 

 اکنون اگر عبارات mynum + 3 را وارد کنید، به دلیل اینکه این عبارت به هیچ متغیری انتساب داده نشده است، از متغیر پیش فرض ans برای نگهداری مقدار آن، استفاده می شود. بنابراین مقدار متغیر ans برابر با 10 می شود اما مقدار متغیر mynum تغییری نمی کند( و هنوز برابر با 7 خواهد بود). توجه کنید که اگر تنها نام یک متغیر را در متلب تایپ کنید، تنها مقدار آن نمایش داده می شود. (همچنین می توانید این متغیر را در پنجره ی Workspace مشاهده کنید):