Aniq integralni hisoblash bo’yicha umumiy mulohazalar


Taqribiy integrallash formulalari xatoligini baholash va ulardan amalda foydalanish


Download 50.06 Kb.
bet3/3
Sana17.06.2023
Hajmi50.06 Kb.
#1551702
1   2   3
Bog'liq
8-amaliy ish


Taqribiy integrallash formulalari xatoligini baholash va ulardan amalda foydalanish


Bu yerda quyidagi teoremani keltiramiz:


6.1-Teorema. Agar f(x) funktsiyasining kesmada yetarlicha (masalan, Simpson formulasi uchun to‘rtinchi) tartibli chegaralangan hosilasi mavjud bo‘lsa, taqribiy integrallash formulalari xatoliklarining bahosi uchun quyidagilar o‘rinlidir:
a) To‘g’ri to‘rtburchaklar formulasi uchun

b) Trapetsiya formulasi uchun

c) Simpson formulasi uchun


Dastur namunasi. Biz quyida namuna sifatida transensent tenglamalarni taqribiy yechish bilan bog‘liq masalani qaraymiz. Masalani taqribiy usullaridan bo’lgan to’g’ri to’rtburchaklar, trapetsiyalar va Simpson usullari yordamida yechish algoritmini (psevdokod shaklida) ishlab chiqamiz va uni C++ tilidagi dasturga o‘tkazamiz.
topshirig‘i sharti. Quyidagi

aniq integralni:
1) to‘g’ri to‘rtburchak formulasi bilan;
2) trapetsiyalar formulasi bilan;
3) Simpson formulasi bilan
bo‘linishlar soni 10 bo‘lganda hisoblang va xatoliklarni baholang
Masalani yechish algoritmi (To’g’ri to’rtburchaklar usuli). 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.

Yuqoridagi x va y qiymatlariga ko‘ra


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;
To‘g’ri to‘rtburchaklar formulasi xatoligini bahosi:

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;
}

Yuqoridagi x va y qiymatlariga ko‘ra


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.
Simpson formulasi xatoligining bahosi:


Aniq integralni Simpson usulida yechishning C++ dagi kodi:
#include
using namespace std;
int a, n, i;
float z, EPS, h, s, x, b, c;
float funk(float y)
{
return (1/(sqrt(5+4*y-y*y)));
}
int main()
{
cout << "Aniq integralni simpson usulida xisoblash dasturi : \n";
n=10, a=2, b=3.5, EPS=0.1;
ga: h=(b-a)/n;
s = (funk(a)+funk(b));
c = 1, x = a;
for(int i=1; i<=n; ++i)
{
x=a+h; s=s+(c+3)*funk(x);
c -= c;
}
s*=h/3;
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<}
cout<<"integralning qiymati : s="<< s ;
return 0;
}

Download 50.06 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling