f(x)=0 tenglamaning ildizi segmentda ajratilsin, f’(x) ning birinchi va ikkinchi hosilalari va f""(x) xn uchun uzluksiz va doimiy ishorali.

Ildizni aniqlashtirishning qaysidir bosqichida x n ildiziga keyingi yaqinlik olinsin (tanlansin) . Unda h n tuzatish yordamida keyingi yaqinlik olingan deb faraz qilaylik , ildizning aniq qiymatiga olib keladi

x \u003d x n + h n. (1.2.3-6)

Hisoblash h n kichik qiymat, biz f(x n + h n) ni Teylor qatori sifatida ifodalaymiz va o'zimizni chiziqli atamalar bilan cheklaymiz.

f(x n + h n) "f(x n) + h n f'(x n). (1.2.3-7)

f(x) = f(x n + h n) = 0 ekanligini hisobga olsak, f(x n) + h n f ’(x n) » 0 ni olamiz.

Demak, h n "- f (x n) / f'(x n). Qiymatni almashtiring h n(1.2.3-6) da va ildizning aniq qiymati o'rniga x yana bir taxminni olamiz

Formula (1.2.3-8) ma'lum sharoitlarda ildizning aniq qiymatiga yaqinlashadigan x 1, x 2, x 3 ... yaqinlashuvlar ketma-ketligini olish imkonini beradi. x, ya'ni

Nyuton usulining geometrik talqini quyidagicha
(1.2.3-6-rasm). Biz b segmentining o'ng uchini dastlabki taxminiy x 0 sifatida olamiz va y \u003d f (x) funktsiyasi grafigidagi mos keladigan B 0 nuqtasida biz tangensni quramiz. Tangensning x o'qi bilan kesishish nuqtasi yangi, aniqroq x 1 yaqinlik sifatida qabul qilinadi. Ushbu protsedurani ko'p marta takrorlash sizga x 0, x 1, x 2 yaqinlashuvlar ketma-ketligini olish imkonini beradi. , . . ., bu ildizning aniq qiymatiga intiladi x.

Nyuton usulining hisoblash formulasini (1.2.3-8) geometrik konstruktsiyadan olish mumkin. Shunday qilib, to'g'ri burchakli uchburchakda x 0 B 0 x 1 oyoq
x 0 x 1 = x 0 V 0 / tga. B 0 nuqtasi funksiya grafigida ekanligini hisobga olsak f(x), va gipotenuza f (x) grafigiga B 0 nuqtadagi tangens orqali hosil bo‘ladi, biz hosil bo‘lamiz.

(1.2.3-9)

(1.2.3-10)

Bu formula n-chi yaqinlik uchun (1.2.3-8) bilan mos keladi.

1.2.3-6-rasmdan ko'rinib turibdiki, a nuqtani boshlang'ich yaqinlashish sifatida tanlash keyingi x 1 yaqinlashuvi ildiz ajratilgan segmentdan tashqarida bo'lishiga olib kelishi mumkin. x. Bunday holda, jarayonning yaqinlashishi kafolatlanmaydi. Umumiy holda, dastlabki yaqinlashuvni tanlash quyidagi qoidaga muvofiq amalga oshiriladi: dastlabki yaqinlashish uchun shunday x 0 n nuqtani olish kerak, bunda f (x 0) × f '' (x 0) > 0, ya'ni funksiya belgilari va uning ikkinchi hosilasi mos keladi.

Nyuton usulining yaqinlashuv shartlari quyidagi teoremada tuzilgan.

Agar tenglamaning ildizi segmentda ajratilsa, va f'(x 0) va f''(x) noldan farq qiladi va belgilarini saqlab qoladi xo, agar biz boshlang'ich yaqinlashish sifatida bunday nuqtani tanlasak x 0 O , nima f(x 0).f¢¢(x 0)>0 , keyin tenglamaning ildizi f(x)=0 har qanday darajadagi aniqlik bilan hisoblash mumkin.

Nyuton usulining xatolik bahosi quyidagi ifoda bilan aniqlanadi:

(1.2.3-11)

eng kichik qiymat qayerda da

Eng yuqori qiymat da

Hisoblash jarayoni tugatiladi, agar ,

belgilangan aniqlik qayerda.

Bundan tashqari, Nyuton usuli bilan ildizni tozalashda berilgan aniqlikka erishish sharti bo'lishi mumkin. quyidagi iboralar:

Nyuton usuli algoritmining sxemasi rasmda ko'rsatilgan. 1.2.3-7.

Dastlabki f(x) tenglamaning chap tomoni va uning algoritmdagi hosilasi f’(x) alohida dasturiy modullar sifatida tuzilgan.

Guruch. 1.2.3-7. Nyuton usulining algoritm diagrammasi

1.2.3-3-misol x-ln(x+2) = 0 tenglamaning ildizlarini Nyuton usuli yordamida aniqlang, bu tenglamaning ildizlari x 1 n[-1,9;-1,1] segmentlarda ajratilgan bo'lsa. va x 2 n [-0,9;2 ].

Birinchi hosila f'(x) = 1 - 1 / (x + 2) segmentlarning har birida o'z belgisini saqlab qoladi:

f'(x)<0 при хÎ [-1.9; -1.1],

f’(x)>0 da xO [-0,9; 2].

Ikkinchi hosila f "(x) \u003d 1 / (x + 2) 2\u003e 0 har qanday x uchun.

Shunday qilib, konvergentsiya shartlari qondiriladi. Ruxsat etilgan qiymatlarning butun diapazonida f "" (x)> 0 bo'lgani uchun, dastlabki yaqinlashish uchun ildizni aniqlashtirish uchun x 1 x 0 \u003d -1,9 ni tanlang (chunki f (-1,9) × f ”(-1,9)> 0). Biz taxminlar ketma-ketligini olamiz:

Hisob-kitoblarni davom ettirib, biz birinchi to'rtta yaqinlashuvning quyidagi ketma-ketligini olamiz: -1,9; –1,8552, -1,8421; -1,8414 . f(x) funksiyaning x=-1,8414 nuqtadagi qiymati f(-1,8414)=-0,00003 ga teng. .

Ildizni aniqlashtirish uchun x 2 n[-0,9;2] boshlang'ich taxminiy 0 =2 (f(2)×f”(2)>0) ni tanlaymiz. x 0 = 2 ga asoslanib, biz yaqinlashuvlar ketma-ketligini olamiz: 2,0;1,1817; 1,1462; 1.1461. f(x) funksiyaning x=1,1461 nuqtadagi qiymati f(1,1461)= -0,00006 ga teng.

Nyuton usuli yaqinlashuvning yuqori tezligiga ega, lekin har bir bosqichda u nafaqat funksiya qiymatini, balki uning hosilasini ham hisoblashni talab qiladi.

akkord usuli

Akkord usulining geometrik talqini quyidagicha
(1.2.3-8-rasm).

A va B nuqtalar orqali to'g'ri chiziq kesmasini o'tkazamiz. Keyingi x 1 ga yaqinlik akkordning 0x o'qi bilan kesishish nuqtasining abtsissasidir. To'g'ri chiziqli segmentning tenglamasini tuzamiz:

y=0 ni qo‘yamiz va x=x 1 qiymatini topamiz (boshqa taxminiy):

Ildizga keyingi yaqinlashuvni olish uchun hisoblash jarayonini takrorlaymiz - x 2 :

