گرد کردن اعداد در متلب با دستورهای floor، ceil، round و fix (+مقایسه)
در این قسمت به معرفی 4 تابع بسیار پر کاربرد که برای گرد کردن و رند کردن اعداد در متلب به شیوه های مختلف به کار می روند می پردازیم.
از آنجایی که شیوه عملکرد این دستور ها ( یعنی دستور floor ، دستور ceil، دستور round و دستور fix ) شباهت زیادی به یکدیگر دارد، با ارائه چند مثال و یک مقایسه نهایی، سعی کرده ایم هیچ ابهامی برای شما باقی نماند. با ما همراه باشید.
گرد کردن اعداد در متلب با دستور floor به سمت پایین
دستور floor در متلب همان طور که از نامش هم مشخص است (به معنی کف) ، هر عدد را به سمت پایین و نزدیک ترین عدد صحیح رند می کند. در مثال زیر این موضوع کاملا مشخص است.
مثال: ماتریس a را تعریف کرده ایم. با استفاده از تابع floor هر یک از المان های آن را به سمت پایین گرد می کنیم.
در اعداد مختلط هم مشاهده می کنید که تابع floor هم روی بخش حقیقی و هم روی بخش مجازی اثر می کند و آنها را به سمت پایین گرد می کند.
گرد کردن اعداد در متلب با دستور ceil به سمت بالا
عملکرد دستور ceil در متلب هم از نامش مشخص است (به معنی سقف) ، این دستور هر عدد را به سمت بالا و نزدیک ترین عدد صحیح رند می کند.
به مثال زیر توجه بفرمایید:
مثال: مجددا ماتریس a را که در مثال قبل تعریف کردیم در نظر بگیرید. این ماتریس را به عنوان ورودی به تابع ceil می دهیم تا همه المان های آن را به سمت بالا گرد کند.
گرد کردن اعداد در متلب با دستور round به سمت نزدیک ترین عدد صحیح
دستور round هر عدد اعشاری را به سمت نزدیک ترین عدد صحیح گرد می کند. ( یعنی به سمت عدد صحیحی که قدر مطلق اختلاف آن با عدد مدنظر کوچکتر باشد.) بنابر این اعداد ممکن است در مواردی به سمت بالا و در مواردی به سمت پایین گرد شوند.
مثال زیر را با توجه دنبال کنید.
مثال: مجددا ماتریس a را در نظر می گیریم و این بار تاثیر تابع round را بر روی آن بررسی می کنیم.
درباره تابع round می توانیم کمی بیشتر بحث کنیم.
این تابع می تواند دو ورودی داشته باشد:
ورودی اول متغیری است که می خواهیم المان هایش را گرد کنیم. (یعنی همین ورودی که تا به حال وارد می کردیم.)
ورودی دوم تغییر می کند که گرد شدن نسبت به کدام مرتبه عدد انجام شود. اجازه بدهید کمی توضیح بدهیم که بهتر متوجه شوید.
اگر ورودی دوم را صفر وارد کنیم، نسبت به حالتی که یک ورودی داشتیم تفاوتی ایجاد نمی شود.
اما اگر ورودی دوم عدد 1 باشد، به جای اینکه قسمت یکان عدد گرد شود، عدد اول اعشار گرد می شود.
اگر عدد 2 وارد کنیم عدد دوم اعشار گرد می شود و به همین صورت تا آخر.
اما اگر ورودی دوم یک عدد منفی باشد اوضاع متفاوت خواهد بود. اگر عدد 1- وارد کنیم، به جای یکان، دهگان گرد می شود.
اگر 2- وارد کنیم صدگان گرد می شود و همین طور بگیرید برای اعداد بعدی!
در مثال زیر این مورد کاملا مشخص شده است.
مثال: عدد 86.2763 را در نظر بگیرید. حالت های مختلف تاثیر تابع round بر روی این عدد را مشاهده می کنید.
گرد کردن اعداد در متلب با دستور fix به سمت نزدیک ترین عدد صحیح
تابع fix اعدادی را که به عنوان ورودی دریافت می کند، به سمت صفر گرد می کند. یعنی اعداد مثبت را به سمت پایین و اعداد منفی را به سمت بالا گرد می کند. ( در اعداد مثبت شبیه به دستور floor و در اعداد منفی شبیه به دستور ceil عمل می کند.)
به مثال زیر توجه کنید:
مثال: مجددا ماتریس a را در نظر می گیریم و این بار تاثیر تابع fix را بر روی آن بررسی می کنیم.
به طور خلاصه و برای مقایسه، به جدول زیر توجه کنید تا تفاوت های این 4 تابع را بهتر درک کنید.
عالی بود