Teória nelineárnych rovníc a metóda polovičného delenia.

Metóda polovičného delenia

Predpokladáme, že oddelenie koreňov rovnice f(X) = 0 sa vykonáva aj na segmente [ a, b] existuje jeden koreň, ktorý musí byť spresnený s chybou ε. Ako počiatočnú aproximáciu koreňa vezmeme stred tohto segmentu: c 0= (a+ b) / 2 (obr. 4):

Ryža. 4. Metóda polovičného delenia.

Potom skúmame hodnotu funkcie f(X) na koncoch segmentov [ a, c 0] A [ c 0, b]. To zo segmentov, na ktorých koncoch f(X) nadobúda hodnoty rôznych znakov, obsahuje požadovaný koreň; preto to berieme ako nový segment [ 1, b 1] (na obr. 4 ide o segment [ a, c 0]). Druhá polovica segmentu [ a, b], na ktorých f(X) nezmení znamienko, zahodíme ho. Ako ďalšiu aproximáciu koreňa vezmeme stred nového segmentu
c 1= (1+ b 1) / 2 atď. teda k-tá aproximácia sa vypočíta ako

Po každej iterácii sa segment, na ktorom sa nachádza koreň, rozdelí na polovicu a potom k iterácie v 2 k raz:

Iteračný proces by sa mal ukončiť, keď sa dosiahne špecifikovaná presnosť, t.j. keď je splnená podmienka |x 0 – c k |< ε

Pretože koreň x0 patrí do segmentu [ a k, b k], A c k je stred tohto segmentu, potom hodnota |x 0 – c k | bude vždy menšia ako polovica dĺžky od rezu [ a k, b k] (pozri obr. 4):

Preto podmienka |x 0 – c k |< ε sa vykoná, ak

| b k – a k |< 2ε

Iteračný proces teda musí pokračovať až do stavu | b k – a k |< 2ε .

Na rozdiel od väčšiny ostatných metód spresňovania, metóda bisekcie vždy konverguje, t.j. má bezpodmienečnú konvergenciu. Okrem toho je to veľmi jednoduché, pretože vyžaduje iba výpočet hodnôt funkcie f(X), a preto sa dá použiť na riešenie akýchkoľvek rovníc.

Metóda polovičného delenia je však dosť pomalá. Každým krokom sa chyba približnej hodnoty znižuje na polovicu, t.j.

preto je táto metóda metódou s lineárnou konvergenciou.

Poznámka. Bisekčná metóda nevyžaduje znalosť ďalších informácií o funkcii na celom intervale [ a, b]. Napríklad sa nevyžaduje, aby bola funkcia diferencovateľná. Aj pre nespojité funkcie má uvažovaná metóda zaručenú konvergenciu. Ak je na tomto intervale niekoľko koreňov rovnice, nájde sa jeden z koreňov.

akordová metóda