Bizning holatda (1.2.11-rasm) va akkord usulining hisoblash formulasi o'xshash bo'ladi

Bu formula b nuqta qo'zg'almas nuqta sifatida qabul qilinganda to'g'ri bo'ladi va a nuqta boshlang'ich yaqinlashish vazifasini bajaradi.

Boshqa ishni ko'rib chiqing (1.2.3-9-rasm), qachon .

Bu holat uchun to'g'ri chiziq tenglamasi shaklga ega

Keyingi yaqinlik x 1 da y = 0

Keyin bu holat uchun akkordlar usulining rekursiv formulasi shaklga ega

Shuni ta'kidlash kerakki, akkordlar usulida qo'zg'almas nuqta uchun f (x)∙f¢¢ (x)>0 sharti bajariladigan segmentning oxirini tanlang.

Shunday qilib, agar a nuqta qo'zg'almas nuqta sifatida qabul qilinsa , u holda x 0 = b boshlang'ich yaqinlashish vazifasini bajaradi va aksincha.

Akkordlar formulasi yordamida f(x)=0 tenglamaning ildizini hisoblashni ta'minlovchi yetarli shartlar tangens usuli (Nyuton usuli) bilan bir xil bo'ladi, lekin dastlabki yaqinlashish o'rniga qo'zg'almas nuqta tanlanadi. Akkord usuli Nyuton usulining modifikatsiyasi hisoblanadi. Farqi shundaki, Nyuton usulida keyingi yaqinlashish tangensning 0X o‘qi bilan kesishish nuqtasi bo‘lsa, akkordlar usulida esa akkordning 0X o‘qi bilan kesishish nuqtasi – yaqinlashuvlar ildizga yaqinlashadi. turli tomonlar.

Akkord usulining xatosini baholash ifoda bilan aniqlanadi

(1.2.3-15)

Akkordlar usuli bilan takrorlash jarayonini tugatish sharti

(1.2.3-16)

Agar M 1<2m 1 , то для оценки погрешности метода может быть использована формула | x n -x n -1 |£e.

1.2.3-4-misol. 10 -4 aniqlik bilan segmentga ajratilgan e x - 3x = 0 tenglamaning ildizini ko'rsating.

Konvergentsiya shartini tekshiramiz:

Shuning uchun, a=0 sobit nuqta sifatida tanlanishi kerak va x 0 \u003d 1 boshlang'ich taxminiy sifatida qabul qilinishi kerak, chunki f (0) \u003d 1> 0 va f (0) * f "(0)> 0 .

Maktabda matematika darslarida tenglamalarni yechish uchun qiynalgan ko'plab talabalar ko'pincha vaqtlarini behuda sarflashlariga amin bo'lishadi va shunga qaramay, bunday mahorat nafaqat Dekart, Eyler yoki Lobachevskiy izidan borishga qaror qilganlar uchun hayotda foydali bo'ladi.

Amalda, masalan, tibbiyot yoki iqtisodda, ko'pincha mutaxassis ma'lum bir dorining faol moddasi kontsentratsiyasi bemorning qonida kerakli darajaga yetganini aniqlashi kerak bo'lgan holatlar mavjud yoki vaqtni hisoblash kerak. Muayyan biznesning daromadli bo'lishi uchun talab qilinadi.

Hammasidan ko'proq gaplashamiz har xil turdagi nochiziqli tenglamalarni yechish bo'yicha. Buni imkon qadar tezroq bajarish uchun, ayniqsa, kompyuterlardan foydalangan holda, raqamli usullar imkon beradi. Ular yaxshi o'rganilgan va ularning samaradorligini uzoq vaqtdan beri isbotlagan. Ular orasida ushbu maqola mavzusi bo'lgan Nyutonning tangens usuli bor.

Muammoni shakllantirish

Bunday holda, (a, b) oraliqda berilgan va unga ma'lum qiymatlarni qabul qiluvchi g funktsiyasi mavjud, ya'ni (x) ga tegishli bo'lgan har bir x bilan ma'lum bir g (x) sonini bog'lash mumkin. a, b).

Tenglamaning barcha ildizlarini a va b nuqtalari orasidagi intervaldan (shu jumladan uchlari) o'rnatish talab qilinadi, buning uchun funktsiya nolga o'rnatiladi. Shubhasiz, bu y = g(x) ning OX bilan kesishish nuqtalari bo'ladi.

Ayrim hollarda g(x)=0 ni shunga o'xshash g 1 (x) = g 2 (x) bilan almashtirish qulayroqdir. Bunda g 1 (x) va g 2 (x) grafiklarning kesishish nuqtalarining abstsissalari (x qiymati) ildiz vazifasini bajaradi.

Nochiziqli tenglamani yechish optimallashtirish masalalari uchun ham muhim ahamiyatga ega, ular uchun mahalliy ekstremum shart funksiya hosilasini 0 ga aylantirish hisoblanadi. Boshqacha qilib aytganda, bunday masalani p(x) = 0 tenglamaning ildizlarini topishga keltirish mumkin, bunda p(x) g"(x) bilan bir xil.

Yechim usullari

Kvadrat yoki oddiy trigonometrik tenglamalar kabi nochiziqli tenglamalarning ayrim turlari uchun ildizlarni juda oddiy usullarda topish mumkin. Xususan, har bir talaba formulalarni biladi, ularning yordamida kvadrat trinomial nolga teng bo'lgan nuqtalar argumentining qiymatlarini osongina topishingiz mumkin.

Nochiziqli tenglamalarning ildizlarini olish usullari odatda analitik (to'g'ridan-to'g'ri) va iterativlarga bo'linadi. Birinchi holda, kerakli yechim formula shakliga ega bo'lib, uning yordamida ma'lum miqdordagi arifmetik amallar uchun kerakli ildizlarning qiymatini topishingiz mumkin. Shunga o'xshash usullar ko'rsatkichli, trigonometrik, logarifmik va elementar algebraik tenglamalar uchun ishlab chiqilgan. Qolganlari uchun maxsus raqamli usullardan foydalanish kerak. Ularni kompyuterlar yordamida amalga oshirish oson, bu esa kerakli aniqlik bilan ildizlarni topish imkonini beradi.

Ular orasida tangenslarning son usuli deb ataladigan narsa bor.Ikkinchini 17-asr oxirida buyuk olim Isaak Nyuton taklif qilgan. Keyingi asrlarda usul qayta-qayta takomillashtirildi.

Mahalliylashtirish

Analitik yechimga ega bo'lmagan murakkab tenglamalarni echishning raqamli usullari odatda 2 bosqichda amalga oshiriladi. Avval siz ularni mahalliylashtirishingiz kerak. Bu amal echilayotgan tenglamaning bitta ildizi bo'lgan OXda shunday segmentlarni topishdan iborat.

Keling, bir segmentni ko'rib chiqaylik. Agar g(x) undagi uzilishlar bo'lmasa va oxirgi nuqtalarda turli belgilar qiymatlarini qabul qilsa, a va b o'rtasida yoki o'z-o'zidan g(x) = 0 tenglamaning kamida 1 ta ildizi mavjud. yagona bo'lishi uchun g (x) ning monoton bo'lishi talab qilinadi. Ma'lumki, u g'(x) doimiy ishorali bo'lishi sharti bilan shunday xususiyatga ega bo'ladi.

