• Algoritmlarni loyihalash fanidan tayyorlagan
  • Amaliy ish algoritmi
  • Dastur C++ da
  • Telekommunikatsiya texnologiyalari




    Download 1,9 Mb.
    Sana22.05.2024
    Hajmi1,9 Mb.
    #250661
    Bog'liq
    algoritm amaliy 4Gulira\'no






    O'ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
    MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
    QARSHI FILIALI

    TELEKOMMUNIKATSIYA TEXNOLOGIYALARI” FAKULTETI


    POCHTA ALOQA TEXNOLOGIYALARI” YO’NALISHI
    2 -BOSQICH PAT 11 22 - GURUH TALABASINING
    Algoritmlarni loyihalash fanidan tayyorlagan

    4-AMALIY ISHI




    Bajardi: Xamrayeva Guliraʼno
    Qabul qildi: Boyqobilov Sardor


    Qarshi-2024
    Mavzu: Jadval funksiyani Fur’ye qatoriga yoyish. Fur’ye koeffitsiyentlarini hisoblash. Qator hadlari sonini tanlash
    Maqsad: Talabalar Fure qatorlar yig’indisini hisoblashni o‘rganishi, funksiyalarni qiymatini qatorlar yordamida taqribiy hisoblash va Fure koeffitsiyentlarini hisoblash usullarini o‘rganishi, bu usullar haqida bilim va ko‘nikmalarga ega bo‘lishi hamda mustaqil masalalar yechishi va shu masalaga mos algoritmlar qura olishi kerak.


    Amaliy ish algoritmi :
    Berilgan funksiya f(x) = 14 ·cos(x) uchun Furye qatorini topish uchun quyidagi formulalardan foydalanamiz:
    f(x) = a_0 + ∑_n=1^∞ (a_n ·cos(nx) + b_n ·sin(nx))
    Koeffitsiyentlarni hisoblash formulalari esa quyidagicha:
    a_0 = 1/π∫_-π^π f(x) dx
    a_n = 1/π∫_-π^π f(x) ·cos(nx) dx
    b_n = 1/π∫_-π^π f(x) ·sin(nx) dx
    Berilgan funksiya uchun koeffitsiyentlarni hisoblash uchun dastlabki formulalardan foydalanamiz. Natijada, Fourier qatori quyidagi ko'rinishda bo'ladi:
    f(x) = 7 + 14cos(x) + 0sin(x) + 0cos(2x) + 0sin(2x) + …
    Bu yerda a_0 = 7, a_1 = 14, va boshqa koeffitsiyentlarning qiymatlari 0 ga teng.
    Funksiyani Fure koeffitsiyentalarini topish uchun quyidagi algoritmani va C++ da dasturni tuzish mumkin:

    1. Funksiyani diskretlashtirish uchun bir tartibda x nuqtalarni tanlang (masalan, -π, -π/2, 0, π/2, π).


    2. Diskretlangan funksiyani N nuqtalarni hisoblash uchun ro'yhatga yozing.
    3. Fure koeffitsiyentalarini topish uchun uch xamalarni aniqlang: real (a_k), imaj (b_k) va amplituda (c_k).
    a. Real amal (a_k) = (1/N) * (funksiya qiymatlarning real qismlarini yig'ish).
    b. Imaginary amal (b_k) = (1/N) * (funksiya qiymatlarning imaj qismlarini yig'ish).
    c. Amplituda (c_k) = sqrt((a_k)^2 + (b_k)^2).
    4. Koeffitsiyentalarni chiqarish uchun ro'yhat yaratish (masalan, a_k, b_k, c_k).

    Dastur C++ da:

    #include
    #include
    #include
    using namespace std;
    // Fure koeffitsiyentalarini topish funktsiyasi
    vector fureKoeffitsiyentalari(vector &funksiya) {
    int N = funksiya.size(); // nuqta soni
    vector koeffitsiyentalar(3, 0.0); // a_k, b_k, c_k
    double realTalmov = 0.0;
    double imaginaryTalmov = 0.0;
    // Real va imaginar amallarni hisoblash
    for (int i = 0; i < N; i++) {
    realTalmov += funksiya[i] * cos(2 * M_PI * i / N);
    imaginaryTalmov += funksiya[i] * sin(2 * M_PI * i / N);
    }
    // Amplitudani hisoblash
    double amplituda = sqrt(pow(realTalmov, 2) + pow(imaginaryTalmov, 2));
    // Koeffitsiyentalarni ro'yhatga yozish
    koeffitsiyentalar[0] = realTalmov / N;
    koeffitsiyentalar[1] = imaginaryTalmov / N;
    koeffitsiyentalar[2] = amplituda;
    return koeffitsiyentalar;
    }
    int main() {
    vector nuqta = {-M_PI, -M_PI/2, 0, M_PI/2, M_PI}; // taqiqlangan qiymatlar
    vector funksiya;
    for (double x : nuqta) {
    double qiymat = 14 * cos(x); // funksiya qiymatini topish
    funksiya.push_back(qiymat); // funksiya qiymatlarini saqlash
    }
    vector koeffitsiyentalar = fureKoeffitsiyentalari(funksiya); // Fure koeffitsiyentalarini topish
    // Koeffitsiyentalarni chiqarish
    cout << "a_k: " << koeffitsiyentalar[0] << endl;
    cout << "b_k: " << koeffitsiyentalar[1] << endl;
    cout << "c_k: " << koeffitsiyentalar[2] << endl;
    return 0;
    }

    Ushbu dastur funksiya f(x) = 14 * cos(x) uchun Fure koeffitsiyentalarini topadi va console-da chiqaradi.







    Download 1,9 Mb.




    Download 1,9 Mb.