ترفندهای متلب
با سومین جلسه آموزش متلب رایگان با موضوع ترفندهای متلب در خدمت شما هستیم. در دو جلسه قبل، با محیط متلب آشنا شدید و تعریف متغیرها در متلب را آموختید. در این جلسه، میخواهیم یکسری نکته و ترفند کاربردی در متلب را به شما بیاموزیم. مثلا نحوه استفاده از عدد پی در متلب ، eps در متلب ، عدد نپر در متلب را خواهید آموخت. تا پایان دوره آموزش متلب رایگان، چند جلسه نکته و ترفندهای متلب خواهیم داریم تا ترفندهای پیشرفتهتری هم به شما آموزش دهیم. با هوسم همراه باشید…
ثابتهای مهم در ترفندهای متلب
متلب، مجموعهای از اعداد و عملگرهای خاص را در خود دارد. درادامه، چند مورد پرکاربرد را معرفی کردهایم.
نوشتن عدد پی در متلب
عدد پی (π یا pi) یکی از مهمترین ثابتهایی است که در متلب وجود دارد. اگر شما بخواهید عملیات مثلثاتی در متلب انجام دهید، به احتمال زیاد به این عدد نیاز پیدا میکنید. در متلب نیاز نیست متغیری تعریف کنید و مقدارش را برابر با عدد π، یعنی 3.14 قرار دهید. چرا؟ چون متلب خودش این عدد را برای شما تعریف کردهاست. برای نوشتن عدد پی در متلب ، کافیاست مطابق دستور زیر عمل کنید:
>> pi
ans = 3.1416
یعنی، کافی است در کدهایتان بنویسید pi و تمام! با نوشتن عدد پی در متلب فقط چهار عدد اعشاری برای آن نمایش داده میشود. اما در واقع رقم بعد اعشار آن بسیار زیاد است. عدد پی در متلب هم تعداد ارقام زیادی دارد، اما فقط 4 رقم اعشار نمایش داده شده است. بهصورت پیشفرض، متلب خروجیها را تا 4 رقم بعد اعشار نشان میدهد. اما، در این جلسه به شما نشان میدهیم که چطور تعداد ارقام بعد اعشار بیشتری را ببینید.
شما میتوانید همانند سایر متغیرها با pi رفتار کنید. یعنی میتوانید pi را در اعداد دیگر ضرب، تقسیم، جمع یا تفریق کنید. یا به عنوان ورودی آن را به توابع بدهید.
>> angle = pi / 2;
خب این از عدد پی در متلب. در این بخش دیدیم که نوشتن عدد پی در متلب بسیار ساده و راحت است. علاوه بر عدد پی، ثابتهای دیگری نیز در متلب وجود دارند که در بخشهای بعدی به آنها پرداخته خواهد شد.
عدد نپر در متلب
عدد نپر (e) یکی دیگر از ثابتهای مهم است. اگرچه مانند عدد pi، متغیر مخصوصی برای این عدد تعریف نشده است. اما با استفاده از عبارت exp(1) میتوانیم به این عدد دسترسی داشته باشیم. exp یک تابع در متلب است. ما هنوز در مورد توابع صحبتی نکردیم. پس در مورد exp(1) کنجکاو نباشید لطفا! در جلسات آینده بیشتر خواهید فهمید. پس برای داشتن عدد نپر در متلب کافی است بنویسید:
>> exp(1)
ans =
2.7183
به این ترتیب با عدد نپر در متلب هم آشنا شدید. برویم سراغ ثابت بعدی…
eps در متلب
یکی از متغیرهای دیگری که به آن نیاز پیدا میکنید، eps در متلب است. eps مخفف کلمه epsilon است. احتمالا همه میدانید این نماد برای چه استفاده میشود. برای نمایش اعداد خیلی خیلی کوچک که مقدارشان نزدیک صفر است، اغلب از نماد eps استفاده میشود. eps در متلب یک عدد ثابت است. مقدار eps در متلب برابر با 2.2204e-16 است. eps نیز همانند pi و نپر میتواند در اعدادی ضرب، تقسیم و … شود. اگر به eps در متلب نیاز داشتید، کافی است مطابق دستور زیر عمل کنید:
>> eps
ans =
2.2204e-16
مشاهده میکنید که eps در متلب یک عدد بسیار کوچک است که مقدارش نیز ثابت است. اگر شک دارید که ثابت باشد، میتوانید چندین بار eps در متلب را فراخوانی کنید تا مطمئن شوید! هنوز ثابتها تمام نشدهاند، برویم بعدی…
inf در متلب
یکی دیگر از ثابتهای پر استفاده در متلب inf است. inf مخفف کلمه infinity به معنای بینهایت است. برای نشان دادن بینهایت در ریاضیات ما از علامت ∞ استفاده میکنیم. ثابت inf معادل با علامت ∞ است. هرجایی به inf در متلب نیاز داشتید، کافیاست مطابق دستور زیر عمل کنید:
>> inf
ans =
Inf
جواب inf هست. اگرچه در ریاضیات تقسیم عدد بر صفر تعریفنشده است، اما متلب نتیجه این تقسیم را inf میداند!
nan در متلب چیست
یکی دیگر از ثابتهایی که ممکن است با آن مواجه شویم، NaN است. NaN معادل با عبارت «تعریفنشده» در ریاضیات است. اگر یادتان باشد نتیجه تقسیم صفر بر صفر یا بینهایت بر بینهایت را میگفتیم نتیجه بینهایت است. شاید بخواهید متغیری تعریف کنید که NaN باشد در این صورت باید بنویسید:
>> NaN
ans =
NaN
با نوشتن nan هم به نتیجه مشابه میرسیم:
>> nan
ans =
NaN
nan مخفف چیست
NaN مخفف عبارت Not a Number است. یعنی همان تعریف نشده!
نتیجه NaN است.
بازهم نتیجه NaN است.
اعداد موهومی در متلب
استفاده از اعداد موهومی، ازجمله مهمترین بخشهای جلسه ترفندهای متلب است. در صورتی که با اعداد موهومی (complex numbers) کار کرده باشید، با i و j آشنایی دارید. در اعداد موهومی i یا j معادل با جذر عدد 1- هستند. در متلب به راحتی با نوشتن i یا j میتوانید به این متغیرها دسترسی داشته باشید. بیایید تمرین کنیم. اول فقط بنویسیم i ببینیم نتیجهاش چه میشود:
>> i
ans =
0.0000 + 1.0000i
مشاهده میکنید، متلب متوجه شد که منظور شما عدد موهومی است. مقدار 1i + 0 را چاپ کرده است. بیایید مقدار i را بهتوان 2 برسانیم:
>> i^2
ans =
-1
همانطور که مشاهده میکنید، مقدار i به توان دو برابر با 1- است.
توجه دقت کنید، اگر قبلا متغیری تعریف کردهاید که اسمش i یا j است، دیگر متلب i یا j را به عنوان عدد موهومی نمیشناسد. مثلا در کد زیر ما قبلا متغیری به اسم i با مقدار 5 تعریف کردهایم:
>> i = 5; >> i
i =
5
همانطور که مشاهده میکنید، متلب مقدار i را 5 در نظر گرفته است. زیرا ما قبلا متغیری به نام i تعریف کردهایم که مقدارش 5 است. شاید فکرکنید اگر بخواهیم از i برای تعریف اعداد موهومی استفادهکنیم باید ابتدا متغیر i را پاک کنیم. اما ما پیشنهاد دیگری داریم. یعنی متلب دارد! متلب میگوید اگر i را به شکل 1i بنویسید، من i را عدد موهومی در نظر میگیرم.
>> i = 5; >> 1i
ans =
0.0000 + 1.0000i
>> i =
5
مشاهده میکنید که اگرچه i را 5 گذاشتیم، اما متلب اصلا برایش مهم نیست و 1i را عدد موهومی میداند.
تعریف یک عدد موهومی در متلب
برای تعریف یک عدد موهومی در متلب چکار کنیم؟ مثلا برای تعریف یک متغیر موهومی برابر با 3i+8 کافی است بنویسیم:
>> 3i + 8
ans =
8.0000 + 3.0000i
دقت کنید که میتوانید بین عدد و i، علامت ضرب را هم بگذارید. اما توصیه میکنیم که این کار را نکنید. چون اگر قبلا متغیر دیگری به نام i تعریف کرده باشید، متلب آن را در نظر خواهد گرفت. مثلا برای تعریف همان عدد 3i+8، اگر اینبار بنویسیم i*3+8 خواهیم داشت:
>> 3*i + 8
ans =
23
مشاهده میکنید که متلب مقدار i را 5 درنظر گرفته است! چون قبلا ما مقدار i را 5 گذاشته بودیم. پس در تعریف اعداد موهومی بهتر است از علامت ضرب دوری کنید!
>> 9j + 4
ans =
4.0000 + 9.0000i
خب بخش ثابتها در متلب از پست « ترفندهای متلب » به پایان رسید. برویم سراغ بخش بعدی…
پاک کردن command window با ترفندهای متلب
بعد از نوشتن دستورهای تمرینی مختلف در command window، شاید بدتان نیاید که این پنجره را تمیز کنید! برای تمیز کردن Command Window میتوانید از دستور clc در متلب استفاده کنید. علاوه بر clc، تنها با یک کلیک نیز میتوان command window را پاک کرد. کافی است بر روی آیکون نشان داده شده در تصویر زیر کلیک کنید:
>> clc
توجه با اجرای دستور clc تنها نوشتههای command window پاک خواهند شد. و این دستور باعث حذف متغیرها در workspace نخواهد شد.
پاک کردن workspace در متلب
ممکن است به هر دلیلی بخواهید تمامی متغیرهای workspace در متلب را پاک کنید. مثلا شاید workspace به خاطر تعریف متغیرهای مختلف، خیلی شلوغ شده باشد. یا اینکه بخواهید بلافاصله بعد از حل یک مسئله، شروع به حل مسئله جدیدی کنید و متغیرهای مسئله قبلی را دیگر نیاز نداشته باشید. با نوشتن دستور clear در Command Window میتوانید تمامی متغیرها را از workspace خود حذف کنید.
توجه اگر متغیرها را ذخیره نکرده باشید و بعد workspace را پاک کنید، دیگر به متغیرهایتان دسترسی نخواهید داشت. شاید الان اهمیت متغیرها برای شما محسوس نباشد، اما تصور کنید که برنامهای نوشتهاید و بعد از چند روز اجرا، خروجیها بدست آمده است. آنگاه از دست دادن متغیرها (از جمله جواب خروجی) اجرای چندروزه شما را به باد میدهد!
علاوه بر دستور clear، برای پاک کردن workspace نیز یک آیکون در نظر گرفته شده است. شما با کلیک بر روی آیکون نشان داده شده در تصویر زیر میتوانید workspace را پاک کنید:
>> clear
نکته اکثر افراد حرفهای در متلب، از دستورهای clear و clc بجای کلیدهای شورتکات استفاده میکنند.
پاک کردن Command History با ترفندهای متلب
شاید بخواهید پنجره Command History را نیز پاک کنید. برای پاک کردن این پنجره دستور خاصی وجود ندارد. اما شما میتوانید با کلیک بر روی فلش نشان داده شده در تصویر زیر و سپس کلیک بر روی Command History محتویات این پنجره را نیز پاک کنید.
نکته اکثر افراد حرفهای در متلب، Command Hisotory در متلب را پاک نمیکنند. چون بسیار زیاد از دستورات قبلی خود استفاده میکنند.
نمایش اعداد اعشار در متلب (ترفندهای متلب)
به اعداد اعشاری که امروز در پنجره Command Window متلب چاپ شد، توجهکنید (مثلا عدد نپر و پی). همه اعداد فقط تا 4 رقم بعد اعشار هستند. در واقع متلب برای جلوگیری از نمایش طولانیِ اعداد اینکار را انجام داده است. یعنی اعداد بیشتر از 4 رقم اعشار دارند اما برای نمایش، متلب فقط 4 رقم را نشان میدهد. معمولا هم این مقدار برای نمایش کافی هست. اما اگر شما بنابههردلیلی بخواهید تعداد ارقام اعشار بیشتری را ببینید، کافیاست از دستور format در متلب استفاده کنید. مثلا خیلی فرد دقیقی هستید و 4 رقم برای شما کم است! D:
دستور format در متلب
دستور format دوحالت دارد: short یا long. به صورت پیشفرض در متلب format در حالت short قرار دارد. همانطور که در بخشهای قبل دیدید، در این حالت تنها فقط 4 رقم اعشار نشان داده میشود. اگر به تعداد ارقام اعشار بیشتری نیاز دارید باید از long استفاده کنید. در این حالت اعداد با 15 رقم اعشار نشان داده میشوند. بیایید یک مثال ببنیم؛ میخواهیم متغیری به نام x تعریف کنیم که مقدارش 25.18648912 باشد. سپس آن را نمایش دهیم:
>> x = 25.18648912
x =
25.1865
خب فقط 4 رقم اعشار از x نمایش داده شد. اگر دقت کنید میبینید که بهجای نمایش 25.1864 عدد مورد نظر به 25.1865 رُند شده است. این کار به خاطر format short انجام شده است.
توجه رند کردن به 4 رقم، فقط در نمایش صورت میگیرد. در عمل متغیر x همانی هست که تعریف کردهایم. یعنی تمام محاسبات با عدد کامل و رند نشده انجام میشود. نگران دقت محاسباتتان نباشید، اما با نکته ها و ترفندهای متلب میتوانید ارقام بیشتری را نمایش دهید.
حالا format را در حالت long قرار داده و دوباره x را نمایش میدهیم:
>> format long >> x
x =
25.186489120000001
این بار نمایش دقیقتری از x نشان داده شده است. باز هم تاکید میکنم که این تغییرات تنها در نمایش صورت گرفتهاند. در محاسبات متغیر x دقیقا همانی است که تعریف کردیم.
>> format long
>> pi
3.14159265359
توجه پس از اجرای دستور format long، این به بعد اعداد با 15 رقم اعشار نشان داده میشوند. برای بازگشت به حالت پیشفرض متلب، دستور format short را اجرا کنید. برای دستور format، حالات دیگری نیز وجود دارد که فعلا بررسی آنها زود است.
به آخرین بخش از جلسه ترفندهای متلب رسیدیم. ترفندهای متلب بسیار زیاد است. تا پایان دوره آموزش رایگان متلب، بازهم جلسه نکته و ترفندهای متلب خواهیم داشت.
دریافت PDF جلسه ترفندهای متلب
برای دریافت pdf این جلسه، لطفا ایمیل خود را در باکس زیر وارد کرده و روی دکمه «دریافت pdf» کلیک کنید.
منابع آموزش متلب
در فهرست زیر، تعدادی از منابع خوب آموزش متلب را معرفی کردهایم. ضرورتی وجود ندارد که اینها را نگاه کنید. چون ما برای آموزش متلب، این منابع را مطالعه و استفاده کردهایم.
در این جلسه با تعدادی از نکته ها و ترفندهای متلب آشنا شدیم. ثابتهای داخلی متلب مانند عدد پی در متلب، عدد نپر و … را بررسی کردیم. نحوه پاک کردن پنجرهها را یاد گرفتیم. در نهایت نمایش اعداد با 4 و 15 رقم اعشاری را بررسی کردیم. امیدوارم دوره آموزش متلب رایگان هوسم مورد توجه شما قرار گرفته باشد. لطفا سوالات و نظرات خود را در کامنت با ما به اشتراک بگذارید. با هوسم همراه باشید…
مطالب زیر را حتما مطالعه کنید
تعریف متغیر در متلب
آموزش متلب رایگان
دستور max در متلب
دستور محاسبه انتگرال در متلب
دستور input در متلب
دستور ezplot در متلب
19 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
باسلام “در متلب من وقتی میخواستم عدد piرا بنویسم با فرمت 355/113نشون میدادکه حاصل همان میشود عدد 3.14. ولی میتونیم در قسمت تنظیمات در پنجرهcommand window در قسمت numeric format گزینه short eng یا long eng بگذاریم تا درست بشه
تشکر
خیلی ممنون
مطالب بسیار مفید هستند
سپاس 😊🌹
سلام. با سپاس از آموزش خوبتون. یه اشتباه نوشتاری رو خواستم اصلاح کنید.” اگر یادتان باشد نتیجه تقسیم صفر بر صفر یا بینهایت بر بینهایت را میگفتیم نتیجه بینهایت است.” فکر کنم درستش اینه “نتیجه مبهم (یا به بیان غیر دقیق) “تعریف نشده است.” با آرزوی بهترین ها برای شما 🙂
خودمم اشتباه نوشتاری داشتم 🙂 باید بگم لطفا اصلاح کنید
سلام حجت عزیز،
حق با شماست. از اینکه این اشتباه رو به ما اعلام کردید، بسیار ممنونیم. این کار باعث میشه کیفیت آموزش بهتر بشه.
موفق باشید 🌹🙏
سلام و خسته نباشید
در صفحه خروجی workspace آیا می توان تعداد اعشار پیش فرض که 4 رقم می باشد را بیشتر نشان دهد؟ با تشکر
سلام، ممنون
نمیدونم منظورتون از صفحه خروجی workspace چی هست. در مورد workspace من تا حالا چنین امکانی رو ندیدم. در این مورد سرچ هم کردم ولی به نتیجهای نرسیدم.
اگر منظورتون صفحه variables هست که با دابل کلیک روی هر متغیر باز میشه، بله این امکان وجود داره. کافیه تب view و قسمت Number Display Format نحوه نمایش رو تغییر بدید.
سلام.سپاس فراوان
سلام
ممنون از شما 🌹🙏
عالی سپاس
سپاس متقابل 🌹
سلام
چرا برای من در متلب برای j هم عبارت 0.0000 + 1.0000i تعریف شده؟؟
در واقع برای i و j یک پاسخ در نظر گرفته شده
سلام،
بله در متلب چه با i یک عدد موهومی تعریف کنید چه با j، خروجی رو با i میسازه. توی تمرینها اشتباه نوشته شده بود و اصلاح شد.
ممنون از اینکه اطلاع دادید 🙏🌹
تشکر از آموزش خوبتون
زنده باشید
سپاس 🌹🙏
سلام بسیار عالی و روان توضیح دادید…کل دوره چند جلسه س؟
سلام، سپاس🙏
کل دوره 20 جلسه هست. از سایدبار سمت چپ میتونید به بقیه جلسات دسترسی داشته باشید. 🌹