• Topshirdi
  • 3 - vazifa Urinmalar usulining algoritmi: Urinmalar usuli uchun dastur kodi
  • Algebraik va transtsendent tenglamalar yechimlarini taqribiy usullar bilan topish




    Download 1.12 Mb.
    Sana21.04.2024
    Hajmi1.12 Mb.
    #203480
    Bog'liq
    Task1
    14999, 2021 O‘zbekiston respublikasi iqtisodiyot tarmoqlarida raqamli i-fayllar.org, nomsiz

    MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI



    Infokommunikatsiya injiniringgi
    2-bosqich 430-22-guruh talabasi
    Isroilov Ilhomning
    Algoritmlarni loyihalash
    fanidan bajargan
    1-amaliy ishi


    Topshirdi: Isroilov Ilhom
    Tekshirdi: Axmedov Oybek


    Toshkent 2024

    1. Algebraik va transtsendent tenglamalar yechimlarini taqribiy usullar bilan topish.



    12. a) x­­­­­­­3-3x2+2x-4=0 b) x(x+1)2=2


    A
    Analitik usul. x­­­­­­­3-3x2+2x-4=0

    X

    -3

    -2

    -1

    0

    1

    2

    3

    Y

    -64

    -28

    -10

    -4

    -4

    -4

    2

    Jadvalda Y qiymatlarining ishoralari o’zgarishiga qarab yechimlar joylashgan [2; 3] oraliqni tanlab oldim.


    Dastur qismi:
    #include
    #include

    double f(double x) {


    return pow(x, 3)-3*x*x +2* x - 4;
    }

    int main() {


    double a = 0, b = 3, eps;
    std::cout << "Epsilonni kiriting: ";
    std::cin >> eps;

    double c = (a + b) / 2;


    while (std::abs(b - a) > eps) {
    if (f(a) * f(c) < 0) {
    b = c;
    } else {
    a = c;
    }
    c = (a + b) / 2;
    }

    std::cout << "Yechim = " << (a + b) / 2 << std::endl;


    return 0;


    }



    b) Grafik usul.
    Berilgan ) x­­­­­­­3-3x2+2x-4=0 tenglamani ikki qismga, f1 va f2 ga ajratdim, bunda f1 = f2.
    x­­­­­­­3=3x2-2x+4 deb oldim



    X

    -3

    -2

    -1

    0

    1

    2

    3

    Y1

    -27

    -8

    -1

    0

    1

    8

    27

    X

    -3

    -2

    -1

    0

    1

    2

    3

    Y2

























    Y1=f1 va Y2=f2 funktsiyalar grafik chizdim va kesishish nuqtalari korsatdim tenglama ildizlari joylashgan oraliq [2; 3] ni topdim.
    3 - vazifa

    Urinmalar usulining algoritmi:





    Urinmalar usuli uchun dastur kodi:

    #include


    #include

    double F(double x) {


    return pow(x, 3)-3*x*x +2* x - 4;
    }

    double F1(double x) {


    return 3*x*x-6*x+2;
    }

    double F2(double x) {


    return 6*x-6;
    }

    int main() {


    double a = 0, b = 3, x1, x2, eps;
    std::cout << "aniqlikni kiriting= ";
    std::cin >> eps;

    if (F1(a) * F2(a) > 0) {


    x1 = b;
    } else {
    goto label2;
    }

    label1:
    x2 = x1 - F(x1) / F1(x1);


    if (std::abs(x2 - x1) > eps) {
    x1 = x2;
    goto label1;
    } else {
    goto label3;
    }

    label2:
    if (F1(a) * F2(a) < 0) {


    x1 = a;
    }

    label4:
    x2 = x1 - F(x1) / F1(x1);


    if (std::abs(x2 - x1) > eps) {
    x1 = x2;
    goto label4;
    }

    label3:
    std::cout << "tenglama yechimi= " << x1 << std::endl;


    return 0;


    }



    B
    x(x+1)2=2
    Soddalashtirib olaman x3+2x2+x-2=0


    Analitik usul



    X

    -3

    -2

    -1

    0

    1

    2

    3

    Y

    -14

    -4

    -2

    -2

    2

    16

    46

    Jadvalda Y qiymatlarining ishoralari o’zgarishiga qarab yechimlar joylashgan [0; 1] oraliqni tanlab oldim.


    Dastur qismi:
    #include
    #include

    double f(double x) {


    return pow(x, 3)+2*x*x + x - 2;
    }

    int main() {


    double a = 0, b = 1, eps;
    std::cout << "Epsilonni kiriting: ";
    std::cin >> eps;

    double c = (a + b) / 2;


    while (std::abs(b - a) > eps) {
    if (f(a) * f(c) < 0) {
    b = c;
    } else {
    a = c;
    }
    c = (a + b) / 2;
    }

    std::cout << "Yechim = " << (a + b) / 2 << std::endl;


    return 0;


    }



    b) Grafik usul.
    Berilgan x3+2x2+x-2=0tenglamani ikki qismga, f1 va f2 ga ajratdim, bunda f1 = f2.
    x­­­­­­­3=-2x2-x+2 deb oldim



    X

    -3

    -2

    -1

    0

    1

    2

    3

    Y1

    -27

    -8

    -1

    0

    1

    8

    27

    X

    -3

    -2

    -1

    0

    1

    2

    3

    Y2
























    Y1=f1 va Y2=f2 funktsiyalar grafik chizdim va kesishish nuqtalari korsatdim tenglama ildizlari joylashgan oraliq [0; 1] ni topdim.


    3 - vazifa

    Urinmalar usulining algoritmi:





    Urinmalar usuli uchun dastur kodi:

    #include


    #include

    double F(double x) {


    return pow(x, 3)+2*x*x + x - 2;
    }

    double F1(double x) {


    return 3*x*x+4*x+1;
    }

    double F2(double x) {


    return 6*x+4;
    }

    int main() {


    double a = 0, b = 1, x1, x2, eps;
    std::cout << "aniqlikni kiriting= ";
    std::cin >> eps;

    if (F1(a) * F2(a) > 0) {


    x1 = b;
    } else {
    goto label2;
    }

    label1:
    x2 = x1 - F(x1) / F1(x1);


    if (std::abs(x2 - x1) > eps) {
    x1 = x2;
    goto label1;
    } else {
    goto label3;
    }

    label2:
    if (F1(a) * F2(a) < 0) {


    x1 = a;
    }

    label4:
    x2 = x1 - F(x1) / F1(x1);


    if (std::abs(x2 - x1) > eps) {
    x1 = x2;
    goto label4;
    }

    label3:
    std::cout << "tenglama yechimi= " << x1 << std::endl;


    return 0;


    }

    Download 1.12 Mb.




    Download 1.12 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Algebraik va transtsendent tenglamalar yechimlarini taqribiy usullar bilan topish

    Download 1.12 Mb.