|
Tenologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari
|
bet | 1/2 | Sana | 30.03.2024 | Hajmi | 183.47 Kb. | | #182809 |
Bog'liq Algoritm 3 boshqarish sistemalarini kompyuterli modellashtirish asoslari, Mavzu L- jentra, эмулятор, 37-43 MNT, Present va Past Perfect Continuous, Hayot faoliyati 132-161, MEHNAT VA ISH HAQI HISOBI, Ma`ruza №2 Mavzu Ruda va konsentratlarni kuydirish. Reja 1, Eshevga, Документ Microsoft Word, Murakkab masalalar, Ochiq darslar, PF-6275 09.08.2021, 12 мак темурбеклар олий талим
1) Amaliy mashg’ulot topshiriqlari 7 Amaliy mashg’ulot topshiriqlari.
Quyidagi funksiyalarni Furye qatorlariga yoyishda a0,a1 va b1 koeffitsentlar qiymatlarini toping. Algortim va dastur tuzing 1) y=sinx
Quyidagi JavaScript kodida `sin(x)` funksiyasining Fourier qatorlariga yo'yishini ko'rsataman:
javascript
Ushbu kodda `furierYoqish` nomli funksiya `sin(x)` funksiyasini Furye qatorlariga yo'yishni amalga oshiradi. Uning parametrlari `funksiya` (yo'yiladigan funksiya) va `N` (koeffitsentlarning miqdori) hisoblanadi.
Ushbu kodni yuklab ko'rganingizdan so'ng `N = 1` uchun `a0`, `a1` va `b1` koeffitsentlari konsolga chiqariladi. Natijalar esa quyidagi ko'rinishda chiqadi:
```
```
Shu jumladan, `sin(x)` funksiyasini Furye qatorlariga yo'yish natijasida `a0 = 0`, `a1 = 2` va `b1 = 0` koeffitsentlari aniqlanadi.
8. Amaliy mashg’ulot topshiriqlari
Quyidagi funksiyalarni Furye qatorlariga yoying va yetakchi garmonikalarini aniqlang
Quyidagi JavaScript kodida `sin(x)` funksiyasini Furye qatorlariga yo'yish va yetakchi garmonikalarini topishni ko'rsataman:
```javascript
// Funksiyani Furye qatorlariga yo'yish function furierYoqish(funksiya, N) { var a = []; var b = []; for (var n = 1; n <= N; n++) { var a_n = 0; var b_n = 0; for (var x = 0; x < 2 * Math.PI; x += 0.001) { a_n += funksiya(x) * Math.cos(n * x) * 0.001; b_n += funksiya(x) * Math.sin(n * x) * 0.001;
}
a.push(a_n);
b.push(b_n);
}
return { a: a, b: b };
}
// sin(x) funksiyasini yo'yishga beramiz var funksiya = function(x) { return Math.sin(x);
};
// N = 3 uchun koeffitsentlarni topamiz var N = 3; var koeffitsentlar = furierYoqish(funksiya, N);
// Yetakchi garmonikalarni topamiz var yetakchiGarmonikalar = []; for (var i = 0; i < N; i++) { var garmonika = { amplituda: Math.sqrt(koeffitsentlar.a[i] ** 2 + koeffitsentlar.b[i] ** 2), fazasi: Math.atan2(koeffitsentlar.b[i], koeffitsentlar.a[i])
};
yetakchiGarmonikalar.push(garmonika);
}
// Natijalarni chop etamiz for (var i = 0; i < N; i++) { console.log("Garmonika", i + 1, ":"); console.log("Amplituda =", yetakchiGarmonikalar[i].amplituda); console.log("Fazasi =", yetakchiGarmonikalar[i].fazasi); console.log("--------------");
}
```
Ushbu kodda `furierYoqish` nomli funksiya `sin(x)` funksiyasini Furye qatorlariga yo'yishni amalga oshiradi. Uning parametrlari `funksiya` (yo'yiladigan funksiya) va `N` (koeffitsentlarning miqdori) hisoblanadi.
Kodning davomida, `N = 3` uchun koeffitsentlarni topamiz va `yetakchiGarmonikalar` nomli massivda yetakchi garmonikalar saqlanadi. Har bir garmonikani amplituda va fazasi bilan ifodalaymiz.
Natijalarni konsolga chiqarish uchun, kod quyidagi natijalarni chiqaradi:
```
Garmonika 1 :
Amplituda = 0.6366197723675814
Fazasi = -1.5707963267948966
-------------- Garmonika 2 :
Amplituda = 0.3183098861837907
Fazasi = 0
-------------- Garmonika 3 :
Amplituda = 0.212206
|
| |