|
-ci addım. Əgər olarsa, onda c axtarılan kök olur və hesablama dayandırılır. Əks halda 3-cü addıma keçilir.
3-cü addım
|
bet | 6/35 | Sana | 06.12.2023 | Hajmi | 2,93 Mb. | | #112648 | Turi | Dərs |
Bog'liq C fakepathKOMPUTER MUHENDISLIYINDE EDEDI USULLAR 01 06 (2) (1)2-ci addım. Əgər olarsa, onda c axtarılan kök olur və hesablama dayandırılır. Əks halda 3-cü addıma keçilir.
3-cü addım. Tənliyin x* dəqiq kökü c-dən ən azı parçanın uzunluğunun yarısı qədər fərqlənər.
şərtini yoxlayırıq. Əgər şərt ödənməzsə, yəni alınan dəqiqlik tələb olunandan böyük olarsa, onda 4-cü addıma keçməli. Əks halda hesablamanı dayandırmalı. Bu o deməkdir ki, tələb olunan dəqiqlik əldə olunmuşdur və f(x)=0 tənliyinin təqribi kökü olaraq c ədədini götürmək olar.
4-cü addım. Kökün axtarılması üçün növbəti intervalın müəyyən olunması. Parçanın yarıya bölünməsindən alınan və parçalarının hansının uc nöqtələrində funksiya müxtəlif işarəli qiymətlər alarsa, onda həmin parça götürülür və aşağıdakı iki haldan biri baş verir:
1-ci hal. Əgər [a;c] parçasında ödənərsə, onda b ucu sola sürüşür və o, c ilə əvəz olunur: b:= c.
2-ci hal. [c;b] parçasında ödənərsə, onda a ucu sağa sürüşür və o, c ilə əvəz olunur a:= c.
1-ci addıma keçməli.
Son.
Qeyd edək ki, parçanın yarıbölünməsi alqoritminin kifayət qədər ləng olmasına baxmayaraq yüksək etibarlılığa və sadəliliyə malikdir. Bu üsulun əsas müsbət cəhətlərindən biri də onun yığılma sürətinin funksiyanın növündən asılı olmaması və üsulun yığılmasının xətti olmasıdır. Belə ki, hər bir addımda dəqiqlik iki dəfə artır. İterasiyaların sayı nə qədər çox olarsa, onda kök daha dəqiq olur. Bu üsul şərtindən başqa əlavə şərt tələb etmir.
Üsulun çatışmayan cəhəti onun tətbiqinə başlamazdan əvvəl funksiyanın müxtəlif işarəyə malik olduğu iki nöqtənin tapılmasıdır. Parçanın yarıbölünməsi üsulunun çatışmayan cəhətlərdən biri də cüt tərtibli köklər üçün tətbiq edilə bilmir, həmçinin kompleks köklər və tənliklər sistemi üçün də ümumiləşdirilə bilmir
Nümunə. x4-2x3 –x =0 tənliyinin [0;1] intervalında yeganə kökü var və bu kökün parçanın yarıbölünməsi üsulu ilə dəqiqləşdirilməsi məsələsinə baxaq.
Məsələni əvvəlcə riyazi üsulla həll edək.
f(0)= -1; f(1)=1;
f(0,5)= 0,06+0,25-0,5-1= -1,19;
f(0,75)= 0,32+0,84-0,75-1= -0,59;
f(0,875)= 0,59+1,34-0,88-1= +0,05;
f(0,8125)= 0,436+1,072-0,812-1= -0,304;
f(0,8438)= 0,507+1,202-0,844-1= -0,135;
f(0,8594)= 0,546+1,270-0,859-1= -0,043 və s.
Onda xteq=(0,859+0,875)/2=0,867 olar.
İndi isə məsələni kompüter vasitəsilə həll edək. Bunun üçün C++ proqramlaşdırma dilindən istifadə edək.
C++ dilində proqram kodu aşağıdakı kimi olar.
#include
#include
using namespace std;
double f(double x) { return x * x * x*x – 2*x* x *x - x; }
int main() {
double a, b, epsilon;
cout << "parchanin bashlangicini daxil edin "; cin >> a;
cout << " parchanin sonunu daxil edin "; cin >> b;
cout << " deqiqliyi daxil edin "; cin >> epsilon;
double c;
while (abs(b - a) > epsilon) {
c = (a + b) / 2;
if ((f(c) > 0 && f(a) > 0) || (f(c) < 0 && f(a) < 0)) {
a = c;
} else {
b = c;
}
}
cout << "kok: " << (a + b) / 2;
return 0;
}
1.2.2. Toxunanlar (Nyuton) üsulu
Fərz edək ki, f(x)=0 tənliyinin kökü [a;b] parçasında ayrılmışdır. Toxunanlar metodunun yığılması üçün zəruri şərt və törəmələrinin həmin parçada kəsilməz və eyni işarəyə malik olmalarıdır.
Toxunanlar metodu ilə təqribi köklərin tapılması alqoritmi aşağıdakı kimi olar.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
-ci addım. Əgər olarsa, onda c axtarılan kök olur və hesablama dayandırılır. Əks halda 3-cü addıma keçilir.
3-cü addım
|