Uvažovaná metóda, ako aj metóda polovičného delenia sú navrhnuté tak, aby spresnili koreň na intervale [ a, b f(X) nadobúda hodnoty rôznych znakov. Ďalšia aproximácia, na rozdiel od metódy polovičného delenia, sa nevykonáva v strede segmentu, ale v bode X, kde priamka (tetiva) pretína os úsečky, vedenú cez body A A IN(obr. 5).

Ryža. 5. Metóda akordov.

Napíšeme rovnicu priamky prechádzajúcej bodmi A A IN:

Pre priesečník priamky s osou x ( X= x0, r= 0) dostaneme rovnicu

Ako nový interval pre pokračovanie iteračného procesu zvolíme jeden z dvoch [ a, x0] A [ x 0, b], na koncoch ktorého je funkcia f(X) nadobúda hodnoty rôznych znakov. Pre posudzovaný prípad (obr. 5) zvolíme segment [ a, x0], pretože
f(a) × f(x0)< 0 . Ďalšou iteráciou je definovanie novej aproximácie x 1 ako priesečníky tetivy AB 1 s osou x atď.

Proces zjemňovania koreňa ukončíme, keď vzdialenosť medzi po sebe nasledujúcimi aproximáciami bude menšia ako špecifikovaná presnosť, t.j.

x k +1 – x k< ε

Poznámka. Akordová metóda a bisekčná metóda sú veľmi podobné. Navyše, druhý z nich v niektorých prípadoch umožňuje rýchlejšiu konvergenciu iteračného procesu. Obe metódy nevyžadujú znalosť ďalších informácií o funkcii na celom intervale [ a, b]. Napríklad sa nevyžaduje, aby bola funkcia diferencovateľná. Aj pre nespojité funkcie majú uvažované metódy zaručenú konvergenciu.

Newtonova metóda (metóda dotyčnice)

Newtonova metóda je navrhnutá aj na spresnenie koreňa na intervale [ a, b], na koncoch ktorého je funkcia f(X) nadobúda hodnoty rôznych znakov. Táto metóda však používa ďalšie informácie o funkcii f(X). Vďaka tomu majú rýchlejšiu konvergenciu, no zároveň sú použiteľné pre užšiu triedu funkcií a ich konvergencia nie je vždy zaručená.

Pri oddelení koreňov funkcie je potrebné vziať do úvahy, že aplikácia Newtonovej metódy vyžaduje, aby funkcia bola monotónna a dvakrát diferencovateľná a druhá derivácia f''(x) na tomto intervale by sa nemalo meniť znamienko.

Konvergencia iteračnej postupnosti získaná Newtonovou metódou závisí od výberu počiatočnej aproximácie x0. Vo všeobecnosti, ak interval [ a, b] obsahujúci koreň a je známe, že funkcia f(X) je na tomto intervale monotónna, potom ako počiatočná aproximácia x0 môžete si vybrať hranicu segmentu [ a, b], kde sa znaky funkcie zhodujú f(X) a druhá derivácia f''(x). Takáto voľba počiatočnej aproximácie zaručuje konvergenciu Newtonovej metódy za podmienky, že funkcia je monotónna na koreňovom segmente lokalizácie.

Dajte nám vedieť počiatočnú aproximáciu ku koreňu x0. V tomto bode nakreslite dotyčnicu ku krivke r= f(X) (obr. 6). Táto dotyčnica bude pretínať os x v bode, ktorý budeme považovať za ďalšiu aproximáciu.

Laboratórne práce

NUMERICKÉ ZISTENIE IZOLOVANÉHO KOREŇA NELINEÁRNEJ ROVNICE

Riešenie rovníc - algebraických alebo transcendentálnych - je jednou zo základných úloh aplikovanej analýzy, ktorej potreba vyvstáva v mnohých a rôznorodých oblastiach fyziky, mechaniky, techniky a ďalších oblastí.

Nechajte rovnicu

f (X) = 0. (1)

Akékoľvek číslo X*, obrátenie funkcie f(X) na nulu, t.j. jeden v ktorom f(X*) = 0, sa nazýva koreň rovnice (1) alebo nula funkcie f(X).

Problém numerického hľadania skutočných koreňov rovnice (1) zvyčajne spočíva v hľadaní približných koreňov, t.j. nájdenie dostatočne malých susedstiev uvažovanej oblasti, ktorá obsahuje jednu hodnotu koreňa a ďalej výpočet koreňov s daným stupňom presnosti.

  1. Funkcia f(X) je súvislý na segmente [ a, b] spolu s jeho derivátmi 1. a 2. rádu;
  2. hodnoty f(X) na koncoch segmentu majú rôzne znamienka ( f(a) * f(b) < 0).

3. Prvá a druhá derivácia f"(X) A f ""(X) zachovávajú určité znamienko počas celého intervalu.

Podmienky 1) a 2) zaručujú, že v intervale [ a, b] existuje aspoň jeden koreň a z 3) vyplýva, že f(X) je na tomto intervale monotónny, a preto bude koreň jedinečný.

Problém nájsť koreň rovnice f(X) = 0 iteračnou metódou pozostáva z dvoch fáz:

1. oddelenie koreňov- nájdenie približnej hodnoty koreňa alebo segmentu, ktorý ho obsahuje;

2. zjemnenie približných koreňov- ich uvedenie na daný stupeň presnosti.

Proces oddeľovania koreňov začína stanovením znakov funkcie f(X) na hranici X=a A X=b bodov v oblasti svojej existencie.

Príklad 1 . Oddeľte korene rovnice:

X 3 – 6X + 2 = 0 (2)

Urobme si približnú schému:

X - ∞ - 3 - 1 + ∞
f(X) + + + +

Preto rovnica (2) má tri reálne korene ležiace v intervaloch [-3, -1] a .

Približné hodnoty koreňov ( počiatočné aproximácie) možno poznať aj z fyzikálneho významu úlohy, z riešenia podobného problému s odlišnými počiatočnými údajmi, alebo ho možno nájsť graficky.



Bežné v strojárskej praxi grafickým spôsobom určenie približných koreňov.

Berúc do úvahy, že skutočné korene rovnice (1) sú priesečníkmi grafu funkcie f(X) s osou x stačí funkciu nakresliť do grafu f(X) a označte priesečníky f(X) s osou oh, alebo označte na osi Oh segmenty obsahujúce jeden koreň.

Nech je koreň rovnice (1) izolovaný na intervale [ a, b]. Iteračný proces spresňovania počiatočnej aproximácie X 0 k presnému riešeniu spočíva v postupnom získavaní následnej aproximácie z predchádzajúcej (predchádzajúcich). Každý takýto krok je tzv iteráciu. Aplikácia jednej alebo druhej metódy závisí od dostupnej počiatočnej aproximácie X 0 ku koreňu, existencii a hladkosti funkčných derivácií f(X). V dôsledku iterácií sa nájde postupnosť približných hodnôt koreňa X 1 , X 2 , ..., x n . Ak tieto hodnoty s nárastom počtu iterácií n priblížiť sa k skutočnej hodnote koreňa, potom hovoria, že iteračný proces konverguje.

Pri iteračných metódach je dôležité zvoliť kritérium konca počítania. Ak je funkcia f(X) v posudzovanom regióne sa mení pomaly, t.j. derivácia v absolútnej hodnote menšia ako jednota, potom by mal byť iteračný proces ukončený splnením podmienky

| x k +1 – X k |< ε ,

Kde X k , x k+1 - postupné priblíženia ku koreňu, ε > 0 je špecifikovaná presnosť konca iteračného procesu. Ak sa funkcia rýchlo zmení, t.j.

| f'(X) | ≥ 1, potom by mal byť iteračný proces ukončený, keď nastane podmienka

| f(x k) | < ε .

Metóda polovičného delenia

Táto metóda je jednou z najjednoduchších iteračných metód na výpočet skutočného koreňa rovnice (1) na segmente [ α , β ]. Uplatňuje sa, keď f(X) je nepretržitý na [ α , β ] a na koncoch tohto segmentu nadobúda hodnoty rôznych znakov, t.j.

f(α )f(β ) < 0.

Výpočtová schéma metódy. Úsečka [ α , β ] sa delí na polovicu a ak f≠ 0, potom vyberte jednu z polovíc , , na koncoch ktorých je funkcia f(X) nadobúda hodnoty rôznych znakov (v ňom je koreň). Výsledný segment sa opäť rozdelí na polovicu a opísané akcie sa opakujú, kým sa nezíska koreň s danou presnosťou iteračného procesu. Proces končí, keď je splnená podmienka

| x k +1 – X k |< ε .

Počet iterácií k v bisekčnej metóde sa určuje podľa vzorca

k .

Príklad 1. Na výpočet koreňa rovnice použite metódu bisekcie

X 3 + 3X 2 – 1 = 0 (2)

s presnosťou 0,01 na segmente .

Skontrolujeme podmienky použiteľnosti metódy. Funkcia f(X) je polynóm tretieho stupňa (spojitý) a f(0)f(1) < 0.

Postupne vypočítavame aproximácie ku koreňu a kontrolujeme ich presnosť:

X 0 = 0 f(0)= 1 [ –, + ]
X 1 = 1 |0 – 1| > 0,01 f(1)=3
X 2 = 0,5 |1 – 0,5|> 0,01 f(0,5)= 0,125
X 3 = 0,75 |0,5 – 0,75|> 0,01 f(0,75)≈1,109
X 4 = 0,625 |0,5 – 0,625|> 0,01 f(0,625)≈0,416
X 5 = 0,5625 |0,5 – 0,5625|> 0,01 f(0,5625)≈0,127
X 6 = 0,53125 |0,5 – 0,53125|> 0,01 f(0,53125)≈ 0,0034
X 7 = 0,546875 |0,53125 – 0,546875|> 0,01 f(0, 546875)≈0,0608
X 8 = 0,5390625 |0,53125 – 0,5390625|≤ 0,01 f(0, 5390625)≈0,0284

Zoberme si za spresnenú hodnotu koreňa hodnotu


Metóda polovičného delenia(ostatné mená: bisekčná metóda, metóda dichotómie) na vyriešenie rovnice f(X) = 0 je nasledovné. Nech je známe, že funkcia je spojitá a preberá konce segmentu
[a, b] hodnoty rôznych znakov, potom je koreň obsiahnutý v intervale ( a, b). Interval rozdelíme na dve polovice a potom zvážime polovicu, na konci ktorej funkcia nadobúda hodnoty rôznych znamienok. Tento nový segment opäť rozdelíme na dve rovnaké časti a vyberieme z nich tú, ktorá obsahuje koreň. Tento proces pokračuje, kým dĺžka nasledujúceho segmentu nebude menšia ako požadovaná chybová hodnota. Presnejšie vysvetlenie algoritmu bisekčnej metódy:

1) Vypočítajte X = (a+ b)/2; vypočítať f(X);

2) Ak f(X) = 0, potom prejdite na krok 5;

3) Ak f(X)∙f(a) < 0, то b = X, inak a = X;

4) Ak | ba| > ε, prejdite na položku 1;

5) Výstupná hodnota X;

Príklad 2.4. Spresnite metódou bisekcie s presnosťou 0,01 koreňa rovnice ( X– 1) 3 = 0, patriace do segmentu .

Riešenie v programe excel:

1) V bunkách A 1:F 4 uvádzame zápis, počiatočné hodnoty a vzorce, ako je uvedené v tabuľke 2.3.

2) Každý vzorec skopírujeme do spodných buniek značkou výplne až po desiaty riadok, t.j. B 4 - predtým B 10, C 4 - predtým C 10, D 3 - predtým D 10, E 4 - predtým E 10, F 3 - predtým F 10.

Tabuľka 2.3

A B C D E F
f(a)= =(1-B3)^3
k a X f(x) b b-a
0,95 =(B3+E3)/2 =(1-C3)^3 1,1 =E3-B3
=IF(D3=0,C3, IF(C$1*D3<0;B3;C3)) =IF(C$1*D3>0; E3;C3)

Výsledky výpočtu sú uvedené v tabuľke. 2.4. V stĺpci F kontrola hodnôt dĺžky intervalov ba. Ak je hodnota menšia ako 0,01, potom sa v tomto riadku našla približná hodnota koreňa s danou chybou. Na dosiahnutie požadovanej presnosti bolo potrebných 5 iterácií. Približná hodnota odmocniny s presnosťou 0,01 po zaokrúhlení na tri desatinné miesta je 1,0015625 ≈ 1,00.

Tabuľka 2.4

A B C D E F
f(a)= 0,000125
k a X f(x) b b-a
0,95 1,025 -2E-05 1,1 0,15
0,95 0,9875 2E-06 1,025 0,075
0,9875 1,00625 -2E-07 1,025 0,0375
0,9875 0,996875 3.1E-08 1,00625 0,0187
0,996875 1,0015625 -4E-09 1,00625 0,0094
0,996875 0,9992188 4.8E-10 1,0015625 0,0047
0,99921875 1,0003906 -6E-11 1,0015625 0,0023
0,99921875 0,9998047 7,5E-12 1,000390625 0,0012

Vyššie uvedený algoritmus berie do úvahy možný prípad „trafenia koreňa“, t.j. rovnosť f(X) na nulu v ďalšej fáze. Ak v príklade 2.3 vezmeme segment , tak v prvom kroku sa dostaneme ku koreňu X= 1. Skutočne píšeme do bunky B 3 hodnota 0,9. Potom bude mať tabuľka výsledkov tvar 2.5 (uvedené sú len 2 iterácie).

Tabuľka 2.5

A B C D E F
f(a)= 0,001
k a X f(x) b b-a
0,9 1,1 0,2

Poďme tvoriť v programe excel užívateľsky definované funkcie f(x) a bisect(a, b, eps) na riešenie rovnice metódou polovičného delenia pomocou vstavaného jazyka Visual Basic. Ich popisy sú uvedené nižšie:

Funkcia f(Byval x)

Funkcia bisect(a, b, eps)

1 x = (a + b) / 2

Ak f(x) = 0, potom prejdite na 5

Ak f(x) * f(a)< 0 Then

