Fano’qtuvchisi: Boynazarov I




Download 165,45 Kb.
bet2/2
Sana18.05.2024
Hajmi165,45 Kb.
#241894
1   2
Bog'liq
Algrotimlarni tashkil etish 3- mustaqil ishi

y=e^(2x) e=2.71

Quyidagi funksiyalarni Furye qatorlariga yoyishda a0,a1 va b1 koeffitsentlar qiymatlarini topish algortimi quyidagicha




  1. Funksiyani [0, π] oralig'ida integrallab ko'ramiz.

  2. Integralni yarim periyodga bo'lganda integrallanganimizni ko'paytirib, 2ga bo'lagan ko'paytiruvchisini topamiz.

  3. a0 uchun qiymatni topamiz, bu integralning yarim periyod oralig'ida integrallangan funksiya qiymati.

  4. a1 va b1 uchun qiymatlarni topish uchun sinus va kosinus funksiyalarini integrallab, mos koeffitsentlarini topamiz.






Dastur kodi:
#include
#include


using namespace std;


const double PI = 3.14159265358979323846;


// Funksiyani hisoblash
double func(double x) {
return exp(2 * x); // y = e^(2x)
}


// Furye qatorlari koeffitsentlarini topish
void fourierCoefficients(double& a0, double& a1, double& b1) {
double integral = 0.0;
double dx = PI / 100.0; // Δx = π / N
double x;


// a0 qiymatini topish
for (int i = 0; i < 100; ++i) {
x = i * dx;
integral += func(x);
}
a0 = (1.0 / 100.0) * integral;


// a1 va b1 qiymatlarini topish
double integral_cos = 0.0;
double integral_sin = 0.0;
for (int i = 0; i < 100; ++i) {
x = i * dx;
integral_cos += func(x) * cos(x);
integral_sin += func(x) * sin(x);
}
a1 = (2.0 / 100.0) * integral_cos;
b1 = (2.0 / 100.0) * integral_sin;
}


int main() {
double a0, a1, b1;


// Furye koeffitsentlarini topish
fourierCoefficients(a0, a1, b1);


// Koeffitsentlarni chiqarish
cout << "a0 = " << a0 << endl;
cout << "a1 = " << a1 << endl;
cout << "b1 = " << b1 << endl;


return 0;
}


Natijasi:

Download 165,45 Kb.
1   2




Download 165,45 Kb.