Aniq integralni hisoblash bo’yicha umumiy mulohazalar
Taqribiy integrallash formulalari xatoligini baholash va ulardan amalda foydalanish
Download 50.06 Kb.
|
8-amaliy ish
Taqribiy integrallash formulalari xatoligini baholash va ulardan amalda foydalanishBu 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling