Vienādojumus, kas satur nezināmas funkcijas, kas paaugstinātas ar jaudu, kas lielāka par vienu, sauc par nelineāriem.
Piemēram, y=ax+b ir lineārs vienādojums, x^3 – 0,2x^2 + 0,5x + 1,5 = 0 ir nelineārs (parasti rakstīts kā F(x)=0).

Nelineāru vienādojumu sistēma ir vairāku nelineāru vienādojumu vienlaicīga atrisināšana ar vienu vai vairākiem mainīgajiem.

Ir daudzas metodes nelineāru vienādojumu risinājumi un nelineāro vienādojumu sistēmas, kuras parasti iedala 3 grupās: skaitliskās, grafiskās un analītiskās. Analītiskās metodes ļauj noteikt precīzas vienādojumu risināšanas vērtības. Grafiskās metodes ir vismazāk precīzas, taču tās ļauj noteikt aptuvenākās vērtības sarežģītos vienādojumos, no kuriem vēlāk var sākt meklēt precīzākus vienādojumu risinājumus. Nelineāro vienādojumu skaitliskais risinājums ietver divus posmus: saknes atdalīšanu un tās precizēšanu līdz noteiktai precizitātei.
Sakņu atdalīšana tiek veikta dažādos veidos: grafiski, izmantojot dažādus specializētus datorprogrammas un utt.

Apsvērsim vairākas metodes sakņu attīrīšanai ar noteiktu precizitāti.

Nelineāro vienādojumu skaitliskās risināšanas metodes

Pusdalīšanas metode.

Pusēšanas metodes būtība ir sadalīt intervālu uz pusēm (c = (a+b)/2) un izmest to intervāla daļu, kurā trūkst saknes, t.i. nosacījums F(a)xF(b)

1. att. Pusdalīšanas metodes izmantošana nelineāru vienādojumu risināšanā.

Apskatīsim piemēru.


Sadalīsim segmentu 2 daļās: (a-b)/2 = (-1+0)/2=-0,5.
Ja reizinājums F(a)*F(x)>0, tad segmenta a sākums tiek pārnests uz x (a=x), pretējā gadījumā segmenta b beigas tiek pārnestas uz punktu x (b=x ). Atkal sadaliet iegūto segmentu uz pusēm utt. Viss veiktais aprēķins ir atspoguļots zemāk esošajā tabulā.

2. att. Aprēķinu rezultātu tabula

Aprēķinu rezultātā iegūstam vērtību, ņemot vērā nepieciešamo precizitāti, kas vienāda ar x=-0,946

Akordu metode

Izmantojot horda metodi, tiek norādīts segments, kurā ir tikai viena sakne ar noteiktu precizitāti e. Caur nogriežņu a un b punktiem, kuriem ir koordinātes (x(F(a);y(F(b)))) tiek novilkta līnija (horda). Tālāk šīs līnijas krustošanās punkti ar abscisu asi ( punktā z) nosaka.
Ja F(a)xF(z)

3. att. Akordu metodes izmantošana nelineāru vienādojumu risināšanā.

Apskatīsim piemēru. Ir nepieciešams atrisināt vienādojumu x^3 – 0,2x^2 + 0,5x + 1,5 = 0 ar precizitāti līdz e

Kopumā vienādojums izskatās šādi: F(x)= x^3 – 0,2x^2 + 0,5x + 1,5

Atradīsim F(x) vērtības segmenta galos:

F(-1) = -0,2>0;

Definēsim otro atvasinājumu F’’(x) = 6x-0,4.

F’’(-1)=-6,4
F''(0)=-0,4

Segmenta galos ir izpildīts nosacījums F(-1)F’’(-1)>0, tāpēc, lai noteiktu vienādojuma sakni, mēs izmantojam formulu:


Viss veiktais aprēķins ir atspoguļots zemāk esošajā tabulā.


4. att. Aprēķinu rezultātu tabula

Aprēķinu rezultātā iegūstam vērtību, ņemot vērā nepieciešamo precizitāti, kas vienāda ar x=-0,946

Pieskares metode (Ņūtons)

Šīs metodes pamatā ir grafika pieskares konstruēšana, kas tiek uzzīmēta vienā no intervāla galiem. Krustošanās punktā ar X asi (z1) tiek konstruēta jauna pieskare. Šī procedūra turpinās, līdz iegūtā vērtība ir salīdzināma ar vēlamo precizitātes parametru e (F(zi)

5. att. Pieskares metodes (Ņūtona) izmantošana nelineāru vienādojumu risināšanā.

Apskatīsim piemēru. Ir nepieciešams atrisināt vienādojumu x^3 – 0,2x^2 + 0,5x + 1,5 = 0 ar precizitāti līdz e

Kopumā vienādojums izskatās šādi: F(x)= x^3 – 0,2x^2 + 0,5x + 1,5

Definēsim pirmo un otro atvasinājumu: F’(x)=3x^2-0.4x+0.5, F’’(x)=6x-0.4;

F’’(-1)=-6-0,4=-6,4
F''(0)=-0,4
Nosacījums F(-1)F’’(-1)>0 ir izpildīts, tāpēc aprēķini tiek veikti, izmantojot formulu:

Kur x0=b, F(a)=F(-1)=-0,2

Viss veiktais aprēķins ir atspoguļots zemāk esošajā tabulā.


6. att. Aprēķinu rezultātu tabula

Aprēķinu rezultātā iegūstam vērtību, ņemot vērā nepieciešamo precizitāti, kas vienāda ar x=-0,946

Darba mērķis

Iepazīstieties ar nelineāro vienādojumu risināšanas pamatmetodēm un to ieviešanu MathCAD pakotnē.

Vadlīnijas

Inženierim bieži ir jāsastāda un jāatrisina nelineāri vienādojumi, kas var būt neatkarīga problēma vai daļa no lielākas. sarežģīti uzdevumi. Abos gadījumos risinājuma metodes praktisko vērtību nosaka iegūtā risinājuma ātrums un efektivitāte, un piemērotas metodes izvēle ir atkarīga no aplūkojamās problēmas rakstura. Ir svarīgi atzīmēt, ka datoru aprēķinu rezultāti vienmēr ir jāuztver kritiski un jāanalizē, lai tie būtu ticami. Lai izvairītos no kļūmēm, izmantojot jebkuru standarta pakotni, kurā tiek ieviestas skaitliskās metodes, jums ir jābūt vismaz minimālai izpratnei par to, kāda veida skaitliskā metode ieviests, lai atrisinātu konkrētu problēmu.

Nelineāros vienādojumus var iedalīt 2 klasēs – algebriskajā un transcendentālajā. Algebriskie vienādojumi Viņi sauc vienādojumus, kas satur tikai algebriskas funkcijas (veselus skaitļus - jo īpaši polinomus, racionālos, iracionālos). Tiek izsaukti vienādojumi, kas satur citas funkcijas (trigonometriskās, eksponenciālās, logaritmiskās utt.). pārpasaulīgs. Nelineāros vienādojumus var atrisināt precīzs vai aizveriet metodes. Precīzas metodesļauj mums uzrakstīt saknes kādas galīgas attiecības (formulas) formā. Diemžēl lielākajai daļai transcendentālo vienādojumu, kā arī patvaļīgiem algebriskajiem vienādojumiem, kuru pakāpe ir lielāka par četriem, nav analītisko risinājumu. Turklāt vienādojuma koeficientus var zināt tikai aptuveni, un tāpēc pati sakņu precīzas noteikšanas problēma zaudē nozīmi. Tāpēc, lai atrisinātu, mēs izmantojam iteratīvas metodes secīga tuvināšana. Pirmais ir pirmais atdaliet saknes(t.i., atrodiet to aptuveno vērtību vai segmentu, kurā tie atrodas), un pēc tam precizējiet tos, izmantojot secīgu tuvinājumu metodi. Jūs varat atdalīt saknes, iestatot funkcijas zīmes f(x) un tā atvasinājumu tās pastāvēšanas domēna robežpunktos, aptuvenās vērtības novērtējot no problēmas fiziskās nozīmes vai līdzīgas problēmas atrisināšanas ar citiem sākotnējiem datiem.

Plaši izplatīts grafiskā metode reālo sakņu aptuveno vērtību noteikšana - funkcijas grafika konstruēšana f(x) un atzīmējiet tā krustošanās punktus ar asi Ak! Grafiku uzbūvi bieži var vienkāršot, aizstājot vienādojumu f(x)= 0 ar ekvivalentu vienādojumu , kur funkcijas f 1 (x) Un f 2 (x) — vienkāršāka nekā funkcija f(x). Šajā gadījumā jums vajadzētu meklēt šo grafiku krustošanās punktu.

1. piemērs. Grafiski atdaliet vienādojuma saknes x lg x = 1. Pārrakstīsim to par vienādību lg x= 1/x un atrodiet logaritmiskās līknes krustošanās punktu abscisu y= baļķis x un hiperbolas y= 1/x (5. att.). Var redzēt, ka vienīgā vienādojuma sakne ir .

Klasisko aptuveno risinājumu metožu ieviešana MathCAD pakotnē.

Pusdalīšanas metode

Segments, kura galos funkcija iegūst vērtības atšķirīga zīme, sadala uz pusēm un, ja sakne atrodas pa labi no centrālā punkta, tad kreiso malu velk uz centru un, ja pa kreisi, tad labo malu. Jaunais sašaurinātais segments atkal tiek sadalīts uz pusēm un procedūra tiek atkārtota. Šī metode ir vienkārša un uzticama, tā vienmēr saplūst (lai gan bieži vien lēni - cena, kas jāmaksā par vienkāršību!). Tās programmatūras ieviešana MathCAD pakotnē ir apskatīta šīs rokasgrāmatas laboratorijas darbā Nr.7.

Akordu metode

Kā secīgus tuvinājumus vienādojuma saknei tiek ņemtas šādas vērtības: X 1 , X 2 , ..., x n akordu krustošanās punkti AB ar x asi (6. att.).

Akorda vienādojums AB ir šāda forma: . Tā krustpunktam ar abscisu asi ( x=x 1 ,y= 0) mums ir:

Noteiktības labad ļaujiet līknei plkst = f(x) būs izliekta uz leju un tāpēc atrodas zem tā horda AB, t.i. segmentā f²( x)>0. Ir divi iespējamie gadījumi: f(A)>0 (6. att., A) Un f(A)<0 (рис. 6, b).

Pirmajā gadījumā beigas A nekustīgs. Secīgas iterācijas veido ierobežotu monotoni dilstošu secību: un tiek noteiktas saskaņā ar vienādojumiem:

x 0 = b; . (4.1)

Otrajā gadījumā beigas ir nekustīgas b, secīgas iterācijas veido ierobežotu monotoni pieaugošu secību: un tiek noteiktas saskaņā ar vienādojumiem:

x 0 = A; . (4.2)

Tādējādi ir jāizvēlas fiksētais gals, kuram funkcijas zīme f(X) un tā otrais atvasinājums f²( X) sakrīt un secīgi tuvinājumi x n gulēt saknes x otrā pusē, kur šīs zīmes atrodas pretī. Iteratīvais process turpinās, līdz starpības lielums starp diviem secīgiem tuvinājumiem kļūst mazāks par norādīto risinājuma precizitāti.

2. piemērs. Atrodiet vienādojuma pozitīvo sakni f(x) º x 3 –0,2x 2 –0,2X–1,2 = 0 ar precizitāti e= 0,01. (Precīza vienādojuma sakne ir x = 1,2).

Lai organizētu iteratīvus aprēķinus MathCAD dokumentā, izmantojiet funkciju līdz( a, z), kas atgriež daudzuma vērtību z, kamēr izteiksme a nekļūst negatīvs.

Ņūtona metode

Atšķirība starp šo metodi un iepriekšējo ir tāda, ka akorda vietā katrā solī tiek uzzīmēta līknes pieskare. y=f(x) plkst x=x i un tiek meklēts tā krustošanās punkts ar abscisu asi (7. att.):

Šajā gadījumā nav nepieciešams norādīt segmentu [a, b], kas satur vienādojuma sakni), bet pietiek vienkārši norādīt saknes x = x 0 sākotnējo tuvinājumu, kam vajadzētu būt tajā pašā galā. intervāla [a, b], kur sakrīt funkcijas un tās otrā atvasinājuma zīmes.