Ak Abs(a - b) > eps, potom prejdite na 1

Funkcia f(x) definuje ľavú stranu rovnice a funkciu
bisect(a, b, eps) rozpolí koreň rovnice f(X) = 0. Všimnite si, že funkcia bisect(a, b, eps) používa volanie funkcie f(x). Tu je algoritmus na vytvorenie používateľom definovanej funkcie:

1) Vykonajte príkaz ponuky "Nástroje - Makro - Editor Visual Basic". Okno " Microsoft Visual Basic". Ak v tomto súbore programu excel makrá alebo užívateľom definované funkcie alebo procedúry ešte neboli vytvorené, toto okno bude vyzerať ako na obrázku 2.4.

2) Vykonajte príkaz ponuky "Vložiť - Modul" a zadajte texty funkčných programov, ako je znázornené na obrázku 2.5.

Teraz v bunkách hárku programu excel vytvorené funkcie môžete použiť vo vzorcoch. Napríklad vstúpme do bunky D 18 vzorec

Bisect(0,95;1;0,00001),

potom dostaneme hodnotu 0,999993896.

Ak chcete vyriešiť ďalšiu rovnicu (s inou ľavou stranou), musíte prejsť do okna editora pomocou príkazu „Nástroje - Makro - Editor Visual Basic» a jednoducho prepíšte popis funkcie f(x). Napríklad nájdime s presnosťou 0,001 koreň rovnice sin5 x+x 2 - 1 = 0, patriace do intervalu (0,4; 0,5). Ak to chcete urobiť, zmeňte popis funkcie

na nový popis

f = Sin(5 * x) + x^2 - 1

Potom v cele D 18 dostaneme hodnotu 0,441009521 (tento výsledok porovnajte s hodnotou koreňa intervalu (0,4; 0,5) zistenou v príklade 2,3!).

Riešiť rovnicu metódou polovičného delenia v programe Mathcad vytvoriť podprogram funkcie bisec(f, a, b, ε), kde:

f- názov funkcie zodpovedajúci ľavej strane rovnice f(X) = 0;

a, b- ľavý a pravý koniec segmentu [ a, b];

ε je presnosť približnej hodnoty odmocniny.

Riešenie príkladu v programe Mathcad:

1) Spustite program Mathcad. Uvádzame definíciu funkcie bisec(f, a, b, ε). Ak to chcete urobiť, pomocou klávesnice a panela s nástrojmi Grécke symboly píšeme bisec(f, a, b, ε):=. Za znakom priradenia ":=" na paneli nástrojov "Programovanie" kliknite kurzorom myši na ľavé tlačidlo "Pridať riadok". Za znakom priradenia sa zobrazí zvislá čiara. Ďalej zadajte text programu, ktorý je zobrazený nižšie, pomocou panela nástrojov "Programovanie" zadajte znak "←", operátor slučky zatiaľ čo, operátor prestávka a podmienený operátor ak je to inak.

2) Zavedieme definíciu funkcie f(X):=sin(5*x)+x^2–1 a potom vypočítajte hodnotu koreňa pomocou funkcie bisec pre dané hodnoty:
bisec(f, –0,8,–0,7,0,0001)=. Po znaku „=“ sa automaticky zobrazí koreňová hodnota vypočítaná programom -0,7266601563. Rovnakým spôsobom vypočítame zvyšok koreňov.

Nižšie je uvedený list Mathcad s definíciou funkcie bisec(f, a, b, ε) a výpočty:

Program uvádzame v jazyku C++ na vyriešenie rovnice f(X) = 0 metódou bisekcie:

#include

#include

double f(double x);

typedef double (*PF)(double);

double bisec(PF f,double a, double b,double eps);

dvojité a, b, x, eps;PF pf;

cout<< "\n a = "; cin >>a;

cout<< "\n b = "; cin >>b;

cout<< "\n eps = "; cin >>eps;

x = bisec(pf,a,b,eps); cout<< "\n x = " << x;

cout<< "\n Press any key & Enter "; cin >>a;

dvojité f(dvojité x)(

r = sin(5*x)+x*x-1;

double bisec (PF f, double a, double b, double eps)(

do(x = (a + b)/2;

if (f(x) == 0) break;

ak (f(x)*f(a)<0) b = x;

)pričom (fabs(b-a) > eps);

Funkcia v programe f(X) je definovaná na riešenie rovnice

hriech5 x+x 2 – 1 = 0

z príkladu 2.3. Výsledok programu na určenie odmocniny intervalu (0,4; 0,5) s presnosťou 0,00001 je uvedený nižšie (obrazovka počítača):

Stlačte ľubovoľný kláves a Enter

Posledný riadok je potrebný na prestávku na zobrazenie výsledku.

Nechaj f(X) je nepretržitá funkcia na [ a; b], .


Newtonova metóda (metóda dotyčnice)

Nechaj f(X) je dvakrát kontinuálne diferencovateľná funkcia na segmente [ a; b],
,
A
nemeňte znamienko na [ a; b].

Označiť podľa koniec segmentu, kde sú znaky
A
zladiť sa. Postupné aproximácie k presnému koreňu c nájsť podľa vzorca

Pre
.

Potom
je presný koreň rovnice (1).

Proces výpočtu sa zvyčajne zastaví, keď
sa ukáže byť menšia ako špecifikovaná presnosť ε . Táto podmienka však nemôže presne zaručiť, že sa dosiahne špecifikovaná presnosť. Pre úplnú istotu môžete vykonať kontrolu presnosti, ako je uvedené na začiatku tejto časti. Ak sa nedosiahne presnosť, musíte iterácie zopakovať ešte niekoľkokrát.

Sekantová metóda

Nech je nejaká počiatočná aproximácia . Podľa vzorca získame ešte jeden bod
, Kde h- malý počet. Budeme predpokladať, že sme dokončili niekoľko krokov metódy a v tomto bode máme dve po sebe nasledujúce aproximácie A
do presného koreňa (v počiatočnom štádiu je to A ). Potom sa pomocou vzorca nájde ďalšia aproximácia

,

Proces sa zastaví podľa rovnakého kritéria ako v Newtonovej metóde.

Iteračná metóda

Pri iteračnej metóde sa pôvodná rovnica (1) transformuje na ekvivalentnú rovnicu
. Vyberte počiatočný odhad . Každá ďalšia aproximácia sa získa pomocou vzorca
,
Proces sa zastaví podľa rovnakého kritéria ako v Newtonovej metóde. Metóda bude konvergovať, t.j. limit sa rovná presnej hodnote odmocniny, ak je nerovnosť
a počiatočná aproximácia je dostatočne blízko koreňa.

Výhody a nevýhody metód

Metóda bisekcie vyžaduje odmocnenie a na dosiahnutie vysokej presnosti sa funkcia musí vypočítať mnohokrát. Dosiahnutie špecifikovanej presnosti pri tejto metóde je zaručené.

Newtonova metóda má veľmi rýchlu konvergenciu (kvadratickú konvergenciu), t.j.

,

Kde c- presná hodnota koreňa; M je určitá konštanta v závislosti od funkcie. Zhruba povedané, počnúc od určitej iterácie sa počet správnych desatinných miest pri každej iterácii zdvojnásobí.

Na zaručenie konvergencie Newtonovej metódy je potrebných pomerne veľa podmienok. Vo všeobecnosti je možné začať výpočty podľa Newtonovej metódy bez kontroly týchto podmienok, ale potom nemusí byť pozorovaná konvergencia.

Sekantová metóda poskytuje hladkým funkciám rýchlosť konvergencie blízku rýchlosti Newtonovej metódy. Nevyžaduje výpočet derivácie funkcie. Ak je začiatočný bod vzdialený od koreňa, potom nemusí dôjsť ku konvergencii.

Iteračná metóda poskytuje rýchlosť konvergencie oveľa nižšiu ako Newtonova metóda. V prípade konvergencie odhad
, Kde
- čísla,
,
;c je presná hodnota koreňa. množstvá M, q závisia od funkcie a nezávisia od čísla iterácie. Ak
potom blízko 1 q je tiež blízko 1 a konvergencia metódy bude pomalá. Počítanie iterácií môžete spustiť bez toho, aby ste skontrolovali zapnuté podmienky
A . V tomto prípade môže byť proces odlišný a odpoveď nebude prijatá.

Existuje mnoho metód na nájdenie koreňov nelineárnej rovnice, okrem tých, ktoré sú uvedené. V MATHCADe je koreňová funkcia vo formáte
používa metódu sečan, a ak nevedie k požadovaným výsledkom, tak Mullerovu metódu. V druhom prípade sa na rozdiel od metódy sečnice v každom kroku zoberú dva ďalšie body, graf funkcie sa nahradí parabolou prechádzajúcou tromi bodmi a priesečník paraboly s osou sa berie ako ďalšia aproximácia. Vôl. Vo funkcii root vo formáte root( f(X), X, a, b) používajú sa metódy Riddera a Brenta. Na nájdenie koreňov polynómu v MATHCAD sa používa Laguerrova metóda.

metóda polovičného delenia (metóda je známa aj ako Bolzanova metóda alebo dichotomická metóda) jeden metód na riešenie nelineárnych rovníc a je založená na postupnom zužovaní intervalu obsahujúceho jeden koreň rovnice. Iteračný proces sa vykonáva, kým sa nedosiahne špecifikovaná presnosť.

Nech je daná rovnica a segment definovaný tak, že tento segment obsahuje jeden koreň rovnice. Potom na koncoch daného segmentu má funkcia hodnoty, ktoré sú v znamienku opačné: . Opak znakov funkčných hodnôt na koncoch segmentu možno určiť mnohými spôsobmi. Jedným z mnohých týchto spôsobov je vynásobiť hodnoty funkcie na koncoch segmentu a určiť znamienko súčinu porovnaním výsledku násobenia s nulou:

.

Segment sa nazýva počiatočný interval neistoty, pretože je známe, že k nemu patrí koreň, ale jeho umiestnenie nebolo určené s požadovanou presnosťou.

Postup na spresnenie polohy koreňa spočíva v zostrojení postupnosti segmentov vnorených do seba, z ktorých každý obsahuje koreň rovnice. Na tento účel sa nájde stred aktuálneho intervalu neistoty , a ten, na konci ktorého má funkcia rôzne znamienka, sa vyberie z dvoch možných ako ďalší interval neistoty.

Proces končí, keď dĺžka aktuálneho intervalu neistoty klesne pod špecifikovanú hodnotu , ktorá špecifikuje presnosť nájdenia koreňa. Stred posledného intervalu neistoty sa berie ako približná hodnota odmocniny.

Metóda má lineárnu, ale nepodmienenú konvergenciu a jej chyba pre každú iteráciu je polovičná:

Z tohto vzťahu môžeme odhadnúť počet iterácií k na dosiahnutie špecifikovanej presnosti:

Zo získaného vzorca môžeme usúdiť, že na dosiahnutie presnosti z dĺžky počiatočnej medzery je potrebné vykonať približne desať iterácií.

Medzi výhody metódy by mala patriť aj skutočnosť, že vám umožňuje nájsť jednoduchý koreň rovnice ľubovoľných spojitých funkcií pre ľubovoľné hodnoty, napr. .

Nevýhodou metódy je, že ju nemožno zovšeobecniť na sústavy nelineárnych rovníc a nemožno ju použiť na nájdenie koreňov párnej násobnosti.

Algoritmus na nájdenie koreňa nelineárnej rovnice metódou bisekcie.

1. Nájdite počiatočný interval neistoty pomocou jednej z metód separácie koreňov.Nastaviť chybu výpočtu (malé kladné číslo ) a počiatočný krok iterácie () .

2. Nájdite stred aktuálneho intervalu neistoty:

3. Je potrebné nájsť hodnotu funkcie v bodoch , a . Ďalej musíte skontrolovať dve podmienky:

Ak je splnená podmienka , potom je požadovaný koreň umiestnený v ľavom segmente, ;

Ak je splnená podmienka , potom je požadovaný koreň vo vnútri pravého segmentu, vezmite , .

V dôsledku toho sa nájde nový interval neistoty, na ktorom sa nachádza požadovaný koreň rovnice:

4. Skontrolujeme špecifikovanú presnosť nového segmentu v prípade:

Ak je dĺžka nového segmentu menšia ako špecifikovaná presnosť, iteračný proces sa skončí. Približná hodnota koreňa je určená vzorcom:

Ak dĺžka nového segmentu nedosahuje požadovanú presnosť, potom je potrebné pokračovať v iteratívnom procese a prejsť na krok 2 posudzovaného algoritmu.

KATEGÓRIE

POPULÁRNE ČLÁNKY

2023 "kingad.ru" - ultrazvukové vyšetrenie ľudských orgánov