bo‘linishlar soni 10 bo‘lganda hisoblang va xatoliklarni baholang.
Yechish. Integral chegaralari [a,b] oraliqni bo‘luvchi qadami
h=(b-a)/n=(3.5-2)/10=0.15
bo‘lganda, bo‘linish nuqtalari xi=a+ih, i=1,…,10 o‘lsa, nuqtalarni [2,3.5] oraliqda aniqlab, bu nuqtalarda integral ostidagi funktsiya qiymatlarini topamiz.
x0=2.00 x1=2.15 x2=2.30 y2=f(8.30)=0.3350 x3=2.45 y 3=f(7.15)=0.3371 x4=2.60 y4=f(8.60)=0.3402 x5=2.75 y 5=f(8.75)=0.3443 x6=2.90 y 6=f(8.90)=0.3494 x7=3.05 y 7=f(3.05)=0.3558 x8=3.20 y 8=f(3.20)=0.3637 x9=3.35 y 9=f(3.35)=0.3733 x10=3.50 y 10=f(3.50)=0.3849 Yuqoridagi x va y qiymatlariga ko‘ra
1) o‘ng to‘g’ri to‘rtburchaklar formulasiga asosan:
=0.15(0.3338+0.3350+0.3371+0.3402+0.3443+0.3494+ +0.3558+0.3637+0.3733+0.3849)=0.5276;
2) Trapetsiyalar formulasiga asosan:
=0.15( +0.3338+0.3350+0.3371+0.3402+ +0.3443+0.3494+0.3558+0.3637+0.3733)=0.15*3.4917=0.523;
3)Simpson formulasiga asosan:
[0.3333+0.3849+4(0.3338+0.3371+0.3443+0.3558+ +0.3733)+2(0.3350+0.3402+0.3494+0.3637)]=0.05(0.7182+4*1.7493+ +2*1.3883)=0.05*10.4720=0.5236.
Buni qaralayotgan integralning aniq qiymati bo‘lgan soni bilan taqqoslash natijasi ham tasdiqlaydi. Haqiqatan ham (0.0001 aniqlikda) deb olsak integralning aniq qiymatining 0.0001 aniqlikdagi qiymati 0.5236 bo‘lishini ko‘ramiz, bu esa yuqorida Simpson formulasi yordamida olingan taqribiy qiymat bilan bir xildir.
Olingan xatoliklarni baholashlardan ko‘rinadiki, Simpson formulasining aniqligi sezilarli yuqori ekan.
Aniq integralni yuuqoridagi usullar asosida kam’g’yuterda taqribiy hisoblashning dasturlarini beramiz: Aniq integralni to'gri to'rtburchak usulida xisoblash dasturi :
C++ dagi kodi
#include using namespace std;
int a, n, i;
float z, EPS, h, s, x, b;
float funk(float y){
return (1/(sqrt(5+4*y-y*y)));
}
int main(){cout << "Aniq integralni to'gri to'rtburchak usulida xisoblash dasturi : \n";
n=10, a=2, b=3.5, EPS=0.1;
ga: h=(b-a)/n;
s=0;
for(int i=1; i<=n; ++i)
{
x=a+h*i; s=s+funk(x);
}
s*=h;
if (n!=10) goto gc;
gb: n=n+10;
z=s; goto ga;
gc: if (abs(s-z)>EPS) goto gb;
n=n-10; h=(b-a)/n;
for (int i=0; i{
x=a+h*i;
cout<< "x= " << x << " f("<}
cout<<"integralning qiymati : s="<< s ;
return 0;
}
2. Aniq integralni trapetsiya usulida hisoblash dasturlari: