دستور floor در متلب
در بسیاری از تحلیلهای علمی یا در برنامهنویسی عددی و الگوریتمهای بهینهسازی، نیاز به گرد کردن مقادیر به پایینترین عدد صحیح نیاز است. این کاربرد به ویژه در الگوریتمهایی که نیاز به تخمین نزدیکترین مقدار صحیح دارند، وجود دارد. همچنین در آنالیز دادههای تجربی که مقادیر کسری امکان دارد معنای خاصی نداشته باشند، استفاده از floor میتواند مفید باشد. یکی از توابع اساسی که برای گرد کردن در متلب استفاده میشود، تابع floor است. این تابع در دستهبندی توابع ریاضیاتی قرار میگیرد و کاربردهای متنوعی در محاسبات عددی دارد. دستور floor در متلب برای گرد کردن مقادیر عددی به نزدیکترین عدد صحیح پایینتر از مقدار داده شده استفاده میشود. به عبارت دیگر، این تابع مقدار عددی ورودی را به عدد صحیحی که کمتر یا مساوی آن است، گرد میکند.
گرد کردن اعداد در متلب به دستور floor به کوچک ترین عدد در توابع تبدیل میشود و این دستور برای پروژه های مختلفی کاربرد دارد. از جمله استفاده این دستور انجام پروژه متلب است که کمک بزرگی به دانشجویان در امر انجام پروژه های نرم افزاری خود میکند.
کد دستوری آن بصورت زیر است:
F = floor(A)
A ورودی تابع floor است که میتواند بصورت ماتریس، بردار یا داده عددی باشد وF خروجی تابع floor است که مقادیر آن گردشده به نزدیکترین عدد صحیح پایینتر از مقادیر ورودی است. نوع داده ورودی تابع floor میتواند با انواع مختلف دادهها مانند double, single, و حتی int کار کند. ابعاد A یا ورودی میتواند یک اسکالر، بردار، یا ماتریس باشد. ابعاد F یا خروجی تابع دارای همان ابعاد ورودی است.
مثال 1: گرد کردن اعداد یک بردار
clc; clear; close all
A = [0.5 3.7 5.2 20.5];
F = floor(A);
disp(F);
خروجی برنامه:
0 3 5 20
مثال 2: گرد کردن یک ماتریس
clc; clear; close all
A = [1.2, 2.9; 3.5, 4.7];
F = floor(M);
disp(F);
خروجی برنامه:
1 2
3 4
مثال 3: تحلیل دادههای آزمایشی
clc; clear; close all
data = [5.7, 6.3, 7.9, 8.4];
F = floor(data);
disp(F);
خروجی برنامه:
5 6 7 8
مثال 4: در پردازش تصویر، تابع floor میتواند برای عملیاتهایی نظیر تقسیم پیکسلها به نواحی مختلف یا تنظیم موقعیتهای پیکسلی استفاده شود.
clc; clear; close all
image = imread(‘ngc6543a.jpg’);
[rows, cols, ~] = size(image);
Flock_size = 8;
row_Flocks = floor(rows / Flock_size);
col_Flocks = floor(cols / Flock_size);
disp([‘num row block:’, num2str(row_Flocks)]);
disp([‘num column block:’, num2str(col_Flocks)]);
خروجی برنامه:
num row block:81
num column block:75
مثال5: تقسیم کار به بخشهای مساوی در محاسبات عددی
clc; clear; close all
total_work = 1205;
num_workers = 17;
work_per_worker = floor(total_work / num_workers);
disp([‘work_per_worker= ‘, num2str(work_per_worker)]);
خروجی برنامه:
work_per_worker= 70
مثال 6: تفاوت بین floor و توابع مشابه
در متلب، توابع دیگری نیز وجود دارند که وظیفه گرد کردن را انجام میدهند اما دارای ویژگیهای متفاوتی هستند که به تناسب عملکرد مورد نیاز مورد استفاده قرار میگیرند.
توضیحات | دستور |
گرد کردن به نزدیکترین عدد صحیح پایینتر از مقدار داده | floor |
گرد کردن به نزدیکترین عدد صحیح بالاتر از مقدار داده | Ceil |
گرد کردن به نزدیکترین عدد صحیح | round |
گرد کردن به نزدیکترین عدد صحیح به سمت صفر | fix |
clc; clear; close all
A = 2.9;
B_floor = floor(A)
B_ceil = ceil(A)
B_round = round(A)
B_fix = fix(A)
خروجی برنامه:
B_floor = 2
B_ceil = 3
B_round = 3
B_fix = 2