Teória nelineárnych rovníc a metóda bisekcie.

Metóda polovičného delenia

Veríme, že oddeľovanie koreňov rovnice f(X) = 0 sa vykonáva aj na intervale [ a, b] existuje jeden koreň, ktorý je potrebné spresniť s chybou ε. Stred tohto segmentu berieme ako počiatočnú aproximáciu koreňa: 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]. Ten jeden zo segmentov na koncoch ktorého f(X) má význam rôznych znakov, obsahuje požadovaný koreň; preto ho akceptujeme 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, zahoďte. 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 zastaviť, keď sa dosiahne špecifikovaná presnosť, t.j. keď je splnená podmienka |x 0 – c k |< ε

Od koreňa x 0 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ť, kým nie je splnená podmienka | 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 rozpolenia je však dosť pomalá. Každým krokom sa chyba približnej hodnoty znižuje o polovicu, t.j.

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

Poznámka. Metóda polovičného delenia nevyžaduje znalosť dodatočných informácií o funkcii počas celého intervalu [ 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, jeden z koreňov sa určite nájde.

Akordová metóda

Uvažovaná metóda, rovnako ako metóda polovíc, je určená na objasnenie koreňa na intervale [ a, b f(X) nadobúda hodnoty rôznych znakov. Na rozdiel od metódy polovíc berieme ďalšiu aproximáciu nie v strede segmentu, ale v bode X, kde priamka (tetiva) vedená bodmi pretína os x A A IN(obr. 5).

Ryža. 5. Akordová metóda.

Zapíšme si rovnicu priamky prechádzajúcej bodmi A A IN:

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

Ako nový interval pre pokračovanie iteračného procesu vyberieme jeden z dvoch [ a, x 0] A [ x 0, b], na koncoch ktorého je funkcia f(X) nadobúda hodnoty rôznych znakov. Pre posudzovaný prípad (obr. 5) vyberieme segment [ a, x 0], pretože
f(a) × f(x 0)< 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 metóda polovičného delenia 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ť dodatočných informácií o funkcii počas celého intervalu [ 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 tiež určená 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 má rýchlejšiu konvergenciu, no zároveň je použiteľná pre užšiu triedu funkcií a jej konvergencia nie je vždy zaručená.

Pri oddeľovaní 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á, s druhou deriváciou f''(x) by nemal meniť znamienko na tomto intervale.

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

Dajte nám vedieť počiatočnú aproximáciu ku koreňu x 0. V tomto bode nakreslíme 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Ý NÁLEZ IZOLOVANÉHO KOREŇA NELINEÁRNEJ ROVNICE

Riešenie rovníc - algebraických alebo transcendentálnych - je jedným zo základných problémov aplikovanej analýzy, ktorého potreba vyvstáva v mnohých a rôznorodých oblastiach fyziky, mechaniky, techniky a iných oblastí.

Nech je daná rovnica

f (X) = 0. (1)

Akékoľvek číslo X*, invertuje funkciu 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 približnom hľadaní koreňov, t.j. nájdenie dostatočne malých susedstiev uvažovaného regiónu, ktorý obsahuje jednu koreňovú hodnotu a ďalej výpočet koreňov s daným stupňom presnosti.

  1. Funkcia f(X) je spojitý na intervale [ 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 v celom segmente.

Podmienky 1) a 2) zaručujú, že v intervale [ a, b] existuje aspoň jeden koreň a z 3) to vyplýva 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 body v regióne 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) + + + +

V dôsledku toho má rovnica (2) 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 problému, z riešenia podobného problému s rôznymi počiatočnými údajmi, alebo ho možno nájsť graficky.



