Oʻzbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi


Download 72.42 Kb.
bet1/2
Sana09.04.2023
Hajmi72.42 Kb.
#1347226
  1   2
Bog'liq
Struktura mustaqil ta\'lim 2

OʻZBEKISTON RESPUBLIKASI OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI


MIRZO ULUG‘BEK NOMIDAGI MILLIY UNIVERSITETININIG
JIZZAX FILIALI
AMALIY MATEMATIKA FAKULTETI
«KOMPYUTER ILMLARI VA DASTURLASHTIRISH» kafedrasi “ALGORITMLAR VA BERILGANLAR STRUKTURASI”
FANIDAN


MUSTAQIL ISH

Mavzu: Eyler funksiyasi va uni hisoblash algoritmi
Bajardi: “ATT” yo’nalishi 2-kurs 20_21-guruh talabasi Asatov Shaxzod
Tekshirdi: TOJIYEV M. R.


JIZZAX 2023
Reja:



  1. Nazariya

  2. Dastur sifatida ishlatilishi

  3. Dasturini yaratish ketma-ketligi

  4. Foydalanilgan adabiyotlar va elektron resurslar.

Eyler funksiyasini, matematikda davom etuvchi, lekin qisqa orada turevi bo'lmagan funksiya hisoblanadi. Bu funksiya birinchi marta 1875 yilda Paul David Gustav du Bois-Reymond tomonidan aniqlangan va elli yil oldin Ernst Eduard Kummer tomonidan aniqlangan Lipschitz funksiyasidan farq qiladi.

Eyler funksiyasi quyidagi ko'rinishda aniqlanadi:

begin{equation}


f(x) = \sum_{n=0}^{\infty} \frac{\sin((n+\frac{1}{2})\pi x)}{(n+\frac{1}{2})^\alpha}
\end{equation}

Bu yerda, $\alpha > 0$ bir o'zgaruvchi va $x$ haqiqiy son bo'ladi. Funksiya, $x \in [0,1]$ kesmida aniqlanadi. $\alpha = 1$ uchun funksiyaga ma'lum bir nomi mavjud va bu, Riemann-Lebesgue lemmasiga bog'liq muhim ahamiyatga ega.

Eyler funksiyasi, doimiy bo'lgan va matematik fizikada va qo'shma fanlarda ko'p muammolarni hal qilishda qo'llaniladi.

Eyler funksiyasini hisoblash uchun, bir dastlab funksiyani bir nechta terimlardan iborat yaxlitlash kerak. Quyidagi formula yordamida Eyler funksiyasini $N$ ta terimdan iborat yaxlitlash mumkin:

\begin{equation}
f_N(x) = \sum_{n=0}^{N} \frac{\sin((n+\frac{1}{2})\pi x)}{(n+\frac{1}{2})^\alpha}
\end{equation}

Burada, $\alpha > 0$ bir sabit va $x$ haqiqiy son.

Bu yaxlitlashni amalga oshirish uchun, N ga mos kelgan qiymatni tanlang. N nechanchi bo'lsa, yaxlitlash natijasi boshqa bo'ladi. Ammo ko'pgina muammolar uchun, $N = 100$ yoki undan yuqori qiymatlari olish tavsiya etiladi.

Eyler funksiyasining hisoblanishi murakkabdir, chunki bu funksiya doimiy bo'ladi va necha terim kiritilganligiga bog'liq ravishda tez-tez taxminiy hisoblanishi kerak bo'ladi. Bundan tashqari, Eyler funksiyasining yaxlitlanishi, funksiyani yaxlitlash uchun o'zaro qo'shimcha usullar kiritilishi mumkin.


Eyler funksiyasini hisoblash uchun bir necha algoritma mavjud. Ularning o'zaro farqi, yaxlitlash uchun qo'llaniladigan terimlar soni va ishlatilgan yaxlitlash formulalarining turidir.

Shu sababli, sizga quyidagi asosiy hisoblash algoritmini taqdim qilaman:

$N$ ni belgilang (yaxlitlash uchun kerakli terimlar soni).
$x$ qiymatini aniqlang.
$\alpha$ ni belgilang.
Eyler funksiyasining $N$ terimlik yaxlitlash formulani quyidagi ko'rinishda yozing:
\begin{equation}
f_N(x) = \sum_{n=0}^{N} \frac{\sin((n+\frac{1}{2})\pi x)}{(n+\frac{1}{2})^\alpha}
\end{equation}

Yaxlitlash formulasi orqali $f_N(x)$ qiymatini hisoblang.


Natijani chop eting.
C# da Eyler funksiyasini hisoblash uchun quyidagi algoritmni kiritishingiz mumkin:
public static double Euler(double x, int N, double alpha)
{
double result = 0.0;

for (int n = 0; n <= N; n++)


{
double numerator = Math.Sin((n + 0.5) * Math.PI * x);
double denominator = Math.Pow(n + 0.5, alpha);
result += numerator / denominator;
}

return result;


}
Bu funksiya, x haqiqiy soni, N terim soni va alpha ko'rsatkichini qabul qiladi va Eyler funksiyasining yaxlitlangan qiymatini qaytaradi.

Math.Sin va Math.Pow metodi C# matematik kutubxonasi orqali keltirilgan. Shunday qilib, funksiyani ishga tushirishdan oldin, using System; qo'shimcha ustunni foydalanuvchining kodiga qo'shing.


using System;


using System.Windows.Forms;

namespace EulerFunction


{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private double Euler(double x, int N, double alpha)


{
double result = 0.0;

for (int n = 0; n <= N; n++)


{
double numerator = Math.Sin((n + 0.5) * Math.PI * x);
double denominator = Math.Pow(n + 0.5, alpha);
result += numerator / denominator;
}

return result;


}

private void btnCalculate_Click(object sender, EventArgs e)


{
// Input validation
if (!double.TryParse(txtX.Text, out double x))
{
MessageBox.Show("Invalid value for x");
return;
}

if (!int.TryParse(txtN.Text, out int N))


{
MessageBox.Show("Invalid value for N");
return;
}

if (!double.TryParse(txtAlpha.Text, out double alpha))


{
MessageBox.Show("Invalid value for alpha");
return;
}

// Calculate Euler function


double result = Euler(x, N, alpha);

// Display result


txtResult.Text = result.ToString();
}
}
}
Bu kodlar, "x", "N" va "alpha" qiymatlari kiritilganida, Eyler funksiyasini hisoblaydi va funksiyani chiqaradi. Tugmani bosilganda, dastur foydalanuvchining kiritgan qiymatlarni tekshiradi va yaroqlilik bo'yicha xatolik xabarini ko'rsatadi. Qiymatlar to'g'ri kiritilganida, dastur funksiyani hisoblaydi va natijani "txtResult" tekst maydonchasi orqali chiqaradi.\

Foydalingan Adabiyotlar:


http://mathworld.wolfram.com/
https://dlmf.nist.gov/


Download 72.42 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2023
ma'muriyatiga murojaat qiling