Boshqacha qilib aytadigan bo'lsak, agar g (x) uzilishlarga ega bo'lmasa va monoton ravishda ortib yoki kamaysa va uning yakuniy nuqtalaridagi qiymatlari bo'lmasa. bir xil belgilar, u holda 1 va faqat 1 ildiz g(x) mavjud.

Bunday holda, bu mezon ko'p bo'lgan tenglamalarning ildizlari uchun ishlamasligini bilishingiz kerak.

Tenglamani yarmiga bo'lish yo'li bilan yechish

Keyinchalik murakkab raqamli tangenslar va uning navlarini ko'rib chiqishdan oldin, eng ko'p tanishish kerak. oddiy tarzda ildizlarni aniqlash. U dixotomiya deb ataladi va agar g (x) uchun uzluksiz bo'lsa, turli belgilar sharti qanoatlansa, ko'rib chiqilayotgan segmentda kamida 1 ildiz g () bo'ladi, degan teorema asosida ildizlarni intuitiv topishga ishora qiladi. x) = 0.

Uni topish uchun siz segmentni yarmiga bo'lishingiz va o'rta nuqtani x 2 deb belgilashingiz kerak. Keyin ikkita variant mumkin: g (x 0) * g (x 2) yoki g (x 2) * g (x 1) 0 ga teng yoki 0 dan kichik. Biz ushbu tengsizliklardan biri to'g'ri bo'lganini tanlaymiz. Uzunlik tenglamaning ildizini aniqlashning to'g'riligini aniqlaydigan ma'lum, oldindan tanlangan qiymatdan kamayguncha yuqorida tavsiflangan protsedurani takrorlaymiz.

Usulning afzalliklari uning ishonchliligi va soddaligini o'z ichiga oladi va kamchilik - g (x) turli belgilarni qabul qiladigan nuqtalarni dastlab aniqlash zarurati, shuning uchun uni hatto ko'plik bilan ildizlar uchun ishlatib bo'lmaydi. Bundan tashqari, u tenglamalar tizimi holatiga yoki murakkab ildizlarga kelsak, umumlashtirmaydi.

1-misol

Biz g(x) = 2x 5 + x - 1 = 0 tenglamasini yechmoqchimiz. Uzoq vaqt davomida mos segmentni qidirmaslik uchun, masalan, taniqli Excel dasturidan foydalanib, grafik tuzamiz. . Biz ildizni lokalizatsiya qilish uchun segment sifatida intervaldan qiymatlarni olish yaxshiroq ekanligini ko'ramiz. Unda kerakli tenglamaning kamida bitta ildizi mavjudligiga ishonch hosil qilishimiz mumkin.

g "(x) \u003d 10x 4 + 1, ya'ni bu monoton ravishda ortib borayotgan funktsiya, shuning uchun tanlangan segmentda faqat 1 ta ildiz mavjud.

Oxirgi nuqtalarni tenglamaga almashtiring. Bizda mos ravishda 0 va 1 bor. Birinchi bosqichda yechim sifatida 0,5 nuqtani olamiz. Keyin g (0,5) = -0,4375. Shunday qilib, yarmiga bo'lish uchun keyingi segment bo'ladi. Uning o'rta nuqtasi 0,75. Unda funksiyaning qiymati 0,226 ga teng. Biz segmentni va uning 0,625 nuqtasida joylashgan o'rta nuqtasini hisobga olamiz. g(x) qiymatini 0,625 gacha hisoblang. Bu -0,11 ga teng, ya'ni salbiy. Ushbu natijaga asoslanib, biz segmentni tanlaymiz. Biz x = 0,6875 ni olamiz. Keyin g(x) = -0,00532. Agar eritmaning aniqligi 0,01 bo'lsa, unda biz kerakli natijani 0,6875 deb hisoblashimiz mumkin.

Nazariy asos

Nyuton tangens usuli yordamida ildizlarni topishning bu usuli juda tez yaqinlashishi tufayli mashhurdir.

Bu isbotlangan faktga asoslanadiki, agar x n f(x)=0 ildizga yaqinlik bo'lsa, f" C 1 bo'lsa, keyingi yaqinlashish f(x) ga teginish tenglamasi yo'q bo'lib ketadigan nuqtada bo'ladi. , ya'ni.

x = x n+1 o'rniga qo'ying va y ni nolga qo'ying.

Keyin tangens quyidagicha ko'rinadi:

2-misol

Keling, klassik Nyutonning tangens usulidan foydalanishga harakat qilaylik va analitik yo'l bilan topish qiyin yoki imkonsiz bo'lgan ba'zi bir chiziqli bo'lmagan tenglamaning yechimini topamiz.

X 3 + 4x - 3 = 0 ning ildizlarini biroz aniqlik bilan ochish talab qilinsin, masalan, 0,001. Ma'lumki, toq darajali ko'phad ko'rinishidagi har qanday funktsiyaning grafigi OX o'qini kamida bir marta kesib o'tishi kerak, ya'ni ildizlarning mavjudligiga shubha qilish uchun hech qanday sabab yo'q.

Tangens usuli yordamida misolimizni echishdan oldin biz f (x) \u003d x 3 + 4x - 3 nuqtani chizamiz. Buni, masalan, Excel elektron jadvalidan foydalanish juda oson. Olingan grafikdan ko'rinib turibdiki, u OX o'qi bilan kesishadi va y \u003d x 3 + 4x - 3 funktsiyasi monoton ravishda ortadi. X 3 + 4x - 3 = 0 tenglama yechimga ega va u yagona ekanligiga ishonch hosil qilishimiz mumkin.

Algoritm

Har qanday tenglamalarni tangens usulida yechish f "(x) ni hisoblashdan boshlanadi. Bizda:

Keyin ikkinchi hosila x * 6 ga o'xshaydi.

Ushbu ifodalardan foydalanib, tenglamaning ildizlarini tangens usuli yordamida aniqlash formulasini quyidagi shaklda yozishimiz mumkin:

Keyinchalik, dastlabki taxminiylikni tanlash, ya'ni iteratsiya jarayoni uchun qaysi nuqtani boshlang'ich nuqtasi (rev. x 0) sifatida ko'rib chiqish kerakligini aniqlash talab qilinadi. Biz segmentning uchlarini ko'rib chiqamiz. Funksiya sharti va uning x 0 dagi 2 hosilasi rost bo'lgan narsa bizga mos keladi. Ko'rib turganingizdek, x 0 = 0 o'rniga qo'yilganda, u buzilgan, ammo x 0 = 1 juda mos keladi.

u holda e aniqlikdagi tangenslar usuli bilan yechish bizni qiziqtirsa, u holda x n ning qiymatini |f(x n) / f’(x n)|< e.

Tangenslarning birinchi bosqichida bizda:

  • x 1 \u003d x 0 - (x 0 3 + 4x 0 - 3) / (3x 0 2 + 4) \u003d 1- 0,2857 \u003d 0,71429;
  • shart bajarilmagani uchun biz oldinga boramiz;
  • biz x 2 uchun yangi qiymatni olamiz, bu 0,674 ga teng;
  • funktsiya qiymatining x 2 dagi hosilasiga nisbati 0,0063 dan kichik ekanligini ko'ramiz, jarayonni to'xtatamiz.

Excelda tangent usuli

Agar siz hisob-kitoblarni qo'lda (kalkulyatorda) qilmasangiz, lekin Microsoft-dan elektron jadval protsessorining imkoniyatlaridan foydalansangiz, oldingi misolni ancha oson va tezroq hal qilishingiz mumkin.

Buning uchun Excelda yangi sahifa yaratishingiz va uning kataklarini quyidagi formulalar bilan to'ldirishingiz kerak:

  • C7 da biz "= POWER (B7; 3) + 4 * B7 - 3" deb yozamiz;
  • D7 da biz "= 4 + 3 * DEGREE (B7; 2)" ni kiritamiz;
  • E7 da biz "= (POWER (B7; 3) - 3 + 4 * B7) / (3 * POWER (B7; 2) + 4)" deb yozamiz;
  • D7 da biz "= B7 - E7" ifodasini kiritamiz;
  • B8 da biz formula-shartni kiritamiz “= IF (E7< 0,001;"Завершение итераций"; D7)».

Muayyan vazifada, allaqachon B10 katakchasida "Takrorlanishlarni yakunlash" yozuvi paydo bo'ladi va muammoni hal qilish uchun siz yuqoridagi bir qatorda joylashgan katakchada yozilgan raqamni olishingiz kerak bo'ladi. Buning uchun siz u erda shartli formulani kiritish orqali alohida "cho'ziladigan" ustunni tanlashingiz mumkin, unga ko'ra, agar B ustunining u yoki bu kataklari tarkibi "Takrorlanishlarni yakunlash" shaklini olgan bo'lsa, natija u erda yoziladi.

Paskalda amalga oshirish

y = x 4 - 4 - 2 * x chiziqli bo'lmagan tenglamaning yechimini Paskalda tangens usuli yordamida olishga harakat qilaylik.

Biz f "(x) \u003d (f (x + delta) - f (x)) / delta taxminiy hisoblashni amalga oshirishga yordam beradigan yordamchi funktsiyadan foydalanamiz. Iterativ jarayonni yakunlash sharti sifatida biz ni tanlaymiz. |x 0 -x 1 | tengsizlikning bajarilishi< некого малого числа. В Паскале его запишем, как abs(x0 - x1)<= epsilon.

Dastur lotinni qo'lda hisoblashni talab qilmasligi bilan ajralib turadi.

akkord usuli

Nochiziqli tenglamalarning ildizlarini aniqlashning boshqa usulini ko'rib chiqing. Takrorlash jarayoni shundan iboratki, f(x)=0 uchun kerakli ildizga ketma-ket yaqinlashish sifatida akkordning a va b oxirgi nuqtalarining abssissalari bilan kesishish nuqtalarining qiymatlari OX bilan olinadi. , x 1 , ..., x n sifatida belgilanadi. Bizda ... bor:

Akkord OX o'qi bilan kesishgan nuqta uchun ifoda quyidagicha yoziladi:

Ikkinchi hosila x £ uchun musbat bo'lsin (agar f(x) = 0 ni yozsak, qarama-qarshi holat ko'rib chiqilayotgan holatga qisqartiriladi). Bunday holda, y \u003d f (x) grafigi pastki qismida joylashgan va akkord ostida joylashgan egri konveksdir. AB. 2 ta holat bo'lishi mumkin: a nuqtada funktsiya musbat yoki b nuqtada manfiy bo'lganda.

Birinchi holda, biz a uchini sobit deb tanlaymiz va x 0 uchun b nuqtasini olamiz. Keyin yuqorida keltirilgan formula bo'yicha ketma-ket yaqinlashishlar monoton ravishda kamayib boruvchi ketma-ketlikni hosil qiladi.

Ikkinchi holda, b uchi x 0 = a da o'rnatiladi. Har bir iteratsiya bosqichida olingan x qiymatlari monoton ravishda ortib boruvchi ketma-ketlikni hosil qiladi.

Shunday qilib, biz quyidagilarni aytishimiz mumkin:

  • akkordlar usulida fiksatsiyalangan segmentning funksiya belgilari va uning ikkinchi hosilasi mos kelmaydigan uchi;
  • x - x m ildizi uchun taxminlar undan f (x) ning f "" (x) belgisiga to'g'ri kelmaydigan belgiga ega bo'lgan tomonida yotadi.

Takrorlashlar shu va oldingi iteratsiya bosqichi moduli abs(x m - x m - 1) da ildizlarning yaqinligi shartlari bajarilguncha davom ettirilishi mumkin.< e.

O'zgartirilgan usul

Akkordlar va tangenslarning kombinatsiyalangan usuli tenglamaning ildizlarini o'rnatishga imkon beradi, ularga turli tomonlardan yaqinlashadi. f(x) grafigi OX ni kesib o'tadigan bunday qiymat har bir usulni alohida qo'llashdan ko'ra yechimni ancha tez aniqlashtirish imkonini beradi.

Deylik, f(x)=0 ildizlarini topishimiz kerak, agar ular da mavjud bo'lsa. Siz yuqorida tavsiflangan usullardan birini qo'llashingiz mumkin. Biroq, ularning kombinatsiyasini sinash yaxshiroqdir, bu esa ildizning aniqligini sezilarli darajada oshiradi.

Biz ishni birinchi va ikkinchi hosilalarning ma'lum bir x nuqtasida turli xil belgilarga ega bo'lish shartiga mos keladigan boshlang'ich yaqinlashish bilan ko'rib chiqamiz.

Bunday sharoitda nochiziqli tenglamalarni tangens usuli bilan yechish, agar x 0 =b bo'lsa, ortiqcha bo'lgan ildizni topishga imkon beradi va qo'zg'almas uchida b akkordlardan foydalanish usuli kamchilikka ega bo'lgan taxminiy ildizni topishga olib keladi.

Ishlatilgan formulalar:

Endi kerakli ildiz x ni intervalda izlash kerak. Keyingi bosqichda siz ushbu segmentga birlashtirilgan usulni qo'llashingiz kerak. Shunday qilib, biz quyidagi shakl formulalarini olamiz:

Agar birinchi va ikkinchi hosilalar o'rtasida belgi farqi bo'lsa, unda shunga o'xshash tarzda bahslashtirib, ildizni aniqlashtirish uchun quyidagi rekursiv formulalarni olamiz:

Shart sifatida hisoblangan tengsizlik | b n +1 - a n +1 |< e. Иными словами, на практике приходится находить решение при помощи двух методов, но на каждом шаге требуется выяснять, насколько полученные результаты близки друг другу.

Agar yuqoridagi tengsizlik rost bo'lsa, u holda ma'lum bir iteratsiya bosqichida topilgan yechimlar orasidagi aniq o'rtada joylashgan nuqta berilgan oraliqda chiziqli bo'lmagan tenglamaning ildizi sifatida qabul qilinadi.

Kombinatsiyalangan usul TURBO PASCAL muhitida osonlik bilan amalga oshiriladi. Kuchli istak bilan siz Excel dasturida jadval usulidan foydalangan holda barcha hisob-kitoblarni bajarishga harakat qilishingiz mumkin.

Ikkinchi holda, muammoni akkordlar yordamida hal qilish uchun va Isaak Nyuton tomonidan taklif qilingan usul uchun alohida-alohida bir nechta ustunlar tanlanadi.

Bunday holda, har bir satr ikkita usul uchun ma'lum bir iterativ bosqichda hisob-kitoblarni yozish uchun ishlatiladi. Keyin, yechim maydonining chap qismida, faol ish sahifasida, har bir usul uchun keyingi iteratsiya bosqichining qiymatlaridagi farq modulini hisoblash natijasi kiritilgan ustun ajratiladi. Yana bir shart bajarilgan yoki bajarilmaganligini aniqlash uchun foydalaniladigan "IF" mantiqiy konstruktsiyasining hisoblash formulasi bo'yicha hisob-kitoblar natijalarini kiritish uchun ishlatilishi mumkin.

Endi siz murakkab tenglamalarni qanday echishni bilasiz. Tangens usuli, siz allaqachon ko'rganingizdek, Paskalda ham, Excelda ham juda sodda tarzda amalga oshiriladi. Shuning uchun formulalar yordamida yechish qiyin yoki imkonsiz bo'lgan tenglamaning ildizlarini har doim o'rnatishingiz mumkin.

Hamma odamlar tabiatan bilimga intiladilar. (Aristotel. Metafizika)

Raqamli usullar: Nochiziqli tenglamalarni yechish

Tenglamalarni yechish muammolari amaliyotda doimo yuzaga keladi, masalan, iqtisodda, biznesni rivojlantirishda, foyda qachon ma'lum bir qiymatga yetganini bilishni xohlaysiz, tibbiyotda, dorilarning ta'sirini o'rganayotganda, konsentratsiyani qachon bilish muhimdir. moddaning ma'lum darajaga yetishi va hokazo.

Optimallashtirish masalalarida ko'pincha funktsiya hosilasi 0 ga aylanadigan nuqtalarni aniqlash kerak, bu zaruriy shartdir. mahalliy ekstremum.

Statistikada, eng kichik kvadratlar usuli yoki maksimal ehtimollik usuli yordamida hisob-kitoblarni tuzishda, shuningdek, chiziqli bo'lmagan tenglamalar va tenglamalar tizimini echishga to'g'ri keladi.

Shunday qilib, echimlarni topish bilan bog'liq muammolarning butun sinfi mavjud chiziqli bo'lmagan tenglamalar, masalan, tenglamalar yoki tenglamalar va boshqalar.

Eng oddiy holatda bizda segmentda aniqlangan funksiya mavjud ( a, b) va ma'lum qiymatlarni olish.

Har bir qiymat x bu segmentdan biz raqamga mos kelishimiz mumkin , bu funktsional qaramlik, matematikaning asosiy tushunchasi.

Biz shunday qiymatni topishimiz kerakki, unda bundaylar funktsiyaning ildizlari deb ataladi

Vizual ravishda biz funktsiya grafigining kesishish nuqtasini aniqlashimiz kerakabscissa o'qi bilan.

Bisektsiya usuli

Tenglamaning ildizlarini topishning eng oddiy usuli ikkiga bo'linish usuli yoki dixotomiya.

Bu usul intuitivdir va muammoni hal qilishda hamma shunga o'xshash tarzda harakat qiladi.

Algoritm quyidagicha.

Aytaylik, biz ikkita nuqtani topdik va shunga o'xshash va bor har xil belgilar, keyin bu nuqtalar orasida funktsiyaning kamida bitta ildizi mavjud.

Segmentni yarmiga bo'ling va kiriting o'rtada nuqta.

Keyin ham , yoki .

Keling, oxiridagi qiymatlar turli belgilarga ega bo'lgan segmentning yarmini qoldiraylik. Endi biz bu segmentni yana yarmiga bo'lamiz va kerakli aniqlikka erishish uchun uning chegaralarida funktsiya turli belgilarga ega bo'lgan qismini va hokazolarni qoldiramiz.

Shubhasiz, biz funktsiyaning ildizi joylashgan maydonni asta-sekin toraytiramiz va shuning uchun biz uni ma'lum darajada aniqlik bilan aniqlaymiz.

Ta'riflangan algoritm har qanday uzluksiz funksiya uchun qo'llanilishini unutmang.

Biseksiya usulining afzalliklari uning yuqori ishonchliligi va soddaligini o'z ichiga oladi.

Usulning nochorligi shundaki, uni qo'llashni boshlashdan oldin funktsiyaning qiymatlari turli belgilarga ega bo'lgan ikkita nuqtani topish kerak. Ko'rinib turibdiki, usul juft ko'paytmali ildizlarga taalluqli emas, shuningdek, murakkab ildizlar va tenglamalar tizimlari uchun umumlashtirib bo'lmaydi.

Usulning yaqinlashish tartibi chiziqli bo'lib, har bir qadamda aniqlik ikki baravar ko'payadi, qancha takrorlash amalga oshirilsa, ildiz shunchalik aniq aniqlanadi.

Nyuton usuli: nazariy asoslar

Nyutonning klassik usuli yoki tangenslar if ning tenglamaning ildiziga qandaydir yaqinlashuv ekanligida yotadi , keyin keyingi yaqinlashish nuqtada chizilgan funksiyaga teginishning ildizi sifatida aniqlanadi.

Nuqtadagi funktsiyaga teginish tenglamasi quyidagi ko'rinishga ega:

Tangens tenglamada va ni qo'ying.

U holda Nyuton usulidagi ketma-ket hisoblar algoritmi quyidagicha:

Tangens usulining yaqinlashuvi kvadratik, yaqinlashish tartibi 2 ga teng.

Shunday qilib, Nyutonning tangens usulining yaqinlashuvi juda tezdir.

Ushbu ajoyib haqiqatni eslang!

Hech qanday o'zgarishsiz, usul murakkab holatga umumlashtiriladi.

Agar ildiz ikkinchi ko'plikning ildizi yoki undan yuqori bo'lsa, u holda yaqinlashish tartibi pasayadi va chiziqli bo'ladi.

1-mashq. Tangenslar usulidan foydalanib, (0, 2) segmentdagi tenglamaning yechimini toping.

2-mashq. Tangenslar usulidan foydalanib, (1, 3) segmentdagi tenglamaning yechimini toping.

Nyuton usulining kamchiliklari uning lokalizatsiyasini o'z ichiga oladi, chunki u faqat shart bajarilgan taqdirdagina ixtiyoriy boshlang'ich yaqinlashish uchun birlashishi kafolatlanadi. , aks holda faqat ildizning ba'zi qo'shnilarida konvergentsiya mavjud.

Nyuton usulining kamchiligi har bir bosqichda hosilalarni hisoblash zaruriyatidir.

Nyuton usulini ingl

Agar tenglama bo'lsa Nyuton usuli (tangens usuli) qo'llaniladi f(x) = 0 ildizga ega va quyidagi shartlar bajariladi:

1) funktsiya y= f(x) uchun belgilangan va uzluksizdir;

2) f(af(b) < 0 (funksiya segmentning oxirida turli belgilarning qiymatlarini oladi [ a; b]);

3) hosilalar f"(x) va f""(x) segmentdagi belgini saqlang [ a; b] (masalan, funktsiya f(x) segmentida yo ortadi yoki kamayadi [ a; b], konveksning yo'nalishini saqlab turganda);

Usulning asosiy g'oyasi quyidagicha: intervalda [ a; b] shunday raqam tanlanadi x 0 , qaysi ostida f(x 0 ) bilan bir xil belgiga ega f"" (x 0 ), ya'ni shart f(x 0 f"" (x) > 0 . Shunday qilib, abscissasi bo'lgan nuqta tanlanadi x 0 , bu erda egri chiziqqa teginish y= f(x) segmentida [ a; b] o‘qni kesib o‘tadi ho'kiz. Bir nuqta uchun x 0 Birinchidan, segmentning uchidan birini tanlash qulay.

Muayyan misolda Nyuton usulini ko'rib chiqing.

Bizga ortib borayotgan funksiya berilsin y \u003d f (x) \u003d x 2 -2,(0;2) oraliqda uzluksiz va ega f"(x) = 2 x > 0 va f "" (x) = 2 > 0 .

Rasm1 . f(x)=x 2 -2

Tangens tenglamasi umumiy ko'rinish vakillikka ega:

y-y 0 = f" (x 0) (x-x 0).

Bizning holatda: y-y 0 \u003d 2x 0 (x-x 0). x 0 nuqtasi sifatida nuqtani tanlang B 1 (b; f(b)) = (2,2). Funksiyaga tangens chizamiz y = f(x) B 1 nuqtasida va tangens va o'qning kesishish nuqtasini belgilang ho'kiz nuqta x 1. Birinchi tangens tenglamasini olamiz: y-2=2 2(x-2), y=4x-6.

Ox: x 1 =

Rasm2. Birinchi iteratsiya natijasi

y=f(x) ho'kiz nuqta orqali x 1, biz bir nuqtaga erishamiz B 2 =(1,5; 0,25). Funksiyaga yana tangens chizing y = f(x) B 2 nuqtasida va tangens va o'qning kesishish nuqtasini belgilang ho'kiz nuqta x2.

Ikkinchi tangens tenglamasi: y-0.25=2*1.5(x-1.5), y = 3 x - 4.25.

Tangens va o'qning kesishish nuqtasi Ox: x 2 =.

Rasm3. Nyuton usulining ikkinchi takrorlanishi

Keyin funksiyaning kesishish nuqtasini topamiz y=f(x) va o'qga perpendikulyar ho'kiz x 2 nuqta orqali biz B 3 nuqtasini olamiz va hokazo.

Rasm4. Tangens usulining uchinchi bosqichi

Ildizning birinchi yaqinlashuvi quyidagi formula bilan aniqlanadi:

= 1.5.

Ildizning ikkinchi yaqinlashuvi quyidagi formula bilan aniqlanadi:

=

Ildizning uchinchi yaqinlashuvi quyidagi formula bilan aniqlanadi:

Shunday qilib , i-ildizning yaqinlashishi quyidagi formula bilan aniqlanadi:

Hisob-kitoblar javobda kerak bo'lgan o'nli kasrlar mos kelguncha yoki belgilangan aniqlikka erishilgunga qadar - tengsizlik bajarilguncha amalga oshiriladi. | xi- xi-1 | < e.

Bizning holatda, uchinchi bosqichda olingan taxminiylikni kalkulyatorda hisoblangan haqiqiy javob bilan taqqoslaylik:

Shakl 5. Kalkulyatorda hisoblangan 2 ning ildizi

Ko'rib turganingizdek, uchinchi bosqichda biz 0,000002 dan kam xatoga yo'l qo'ydik.

Shunday qilib, "kvadrat ildiz 2" qiymatining qiymatini har qanday aniqlik darajasi bilan hisoblash mumkin. Bu ajoyib usul Nyuton tomonidan ixtiro qilingan va juda murakkab tenglamalarning ildizlarini topish imkonini beradi.

Nyuton usuli: C++ ilovasi

Ushbu maqolada biz C++ da konsol ilovasini yozish orqali tenglamalar ildizlarini hisoblash jarayonini avtomatlashtiramiz. Biz uni Visual C++ 2010 Express da ishlab chiqamiz, bu bepul va juda qulay C++ dasturlash muhitidir.

Keling, Visual C++ 2010 Express dan boshlaylik. Dasturning boshlang'ich oynasi paydo bo'ladi. Chap burchakda "Loyiha yaratish" tugmasini bosing.

Guruch. 1. Visual C++ 2010 Express boshlang'ich sahifasi

Ko'rsatilgan menyuda "Win32 Console Application" ni tanlang, "Newton_Method" ilovasining nomini kiriting.

Guruch. 2. Loyiha yarating

// Newton_method.cpp: konsol ilovasi uchun kirish nuqtasini belgilaydi

# "stdafx.h" ni o'z ichiga oladi

#o'z ichiga oladi

std nom maydonidan foydalanish;

float f(double x) //f(x) = x^2-2 funksiya qiymatini qaytaradi

float df(float x) //hosilning qiymatini qaytaradi

float d2f(float x) // ikkinchi hosilaviy qiymat

int _tmain (int argc, _TCHAR* argv)

int exit = 0, i=0;//exit va loop o'zgaruvchilari

double x0,xn;// ildiz uchun hisoblangan taxminlar

double a, b, eps;// segment chegaralari va kerakli aniqlik

cout<<"Please input \n=>";

cin>>a>>b; // ildizni qidiradigan segment chegaralarini kiriting

cout<<"\nPlease input epsilon\n=>";

cin>>eps; // kerakli hisoblash aniqligini kiriting

agar (a > b) // agar foydalanuvchi segment chegaralarini aralashtirib yuborsa, ularni almashtiring

agar (f(a)*f(b)>0) // agar funksiyaning segment chetlaridagi belgilari bir xil bo‘lsa, u holda ildiz yo‘q.

cout<<"\nError! No roots in this interval\n";

agar (f(a)*d2f(a)>0) x0 = a; // boshlang'ich nuqtasini tanlash uchun f(x0)*d2f(x0)>0 ni belgilang?

xn = x0-f(x0)/df(x0); // birinchi yaqinlikni sanash

cout<<++i<<"-th iteration = "<

while(fabs(x0-xn) > eps) // kerakli aniqlikka erishgunimizcha hisoblashni davom ettiramiz

xn = x0-f(x0)/df(x0); // to'g'ridan-to'g'ri Nyuton formulasi

cout<<++i<<"-th iteration = "<

cout<<"\nRoot = "<

cout<<"\nExit?=>";

) while (chiqish!=1); // foydalanuvchi chiqishga kirguncha = 1

Keling, bu qanday ishlashini ko'rib chiqaylik. Ekranning yuqori chap burchagidagi yashil uchburchakni bosing yoki F5 tugmasini bosing.

Agar kompilyatsiya xatosi yuzaga kelsa, "LNK1123 xatosi: COFFga o'zgartirilmadi: fayl noto'g'ri yoki buzilgan" bo'lsa, bu birinchi xizmat paketi 1ni o'rnatish yoki loyiha sozlamalarida "Xususiyatlar -> Bog'lovchi" orqali hal qilinadi, qo'shimcha ulanishni o'chiring.

Guruch. 4. Loyihani kompilyatsiya qilish xatosini yechish

Biz funktsiyaning ildizlarini qidiramiz f(x) =x2-2.

Birinchidan, dasturni "noto'g'ri" kiritilgan ma'lumotlarda sinab ko'raylik. Segmentda ildiz yo'q, dasturimiz xato xabarini berishi kerak.

Bizda dastur oynasi mavjud:

Guruch. 5. Kirish ma'lumotlarini kiritish

Biz 3 va 5 segmentlarining chegaralarini kiritamiz va aniqlik 0,05 ga teng. Dastur, kerak bo'lganidek, ushbu segmentda ildiz yo'qligi haqida xato xabari berdi.

Guruch. 6. Xato "Ushbu segmentda ildiz yo'q!"

Biz hali ketmoqchi emasmiz, shuning uchun "Chiqish?" "0" kiriting.

Endi dasturni to'g'ri kiritilgan ma'lumotlarda sinab ko'raylik. Keling, segmentni va 0,0001 aniqligini kiritamiz.

Guruch. 7. Ildizni kerakli aniqlik bilan hisoblash

Ko'rib turganimizdek, kerakli aniqlikka 4-iteratsiyada allaqachon erishilgan.

Ilovadan chiqish uchun "Chiqish?" => 1.

Sekant usuli

Hosilni hisoblashdan qochish uchun Nyuton usulini hosilani oldingi ikkita nuqtadan hisoblangan taxminiy qiymat bilan almashtirish orqali soddalashtirish mumkin:

Iterativ jarayon quyidagicha ko'rinadi:

Bu ikki bosqichli iterativ jarayon, chunki u keyingi taxminiylikni topish uchun oldingi ikkitasidan foydalanadi.

Sekant usulining yaqinlashish tartibi tangens usulidan past va bitta ildiz holatida tengdir.

Ushbu ajoyib qiymat oltin nisbat deb ataladi:

Biz buni qulaylik uchun faraz qilib tasdiqlaymiz.

Shunday qilib, yuqori tartibli cheksiz kichiklargacha

Qolgan atamani bekor qilib, biz takrorlanish munosabatini olamiz, uning yechimi tabiiy ravishda shaklda izlanadi.

O'zgartirishdan keyin bizda: va

Konvergentsiya uchun u ijobiy bo'lishi kerak, shuning uchun .

Hosilni bilish shart emasligi sababli, sekant usulida bir xil miqdordagi hisob-kitoblar bilan (konvergentsiyaning pastki tartibiga qaramay) tangens usuliga qaraganda ko'proq aniqlikka erishish mumkin.

E'tibor bering, ildiz yaqinida kichik raqamga bo'linish kerak va bu aniqlikni yo'qotishiga olib keladi (ayniqsa, bir nechta ildizlar bo'lsa), shuning uchun nisbatan kichikni tanlab, bajarishdan oldin hisob-kitoblarni amalga oshiradi. va qo'shni yaqinlashishlar orasidagi farq moduli kamayguncha ularni davom ettiring.

O'sish boshlanishi bilan hisob-kitoblar to'xtatiladi va oxirgi takrorlash ishlatilmaydi.

Takrorlashlarning oxirini aniqlashning ushbu tartibi texnika deb ataladi Harvik.

Parabola usuli

Uch bosqichli usulni ko'rib chiqing, unda yaqinlashish uchta oldingi nuqta bilan aniqlanadi va .

Buning uchun sekant usuliga o'xshab funktsiyani va nuqtalardan o'tuvchi interpolyatsiya parabolasi bilan almashtiramiz.

Nyuton shaklida u quyidagicha ko'rinadi:

Nuqta moduli boʻyicha nuqtaga yaqinroq boʻlgan ushbu koʻphadning ildizlari sifatida aniqlanadi.

Parabola usulining yaqinlashish tartibi sekant usulidan yuqori, lekin Nyuton usulidan past.

Oldin ko'rib chiqilgan usullardan muhim farq shundaki, agar real uchun haqiqiy bo'lsa va boshlang'ich yaqinlashishlar haqiqiy bo'lsa ham, parabola usuli asl muammoning murakkab ildiziga olib kelishi mumkin.

Bu usul yuqori darajali polinomlarning ildizlarini topish uchun juda foydali.

Oddiy takrorlash usuli

Tenglamalarning yechimlarini topish masalasini ildizlarni topish masalasi sifatida shakllantirish mumkin: , yoki qo'zg'almas nuqtani topish masalasi.

Mayli va - siqish: (xususan, bu - siqilish, ko'rish oson, shuni anglatadi).

Banach teoremasiga ko'ra, yagona sobit nuqta mavjud

Buni oddiy iterativ protseduraning chegarasi sifatida topish mumkin

bu erda boshlang'ich yaqinlashish oraliqdagi ixtiyoriy nuqtadir.

Agar funktsiyani differentsiallash mumkin bo'lsa, unda qulay siqish mezoni raqam hisoblanadi. Haqiqatan ham, Lagrange teoremasi bo'yicha

Shunday qilib, lotin birdan kichik bo'lsa, u qisqarishdir.

Vaziyat muhim, chunki, masalan, ustida bo'lsa, hosila nolga teng bo'lsa-da, unda hech qanday qo'zg'almas nuqta yo'q. Konvergentsiya tezligi ning qiymatiga bog'liq. Qanchalik kichik bo'lsa, konvergentsiya tezroq bo'ladi.

Funksiyani minimallashtirish masalasida dastlabki yaqinlashuvni to‘g‘ri tanlash katta ahamiyatga ega.Albatta, barcha holatlar uchun, ya’ni barcha mumkin bo‘lgan nochiziqli funksiyalar uchun qoniqarli bo‘ladigan umumiy qoidaga kelish mumkin emas.Har biri. vaqt o'z yechim izlash kerak. Quyida biz qo'pol boshlang'ich yaqinliklarni topishning ba'zi usullari to'plamini taklif qilamiz, ular amalda ma'lum bir muammoda qoniqarli yaqinlashishlarni izlash uchun boshlang'ich nuqta bo'lib xizmat qilishi mumkin.

9.6.1. Grid qidiruvi. Bu usul, ayniqsa, oz sonli ichki chiziqli bo'lmagan parametrlar uchun samarali. Ko'pincha, funktsiyalar shunday tartibga solinadiki, ba'zi parametrlarning qiymatlarini o'rnatishda (biz ularni aslida chiziqli bo'lmagan deb ataymiz), qolgan parametrlar chiziqli bo'ladi.

Chiziqli bo'lmagan parametrlar uchun pastki va yuqori chegaralarni hisobga olgan holda, ma'lum bir qadam bilan, ushbu to'g'ri chiziqli bo'lmagan parametrlarning natijaviy qiymatlari to'plamidagi variantlarni sanab o'tish va chiziqli regressiyani aniqlash mumkin. kvadratlarning minimal yig'indisi.

Misol sifatida, funktsiyani ko'rib chiqing

Bu erda haqiqiy chiziqli bo'lmagan parametr bo'ladi. Aytaylik, biz buni bilamiz. h parametr uchun qadam bo'lsin. Chiziqli regressiyalarni hisoblash

qayerda va ularning har biri uchun kvadratlarning minimal yig'indisini toping. Ularning eng kichigi optimal boshlang'ich yaqinlashuvga mos keladi. Asosan, katakning "zichligi" bog'liq bo'lgan qadam o'zgarishi mumkin, shuning uchun h qiymatini kamaytirish orqali parametrlarning qiymatlarini har qanday aniqlik bilan topish mumkin.

9.6.2. Modelni o'zgartirish.

Ba'zan, ba'zi bir transformatsiyalar orqali modelni chiziqliga qisqartirish yoki ichki chiziqli bo'lmagan parametrlar sonini kamaytirish mumkin (6.2.3-bo'limga qarang). Bunga logistik egri chiziq misolida qanday erishish mumkinligini ko'rsatamiz

Tegishli regressiya tenglamalarida teskari o'zgartirishni amalga oshirib, biz olamiz

Belgilab, biz chiziqli parametrlari soni birdan ikkitaga ko'paygan yangi funktsiyaga keldik. Yangi modeldagi parametr uchun taxminni, masalan, oldingi usul yordamida topish mumkin.

Bu erda regressiya modellarining transformatsiyalari haqida quyidagi fikrni aytish o'rinlidir. Shuni yodda tutish kerakki, dastlabki tenglamaga qo'shimcha ravishda kiritilgan xato, transformatsiyadan so'ng, umuman olganda, endi qo'shimcha bo'lmaydi.

Teylor seriyasida kengayishdan foydalanish va buyurtma shartlarini e'tiborsiz qoldirib, olish orqali o'zgarishlarni bildiradi.

Demak, bundan kelib chiqadi

Oxirgi tenglikni o'zgartirilgan model bilan muammoni tahlil qilish uchun asos sifatida olish mumkin.

9.6.3. Namunani kichik namunalarga bo'lish.

Dastlabki taxminiylikni topish uchun siz butun namunani kichik namunalarga (taxminan teng hajmli) bo'lishingiz mumkin, bu erda noma'lum parametrlar soni. Har bir kichik namuna uchun biz y va X dan ortiq o'rtachalarni topamiz, ularni mos ravishda m deb belgilaymiz.Biz uchun chiziqli bo'lmagan tenglamalar tizimini yechamiz.

Ushbu tizimning yechimi parametrlarning dastlabki yaqinlashuvi bo'ladi. Shubhasiz, bu usul "ishlashi" uchun ushbu chiziqli bo'lmagan tenglamalar tizimini juda oson, masalan, analitik tarzda echish kerak.

9.6.4. Mustaqil o'zgaruvchilarda Teylor seriyasining kengayishi.

Kvadratchalar yig‘indisini takroriy minimallashtirishning asosi Teylor qatoridagi regressiya funksiyasini parametrlar bo‘yicha chiziqli hadlargacha kengaytirish hisoblanadi. Taxminiy boshlang'ich yaqinlashuvni topish uchun ba'zan regressiyani mustaqil o'zgaruvchilarda Teylor qatoriga kengaytirish orqali yaqinlashish foydali bo'ladi. Oddiylik uchun biz uni bir o'lchovli deb hisoblaymiz. Keling - o'rtacha qiymat, keyin taxminan

ni belgilang, shunday qilib biz chiziqli modelga kelamiz

Ushbu chiziqli regressiya parametrlarining eng kichik kvadratlari bo'lsin. Dastlabki yaqinlashishlar sifatida biz chiziqli bo'lmagan tenglamalar tizimining echimini olamiz

Ildizlarni topishning Nyuton (tangens) usuli

Bu ixtiro qilingan iterativ usul Isaak Nyuton(Isaak Nyuton) atrofida 1664. Biroq, ba'zida bu usul Nyuton-Rafson usuli (Rafson) deb ataladi, chunki Rafson xuddi shu algoritmni Nyutondan bir necha yil keyin ixtiro qilgan, ammo uning maqolasi ancha oldin nashr etilgan.

Vazifa quyidagicha. Tenglama berilgan:

Bu tenglamani yechish, aniqrog‘i, uning ildizlaridan birini topish talab qilinadi (ildiz mavjud deb taxmin qilinadi). Segmentda uzluksiz va differensial bo'lishi taxmin qilinadi.

Algoritm

Algoritmning kirish parametri funksiyadan tashqari , shuningdek dastlabki yaqinlashuv- ba'zilari , undan algoritm keta boshlaydi.

Keling, allaqachon hisoblangan , quyidagicha hisoblang. Nuqtadagi funksiya grafigiga tangens chizamiz va bu tangensning x o'qi bilan kesishish nuqtasini topamiz. topilgan nuqtaga teng o'rnating va butun jarayonni boshidan takrorlang.

Quyidagi formulani olish oson:

Intuitiv ravishda tushunarliki, agar funktsiya etarlicha "yaxshi" (silliq) bo'lsa va ildizga etarlicha yaqin bo'lsa, u kerakli ildizga yanada yaqinroq bo'ladi.

Konvergentsiya tezligi kvadratik, bu nisbatan aytganda, taxminiy qiymatdagi aniq bitlar soni har bir iteratsiya bilan ikki baravar oshishini anglatadi.

Kvadrat ildizni hisoblash uchun ariza

Kvadrat ildizni hisoblash misolidan foydalanib, Nyuton usulini ko'rib chiqing.

Agar biz ni almashtirsak, ifodani soddalashtirgandan so'ng biz quyidagilarni olamiz:

Muammoning birinchi tipik versiyasi kasr son berilganda va uning ildizini biroz aniqlik bilan hisoblashingiz kerak:

double n; cin >> n; const double EPS = 1E-15 ; juft x = 1; uchun (;; ) ( double nx = (x + n / x) / 2 ; if (abs (x - nx))< EPS) break ; x = nx; } printf ("%.15lf" , x) ;

Muammoning yana bir keng tarqalgan versiyasi - bu butun son ildizini hisoblash kerak bo'lganda (ma'lum bir uchun eng kattasini toping, shunday qilib ). Bu erda biz algoritmning to'xtash shartini biroz o'zgartirishimiz kerak, chunki u javob yaqinida "sakrash" boshlanishi mumkin. Shuning uchun biz bir shart qo'shamiz, agar oldingi bosqichdagi qiymat pasaygan bo'lsa va joriy bosqichda u oshirishga harakat qilsa, algoritmni to'xtatish kerak.

intn; cin >> n; int x = 1; bool kamayadi = noto'g'ri ; uchun (;; ) ( int nx = (x + n / x) >> 1 ; agar (x == nx || nx > x && kamaygan) sindirish ; kamaydi = nx< x; x = nx; } cout << x;

Nihoyat, biz uchinchi variantni beramiz - uzoq arifmetika uchun. Raqam juda katta bo'lishi mumkinligi sababli, dastlabki taxminlarga e'tibor berish mantiqan. Shubhasiz, u ildizga qanchalik yaqin bo'lsa, natijaga tezroq erishiladi. Dastlabki taxmin sifatida raqamni qabul qilish juda oddiy va samarali bo'ladi, bu erda sondagi bitlar soni. Mana bu variantni ko'rsatadigan Java kodi:

BigIntegern; // ma'lumotlarni kiritish BigInteger a = BigInteger.ONE .shiftLeft (n.bitLength () / 2 ); mantiqiy p_dec = noto'g'ri; uchun (;; ) ( BigInteger b = n.divide (a) .add (a) .shiftRight (1 ) ; if (a.compareTo (b) == 0 || a.compareTo (b))< 0 && p_dec) break ; p_dec = a.compareTo (b) >0; a = b; )

Misol uchun, kodning ushbu versiyasi millisekundlarda bir raqam uchun ishlaydi va agar siz dastlabki taxminning takomillashtirilgan tanlovini olib tashlasangiz (faqat bilan boshlang), u taxminan millisekundlarda ishlaydi.