Līknes pieskares vienādojums y = f(x) caur punktu IN 0 ar koordinātām X 0 un f(X 0), ir šāda forma:

No šejienes mēs atrodam nākamo saknes tuvinājumu X 1 kā pieskares un asi krustošanās punkta abscisu Ak(y = 0):

Līdzīgi turpmākos tuvinājumus var atrast kā punktos novilkto pieskares krustpunktus ar abscisu asi IN 1, IN 2 un tā tālāk. Formula ( i+ 1) tuvinājumam ir šāda forma:

Iteratīvā procesa beigu nosacījums ir nevienlīdzība ï f(x i

3. piemērs. Ņūtona iteratīvās metodes realizācija.

Vienkārša iterācijas metode ( secīgas iterācijas)

Aizstāsim sākotnējo nelineāro vienādojumu f(X)=0 pēc formas ekvivalenta vienādojuma x=j( x). Ja ir zināms saknes sākotnējais tuvinājums x = x 0, tad jaunu tuvinājumu var iegūt, izmantojot formulu: X 1 =j( X 0). Pēc tam, katru reizi aizstājot jaunu saknes vērtību sākotnējā vienādojumā, mēs iegūstam vērtību secību:

Metodes ģeometriskā interpretācija ir tāda, ka katra vienādojuma reālā sakne ir krustošanās punkta abscisa M greizs y= j( X) ar taisnu līniju y=x(8. att.). Sākot no patvaļīgas t. A 0 [x 0,j( x 0)] sākotnējā tuvināšana , polilīnijas veidošana A 0 IN 1 A 1 IN 2 A 2 .., kam ir “kāpņu telpas” forma (8. att., A), ja atvasinājums j’(x) ir pozitīvs un ir “spirāles” forma (8. att., b) pretējā gadījumā.

V)
Rīsi. 8. Vienkārša iterācijas metode: a, b- konverģenta iterācija, V– atšķirīga iterācija.

Ņemiet vērā, ka jums vajadzētu iepriekš pārbaudīt līknes j( X), jo, ja tas nav pietiekami plakans (>1), tad iterācijas process var būt diverģents (8. att., V).

4. piemērs . Atrisiniet vienādojumu x 3 – x– 1 = 0 pēc vienkāršas iterācijas metodes ar precizitāti e = 10 -3. Šī uzdevuma īstenošana ir parādīta nākamajā MathCAD dokumentā.

Aptuveno risinājumu metožu ieviešana, izmantojot iebūvētās MathCAD funkcijas

Izmantojot funkcijusakne

Formu vienādojumiem f(x) = 0 risinājums tiek atrasts, izmantojot funkciju: sakne ( f(X ),x,a,b) , kas atgriež vērtību X , kas pieder segmentam [a, b] , kurā izteiksme vai funkcija f(X) kļūst par 0. Abiem šīs funkcijas argumentiem x un f(x) ir jābūt skalāriem, un argumentiem a, b – ir neobligāti un, ja tiek izmantoti, tiem jābūt reāliem skaitļiem, un a< b. Funkcija ļauj atrast ne tikai reālās, bet arī sarežģītās vienādojuma saknes (izvēloties sākotnējo tuvinājumu kompleksā formā).

Ja vienādojumam nav sakņu, tie atrodas pārāk tālu no sākotnējās aproksimācijas, sākotnējā tuvināšana bija reāla un saknes bija sarežģītas, funkcija f(X) ir pārtraukumi (lokāls ekstrēms starp saknes sākotnējiem tuvinājumiem), tad parādīsies ziņojums (bez konverģences). Kļūdas cēloni var noskaidrot, izpētot grafiku f(x). Tas palīdzēs noskaidrot vienādojuma sakņu klātbūtni f(x) = 0 un, ja tādas pastāv, tad aptuveni noteikt to vērtības. Jo precīzāk tiek izvēlēts saknes sākotnējais tuvinājums, jo ātrāk funkcija konverģēs sakne.

Par izteiksmi f(x) ar zināmu sakni A papildu sakņu atrašana f(x) ir līdzvērtīgs vienādojuma sakņu atrašanai h(x)=f(x)/(x-a). Vieglāk ir atrast izteiksmes sakni h(x), nekā mēģināt meklēt citu vienādojuma sakni f(x)=0, izvēloties dažādus sākotnējos tuvinājumus. Līdzīgs paņēmiens ir noderīgs, lai atrastu saknes, kas atrodas tuvu viena otrai, un tas ir ieviests tālāk esošajā dokumentā.

5. piemērs. Atrisiniet algebriskos vienādojumus, izmantojot saknes funkciju:

Piezīme. Ja palielināt TOL (tolerance) sistēmas mainīgā vērtību, tad funkcija sakne saplūdīs ātrāk, bet atbilde būs mazāk precīza, un, samazinoties TOL, lēnāka konverģence nodrošina attiecīgi lielāku precizitāti. Pēdējais ir nepieciešams, ja nepieciešams atšķirt divas cieši izvietotas saknes vai ja ir funkcija f(x) ir neliels slīpums netālu no vēlamās saknes, jo iteratīvais process šajā gadījumā var saplūst līdz rezultātam, kas ir diezgan tālu no saknes. Pēdējā gadījumā alternatīva precizitātes palielināšanai ir vienādojuma aizstāšana f(x) = 0ieslēgts g(x) = 0, kur .

Izmantojot funkcijudaudzsaknes

Ja funkcija f(x) ir n pakāpes polinoms, tad vienādojuma f(x)=0 risināšanai labāk izmantot funkciju daudzsaknes a) nekā sakne, jo tas neprasa sākotnējo tuvinājumu un atgriež visas saknes, gan reālās, gan kompleksās, uzreiz. Tās arguments ir vektors a, kas sastāv no sākotnējā polinoma koeficientiem. To var ģenerēt manuāli vai izmantojot komandu Simboli Þ Polinoma koeficienti(polinoma mainīgais x tiek iezīmēts ar kursoru). Funkcijas izmantošanas piemērs daudzsaknes:

Izmantojot funkcijuatrisinātun lēmumu bloks

Risinājumu bloks ar atslēgvārdiem ( Dots – Atrast vai Ņemot vērā - Minerr) vai funkciju atrisinātļauj atrast risinājumu patvaļīgam nelineāram vienādojumam, ja sākotnējā aproksimācija ir norādīta iepriekš.

Ņemiet vērā, ka starp funkcijām Atrast Un sakne Ir kaut kāda konkurence. No vienas puses, Atrastļauj meklēt gan vienādojumu, gan sistēmu saknes. No šīm pozīcijām funkcija sakne it kā tas nebūtu vajadzīgs. Bet, no otras puses, dizains Dota-Atrast nevar ievietot MathCAD programmās. Līdz ar to programmās ar aizstāšanu nepieciešams reducēt sistēmu līdz vienam vienādojumam un izmantot funkciju sakne.

Simbolisks vienādojumu risinājums MathCAD pakotnē

Daudzos gadījumos MathCAD ļauj atrast vienādojuma analītisko risinājumu. Lai analītiskā formā atrastu vienādojuma risinājumu, ir nepieciešams pierakstīt izteiksmi un izvēlēties tajā mainīgo. Pēc tam atlasiet izvēlnes vienumu Simboliski apakšpunktu Atrisiniet mainīgo .

Citas iespējas atrast risinājumu simboliskā formā ir (tiek doti viena un tā paša vienādojuma risināšanas piemēri) - izmantojot funkciju atrisināt no matemātisko darbību paletes Simboli (Simboliski).

izmantojot risinājumu bloku (ar atslēgvārdiem Ņemot vērā - Atrast)

Dažādu parādību vai procesu izpēte, izmantojot matemātiskās metodes, tiek veikta, izmantojot matemātisko modeli . Matemātiskais modelis ir formalizēts pētāmā objekta apraksts, izmantojot lineāru, nelineāru vai diferenciālvienādojumu sistēmas, nevienādību sistēmas, noteiktu integrāli, polinomu ar nezināmiem koeficientiem utt. Matemātiskajam modelim ir jāaptver svarīgākie objekta raksturlielumi. pētāmās un atspoguļo saiknes starp tām.

Kad matemātiskais modelis ir apkopots, pārejiet pie skaitļošanas problēmas formulēšanas . Tajā pašā laikā tiek noteikts, kuri matemātiskā modeļa raksturlielumi ir sākotnējie (ievades) dati , kas - modeļa parametri , un kurš - izvaddati. Rezultātā radušos problēmu analizē no risinājuma esamības un unikalitātes viedokļa.

Nākamajā posmā tiek izvēlēta problēmas risināšanas metode. Daudzos konkrētos gadījumos problēmas risinājumu nav iespējams atrast skaidrā formā, jo tas netiek izteikts ar elementārām funkcijām. Šādas problēmas var atrisināt tikai aptuveni. Skaitļošanas (skaitliskās) metodes nozīmē aptuvenas procedūras, kas ļauj iegūt risinājumu konkrētu skaitlisko vērtību veidā. Aprēķinu metodes parasti tiek realizētas datorā. Lai atrisinātu vienu un to pašu problēmu, var izmantot dažādas skaitļošanas metodes, tāpēc jāprot novērtēt dažādu metožu kvalitāti un to izmantošanas efektivitāti konkrētai problēmai.

Pēc tam, lai realizētu izvēlēto skaitļošanas metodi, tiek sastādīts algoritms un datorprogramma . Mūsdienīgam inženierim ir svarīgi prast problēmu pārveidot datorā realizēšanai ērtā formā un izveidot algoritmu šādas problēmas risināšanai.

Pašlaik tās tiek plaši izmantotas kā pakotnes, kas ievieš vispārīgākās metodes dažādu problēmu risināšanai (piemēram, Mathcad,
MatLAB), kā arī paketes, kas ievieš metodes īpašu problēmu risināšanai.

Aprēķinu rezultāti tiek analizēti un interpretēti. Ja nepieciešams, tiek koriģēti metodes parametri un dažreiz arī matemātiskais modelis, un sākas jauns problēmas risināšanas cikls.

1.1. Problēmas formulēšana

Ļaujiet dot kādu funkciju, un jums jāatrod visas vai dažas vērtības, kurām .

Vērtība, kurā tiek izsaukta sakne(vai lēmumu) vienādojumi. Bieži tiek pieņemts, ka funkcija saknes tuvumā ir divreiz nepārtraukti diferencējama.

Vienādojuma sakni sauc vienkāršs, ja funkcijas pirmais atvasinājums punktā nav vienāds ar nulli, t.i. Ja , tad tiek izsaukta sakne vairākas saknes.

Ģeometriski vienādojuma sakne ir funkcijas grafika krustošanās punkts ar abscisu asi. Attēlā 1. attēlā parādīts funkcijas grafiks, kam ir četras saknes: divas vienkāršas un divas daudzkārtējas.


Lielākā daļa vienādojumu risināšanas metožu ir vērstas uz vienkāršu sakņu atrašanu.

1.2. Risinājuma atrašanas galvenie posmi

Aptuveni vienādojuma sakņu atrašanas procesā parasti izšķir divus posmus: lokalizācija(vai atdalīšana) saknes Un saknes noskaidrošana.

Saknes lokalizācija ietver segmenta definēšanu, kas satur vienu un tikai vienu sakni. Nav universāla sakņu lokalizācijas algoritma. Dažreiz ir ērti lokalizēt sakni, izveidojot funkciju vērtību grafiku vai tabulu. Par saknes klātbūtni segmentā norāda funkcijas zīmju atšķirība segmenta galos. Pamats tam ir šāda teorēma.

Teorēma . Ja funkcija ir nepārtraukta segmentā un tās galos ņem dažādu zīmju vērtības tā, lai , segmentā ir vismaz viena vienādojuma sakne.

Tomēr pat daudzkārtības sakni šādā veidā nevar lokalizēt, jo šādas saknes tuvumā funkcijai ir nemainīga zīme. Saknes precizēšanas stadijā ar noteiktu precizitāti tiek aprēķināta aptuvenā saknes vērtība. Aptuvenā saknes vērtība tiek precizēta, izmantojot dažādas iteratīvas metodes. Šo metožu būtība ir secīgi aprēķināt vērtības, kas ir tuvinājumi saknei.

1.3. Pusdalīšanas metode

Pusmetode ir vienkāršākais un uzticamākais veids, kā atrisināt nelineāru vienādojumu. Lai no sākotnējās analīzes būtu zināms, ka vienādojuma sakne atrodas segmentā , t.i., lai . Lai funkcija ir nepārtraukta segmentā un segmenta galos ņem dažādu zīmju vērtības, t.i. .

Sadaliet segmentu uz pusēm. Pieņemsim punktu. Aprēķināsim funkcijas vērtību šajā punktā: . Ja , tad ir vēlamā sakne, un problēma ir atrisināta. Ja , tad - noteiktas zīmes skaitlis: nu. Tad vai nu segmenta galos, vai segmenta galos funkcijas vērtībām ir dažādas zīmes. Apzīmēsim šādu segmentu. Acīmredzot segmenta garums ir divas reizes mazāks par segmenta garumu. Darīsim to pašu ar segmentu. Rezultātā mēs iegūstam vai nu sakni, vai jaunu segmentu utt. (2. att.).

th segmenta vidusdaļa. Acīmredzot segmenta garums būs vienāds ar , Un kopš , Tad

Beigu kritērijs. No attiecības (1) izriet, ka noteiktai tuvinājuma precizitātei aprēķins beidzas, kad ir izpildīta nevienlīdzība vai nevienlīdzība. Tādējādi iterāciju skaitu var noteikt iepriekš. Vērtība tiek pieņemta kā aptuvenā saknes vērtība.

