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

در تابع گاوسی، b , a و c ضرایب ثابت حقیقی و e عدد اویلر است. شکل این تابع به صورت زیر است. همچنین نمودار این تابع به زنگی شکل (bell curved) معروف است که بهسرعت به صفر نزول میکند. a نشاندهنده ارتفاع قله منحنی،b نشاندهنده نقطه مرکز قلّه و c (انحراف معیار) نشاندهنده میزان کشیدگی یا پهن شدگی تصویر است.

در این آموزش برای پیاده سازی تابع گاوسی ما ثابت a را برابر با 1 و ثابت b را برابر به 0 و ثابت c را برابر با 1 فرض میکنیم. فرمول به دست آمده به صورت زیر است:

توزیع نرمال یا توزیع گاوسی نیز یکی دیگر از فرمولهایی است که میتوان در ریاضیات و آمار و احتمال از آن استفاده کرد. فرمول این تابع به صورت زیر است:

همچنین تابع توزیع نرمال را نیز به طور کامل پیاده سازی خواهیم کرد.
پیاده سازی تابع گاوسی در جاوا
برای پیاده سازی تابع گاوسی ما از کتابخانه Math در جاوا کمک میگیریم و این تابع را پیاده سازی میکنیم. کد این تابع به صورت زیر میباشد:
public static double gaussian(double x) {
return Math.exp(-x * x / 2) / Math.sqrt(2 * Math.PI);
}
همانطور که در کد بالا میبینید یک متد به نام Gaussian نوشتیم که یک ورودی میگیرد. سپس مقدار تابع گاوسی متغیر ورودی را بدست آورده و در خروجی بر میگردانیم.
پیاده سازی تابع توزیع نرمال در جاوا
برای پیاده سازی توزیع نرمال از تابع گاوسی که در قسمت قبل پیاده سازی شد، استفاده میکنیم. کد این تابع به صورت زیر است:
public static double gaussian (double x, double mu, double sigma) {
return gaussian ((x - mu) / sigma) / sigma;
}
سه ورودی متد بالا x، میانگین و انحراف معیار میباشد. سپس مقدار توزیع نرمال را در خروجی بر میگردانیم.
تست تابع گاوسی در جاوا
برای تست کدهای قسمتهای قبل، Main زیر را بنویسید:
public static void main(String[] args) {
double x = 2;
double mu = 0;
double sigma = 1;
System.out.println(gaussian(x));
System.out.println(gaussian(x,mu,sigma));
}
خروجی کد بالا به صورت زیر است:
0.05399096651318806
0.05399096651318806
ورودیهای متدها را طوری تنظیم کردیم که یک خروجی به ما برگرداند. شما نیز این کد را پیاده سازی کرده و خروجی برنامه را در کامنت برای ما ارسال کنید.
اگر سوالی در خصوص تابع گاوسی دارید در قسمت کامنت سوال خود را مطرح کنید تا پاسخگوی شما باشیم.