|
Azərbaycan Hava Yolları
|
bet | 23/35 | Sana | 06.12.2023 | Hajmi | 2,93 Mb. | | #112648 | Turi | Dərs |
Bog'liq C fakepathKOMPUTER MUHENDISLIYINDE EDEDI USULLAR 01 06 (2) (1)9. Ədədi inteqrallama
Bir çox aviasiya məsələlərinin həllində ibtidai funksiyalarını elementar funksiyalarla ifadə etmək mümkün olmayan inteqrallara rast gəlinir. Həmin inteqralları klassik üsullarla hesablamaq mümkün olmadığı üçün təqribi üsüllardan istifadə olunur. Müəyyən inteqralların təqribi hesablanma düsturlarına kvadratur düsturlar deyilir.
Tutaq ki, ibtidai funksiyasını klassik üsulla tapmaq mümkün olmayan
(9.1)
inteqralını hesablamaq lazımdır. Bunun üçün aşağıdakı kvadratur düsturlara baxaq.
9.1. Düzbucaqlılar metodu
(9.1) inteqralını düzbucaqlılar metodu ilə hesablamaq üçün [a;b] inteqrallama parçasını n bərabər hissəyə bölək və alınmış hissəciklərə düzbucaqlılar kimi baxaq. Onda alınmış bütün parçaların uzunluğu -ə bərabər, bölünmə nöqtələri isə
olacaqdır.
Bu nöqtələr düyün nöqtələri adlanır və bu nöqtələrdə f(x) funksiyasının qiymətlərini . ilə işarə edək. Onda
olacaqdır.
Bunları qrafiki olaraq göstərək:
Şəkillərdən göründüyü kimi əyrixətli trapesiyanın sahəsi təxminən n sayda düzbucaqlıya ayrılmış çoxbucaqlının sahəsinə bərabərdir. Beləliklə, müəyyən inteqralın hesablanması n sayda düzbucaqlının sahələri cəminin hesablanmasına gətirilmiş oldu.
(9.1.2)
(9.1.3)
(9.1.4)
Burada .
(9.1.2) sol düzbucaqlılar, (9.1.3) sağ düzbucaqlılar, (9.1.4) düsturu isə orta düzbucaqlılar düsturu adlanır.
Düzbuçaqlılar metodunun mütləq xətası aşağıdakı düstur ilə təyin olunur.
Burada ilə hesablanır.
Nümunə. inteqralını düzbucaqlı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 qiymətləri y= funksiyasında nəzərə alsaq aşağıdakı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ı düzbucaqlılar düsturunda nəzərə alaq:
Bu məsələnin C++ proqramlaşdırma dilində proqram kodu aşağıdakı kimi olar.
#include
using namespace std;
double func(double x)
{
return x*x*x + x*x - 12;
}
double duzbucaq(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) +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 = duzbucaq(a, b, h);
cout << S << endl;
system("pause");
}
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. 29. 30.
|
| |