Piemērs. Atradīsim to aptuveni ar precizitāti. Šī problēma ir līdzvērtīga vienādojuma atrisināšanai vai funkcijas nulles atrašanai. Ņemsim segmentu kā sākotnējo segmentu. Šī segmenta beigās funkcija ņem vērtības ar dažādām zīmēm: . Ļaujiet mums atrast segmenta dalījumu skaitu, kas nepieciešams, lai sasniegtu nepieciešamo precizitāti. Mums ir:

Tāpēc ne vēlāk kā 6. divīzijā ar nepieciešamo precizitāti atradīsim, . Aprēķinu rezultāti ir parādīti 1. tabulā.

1. tabula

1,0000 1,0000 1,0000 1,1250 1,1250 1,1406 1,1406
2,0000 1,5000 1,2500 1,2500 1,1875 1,1875 1,1562
1,5000 1,2500 1,1250 1,1875 1,1406 1,1562 1,1484
Zn - - - - - - -
Zn + + + + + + +
5,5938 0,7585 -0,2959 0,1812 -0,0691 0,0532 -0,0078
- 1,0000 0,5000 0,2500 0,1250 0,0625 0,0312 0,0156

1.4. Vienkārša iterācijas metode

Aizvietosim vienādojumu ar tā ekvivalento vienādojumu

Ļaujiet mums kaut kādā veidā izvēlēties sākotnējo tuvinājumu. Aprēķināsim funkcijas vērtību pie un atradīsim precizēto vērtību. Tagad aizvietosim vienādojumu (1) un iegūsim jaunu aproksimāciju utt. Turpinot šo procesu bezgalīgi, iegūstam saknes tuvinājumu secību:

Formula (3) ir aprēķina formula vienkārša iterācijas metode.

Ja secība saplūst pie , t.i. pastāv

un funkcija ir nepārtraukta, tad, pārejot uz robežu (3) un ņemot vērā (4), iegūstam: .

Tādējādi (2) vienādojuma sakne.

Metodes konverģence. Vienkāršās iterācijas metodes konverģence tiek noteikta ar šādu teorēmu.

Teorēma.Ļaujiet funkcijai definēt un diferencēt intervālā, un visas tās vērtības ir . Pēc tam, ja nosacījums ir izpildīts:

1) iterācijas process saplūst neatkarīgi no sākotnējās vērtības;

2) robežvērtība ir vienīgā vienādojuma sakne segmentā.

Pierādījums. Kopš un , mēs varam rakstīt

Saskaņā ar vidējās vērtības teorēmu (tā nosaka, ka, ja funkcijas atvasinājums ir nepārtraukts noteiktā intervālā, tad starp punktiem un novilktās hordas slīpuma leņķa tangenss (t.i. ir vienāds ar funkcijas atvasinājumu). kādā starppunktā, kas atrodas starp un ) koeficients pēdējā izteiksmē būs vienāds ar , kur ir kāds starppunkts saknes meklēšanas intervālā.

Ja mēs ieviešam apzīmējumu visam meklēšanas intervālam, tad iepriekšējo vienādību var pārrakstīt šādi:

Tāpat. Tad nevienlīdzība būs patiesa: utt. Turpinot šos aprēķinus tālāk, rezultāts ir , kur ir naturāls skaitlis. Tādējādi, lai metode saplūstu, ir jāapmierina šāda nevienādība: .

No tā izriet, ka tam jābūt mazākam par vienu. Savukārt visām pārējām vērtībām, kas mazākas par , varam rakstīt: . Mēs nosakām skaitli no attiecības. Tad ir patiesa šāda nevienādība (skat. atvasinājumu zemāk): . Ja izvirzām nosacījumu, ka saknes patiesajai vērtībai ir jāatšķiras no aptuvenās vērtības par summu , t.i. , tad aproksimācijas jāaprēķina, līdz tiek izpildīta nevienādība

vai un tad .

Nevienādības atvasināšana Aplūkosim divus secīgus tuvinājumus: un . No šejienes.

Izmantojot vidējās vērtības teorēmu, mēs iegūstam:

tad, pamatojoties uz nosacījumu, mēs varam rakstīt:

No otras puses, ļaujiet . Ir skaidrs, ka. No šejienes, ņemot vērā to, mēs iegūstam

Tad vai.

Izmantojot iepriekšējo formulu, jūs varat iegūt:

Pārejam uz robežu vienādībā (3), pateicoties iegūtās funkcijas nepārtrauktībai , tas ir, vienādojuma (2) saknei. Citu sakņu nav, jo ja , tad , tad , kur . Vienlīdzība ar nulli tiks sasniegta, ja . Tas ir, ir tikai viena sakne.

Teorēma ir pierādīta.

Vienādojuma samazināšana līdz formai
nodrošināt nevienlīdzības piepildīšanos

Vispārīgā gadījumā piemērotu iteratīvo formu iespējams iegūt, veicot sākotnējā vienādojuma ekvivalentu transformāciju, piemēram, reizinot ar koeficientu: . Pēc tam pievienojot abām vienādojuma pusēm un apzīmējot, mēs varam pieprasīt pietiekama nosacījuma izpildi. No šejienes tiek noteikta nepieciešamā vērtība. Tā kā nosacījumam ir jābūt izpildītam visā segmentā, atlasei jāizmanto šī segmenta lielākā vērtība, t.i.

Šī attiecība nosaka koeficientu vērtību diapazonu, mainot vērtību robežās.

Parasti pieņemts.

Attēlā 3-6 parādīti četri līniju relatīvo pozīciju gadījumi un atbilstošie iteratīvie procesi. Rīsi. 3 un 4 atbilst gadījumam , un iteratīvais process saplūst. Šajā gadījumā, ja (3. att.), konverģence ir vienpusēja, un, ja (4. att.), konverģence ir divpusēja, svārstīga. Rīsi. 5 un 6 atbilst gadījumam - iterācijas process atšķiras. Šajā gadījumā var būt vienpusēja (5. att.) un divpusēja (6. att.) diverģence.

Metodes kļūda. Kļūdas novērtējums ir pierādīts (5).

Beigu kritērijs. No aplēses (5) izriet, ka aprēķini jāturpina, līdz tiek izpildīta nevienlīdzība. Ja , tad tāme ir vienkāršota: .

1. piemērs. Mēs izmantojam vienkāršo iterācijas metodi, lai atrisinātu vienādojumu ar precizitāti . Pārveidosim vienādojumu formā:

, t.i. .

Ir viegli pārbaudīt, vai vienādojuma sakne atrodas segmentā. Aprēķinot vērtības segmenta galos, mēs iegūstam: , a, t.i., funkcijai segmenta galos ir dažādas zīmes,

tāpēc segmenta iekšpusē ir sakne. Saknes atrašanās vieta ir skaidri parādīta attēlā. 7.

Aprēķināsim funkcijas pirmo un otro atvasinājumu:

Tā kā segmentā , atvasinājums šajā segmentā palielinās monotoni un iegūst maksimālo vērtību segmenta labajā galā, t.i., punktā. . Tāpēc šāds novērtējums ir taisnīgs:

Tādējādi nosacījums ir izpildīts, un var izmantot aprēķinu pabeigšanas kritēriju. Tabulā 2 parāda tuvinājumus, kas iegūti, izmantojot aprēķina formulu. Vērtība, kas izvēlēta kā sākotnējā tuvināšana, ir .

2. tabula

0,8415 0,8861 0,8712 0,8774 0,8765

Izbeigšanas kritērijs ir izpildīts, ja . Konverģence ir divvirzienu; šādas konverģences kvalitatīvais raksturs ir parādīts attēlā. 4. Aptuvenā saknes vērtība ar nepieciešamo precizitāti.

2. piemērs. Atrisiniet vienādojumu segmentā, izmantojot vienkāršu iterāciju ar precizitāti 0,025. Lai atrisinātu, sākotnējais vienādojums tiek reducēts līdz formai . Lai izvēlētos vērtību, mēs izmantojam iepriekš minēto formulu. Tad aprēķina formula izskatās šādi. Kā sākotnējo tuvinājumu varat izvēlēties noteiktā segmenta augšējo robežu.

0,8 0,78

Kopš tā laika.

1.5. Ņūtona metode (tangences metode)

Ņūtona metode ir visefektīvākā metode nelineāru vienādojumu risināšanai. Ļaujiet saknei, t.i. Mēs pieņemam, ka funkcija ir nepārtraukta intervālā un divreiz nepārtraukti diferencējama šajā intervālā. Liekam . Uzzīmēsim pieskares funkcijas grafikam punktā (8. att.).

Pieskares vienādojums izskatīsies šādi: .

Pirmo krustpunktu iegūstam, ņemot šīs pieskares krustpunkta ar asi abscisi, t.i., liekot: .

Mēs darīsim to pašu ar punktu, pēc tam ar punktu utt., kā rezultātā iegūstam tuvinājumu secību un

Formula (6) ir Ņūtona metodes aprēķina formula.

Ņūtona metodi var uzskatīt par vienkāršās iterācijas metodes īpašu gadījumu, kurai .

Metodes konverģence. Ņūtona metodes konverģenci nosaka sekojošā teorēma.

Teorēma.Ļaut būt vienkāršai vienādojuma saknei, un kādā šīs saknes tuvumā funkcija ir divreiz nepārtraukti diferencējama. Tad ir tik maza saknes apkārtne, ka, patvaļīgi izvēloties sākotnējo tuvinājumu no šīs apkārtnes, ar formulu (6) definētā iterācijas secība nepārsniedz šo apkārtni un aprēķins ir derīgs:

Ņūtona metodes konverģence ir atkarīga no tā, cik tuvu saknei ir izvēlēts sākotnējais minējums.

Sākotnējās tuvinājuma izvēle.Ļaut ir segments, kurā ir sakne. Ja kā sākotnējo tuvinājumu izvēlamies segmenta beigas, kurām , tad iterācijas (6) saplūst un monotoni. Rīsi. 8 atbilst gadījumam, kad kā sākotnējais tuvinājums tika izvēlēts segmenta labais gals: (Šeit).

Metodes kļūda. Tāme (7) ir neērta praktiskai lietošanai. Praksē tiek izmantoti šādi kļūdu aprēķini:

Beigu kritēriji . Aprēķins (8) ļauj formulēt šādu Ņūtona metodes iterāciju beigu kritēriju. Ar noteiktu precizitāti aprēķini jāveic, līdz tiek izpildīta nevienlīdzība

Piemērs. Aprēķiniet vienādojuma negatīvo sakni, izmantojot Ņūtona metodi ar precizitāti 0,0001. Atdalot sakni, jūs varat pārliecināties, ka sakne ir lokalizēta intervālā. Šajā intervālā un . Kopš un , tad varam ņemt .

-11 -5183 0,6662
-10,3336 307,3 4276,8 0,0718
-10,2618 3,496 4185,9 0,0008
-10,261 0,1477 - -

. Tāpēc . Tātad, kā rezultātā mēs iegūstam šādu, un uz , Tāpēc .

Kopš tā laika

Nelineāra vienādojuma sakņu atrašana

Kursu darbs

Datorzinātne, kibernētika un programmēšana

Skaitliskās metodes realizējošas blokshēmas - dihotomijas metodei: Blokshēma horda metodei: Plūsmas diagramma Ņūtona metodei: Programmu uzskaites vienība Unit1; interfce izmanto Windows Messges SysUtils Vrints Clsses Grphics Controls Veidlapas Dilogi TeEngine Series ExtCtrls TeeProcs Chrt izvēlnes OleCtnrs StdCtrls xCtrls OleCtrls VCF1 Mth; tips TForm1 = clssTForm GroupBox1: TGroupBox; OleContiner2: TOleContiner; MinMenu1: TMinMenu; N1: TMenuItem; Chrt1: TChrt; 1. sērija:...

KRIEVIJAS VALSTS NAFTAS UN GĀZES UNIVERSITĀTE. VIŅI. GUBKINS

Datorzinātņu katedra

Kursa darbs

disciplīnā "Informātika".

Temats: " Nelineāra vienādojuma sakņu atrašana"

Pabeidza: students

Manepova A. M

grupas: GI-12-05

Pārbaudīts:

Maskava 2013


Kursa darba uzdevums.


Nelineāra vienādojuma sakņu atrašanas teorija. Izmantoto skaitlisko metožu apraksts.

1. Pusīšu metode (dihotomija)

2.Akorda metode

3. Ņūtona metode

Aprēķini Mat lab matemātiskajā paketē


Ziņojums par vienādojuma saknes aptuvenās vērtības aprēķināšanas rezultātiem programmā MS Excel.

Aprēķinu rezultāti, izmantojot parametru atlasi


Aprēķinu rezultāti, izmantojot risinājumu Search for Solutions


Delphi vidē izveidotās aplikācijas apraksts.


Bloku shēmas, kas realizē skaitliskās metodes

Programmu saraksts


Lietojumprogrammas loga attēls


Iegūto rezultātu analīze


Literatūra.


Kursa darba uzdevums.

  1. aprēķins , kas izpildīts matemātiskā paketē Matlab (Mathematica 5 .) (faila funkcija nelineāra vienādojuma, grafika, risinājuma aprakstīšanai simboliskā un skaitliskā formā).
  2. Meklēšana nelineāra vienādojuma saknes izklājlapās MS Excel (nelineārā vienādojuma veids, nelineāra vienādojuma sakņu atrašanas grafiks, nelineāra vienādojuma saknes atrašana, izmantojot nosacījumu analīzes rīkus: “Parametra izvēle”, “Risinājuma meklēšana”).
  3. Aplikācijas izveide lai atrastu nelineāra vienādojuma saknes Delphi vidē (nelineāra vienādojuma veids, grafiks uz dotā intervāla, katrai metodei: funkcijas tabulas rezultāti noteiktā intervālā ar noteiktu soli, katrai skaitliskajai metodei lietotāja apakšprogramma ar parametru pārsūtīšanu). Rezultāti tiek parādīti veidlapā tabulas un faila veidā. Nodrošiniet izmaiņas vērtības precizitātē (E<= 0 , 001).
  4. vienādojuma veids


Nelineāra vienādojuma sakņu atrašanas teorija. Izmantoto skaitlisko metožu apraksts.

Lai funkcija ir dota , nepārtraukts kopā ar vairākiem tā atvasinājumiem. Jums jāatrod visas vai dažas vienādojuma reālās saknes

.
Šis uzdevums ir sadalīts vairākos apakšuzdevumos. Pirmkārt, ir jānosaka sakņu skaits un jāpārbauda tās raksturs un atrašanās vieta. Otrkārt, atrodiet aptuvenās sakņu vērtības. Treškārt, atlasiet mūs interesējošās saknes un aprēķiniet tās ar nepieciešamo precizitāti e. Pirmā un otrā problēma parasti tiek atrisināta ar analītiskām vai grafiskām metodēm. Gadījumā, ja tiek meklētas tikai vienādojuma reālās saknes, ir lietderīgi izveidot vērtību tabulu funkcijas . Ja divos blakus mezglos tabulas funkcijai ir dažādas zīmes, tad starp šiem mezgliem atrodas nepāra vienādojuma sakņu skaits (vismaz viena). Ja šie mezgli ir tuvu, tad, visticamāk, starp tiem ir tikai viena sakne.
Atrastās aptuvenās sakņu vērtības var precizēt, izmantojot dažādas iteratīvas metodes.

Apskatīsim trīs metodes: 1) dihotomijas metodi (jeb segmenta sadalīšanu uz pusēm); 2) vienkāršā iterācijas metode un 3) metodeŅūtons.

1. Pusīšu metode (dihotomija)


Ļaujiet segmentam dot nepārtrauktu funkcijuJa funkciju vērtībām segmenta galos ir dažādas zīmes, t.i.tas nozīmē, ka šajā segmentā ir nepāra skaits sakņu. Noteiktības labad lai ir viena sakne. Metodes būtība ir katrā iterācijā uz pusi samazināt segmenta garumu. Atrodiet segmenta vidu, izmantojot formulu:Aprēķiniet funkcijas vērtībuun atlasiet segmentu, kurā darbojas funkcija maina savu zīmi . Mēs atkal sadalām jauno segmentu uz pusēm. Un šis process Mēs turpinām, līdz segmenta garums ir vienāds ar iepriekš noteikto kļūdu saknes E aprēķināšanā.

2.Akorda metode

Atrisinot nelineāru vienādojumu ar horda metodi, tiek norādīti intervāli, kuros ir tikai viens risinājums, un precizitāte Ɛ. Tad caur diviem punktiem ar koordinātām (a,F(a)) un (b,F(b)) novelkam taisnes nogriezni (hordu) un nosakām šīs līnijas krustpunktu ar abscisu asi. Ja tajā pašā laikā F(a)*F(b)<0, то праву границу интервала пееносиим в точку x (b=x). Если указанное условие не выполняется, то в точку x tiek pārvietota intervāla kreisā robeža (a=x). Risinājuma meklēšana tiek pārtraukta, kad tiek sasniegta norādītā precizitāte |F(x)|>Ɛ. Aprēķinus veic, līdz tiek izpildīta nevienlīdzība:. Akordu metodes iteratīvajai formulai ir šāda forma:

3. Ņūtona metode

Lai skaitliski atrisinātu vienādojumuar vienkāršu iterācijas metodi, tas ir jāsagatavo šādā formā:, kur saspiešanas kartēšana.

Labākai konverģencei metodi nākamās tuvināšanas punktānosacījums ir jāizpilda. Šī vienādojuma risinājums tiek meklēts formā, Tad:

Pieņemot, ka pieejas punkts ir "pietiekami tuvu" saknei, un ka dotā funkcija nepārtraukts , galīgā formula vai šis:

Ņemot to vērā, funkcija tiek noteikts ar izteiksmi:

Šī funkcija veic saspiešanas kartēšanu saknes tuvumāun atrašanas algoritmu skaitlisks risinājums vienādojumisamazina līdz iteratīvai aprēķina procedūrai:

Aprēķini matemātiskā paketē Mat lab

Matemātiskā paketē atbilstoši uzdevuma nosacījumiem tika uzzīmēts funkcijas grafiks un, izmantojot simbolisku risinājumu, tika atrasta vienādojuma sakne ( atrisināt ) un skaitliski, izmantojot iebūvētās funkcijas: fzero un fsolve . Lai aprakstītu savu funkciju, es izmantoju faila funkciju.

Nākamajā attēlā parādīts funkcijas grafiks:


Es izmantoju komandu rakstīšanai
M-fails:


Komandu logā tika iegūti šādi rezultāti:

r 1 =

r 2 =

r 3 =

r 4 =

8.0000

r5 =

7.9979 -8.0000


Ziņojums par vienādojuma saknes aptuvenās vērtības aprēķināšanas rezultātiem programmā MS Excel.

MS Excel Aptuvenā vienādojuma saknes vērtība tika aprēķināta, izmantojot iebūvētās iespējas “Parametru izvēle” un “Risinājumu meklēšana”. Lai izvēlētos sākotnējo tuvinājumu, es vispirms izveidoju diagrammu.

Aprēķinu rezultāti, izmantojot parametru atlasi

x =-9 (pamatojoties uz diagrammu)

Parametru atlases izmantošanas rezultātā tika atrasta sakne x = -8,01.


Aprēķinu rezultāti, izmantojot risinājumu Search for Solutions

Tika izvēlēta sākotnējā tuvināšana x =-9 (pamatojoties uz diagrammu)


Pēc izpildes tika iegūts šāds rezultāts:

Risinājuma atrašana man deva jēgu x = -8,00002


Delphi vidē izveidotās aplikācijas apraksts.

Veidojot aplikāciju vidē Delfos Interfeiss nodrošināja funkcijas veida un grafika displeju. Nelineāra vienādojuma saknes atrašana tika īstenota, izmantojot trīs metodes: dihotomijas metodi, Horda metodi un Ņūtona metodi. Atšķirībā no aprēķina iekšā Excel kur tika atrastas saknes, izvēloties parametrus un meklējot risinājumu, programma nodrošina lietotājam iespēju ievadīt aprēķina precizitāti. Aprēķinu rezultāti tiek parādīti gan lietojumprogrammas logā, gan teksta failā.


Bloku shēmas, kas realizē skaitliskās metodes

Dihotomijas metodes blokshēma:


Akordu metodes blokshēma:


Ņūtona metodes blokshēma:

Programmu saraksts

vienība Unit1;

saskarne

lietojumiem

Windows, ziņojumi, SysUtils, varianti, klases, grafika, vadīklas, veidlapas,

Dialogi, TeEngine, sērijas, ExtCtrl, TeeProcs, diagramma, izvēlnes, OleCtnrs,

StdCtrls, AxCtrls, OleCtrls, VCF1, Math;

veids

TForm1 = klase (TForm)

GroupBox1: TGroupBox;

OleContainer2: TOleContainer;

MainMenu1: TMainMenu;

N1: TMenuItem;

Diagramma1:Tdiagramma;

Series1: TPointSeries;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

Label1: TLabel;

Edit1: TEdit;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

GroupBox4: TGroupBox;

Label2: TLabel;

Label3: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Label4: TLabel;

Edit5: TEdit;

Label5: TLabel;

Edit7: TEdit;

Label7: TLabel;

F1Book1: TF1Book;

F1Book2: TF1Book;

F1Book3: TF1Book;

F1Book4: TF1Book;

Procedūra N1Click(Sūtītājs: TObject);

Procedūra N3Click(Sūtītājs: TObject);

Procedūra FormCreate(Sūtītājs: TObject);

Procedūra N4Click(Sūtītājs: TObject);

Procedūra N5Click(Sūtītājs: TObject);

Privāts

(Privātas deklarācijas)

Publisks

(Publiskās deklarācijas)

Beigas;

konst

xmin:real=-20;

xmax:real=20;

Form1: TForm1;

X,y,t,a,b,cor:real;

I,n:integer;

Fail:textfile;

īstenošana

($R *.dfm)

funkcija f(x:real):real;

sākt

f:=(8+x)/(x*sqrt(sqr(x)-4));

beigas;

funkcija f1(x:real):real;

sākt

f1:=(-jauda(x,3)-16*x*x+32)/(x*X*sqrt(jauda(x*x-4,3)));

beigas;

procedura metoddix(ta,tb,eps:real;var xk:real;var kolvo: integer);

sākt

kolvo:=0;

atkārtojiet

xk:=(ta+tb)/2;

kolvo:=kolvo+1;

Form1.F1book1.NumberRC:=xk;

Form1.F1book1.NumberRC:=f(xk);

ja f(ta)*f(xk)<0 then tb:=xk

else ta:=xk;

līdz (abs(f(xk))<=eps);

beigas;

procedūra metodhord(ta,tb,eps:real;var xk:real;var kolvo: integer);

sākt

kolvo:=0;

atkārtojiet

xk:= ta-f(ta)*(ta-tb)/(f(ta)-f(tb));

kolvo:=kolvo+1;

Form1.F1book2.NumberRC:=xk;

Form1.F1book2.NumberRC:=f(xk);

ja f(ta)*f(xk)<0 then tb:=xk

else ta:=xk;

līdz (abs(f(xk))<=eps);

beigas;

procedūra metodnyutona(ta,eps:real;var xk:real;var kolvo: integer);

sākt

kolvo:=0;

atkārtojiet

xk:= ta-f(ta)/f1(ta);

ta:=xk;

kolvo:=kolvo+1;

Form1.F1book3.NumberRC:=xk;

Form1.F1book3.NumberRC:=f(xk);

līdz (abs(f(xk))<=eps);

beigas;

procedūra TForm1.N1Click(Sūtītājs: TObject);

sākt

x:=xmin;

i:=0;

kamēr x<=xmax do

sākt

ja abs(x)>5, tad

Sāciet

I:=i+1;

Y:=f(x);

Series1.Addxy(x,y);

F1book4.NumberRC:=x;

F1book4.NumberRC:=y;

Beigas;

x:=x+0,5;

beigas;

beigas;

procedūra TForm1.N3Click(Sūtītājs: TObject); // Saknes aprēķināšana ar pusizīšanas metodi

sākt

F1book1.ClearRange(1,1,100,2,3);

t:=strtofloat(Rediģēt1.Teksts);

a:=strtofloat(Rediģēt2.Teksts);

b:=strtofloat(Rediģēt3.Teksts);

metoddix(a,b,t,cor,n);

F1book4.TextRC:="dihotomija";

F1book4.TextRC:=" root = ";

F1book4.NumberRC:=cor;

F1book4.TextRC:="y=";

F1book4.NumberRC:=f(cor);

F1book4.TextRC:=" iterāciju skaits = ";

F1book4.NumberRC:=n;

Pievienot(neizdevās);

Writeln(neizdevās);

Writeln(neizdevās," Aprēķins pēc dihotomijas metodes ");

aizvērtfails(neveiksmīgs);

beigas;

procedūra TForm1.FormCreate(Sender: TObject);

sākt