Bežné v strojárskej praxi grafická metóda 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čí vykresliť funkciu f(X) a označte priesečníky f(X) s nápravou 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í nasledujúcej aproximácie z predchádzajúceho (aproximácií). Každý takýto krok je tzv iteráciu. Použitie konkrétnej metódy závisí od dostupnej počiatočnej aproximácie X 0 ku koreňu, existencii a hladkosti derivácií funkcie f(X). V dôsledku iterácií sa nájde postupnosť približných koreňových hodnôt X 1 , X 2 , ..., x n. Ak sú tieto hodnoty s rastúcim počtom iterácií n priblížiť sa k skutočnej hodnote koreňa, potom hovoríme, ž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 je menšia ako jednota, potom by sa mal iteračný proces dokončiť, keď je podmienka splnená

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

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

| f'(X) | ≥ 1, potom by sa mal iteračný proces dokončiť, keď je splnená 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 intervale [ α , β ]. Používa sa, keď f(X) je nepretržitý na [ α , β ] a na koncoch tohto segmentu nadobúda hodnoty rôznych znamienok, t.j.

f(α )f(β ) < 0.

Výpočtová schéma metódy. Úsečka [ α , β ] sa delí na polovicu a ak f≠ 0, potom vyberte túto polovicu , , 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é kroky sa opakujú, kým sa nezíska koreň so špecifikovanou presnosťou iteračného procesu. Proces končí, keď je splnená podmienka

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

Počet iterácií k v metóde polovičného delenia sa určuje podľa vzorca

k .

Príklad 1. Na výpočet koreňa rovnice použite metódu polovičného delenia

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 ako 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). Rozdeľme interval na dve polovice a potom zvážime polovicu, na ktorej koncoch funkcia nadobúda hodnoty rôznych znamienok. Tento nový segment opäť rozdelíme na dve rovnaké časti a vyberieme tú, ktorá obsahuje koreň. Tento proces pokračuje, kým dĺžka nasledujúceho segmentu nebude menšia ako požadovaná chybová hodnota. Presnejšia prezentácia algoritmu pre metódu bisekcie:

1) Poďme počítať X = (a+ b)/2; počítajme 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 bod 1;

5) Zadajte hodnotu X;

Príklad 2.4. Pomocou metódy bisekcie spresnite koreň 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írujte do spodných buniek značkou výplne až po desiaty riadok, t.j. B 4 - až B 10, C 4 - až C 10, D 3 - až D 10, E 4 - až E 10, F 3 - až 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 nájde približná hodnota koreňa so zadanou 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 zohľadňuje možný prípad „zasiahnutia koreňa“, t.j. rovnosť f(X) nula v ďalšej fáze. Ak v príklade 2.3 vezmeme segment , tak hneď v prvom kroku sa dostaneme ku koreňu X= 1. Naozaj, napíšme 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

Vytvorme ho v programe Excel vlastné funkcie f(x) a bisect(a, b, eps) na riešenie rovníc metódou bisect 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 Prejsť na 1

Funkcia f(x) určuje ľavú stranu rovnice a funkciu
bisect(a, b, eps) vypočíta koreň rovnice pomocou metódy bisect f(X) = 0. Všimnite si, že funkcia bisect(a, b, eps) využíva prístup k funkcii f(x). Tu je algoritmus na vytvorenie vlastnej funkcie:

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

2) Vykonajte príkaz menu „Vložiť - Modul“ a zadajte texty funkcií programu, ako je znázornené na obr. 2.5.

Teraz v bunkách listu 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ť inú 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). Aby sme to urobili, zmeňme popis funkcie

pre 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 vytvorme funkciu podprogramu 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];

ε - presnosť približnej hodnoty koreňa.

Riešenie príkladu v programe Mathcad:

1) Spustite program Mathcad. Uveďme si definíciu funkcie bisec(f, a, b, ε). Ak to chcete urobiť, pomocou klávesnice a panela s nástrojmi „Grécke symboly“ zadajte bisec(f, a, b, ε):=. Za znakom priradenia „:=“ na paneli nástrojov „Programovanie“ kliknite ľavým tlačidlom myši na „Pridať riadok“. Za znakom priradenia sa zobrazí zvislá čiara. Potom zadajte text programu zobrazený nižšie pomocou panela nástrojov „Programovanie“ na zadanie znaku „←“, operátora slučky zatiaľ čo, operátor prestávka a podmienený operátor ak je to inak.

2) Uveďme definíciu funkcie f(X):=sin(5*x)+x^2–1 a potom vypočítajte hodnotu koreňa pomocou funkcie bisec pri uvedených hodnotách:
bisec(f, –0,8,–0,7,0,0001)=. Za znakom „=“ sa automaticky zobrazí programom vypočítaná koreňová hodnota –0,7266601563. Rovnakým spôsobom vypočítame zostávajúce korene.

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

Dajme program v jazyku C++ na vyriešenie rovnice f(X) = 0 metódou polovice:

#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 usporiadanie pauzy na zobrazenie výsledku.

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


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

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

Označme podľa ten 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 . Pomocou 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
na presný koreň (v počiatočnom štádiu je to A ). Potom nájdeme ďalšiu aproximáciu pomocou vzorca

,

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
. Vyberie sa počiatočná aproximácia . Každá nasledujúca 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 rovná presnej hodnote koreňa, ak nerovnosť platí v okolí koreňa
a počiatočná aproximácia je celkom blízko koreňa.

Výhody a nevýhody metód

Metóda bisekcie vyžaduje oddelenie koreňa a funkcia sa musí mnohokrát vyhodnotiť, aby sa dosiahla vysoká presnosť. 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– nejaká 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í.

Aby bola zaručená konvergencia Newtonovej metódy, musí byť splnených niekoľko podmienok. Vo všeobecnosti môžete začať výpočty pomocou Newtonovej metódy bez kontroly týchto podmienok, ale potom sa nemusí pozorovať konvergencia.

Sekantová metóda poskytuje hladkým funkciám rýchlosť konvergencie blízku rýchlosti konvergencie 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 výrazne nižšiu ako Newtonova metóda. Ak dôjde ku konvergencii, použije sa odhad
, Kde
- čísla,
,
;c– presná hodnota koreňa. množstvá M, q závisia od funkcie a nezávisia od čísla iterácie. Ak
potom je blízko 1 q je tiež blízko 1 a konvergencia metódy bude pomalá. Výpočet pomocou metódy iterácie je možné spustiť bez kontroly podmienok
A . V tomto prípade sa proces môže líšiť a potom 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, na rozdiel od metódy sečnice, sa 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 priesečník. ďalšie priblíženie Vôl. Vo funkcii root vo formáte root( f(X), X, a, b) Používajú sa metódy Ridder a Brent. Na nájdenie koreňov polynómu v MATHCAD sa používa Laguerrova metóda.

metóda polovičného delenia (metóda známa aj ako Bolzanova metóda alebo dichotomická metóda) jeden z metód na riešenie nelineárnych rovníc a je založená na postupnom zužovaní intervalu obsahujúceho jediný 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 má funkcia na koncoch daného segmentu hodnoty opačné v znamienku: . Opačné znamienka funkčných hodnôt na koncoch segmentu možno určiť mnohými spôsobmi. Jednou z mnohých z týchto metód 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 nie je určené s požadovanou presnosťou.

Postup na objasnenie polohy koreňa pozostáva z konštrukcie 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 ako ďalší interval neistoty z dvoch možných.

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 znížená na polovicu:

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

Z výsledné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 patrí aj to, že umožňuje nájsť jednoduchý koreň rovnice ľubovoľnej spojitej funkcie pre ľubovoľné hodnoty tak, že .

Nevýhodou metódy je, že nezovšeobecňuje na sústavy nelineárnych rovníc a nedá sa 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.Nastavte 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 sa požadovaný koreň nachádza vo vnútri ľavého segmentu, ;

Ak je splnená podmienka , potom sa požadovaný koreň nachádza vo vnútri pravého segmentu prijať , .

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

2024 „kingad.ru“ - ultrazvukové vyšetrenie ľudských orgánov