Algorotim va matematik modellashtirish kafedrasi
Oraliqni teng ikkiga bo’lish usulining ishchi algoritmi va dasturi
Download 116.91 Kb.
|
- Bu sahifa navigatsiya:
- Vatarlar usuli
2. Oraliqni teng ikkiga bo’lish usulining ishchi algoritmi va dasturi
Tenglamaning e aniqlikdagi (e-o’ta kichik son, yechimni topish aniqligi) taqribiy-sonli yechimini (a;b) oraliqda topishni quyidagi algoritm bo’yicha tashkil qilamiz: 2-Rasm 1. Berilgan (a;b) oraliqni o’rtasini aniqlaymiz. 2. Yechimni [a;c] yoki [c;b] oraliqdaligini f(a)x f(c)<0 shartidan foydalanib aniqlaymiz. 3. Shartni qanoatlantiradigan oraliqni yangi oraliq sifatida olamiz va uni yana teng ikkiga bo’lib, yuqoridagi ishlarni yana takrorlaymiz. Xulosa qilib aytganda, biz tanlab olayotgan kesmalarda tenglamaning taqribiy ildizi yotadi. Demak, kesmalarni toraytirib borar ekanmiz. Natijada, qandaydir qadamdan so’ng tenglamaning aniq yoki talab qilingan aniqlikdagi taqribiy ildizini hosil qilamiz 3-Rasm Ushbu algaritimni C++ dasturlash tilida Yozilishi: #include #include using namespace std; double f(double x) { // f(x) = x^3 - 2x - 5 return pow(x, 3) - 2*x - 5; } double find_root(double a, double b) { double c = (a + b) / 2; double f_a = f(a); double f_c = f(c); double tolerance = 0.0001; // bardoshlik qiymati, kesish nuqtasining aniqligi while (abs(b - a) > tolerance) { if (f_a * f_c < 0) { b = c; } else { a = c; f_a = f_c; } c = (a + b) / 2; f_c = f(c); } return c; } int main() { double a, b; cout << " Intervalni kiriting (a, b):"; cin >> a >> b; double root = find_root(a, b); cout << " Ildiz:" << root << endl; return 0; } 4-Rasm Vatarlar usuli Algebraik va transtsendent tenglamalarni echishda vatarlar usuli keng qo`llanadigan usullardan biridir. Bu usulni ikki xolat uchun kurib chiqamiz. 1-xolat. Faraz kilaylik f(x) =0 tenglamaning ildizi [a,b] kesmada ajratilgan va kesmaning chekka nuqtalarida f(a) × f(b) <0 bo`lsin. Bundan tashqari birinchi va ikkinchi hosilalari bir xil ishorali qiymatlarga ega bo`lsin, ya`ni f'(x) × f ''(x) > 0 yoki f(a) <0; f(b)>0; f'(x) >0; f''(x)>0 (5-racm). (x) =0—tenglamaning aniq echimi, f(x) funktsiya grafigining Ox uki bilan kesishgan nuqtasi x0. A va V nuqtalarni turri chiziq (vatar) bilan tutashtiramiz. Oliy matematikadan ma`lumki, A va V nuqtalarda (5- racm) utgan to`g’ri chiziqning tenglamasi quyidagicha yoziladi: (2.3) Utkazilgan vatarning Ox uki bilan kesishgan nuqtasi x1 ni taqribiy echim deb qabul kilamiz va uning koordinatasini aniqlaymiz. (2.3) tenglikda x=x1, u=0 deb hisoblab uni x1 ga nisbatan echamiz: (2.4) Izlanayotgan echim x0 endi [x1; b] kesmaning ichida. Agar topilgan x1 echim bizni kanoatlantirmasa yuqorida aytilgan muloxazalarni [x1; b] kesma uchun takrorlaymiz va x2 nuqtaning koordinatini aniqlaymiz: (2.5) Agar x2 ildiz ham bizni kanoatlantirmasa, ya`ni avvaldan berilgan e aniqlik uchun |x2 - x1| £ e shart bajarilmasa, xz ni hisoblaymiz: (2.6) yoki umumiy xolda (2.7) ya`ni hisoblashni |xn+1 - xn| £ e shart bajarilgunga qadar davom ettiramiz. Yuqorida keltirilgan formulalarni f(a) > 0; f(b) < 0; f'(x) < 0; f''(x) < 0 uchun ham qo`llash mumkin. 2-xolat. f(x) funktsiyaning birinchi va ikkinchi hosilalari turli ishorali qiymatlarga ega deb faraz kilaylik, ya`ni f'(x) × f''(x) < 0 yoki f(a) > 0, f(b) < 0, f' (x) < 0, f'' (x) > 0 (6-rasm). A va V nuqtalarni turri chiziq (vatar) bilan tutashtirib uning tenglamasini yozamiz (2.8) Bu tenglamada y = 0 va x = x1 deb qabul kilib, uni x1 ga nisbatan echsak, (2.9) Topilgan x1 ni taqribiy echim deb olish mumkin. Agar topilgan x1 ning aniqligi bizni kanoatlantirmasa, yuqoridagi muloxazani [a, x1] kesma uchun takrorlaymiz, ya’ni x2 ni hisoblaymiz: (2.10) Agar |x2-x1| £ e shart bajarilsa, taqribiy echim sifatida x2 olinadi, bajarilmasa x3, x4, … lar hisoblanadi, ya`ni (2.11) Xisoblash jarayoni |xn+1 - xn| £ e bulgunga qadar davom ettiriladi. f(a) < 0, f(b) > 0, f'(x) > 0, f''(x) <0 bo`lgan xol uchun ham taqribiy ildiz (2.9) – (2.11) formulalar bilan hisoblanadi. Demak, agar f'(x) × f''(x) >0 bo`lsa taqribiy echim (2.4-2.7) formulalar bilan, f'(x) × f''(x) < 0 bo`lsa (2.9) - (2.11) formulalar bilan hisoblanadi. Misol. x3+ x2 - 3 = 0 tenglama e = 0,005 aniqlikda vatarlar usuli bilan hisoblansin. Echish. Ildizlarni ajratsak, 0,5 0> Download 116.91 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling