|
Fano’qtuvchisi: Boynazarov I
|
bet | 2/2 | Sana | 18.05.2024 | Hajmi | 165,45 Kb. | | #241894 |
Bog'liq Algrotimlarni tashkil etish 3- mustaqil ishiy=e^(2x) e=2.71
Quyidagi funksiyalarni Furye qatorlariga yoyishda a0,a1 va b1 koeffitsentlar qiymatlarini topish algortimi quyidagicha
Funksiyani [0, π] oralig'ida integrallab ko'ramiz.
Integralni yarim periyodga bo'lganda integrallanganimizni ko'paytirib, 2ga bo'lagan ko'paytiruvchisini topamiz.
a0 uchun qiymatni topamiz, bu integralning yarim periyod oralig'ida integrallangan funksiya qiymati.
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:
|
| |