• A=-sign(R)[|R|+sqrt(R 2 -Q 3 )] 1/3 , A!=0
  • 1-amaliy ishi mavzu: Algoritmlarni loyixalashga kirish. Algoritm korrekt va samaradorligini baholash. Kvadrat tenglama ildizlarini aniqlash algoritmi. Uchburchak yuzasi uchun Geron formulasi. Ishdan maqsad




    Download 251,96 Kb.
    bet2/4
    Sana13.02.2024
    Hajmi251,96 Kb.
    #156099
    1   2   3   4
    Bog'liq
    1-amaliyot.kvadrat va kubik tenglamalar (3)
    11-SINF Geometriya, Orzularim ko, 1 kurs Ishchi dastur so\'nggisi, Raqamli iqtisodiyotda mobil texnologiyalar Raqamli texnologiyala-fayllar.org (2), Документ Microsoft Word (5), o\'qitish materiali, 4 Ketma -ketliklar, daraxtlar, graflarni ifodalash usullari, кийим турлари, Transport vositalaridan foydalanish ko`rsatkichlari, 5 mavzu MS EXCEL ЖАДВАЛ МУХАРРИРИДА ИШЛАШ КУНИКМАЛАРИ(1), ABN 3-mus ish, biorganika mustaqil ish, To\'rayev H.T, Azizov I. Matematik mantiq va diskret matematika 1-jild (1), AT to\'plam, chilangarlik
    x3+a*x2+b*x+c=0.
    Haqiqiy koeffitsientlar bo'lsa, uning ildizlarini topish uchun birinchi navbatda quyidagilar hisoblanadi:
    Q=(a2-3b)/9, R=(2a3-9ab+27c)/54.
    Bundan tashqari, agar R23 bo'lsa, tenglama formulalar bilan hisoblangan uchta haqiqiy ildizga ega (Vieta):
    t=acos(R/sqrt(Q3))/3,
    x1=-2*sqrt(Q)cos(t)-a/3,
    x2=-2*sqrt(Q)cos(t+(2*pi/3))-a/3,
    x3=-2*sqrt(Q)cos(t-(2*pi/3))-a/3.
    R2>=Q3 bo'lgan holatda, bitta (umumiy holat) yoki ikkita (degenerativ holatlar) haqiqiy ildiz mavjud. Haqiqiy ildizdan tashqari, ikkita kompleks ildizi mavjud. Ularni topish uchun quyidagilar hisoblab chiqiladi (Kardano formulasi):
    A=-sign(R)[|R|+sqrt(R2-Q3)]1/3,
    A!=0
     bo’lsa B=Q/A yoki A=0 bo’lganda B=0 .
    Haqiqiy ildiz quyidagicha bo'ladi:
    x1=(A+B)-a/3.
    Kompleks ildizlar:
    x2,3=-(A+B)/2-a/3 + i*sqrt(3)*(A-B)/2
    Agar A=B bo'lsa, unda kompleks ildizlar haqiqiyga aylanadi:
    x2=-A-a/3.
    Cardano va Vieta formulalari maxsus funktsiyalardan foydalanishni talab qiladi va agar koeffitsientlari juda ko'p o'zgarmaydigan kub tenglamaning ildizlarini hisoblashning katta seriyasini amalga oshirish kerak bo'lsa, boshqa tez tezkor algoritmdan foydalanish kerak: (Kardano-Vyeta yordamida dastlabki yaqinlashuvni topish bilan) Nyuton usuli yoki boshqa iterativ usullar
    Quyida haqiqiy koeffitsientli kub tenglamaning ildizlarini topish dasturi keltirilgan:

    (agar tenglama koeffitsientlari bu ko’rinishda bo’lmasa shu holatga keltiriladi)


    #include /* for sqrt(), fabs(), pow(), cos(), acos(). */
    #include
    //#define M_PI (3.141592653589793)
    #define M_2PI (2.*M_PI)
    using namespace std;
    int Cubic(double *x,double a,double b,double c) {
    double q,r,r2,q3;
    q=(a*a-3.*b)/9.; r=(a*(2.*a*a-9.*b)+27.*c)/54.;
    r2=r*r; q3=q*q*q;
    if(r2double t=acos(r/sqrt(q3));
    a/=3.; q=-2.*sqrt(q);
    x[0]=q*cos(t/3.)-a;
    x[1]=q*cos((t+M_2PI)/3.)-a;
    x[2]=q*cos((t-M_2PI)/3.)-a;
    return(3);
    }
    else {
    double aa,bb;
    if(r<=0.) r=-r;
    aa=-pow(r+sqrt(r2-q3),1./3.);
    if(aa!=0.) bb=q/aa;
    else bb=0.;
    a/=3.; q=aa+bb; r=aa-bb;
    x[0]=q-a;
    x[1]=(-0.5)*q-a;
    x[2]=(sqrt(3.)*0.5)*fabs(r);
    if(x[2]==0.) return(2);
    return(1);
    }
    }
    int main(){
    double a,b,c;
    double x[3];
    cin>>a>>b>>c;
    int d = Cubic(x,a,b,c);
    cout<<"Ildizlar soni: "< for(int i = 0; i cout<<"x"< //cout< }
    }
    Natija:




    Download 251,96 Kb.
    1   2   3   4




    Download 251,96 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    1-amaliy ishi mavzu: Algoritmlarni loyixalashga kirish. Algoritm korrekt va samaradorligini baholash. Kvadrat tenglama ildizlarini aniqlash algoritmi. Uchburchak yuzasi uchun Geron formulasi. Ishdan maqsad

    Download 251,96 Kb.