• Nümunə1.
  • Nümunə 2.
  • Azərbaycan Hava Yolları




    Download 2,93 Mb.
    bet24/35
    Sana06.12.2023
    Hajmi2,93 Mb.
    #112648
    TuriDərs
    1   ...   20   21   22   23   24   25   26   27   ...   35
    Bog'liq
    C fakepathKOMPUTER MUHENDISLIYINDE EDEDI USULLAR 01 06 (2) (1)

    9.2. Trapesiyalar metodu



    Əgər [a,b] parçasının bölündüyü elementar sahə­cik­lərə trapesiyalar kimi baxsaq, onda (9.1) əvəzinə
    götürə bilərik. Bu bəra­bər­­likləri tərəf-tərəfə toplasaq:
    təqribi bərabərliyi alınır. Burada .
    Trapesiyalar metodunun qalıq həddi

    şəklindədir.
    Burada qəbul etsək, qalıq həddi üçün aşağıdakını alarıq:
    .
    Nümunə1. inteqralını trapesiya­lar metodu ilə hesablamalı.
    Həlli. [0;2] parçasını 4 bərabər hissəyə bölək.

    Onda x0=0; x1=0,5; x2=1; x3=1,5; x4=2 alarıq. Bu qiy­mətləri y= funksiyasında nəzərə alsaq aşağı­da­kılar alınar:
    y0=f(x0)=-12; y1=y(x1)=-11,625; y2=y(x2)=-10;
    y3=y(x3)=-6,375; y4=y(x4)=0.
    Bunları trapesiyalar düsturunda nəzərə alaq:

    Bu məsələnin C++ proqramlaşdırma dilində proq­ram kodu aşağıdakı kimi olar:
    #include
    using namespace std;
    double func(double x)
    {
    return x*x*x + x*x - 12;
    }
    double trapec(double a, double b, double h)
    {
    if (a > b)
    {
    return 0;
    }
    double x = a;
    double S = 0.;
    while (x +h <= b)
    {
    S += h*(func(x) + func(x + h)) / 2.;
    x += h;
    }
    return S;
    }
    main()
    {
    int n; double a,b;
    cout<<"n=";
    cin>>n;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    double h=(b-a)/n;
    double S = trapec(a, b, h);
    cout << S << endl;
    system("pause");
    }
    Nümunə 2. X təsadüfi kəmiyyətinin intervalında paylan­ma sıxlığı y=sinx funksiyası şəklindədir. Həmin inter­valda onun paylanma funksiyasının qiymətini hesablamalı.
    Həlli. Bunun üçün intervalında y=sinx funksiyasının inteqralını hesablamaq lazımdır. Trapesiyalar düsturunun tətbi­qilə məsələnin həllinin C++ proqramlaşdırma dilində proqram kodunu aşağıdakı kimi yazmaq olar.
    #include 
    #include 
    #include 
    #define NUMPOINT 3000 //noqtelerin sayi
    #define PI 3.1415926536
    double Integral(double *f, double step){
    double value = 0;
    for (int i = 0; i < NUMPOINT; i++){
    value += f[i];
    }
    value *= step;
    return value;
    }
    int main() {
    double *f;
    double step, t;
    double S;
    int i;
    system("chcp 1251");
    system("cls");
    f = (double*)malloc(NUMPOINT*sizeof(double));
    printf("noqtelerin sayi = %d\n", NUMPOINT);
    step = PI/NUMPOINT; //addim (trapesiyanin hundurluyu)
    printf("addim = %lf\n", step);
    t = 0.0;
    for (i=0; if[i] = sin(t);
    t += step;
    }
    S = Integral(f, step); 
    printf("inteqralin qiymeti = %lf", S);
    getchar();
    return 0;
    }
    Mövzuya aid tapşırıqların variantları
    Aşağıda verilmiş inteqralları düzbucaqlılar metodu ilə həll etməli.

    1. 2.


    3. 4.
    5. 6.
    7. 8.
    9. 10.
    11. 12.
    13. 14.
    15. 16.
    17. 18.
    19. 20.
    21. 22. 23. 24. 25. 26.
    27. 28.

    Download 2,93 Mb.
    1   ...   20   21   22   23   24   25   26   27   ...   35




    Download 2,93 Mb.