Assignfile(fails, report .txt");

Pārrakstīt (neizdevās);

Closefile(neizdevās);

beigas;

procedūra TForm1.N4Click(Sūtītājs: TObject); // Saknes aprēķināšana, izmantojot horda metodi

sākt

F1book2.ClearRange(1,1,100,2,3);

t:=strtofloat(Rediģēt1.Teksts);

a:=strtofloat(Rediģēt5.Teksts);

b:=strtofloat(Rediģēt4.Teksts);

metodhord(a,b,t,cor,n);

F1book4.TextRC:=" akordi ";

F1book4.TextRC:=" root = ";

F1book4.NumberRC:=cor;

F1book4.TextRC:="y=";

F1book4.NumberRC:=f(cor);

F1book4.TextRC:=" iterāciju skaits = ";

F1book4.NumberRC:=n;

Assignfile(fails, report .txt");

Pievienot(neizdevās);

Writeln(neizdevās);

Writeln(neizdevās," Aprēķins, izmantojot horda metodi ");

writeln(fail,"Aprēķinu precizitāte = ",t:10:7);

Writeln(neizdevās,"Sākotnējā tuvināšana:a = ",a:8:3," b = ",b:8:3);

writeln(fail, " Sakne atrasta : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

writeln(fail, "Iterāciju skaits = ",n);

aizvērtfails(neveiksmīgs);

beigas;

procedura TForm1.N5Click(Sender: TObject); // Saknes aprēķināšana, izmantojot Ņūtona metodi

sākt

F1book3.ClearRange(1,1,100,2,3);

t:=strtofloat(Rediģēt1.Teksts);

a:=strtofloat(Rediģēt7.Teksts);

metodnyutona(a,t,cor,n);

F1book4.TextRC:="Ņūtons";

F1book4.TextRC:=" root = ";

F1book4.NumberRC:=cor;

F1book4.TextRC:="y=";

F1book4.NumberRC:=f(cor);

F1book4.TextRC:=" iterāciju skaits = ";

F1book4.NumberRC:=n;

Assignfile(fails, report .txt");

Pievienot(neizdevās);

Writeln(neizdevās);

Writeln(neizdevās," Aprēķins pēc Ņūtona metodes ");

writeln(fail,"Aprēķinu precizitāte = ",t:10:7);

Writeln(neizdevās,"Sākotnējā tuvināšana:a = ",a:8:3," b = ",b:8:3);

writeln(fail, " Sakne atrasta : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

writeln(fail, "Iterāciju skaits = ",n);

Closefile(neizdevās);

beigas;

beigas.


Lietojumprogrammas loga attēls

Sākotnējais interfeiss izskatās šādi:

Pēc aprēķinu veikšanas plkst E<= 0,001:

Fails “Ziņojums. txt.":


Iegūto rezultātu analīze

Saskaņā ar kursa darba uzdevumu matemātiskajā paketē atradu nelineārā vienādojuma sakni ( x =-8) un tika izveidots grafiks.

Izklājlapās vienādojuma sakne tika atrasta, izmantojot divas iebūvētās iespējas “Parameter Selection” un “Solution Search”, savukārt “Solution Search” joprojām sniedza precīzāku vērtību. Rezultāti praktiski sakrita ar rezultātiem Matlab.

Atrast sakni vidē Delfos lietotājam ir iespēja ievadīt aprēķina precizitāti no tastatūras. Programmas testēšana parādīja, ka ar to pašu doto aprēķinu precizitāti Ņūtona metode atrod vēlamo vērtību mazākā iterāciju skaitā.

Tādējādi aprēķini parādīja, ka nelineāro vienādojumu var atrisināt dažādos medijos. Darbietilpīgākais aprēķins izrādījās vidē Delfos.


Literatūra.

  1. Amosovs A.A. un citas skaitļošanas metodes inženieriem M., Augstskola, 1994. g.
  2. Faronovs V.V. Delfos. Programmēšana augsta līmeņa valodā

3. Volkenbahs D . Microsoft Office Excel 2007.Lietotāja Bībele

Volkovs V.B. Skaidra apmācība programmai Excel 2010

Nodaļa: ASOIiU

Laboratorijas darbi

Par tēmu: NELINEĀRA VIENĀDOJUMA SAKNES ATRAŠANĀS. NELINEĀRU VIENĀDĀJUMU SISTĒMAS RISINĀŠANAS METODES

Maskava, 2008


NELINEĀRA VIENĀDOJUMA SAKNES ATRAŠANĀS

1. Problēmas izklāsts

Dota funkcija, kas ir nepārtraukta kopā ar vairākiem tās atvasinājumiem. Jums jāatrod visas vai dažas vienādojuma reālās saknes

Šis uzdevums ir sadalīts vairākos apakšuzdevumos. Pirmkārt, ir jānosaka sakņu skaits, jāpārbauda to raksturs un atrašanās vieta. Otrkārt, atrodiet aptuvenās sakņu vērtības. Treškārt, atlasiet mūs interesējošās saknes un aprēķiniet tās ar nepieciešamo precizitāti e. Pirmā un otrā problēma parasti tiek atrisināta ar analītiskām vai grafiskām metodēm. Gadījumā, ja tiek meklētas tikai (1) vienādojuma reālās saknes, ir lietderīgi sastādīt funkciju vērtību tabulu. Ja divos blakus esošajos tabulas mezglos funkcijai ir dažādas zīmes, tad starp šiem mezgliem atrodas nepāra vienādojuma sakņu skaits (vismaz viena). Ja šie mezgli ir tuvu, tad, visticamāk, starp tiem ir tikai viena sakne.

Atrastās aptuvenās sakņu vērtības var precizēt, izmantojot dažādas iteratīvas metodes. Apskatīsim trīs metodes: 1) dihotomijas metodi (jeb segmenta dalīšanu uz pusēm); 2) vienkāršā iterācijas metode un 3) Ņūtona metode.


2. Problēmas risināšanas metodes

2.1. Segmenta dalīšanas uz pusēm metode

Vienkāršākā metode nelineārā vienādojuma (1) saknes atrašanai ir pusīšu metode.

Ļaujiet segmentam dot nepārtrauktu funkciju. Ja funkcijas vērtībām segmenta galos ir dažādas zīmes, t.i. tas nozīmē, ka šajā segmentā ir nepāra skaits sakņu. Noteiktības labad lai ir viena sakne. Metodes būtība ir katrā iterācijā uz pusi samazināt segmenta garumu. Atrodiet segmenta vidu (sk. 1. att.) Mēs aprēķinām funkcijas vērtību un atlasām segmentu, kurā funkcija maina savu zīmi. Mēs atkal sadalām jauno segmentu uz pusēm. Un mēs turpinām šo procesu, līdz segmenta garums ir vienāds ar iepriekš noteikto kļūdu saknes e aprēķināšanā. Vairāku secīgu tuvinājumu konstruēšana, izmantojot formulu (3), parādīta 1. attēlā.

Tātad, dihotomijas metodes algoritms:

1. Iestatiet segmentu un kļūdu e.

2. Ja f(a) un f(b) ir vienādas zīmes, parādiet ziņojumu par to, ka nav iespējams atrast sakni un apstāties.


1. att. Metode segmenta dalīšanai uz pusēm, lai atrisinātu vienādojumu formā f(x)=0.

3. Pretējā gadījumā aprēķiniet c=(a+b)/2

4. Ja f(a) un f(c) ir dažādas zīmes, liec b=c, pretējā gadījumā a=c.

5. Ja jaunā segmenta garums ir , tad aprēķiniet saknes vērtību c=(a+b)/2 un apstājieties, pretējā gadījumā pārejiet uz 3. darbību.

Tā kā N soļos segmenta garums tiek samazināts 2 N reizes, norādītā kļūda saknes e atrašanā tiks sasniegta iterācijās.

Kā redzat, konverģences līmenis ir zems, bet metodes priekšrocības ietver iteratīvā procesa vienkāršību un beznosacījumu konverģenci. Ja segmentā ir vairāk nekā viena sakne (bet nepāra skaitlis), tad viena vienmēr tiks atrasta.

komentēt. Lai noteiktu intervālu, kurā atrodas sakne, ir nepieciešama papildu funkcijas analīze, pamatojoties vai nu uz analītiskām aplēsēm, vai uz grafiskā risinājuma metodes izmantošanu. Varat arī organizēt funkciju vērtību uzskaiti dažādos punktos, līdz ir izpildīts funkcijas mainīgās zīmes nosacījums

2.2 Vienkārša iterācijas metode

Izmantojot šo metodi, sākotnējais nelineārais vienādojums (1) ir jāpārraksta formā

Apzīmēsim šī vienādojuma sakni ar C *. Lai ir zināms saknes sākotnējais tuvinājums. Aizvietojot šo vērtību vienādojuma (2) labajā pusē, mēs iegūstam jaunu tuvinājumu

utt. (n+1)-solim iegūstam šādu tuvinājumu

(3)

Tādējādi pēc formulas (3) iegūstam secību С 0 , С 1 ,…, С n +1 , kas tiecas uz sakni С * kā n®¥. Iteratīvais process apstājas, ja divu secīgu iterāciju rezultāti ir tuvi, t.i., nosacījums ir izpildīts

(4)


Izpētīsim skaitliskās secības (C n ) stāvokli un konverģences ātrumu kā n®¥. Atcerēsimies konverģences ātruma definīciju. Secībai (C n), kas konverģē uz robežu C *, konverģences ātrums ir kārtībā a, ja pie n®¥ nosacījums ir izpildīts

Pieņemsim, ka tai ir nepārtraukts atvasinājums, tad kļūdu (n+1) iterācijas solī e n +1 =C n +1 -C * =g(C n)-g(C *) var attēlot kā sērijas

e n+1 » C n+1 – C * = g¢(C *) (C n -C *) +¼@ g¢(C *) e n +¼

Tādējādi mēs secinām, ka, ja nosacījums ir izpildīts

çg¢(C *) ç<1(6)

secība (3) konverģēs uz sakni ar lineāro ātrumu a=1. Nosacījums (6) ir vienkāršās iterācijas metodes konverģences nosacījums. Acīmredzot metodes panākumi ir atkarīgi no tā, cik labi ir izvēlēta funkcija.

Piemēram, lai iegūtu kvadrātsakni, t.i., atrisinātu vienādojumu formā x =a 2, varat ievietot

x=g 1 (x)=a/x (7a)


x=g 2(x)=(x+a/x)/2.(7b)

To ir viegli parādīt

½g 1 "(C)½=1,

½g 2" (C)½<1.

Tādējādi pirmais process (7a) nekonverģē vispār, un otrais (7b) konverģē jebkurai sākotnējai tuvināšanai C 0 >0.

Rīsi. 2. Vienkāršās iterācijas metodes grafiskā interpretācija vienādojuma formā x=g(x) risināšanai.

Vairāku secīgu tuvinājumu konstruēšana, izmantojot formulu (3)

C 0, C 1, …, C n = C *

parādīts 2. attēlā.

2.3. Ņūtona metode

Literatūrā šo metodi bieži sauc par tangentes metodi, kā arī par linearizācijas metodi. Izvēlamies sākotnējo tuvinājumu C 0. Pieņemsim, ka C 0 novirze no saknes C * patiesās vērtības ir maza, tad, izvēršot f(C *) Teilora rindā punktā C 0, iegūstam

f(C *) = f(C 0) + f¢(C 0) (C * -C 0) + ¼ (8)

Ja f¢(C 0) ¹ 0, tad (8) mēs varam ierobežot sevi ar terminiem, kas ir lineāri DC = C-C 0. Ņemot vērā, ka f(C *)=0, no (9) varam atrast šādu saknes tuvinājumu

C 1 = C 0 – f (C 0) / f¢ (C 0)

vai (n+1) tuvinājumam

C n+1 = C n – f (C n) / f ¢ (C n) (9)

Lai beigtu iterācijas procesu, varat izmantot vienu no diviem nosacījumiem

çC n +1 – C n ç

çf(C n +1) ç

Ņūtona metodes konverģences izpēte tiek veikta līdzīgi kā iepriekšējā gadījumā. Neatkarīgi iegūstiet to, kad nosacījums ir izpildīts

½f "" (C)/2f" (C)½<1.

Ņūtona metodei ir kvadrātiskais konverģences ātrums ().

Rīsi. 3. Ņūtona metodes grafiskā interpretācija formas f(x)=0 vienādojuma atrisināšanai.

Vairāku secīgu tuvinājumu konstruēšana, izmantojot formulu (9)

C 0, C 1, …, C n = C *

parādīts 3. attēlā.

1. Dotai funkcijai f(x)

· noteikt vienādojuma f(x)=0 reālo sakņu skaitu, to atrašanās vietu un aptuvenās vērtības (veidojiet grafiku vai izdrukājiet vērtību tabulu).

· Aprēķināt vienu no atrastajām saknēm (jebkuru) ar precizitāti e=0,5*10 -3.

Aprēķiniem izmantojiet metodi, lai segmentu dalītu uz pusēm (noteiktu iterāciju skaitu), un pēc tam atrodiet to pašu sakni, izmantojot Ņūtona metodi (nosakot arī iterācijas soļu skaitu).

Salīdziniet savus rezultātus.

Uzdevuma iespējas

1. x 3 – 3 x 2 + 6 x – 5 = 0 2. x 3 + sinx – 12x-1 = 0

3. x 3 – 3 x 2 – 14 x – 8 = 0 4. 3x + cos x + 1 =0

5. x 2 +4sin x –1 = 0 6. 4x –ln x = 5

7. x 6 –3 x 2 + x – 1 = 0 8. x 3 – 0,1 x 2 +0,3 x –0,6 = 0

9.10. (x -1) 3 + 0,5e x = 0

11.12. x 5 – 3 x 2 + 1 = 0

13. x 3 – 4 x 2 – 10 x –10 = 0 14.

15. 16.

19. 20.

23. 24. x 4 — 2,9 x 3 + 0,1 x 2 + 5,8 x x 4,2 =0

25. x 4 +2,83 x 3 - 4,5 x 2 -64x-20=0 26.

NELINEĀRU VIENĀDĀJUMU SISTĒMAS RISINĀŠANAS METODES

1. Problēmas formulēšana

Jāatrisina n nelineāru vienādojumu sistēma:

(1)

Nav tiešu metožu sistēmas (1) risināšanai. Tikai dažos gadījumos šo sistēmu var atrisināt tieši. Piemēram, divu vienādojumu gadījumā dažreiz ir iespējams izteikt vienu nezināmu mainīgo ar citu un tādējādi reducēt problēmu līdz viena nelineāra vienādojuma atrisināšanai attiecībā pret vienu nezināmo.

Vienādojumu sistēmu (1) var īsi uzrakstīt vektora formā:

. (2)

Vienādojumam (2) var būt viena vai vairākas saknes definīcijas D jomā. Ir nepieciešams noteikt vienādojuma sakņu esamību un atrast šo sakņu aptuvenās vērtības. Sakņu atrašanai parasti tiek izmantotas iteratīvās metodes, kurās sākotnējās aproksimācijas izvēlei ir fundamentāla nozīme. Sākotnējā tuvināšana dažreiz ir zināma no fiziskiem apsvērumiem. Divu nezināmo gadījumā sākotnējo aproksimāciju var atrast grafiski: konstruē līknes f 1 (x 1 , x 2) = 0 un f 2 (x 1 , x 2) = 0 uz plaknes (x 1 , x 2) un atrodiet to krustpunktus. Trīs vai vairākiem mainīgajiem lielumiem (kā arī sarežģītām saknēm) nav apmierinošas metodes sākotnējās tuvinājuma izvēlei.

Apskatīsim divas galvenās iteratīvās metodes (1), (2) vienādojumu sistēmas risināšanai - vienkāršās iterācijas metodi un Ņūtona metodi.

2. Nelineāru vienādojumu sistēmas risināšanas metodes

2.1.Vienkāršā iterācijas metode

Sistēmu (1) attēlosim formā

(3)

vai vektora formā:

(4)

Vienkāršās iterācijas metodes algoritms ir šāds. Izvēlēsimies kādu nulles tuvinājumu

Mēs atrodam nākamo tuvinājumu, izmantojot formulas:


vai sīkāk:

(5)

Iteratīvais process (5) turpinās, līdz izmaiņas visos nezināmajos divās secīgās iterācijās kļūst mazas, t.i.

Praksē pēdējā nosacījuma vietā bieži tiek izmantota nevienlīdzība:

(6)

kur ir n-dimensiju vektora vidējā kvadrātiskā norma , t.i.

Izmantojot šo metodi, panākumus lielā mērā nosaka veiksmīga sākotnējās tuvinājuma izvēle: tai jābūt pietiekami tuvu patiesajam risinājumam. Pretējā gadījumā iteratīvais process var nesaplūst. Ja process saplūst, tad tā konverģences ātrums ir lineārs.

2.2. Ņūtona metode

Tulkotajā literatūrā var atrast nosaukumu Ņūtona-Rafsona metode. Šai metodei ir daudz ātrāka konverģence nekā vienkāršajai iterācijas metodei.

Ļaujiet zināmu kādu tuvinājumu saknei, tā ka

Tad sākotnējo sistēmu (2) var uzrakstīt šādi:

Izvēršot vienādojumu (7) Teilora sērijā punkta tuvumā un ierobežojot sevi ar lineāriem noteikumiem novirzē , mēs iegūstam:

vai koordinātu formā:

(8)

Sistēmu (8) var pārrakstīt šādi:


(9)

Iegūtā sistēma (9) ir lineāru algebrisko vienādojumu sistēma inkrementiem

Funkciju F 1 , F 2 , …, F n un to atvasinājumu vērtību (9) aprēķina

.

Sistēmas (9) determinants ir Jacobian J:

(10)

Lai pastāvētu unikāls vienādojumu sistēmas (9) risinājums, tam ir jāatšķiras no nulles. Atrisinot sistēmu (9), piemēram, izmantojot Gausa metodi, mēs atrodam jaunu tuvinājumu:

.

Pārbaudīsim stāvokli (6). Ja tas nav apmierināts, atrodam Jakobu (10) ar jaunu tuvinājumu un vēlreiz atrisinām (9), tādējādi atrodot 2. tuvinājumu utt.

Iterācijas apstājas, tiklīdz ir izpildīts nosacījums (6).

Izmantojot Ņūtona metodi, atrodiet risinājumus nelineāru vienādojumu sistēmai ar noteiktu precizitāti. Izpētīt iteratīvā procesa konverģenci.

Uzdevuma iespējas

1 2

3 4

5 6

7 8

9 10

11 12

13 14.

15. 16.

17. 18.

19. 20.

21. 22.