Rezolvarea ecuațiilor neliniare. Teoria găsirii rădăcinilor unei ecuații neliniare

MINISTERUL EDUCATIEI AL FEDERATIEI RUSA

STAT SIBERIAN DE EST

UNIVERSITATEA DE TEHNOLOGIE

Rezumat pe tema: „Rezolvarea ecuațiilor neliniare

metoda simplă de iterație"

Efectuat:. Bubeev B.M.

Verificat de: Shirapov D.Sh.

Introducere

Ecuațiile neliniare pot fi împărțite în 2 clase - algebrice și transcendentale. Ecuații algebrice sunt numite ecuații care conțin numai funcții algebrice (întregi, raționale, iraționale). În special, un polinom este o întreagă funcție algebrică. Ecuațiile care conțin alte funcții (trigonometrice, exponențiale, logaritmice și altele) se numesc transcendent.

Metodele de rezolvare a ecuațiilor neliniare sunt împărțite în două grupe:

    metode precise;

    metode iterative.

Metode exacte ne permit să scriem rădăcinile sub forma unei relații finite (formulă). Din cursul de algebră școlară, sunt cunoscute astfel de metode pentru rezolvarea ecuațiilor trigonometrice, logaritmice, exponențiale, precum și a celor mai simple ecuații algebrice.

După cum se știe, multe ecuații și sisteme de ecuații nu au soluții analitice. În primul rând, acest lucru se aplică majorității ecuațiilor transcendentale. De asemenea, se dovedește că este imposibil să se construiască o formulă prin care să se poată rezolva o ecuație algebrică arbitrară de grad mai mare decât a patra. În plus, în unele cazuri, ecuația conține coeficienți care sunt cunoscuți doar aproximativ și, prin urmare, însăși problema determinării cu precizie a rădăcinilor ecuației își pierde sensul. Pentru a le rezolva, folosim metode iterative cu un anumit grad de precizie.

Lasă ecuația

    Funcţie f(X) este continuă pe intervalul [ a, b] împreună cu derivatele lor de ordinul 1 și 2.

    Valori f(X) la capetele segmentului au semne diferite ( f(A)  f(b) < 0).

    Prima și a doua derivată f"(X) și f""(X) păstrează un anumit semn pe tot segmentul.

Condițiile 1) și 2) garantează că pe intervalul [ A, b] există cel puțin o rădăcină și din 3) rezultă că f(X) este monotonă pe acest interval și, prin urmare, rădăcina va fi unică.

Rezolvați ecuația (1) metoda iterativăînseamnă a stabili dacă are rădăcini, câte rădăcini și a găsi valorile rădăcinilor cu precizia necesară.

Orice valoare care inversează o funcție f(X) la zero, adică astfel încât:

numit rădăcină ecuații(1) sau zero funcții f(X).

Problema găsirii rădăcinii ecuației f(X) = 0 prin metoda iterativă constă din două etape:

    separarea rădăcinilor- aflarea valorii aproximative a rădăcinii sau a segmentului care o conţine;

    rafinarea rădăcinilor aproximative- aducerea acestora la un anumit grad de precizie.

Procesul de separare a rădăcinilor începe cu stabilirea semnelor funcției f(X) în hotar X=Ași X=b puncte din zona existenței sale.

Exemplu 1 . Separați rădăcinile ecuației:

Prin urmare, ecuația (2) are trei rădăcini reale situate în intervalele [-3, -1] și .

Valorile aproximative ale rădăcinilor ( aproximări inițiale) poate fi cunoscută și din sensul fizic al problemei, din rezolvarea unei probleme similare cu date inițiale diferite sau poate fi găsită grafic.

Frecvent în practica inginerească mod grafic determinarea aproximativă a rădăcinilor.

Ținând cont de faptul că rădăcinile reale ale ecuației (1) sunt punctele de intersecție ale graficului funcției f(X) cu axa x, este suficient să grafici funcția f(X) și marcați punctele de intersecție f(X) cu ax Oh, sau marca pe axă Oh segmente care conțin o rădăcină. Trasarea poate fi adesea simplificată foarte mult prin înlocuirea ecuației (1) echivalent el cu ecuația:

unde funcţionează f 1 (X) și f 2 (X) - mai simplu decât funcția f(X). Apoi, trasarea graficelor funcțiilor la=f 1 (X) și la = f 2 (X), obţinem rădăcinile dorite ca abscisele punctelor de intersecţie ale acestor grafice.

Figura 2.

Exemplu 2 . Separați grafic rădăcinile ecuației (Figura 2):

X lg x= 1.

Ecuația (4) poate fi rescrisă convenabil ca o egalitate:

Prin urmare, este clar că rădăcinile ecuației (4) pot fi găsite ca abscisele punctelor de intersecție ale curbei logaritmice. y= jurnal Xși hiperbolă y = . După ce am construit aceste curbe, vom găsi aproximativ singura rădăcină a ecuației (4) sau vom determina segmentul care o conține.

Procesul iterativ constă în perfecţionarea succesivă a aproximării iniţiale X 0 . Fiecare astfel de pas este numit repetare. Ca rezultat al iterațiilor, se găsește o secvență de valori aproximative ale rădăcinii X 1 , X 2 , ..., X n . Dacă aceste valori cu o creștere a numărului de iterații n apropiindu-se valoare adevarata rădăcină, atunci spunem că procesul iterativ converge.

Metodă simplă de iterație

Pentru a utiliza metoda iterației, ecuația originală neliniară f(X) = 0 se înlocuiește cu ecuația echivalentă

Geometric, metoda iterației poate fi explicată după cum urmează. Să construim pe un avion hoy grafice de funcții y = xși y= (X). Fiecare rădăcină reală a ecuației (8) este abscisa punctului de intersecție M strâmb y= (X) cu o linie dreaptă y = x(Figura 6, A).

Figura 6

Plecând de la un punct DAR 0 [X 0 , (X 0)], construim o linie întreruptă DAR 0 LA 1 DAR 1 LA 2 DAR 2 ... („scara”), ale căror verigi sunt alternativ paralele cu axa Ohși topoare OU, vârfuri DAR 0 , DAR 1 , DAR 2 , ... culcați pe o curbă y= (X), iar vârfurile LA 1 , AT 2 , AT 3 , …, - pe o linie dreaptă y = x. Abscise generale de puncte DAR 1 și LA 1 , DAR 2 și LA 2 , ... sunt evident, respectiv, aproximări succesive X 1 , X 2 , ... rădăcină .

Este posibil și un alt tip de linie întreruptă DAR 0 LA 1 DAR 1 LA 2 DAR 2 ... - „spirală” (Figura 6, b). O soluție sub forma unei „scări” se obține dacă derivata " ( X) este pozitivă, iar soluția este sub formă de „spirală” dacă " ( X) este negativă.

În figura 6, a, b curba la =  (X) în vecinătatea rădăcinii - în pantă ușor, adică<1, и процесс итерации сходится. Однако, если рассмотреть случай, где >1, atunci procesul de iterație poate fi divergent (Figura 7).

Figura 7

Prin urmare, pentru aplicarea practică a metodei iterației, este necesar să se afle condiții suficiente pentru convergența procesului iterativ.

Teorema:Lasă funcția  (X) definite şi diferenţiabile pe interval [a, b], și toate valorile sale  (X) [A,b].

Atunci dacă există o fracție adecvată q astfel încât

Pentru o<X<b, apoi: 1)proces de iterație

converge indiferent de valoarea iniţială eu X 0  [A,b];

2) valoare limită este singura rădăcină a ecuației x = (X) pe segment [a, b].

Exemplu 5 . Ecuația

f(X)  X 3 - X - 1 = 0

are rădăcină , deoarece f(1) = - 1 < 0 и f(2) = 5 > 0.

Ecuația (10) poate fi scrisă ca

X = X 3 - 1.

 (X) = X 3 - 1 și " ( X) = 3X 2 ;

" (X) 3 la 1 X 2

și, în consecință, nu sunt îndeplinite condițiile pentru convergența procesului de iterație.

Dacă scriem ecuația (10) sub forma

atunci vom avea:

.

De aici la 1 X 2 și, prin urmare, procesul de iterație pentru ecuația (12) converge rapid. ecuații metodăîmpărțirea segmentului în jumătate ... în memorie în formă simplu variabile. Rezultatul acestui... repetare) de tip Real; d este discriminantul de tip Real; x1 - prima rădăcină ecuații găsite metodă solutii pătrat ecuații ...

  • Metodă Newton pentru solutii neliniară ecuații

    Lucrări de curs>> Informatica

    ... metode solutii neliniară ecuații Sunt multe diferite metode solutii neliniară ecuații, unele dintre ele sunt prezentate mai jos: 1) Metodă iterații. La decizie neliniară ecuații metodă iterații... formulă metodă simplu iterații xk+1=g(...

  • Soluţie neliniară ecuații metodă iterații

    Lucrare de testare >> Informatica

    Descrierea regulilor de calcul al cailor neliniară ecuații metodă iterații, precum și o diagramă bloc metodă. 2 Implementare practică: ... calculul rădăcinilor ecuații metodă iterații 2.4 Experiment de calcul - compararea rezultatelor programului cu decizieîn...

  • Să fie dată o funcție care este continuă împreună cu numeroasele sale derivate. Este necesar să se găsească toate sau unele rădăcini reale ale ecuației

    Această sarcină este împărțită în mai multe subsarcini. În primul rând, este necesar să se determine numărul de rădăcini, să se investigheze natura și locația acestora. În al doilea rând, găsiți valorile aproximative ale rădăcinilor. În al treilea rând, să alegem dintre ele rădăcinile care ne interesează și să le calculăm cu exactitatea necesară. Prima și a doua sarcină sunt rezolvate, de regulă, prin metode analitice sau grafice. În cazul în care se caută doar rădăcinile reale ale ecuației (1), este util să se întocmească un tabel cu valorile funcției. Dacă funcția are semne diferite în două noduri vecine ale tabelului, atunci între aceste noduri se află un număr impar de rădăcini ale ecuației (cel puțin una). Dacă aceste noduri sunt apropiate, atunci cel mai probabil există o singură rădăcină între ele.

    Valorile aproximative găsite ale rădăcinilor pot fi rafinate folosind diferite metode iterative. Să luăm în considerare trei metode: 1) metoda dihotomiei (sau împărțirea segmentului la jumătate); 2) metoda iterației simple și 3) metoda lui Newton.

    Metode de rezolvare a problemei

    Metoda bisecției

    Cea mai simplă metodă de găsire a rădăcinii ecuației neliniare (1) este metoda semidiviziunii.

    Să fie dată o funcție continuă pe segment.Dacă valorile funcției de la capetele segmentului au semne diferite, i.e. atunci aceasta înseamnă că există un număr impar de rădăcini în interiorul segmentului dat. Să avem, pentru certitudine, o singură rădăcină. Esența metodei este de a reduce la jumătate lungimea segmentului la fiecare iterație. Găsim mijlocul segmentului (vezi Fig. 1) Calculați valoarea funcției și selectați segmentul pe care funcția își schimbă semnul. Împărțiți din nou noul segment în jumătate. Și continuăm acest proces până când lungimea segmentului este egală cu eroarea predeterminată în calcularea rădăcinii. Construcția mai multor aproximări succesive conform formulei (3) este prezentată în Figura 1.

    Deci, algoritmul metodei dihotomiei:

    1. Setați intervalul și eroarea.

    2. Dacă f(a) și f(b) au aceleași semne, emiteți un mesaj despre imposibilitatea de a găsi rădăcina și opriți.

    Fig.1.

    3. Altfel se calculează c=(a+b)/2

    4. Dacă f(a) și f(c) au semne diferite, puneți b=c, în caz contrar a=c.

    5. Dacă lungimea noului segment, atunci calculați valoarea rădăcinii c=(a+b)/2 și opriți, altfel treceți la pasul 3.

    Deoarece în N pași lungimea segmentului este redusă de 2 N ori, eroarea dată în găsirea rădăcinii va fi atinsă în iterații.

    După cum se poate observa, rata de convergență este scăzută, dar avantajele metodei includ simplitatea și convergența necondiționată a procesului iterativ. Dacă segmentul conține mai mult de o rădăcină (dar un număr impar), atunci va fi întotdeauna găsită una.

    Cometariu. Pentru a determina intervalul în care se află rădăcina, este necesară o analiză suplimentară a funcției, bazată fie pe estimări analitice, fie pe utilizarea unei metode de soluție grafică. De asemenea, este posibil să se organizeze o căutare a valorilor funcției în diferite puncte până când este îndeplinită condiția de schimbare a semnului funcției

    Găsirea rădăcinilor unei ecuații neliniare

    cursuri

    Informatică, cibernetică și programare

    Diagrame de implementare a metodelor numerice - pentru metoda dihotomiei: Diagramă pentru metoda acordurilor: Diagramă pentru metoda Newton: Unitatea de listare a programelor Unitatea1; interfce utilizează Windows Mesaje SysUtils Vrints Clsses Grphics Controale Formulare Dialogs TeEngine Series ExtCtrls TeeProcs Chrt Meniuri OleCtnrs StdCtrls xCtrls OleCtrls VCF1 Lună; tip TForm1 = clssTForm GroupBox1: TGroupBox; OleContiner2: TOleContiner; MinMenu1: TMinMenu; N1: TMenuItem; Chrt1: TChrt; Seria 1:...

    UNIVERSITATEA DE STAT RUSĂ DE PETROL ȘI GAZ-le. LOR. GUBKINA

    Departamentul de Informatică

    Lucrări de curs

    la disciplina „Informatică”.

    Subiect: " Găsirea rădăcinilor unei ecuații neliniare "

    Gata: student

    Manepova A. M

    grupa: GI-12-05

    Verificat:

    Moscova 2013


    Sarcina pentru munca de curs.


    Teoria găsirii rădăcinilor unei ecuații neliniare. Descrierea metodelor numerice utilizate.

    1. Metoda semi-diviziunii (dihotomie)

    2. Metoda acordurilor

    3. Metoda lui Newton

    Calcule în pachetul matematic Mat lab


    Raportați rezultatele calculării valorii aproximative a rădăcinii ecuației în MS Excel.

    Rezultatele calculului utilizând Selecția parametrilor


    Rezultatele calculului folosind Căutare soluții


    Descrierea aplicației create în mediul Delphi.


    Scheme bloc care implementează metode numerice

    Lista de programe


    Imaginea ferestrei aplicației


    Analiza rezultatelor


    Literatură.


    Sarcina pentru munca de curs.

    1. calcul realizat în pachet de matematică Matlab (Mathematica 5 .) (fișier funcțional pentru descrierea unei ecuații neliniare, grafic, soluție în formă simbolică și numerică).
    2. Găsind rădăcinile unei ecuații neliniare în foi de calcul MS Excel (tipul unei ecuații neliniare, un grafic pentru găsirea rădăcinilor unei ecuații neliniare, găsiți rădăcina unei ecuații neliniare folosind instrumente de analiză condiționată: „Selectarea parametrilor”, „Căutarea unei soluții”).
    3. Creați o aplicație pentru a găsi rădăcinile ecuației neliniareîn mediul Delphi (un tip de ecuație neliniară, un grafic pe un interval dat, pentru fiecare metodă: rezultatele tabulării unei funcții pe un interval dat cu un pas dat, pentru fiecare metodă a metodei numerice, o subrutină utilizator cu transfer de parametri) . Rezultatele sunt afișate pe formular sub forma unui tabel și într-un fișier. Asigurați o modificare a preciziei valorii (E<= 0 , 001).
    4. un fel de ecuație


    Teoria găsirii rădăcinilor unei ecuații neliniare. Descrierea metodelor numerice utilizate.

    Lasă funcția , care este continuă împreună cu numeroasele sale derivate. Este necesar să se găsească toate sau unele rădăcini reale ale ecuației

    .
    Această sarcină este împărțită în mai multe subsarcini. În primul rând, trebuie să determinați numărul de rădăcini, să le examinați caracter si locatie. În al doilea rând, găsiți valorile aproximative ale rădăcinilor. În al treilea rând, alegeți rădăcinile care ne interesează dintre ele și calculați-le cu acuratețea necesară e. Prima și a doua sarcină sunt rezolvate, de regulă, prin metode analitice sau grafice. În cazul în care se caută doar rădăcinile reale ale ecuației, este util să se facă un tabel de valori funcții . Dacă la două noduri adiacente Mese funcția are semne diferite, apoi între aceste noduri se află un număr impar de rădăcini ale ecuației (cel puțin una). Dacă aceste noduri sunt apropiate, atunci cel mai probabil există o singură rădăcină între ele.
    Valorile aproximative găsite ale rădăcinilor pot fi rafinate folosind diferite metode iterative.

    Luați în considerare trei metode: 1) metoda dihotomiei (sau împărțirea segmentului la jumătate); 2) metoda iterației simple și 3) metoda Newton.

    1. Metoda semi-diviziunii (dihotomie)


    Să fie dată o funcție continuă pe intervalDacă valorile funcției de la capetele segmentului au semne diferite, de ex.atunci aceasta înseamnă că există un număr impar de rădăcini în interiorul segmentului dat. Să avem, pentru certitudine, o singură rădăcină. Esența metodei este de a reduce la jumătate lungimea segmentului la fiecare iterație. Găsim punctul de mijloc al segmentului după formula:Calculăm valoarea funcțieiși alegeți segmentul pe care funcțiaîși schimbă semnul . Împărțiți din nou noul segment în jumătate. Si acesta proces continuăm până când lungimea segmentului este egală cu eroarea predeterminată în calcularea rădăcinii E.

    2. Metoda acordurilor

    La rezolvarea unei ecuații neliniare prin metoda acordurilor, se precizează intervalele , pe care există o singură soluție, și precizia Ɛ. Apoi, prin două puncte cu coordonate (a, F (a)) și (b, F (b)) trasăm un segment de dreaptă (coardă) și determinăm punctul de intersecție al acestei drepte cu axa absciselor. În același timp, au mâncat F (a) * F (b)<0, то праву границу интервала пееносиим в точку x (b=x). Если указанное условие не выполняется, то в точку X se transferă marginea stângă a intervalului (a=x). Căutarea unei soluții se oprește când este atinsă precizia specificată |F(x)|>Ɛ. Calculele sunt efectuate până când inegalitatea este îndeplinită:. Formula iterativă a metodei acordurilor are forma:

    3. Metoda lui Newton

    Pentru a rezolva numeric ecuațiametoda simplă de iterație, ea trebuie redusă la următoarea formă:, Unde cartografierea contractiei.

    Pentru cea mai bună convergență metoda la următorul punct de aproximarecondiția trebuie îndeplinită. Soluția acestei ecuații se caută sub formă, apoi:

    Presupunând că punctul de apropiere este „suficient de aproape” de rădăcină, și că funcția dată continuu , formula finală pentru este:

    Având în vedere acest lucru, funcția este definit prin expresia:

    Această funcție, într-o vecinătate a rădăcinii, efectuează o mapare de contracție, și un algoritm pentru găsirea unei soluții numerice a ecuațieireduce la o procedură de calcul iterativă:

    Calcule într-un pachet matematic laborator de mat

    În pachetul matematic, în funcție de condiția sarcinii, a fost construit un grafic al funcției și a fost găsită rădăcina ecuației folosind o soluție simbolică ( rezolva ) și numeric folosind funcții încorporate: fzero și fsolve . Pentru a descrie funcția mea, am folosit un fișier de funcție.

    Următoarea figură prezintă graficul funcției:


    Folosit pentru a scrie comenzi
    Fișier M:


    În fereastra de comandă s-au obținut următoarele rezultate:

    r 1 =

    r2 =

    r 3 =

    r4 =

    8.0000

    r5 =

    7.9979 -8.0000


    Raportați rezultatele calculării valorii aproximative a rădăcinii ecuației în MS Excel.

    MS Excel calculul valorii aproximative a rădăcinii ecuației a fost efectuat folosind opțiunile încorporate „Selectarea parametrilor” și „Căutare soluții”. Pentru a selecta aproximarea inițială, am construit anterior o diagramă.

    Rezultatele calculului utilizând Selecția parametrilor

    X =-9 (pe baza graficului)

    Ca urmare a utilizării Selecției parametrilor, rădăcina a fost găsită x = -8,01.


    Rezultatele calculului folosind Căutare soluții

    Am ales ca aproximare inițială X =-9 (pe baza graficului)


    După execuție s-a obținut următorul rezultat:

    Găsirea unei soluții mi-a dat sens x = -8,00002


    Descrierea aplicației create în mediul Delphi.

    La crearea unei aplicații în mediu Delphi interfața a furnizat rezultatul formei funcției și a graficului. Găsirea rădăcinii unei ecuații neliniare a fost implementată folosind trei metode: Metoda Dihotomiei, Metoda Chord și Metoda lui Newton. Spre deosebire de calcul excela , unde rădăcinile au fost găsite folosind selectarea parametrilor și căutarea unei soluții, programul prevede introducerea preciziei de calcul de către utilizator. Rezultatele calculului sunt afișate atât în ​​fereastra aplicației, cât și într-un fișier text.


    Scheme bloc care implementează metode numerice

    Diagramă pentru metoda dihotomiei:


    Diagramă pentru metoda acordurilor:


    Diagramă pentru metoda lui Newton:

    Lista de programe

    unitate Unit1;

    interfata

    utilizări

    Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare,

    Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, Meniuri, OleCtnrs,

    StdCtrls, AxCtrls, OleCtrls, VCF1, Math;

    tip

    TForm1 = clasa (TForm)

    GroupBox1: TGroupBox;

    OleContainer2: TOleContainer;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    Chart1: TChart;

    Series1: TPointSeries;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    Etichetă 1: Etichetă T;

    Edit1: TEdit;

    GroupBox2: TGroupBox;

    GroupBox3: TGroupBox;

    GroupBox4: TGroupBox;

    Label2: Etichetă T;

    Label3: Etichetă T;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Label4: Etichetă T;

    Edit5: TEdit;

    Label5: Etichetă T;

    Edit7: TEdit;

    Label7: Etichetă T;

    F1Book1: TF1Book;

    F1Book2: TF1Book;

    F1Book3: TF1Book;

    F1Book4: TF1Book;

    Procedura N1Click(Expeditor: TObject);

    Procedura N3Click(Expeditor: TObject);

    Procedura FormCreate(Sender: TObject);

    Procedura N4Click(Expeditor: TObject);

    Procedura N5Click(Expeditor: TObject);

    Privat

    (Declarații private)

    Public

    (Declarații publice)

    Sfârşit;

    const

    xmin:real=-20;

    xmax:real=20;

    Form1: TForm1;

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

    I,n:întreg;

    Eșec: fișier text;

    implementare

    ($R *.dfm)

    funcția f(x:real):real;

    ÎNCEPE

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

    Sfârşit;

    funcția f1(x:real):real;

    ÎNCEPE

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

    Sfârşit;

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

    ÎNCEPE

    număr:=0;

    repeta

    xk:=(ta+tb)/2;

    kolvo:=kolvo+1;

    Form1.F1book1.NumberRC:=xk;

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

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

    elseta:=xk;

    până la (abs(f(xk))<=eps);

    Sfârşit;

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

    ÎNCEPE

    număr:=0;

    repeta

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

    kolvo:=kolvo+1;

    Form1.F1book2.NumberRC:=xk;

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

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

    elseta:=xk;

    până la (abs(f(xk))<=eps);

    Sfârşit;

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

    ÎNCEPE

    număr:=0;

    repeta

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

    ta:=xk;

    kolvo:=kolvo+1;

    Form1.F1book3.NumberRC:=xk;

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

    până la (abs(f(xk))<=eps);

    Sfârşit;

    procedura TForm1.N1Click(Expeditor: TObject);

    ÎNCEPE

    x:=xmin;

    i:=0;

    în timp ce x<=xmax do

    ÎNCEPE

    dacă abs(x)>5 atunci

    ÎNCEPE

    I:=i+1;

    Y:=f(x);

    Seria1.Addxy(x,y);

    F1book4.NumberRC:=x;

    F1book4.NumberRC:=y;

    Sfârşit;

    x:=x+0,5;

    Sfârşit;

    Sfârşit;

    procedura TForm1.N3Click(Expeditor: TObject); // Calculul rădăcinii prin metoda diviziunii pe jumătate

    ÎNCEPE

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

    t:=strtofloat(Edit1.Text);

    a:=strtofloat(Edit2.Text);

    b:=strtofloat(Edit3.Text);

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

    F1book4.TextRC:=" dihotomie ";

    F1book4.TextRC:="root=";

    F1book4.NumberRC:=cor;

    F1book4.TextRC:="y=";

    F1book4.NumberRC:=f(cor);

    F1book4.TextRC:=" numărul de iterații =";

    F1book4.NumberRC:=n;

    Adăugați (eșec);

    writeln(eșuare);

    Writeln(fail,"Calcul dihotomie");

    closefile(eșuare);

    Sfârşit;

    procedura TForm1.FormCreate(Sender: TObject);

    ÎNCEPE

    Atribuire fișier(eșuare," raport .txt");

    Rescrie(eșuează);

    closefile(eșuare);

    Sfârşit;

    procedura TForm1.N4Click(Expeditor: TObject); // Calculul rădăcinii prin metoda acordurilor

    ÎNCEPE

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

    t:=strtofloat(Edit1.Text);

    a:=strtofloat(Edit5.Text);

    b:=strtofloat(Edit4.Text);

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

    F1book4.TextRC:=" acorduri ";

    F1book4.TextRC:="root=";

    F1book4.NumberRC:=cor;

    F1book4.TextRC:="y=";

    F1book4.NumberRC:=f(cor);

    F1book4.TextRC:=" numărul de iterații =";

    F1book4.NumberRC:=n;

    Atribuire fișier(eșuare," raport .txt");

    Adăugați (eșec);

    writeln(eșuare);

    Writeln(fail,"Calcul prin metoda acordurilor");

    writeln(fail,"Acuratețea calculului = ",t:10:7);

    Writeln(fail,"Initial guess:a = ",a:8:3," b = ",b:8:3);

    writeln(eșuare, „Rădăcină găsită : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

    writeln(fail, "Numărul de iterații = ",n);

    closefile(eșuare);

    Sfârşit;

    procedura TForm1.N5Click(Expeditor: TObject); // Calculul rădăcinii prin metoda lui Newton

    ÎNCEPE

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

    t:=strtofloat(Edit1.Text);

    a:=strtofloat(Edit7.Text);

    methododnyutona(a,t,cor,n);

    F1book4.TextRC:="Newton";

    F1book4.TextRC:="root=";

    F1book4.NumberRC:=cor;

    F1book4.TextRC:="y=";

    F1book4.NumberRC:=f(cor);

    F1book4.TextRC:=" numărul de iterații =";

    F1book4.NumberRC:=n;

    Atribuire fișier(eșuare," raport .txt");

    Adăugați (eșec);

    writeln(eșuare);

    Writeln(fail,"Calcul prin metoda lui Newton");

    writeln(fail,"Acuratețea calculului = ",t:10:7);

    Writeln(fail,"Initial guess:a = ",a:8:3," b = ",b:8:3);

    writeln(eșuare, „Rădăcină găsită : x = ",cor:8:3, " y=f(x)= ",f(cor):8:6);

    writeln(fail, "Numărul de iterații = ",n);

    closefile(eșuare);

    Sfârşit;

    Sfârşit.


    Imaginea ferestrei aplicației

    Interfața inițială arată astfel:

    După efectuarea calculelor pentru E<= 0,001:

    Ca raport, dosarul „Raport. txt":


    Analiza rezultatelor

    În conformitate cu sarcina pentru munca de curs din pachetul matematic, am găsit rădăcina unei ecuații neliniare ( X =-8) și reprezentat grafic.

    În foile de calcul, rădăcina ecuației a fost găsită folosind două opțiuni încorporate „Selectare parametri” și „Căutare soluție”, în timp ce „Căutare soluție” a dat încă o valoare mai precisă. Rezultatele aproape au coincis cu cele din matlab.

    Pentru a găsi rădăcina în mediu Delphi utilizatorul are capacitatea de a introduce exactitatea calculului de la tastatură. Testarea programului a arătat că pentru aceeași acuratețe de calcul dată, metoda lui Newton găsește valoarea dorită cu un număr mai mic de iterații.

    Astfel, calculele au arătat că este posibil să se rezolve o ecuație neliniară în diferite medii. Cel mai laborios calcul s-a dovedit a fi în mediu Delphi.


    Literatură.

    1. Amosov A.A. și alte metode de calcul pentru ingineri, Moscova, Vysshaya Shkola, 1994.
    2. Faronov V.V. Delphi. Programare într-un limbaj de nivel înalt

    3 . Walkenbach D . Microsoft Office Excel 2007.Biblia utilizatorului

    Volkov V.B. Tutorial Excel 2010 ușor de urmărit

    Luați în considerare problema găsirii rădăcinilor ecuației neliniare

    Rădăcinile ecuației (1) sunt acele valori ale lui x care, la înlocuire, îl transformă într-o identitate. Doar pentru cele mai simple ecuații se poate găsi o soluție sub formă de formule, adică. formă analitică. Mai des este necesară rezolvarea ecuațiilor prin metode aproximative, cele mai răspândite dintre care, în legătură cu apariția computerelor, sunt metodele numerice.

    Algoritmul pentru găsirea rădăcinilor prin metode aproximative poate fi împărțit în două etape. În primul rând, se studiază locația rădăcinilor și se efectuează separarea acestora. Există o zonă în care există o rădăcină a ecuației sau o aproximare inițială a rădăcinii x 0 . Cel mai simplu mod de a rezolva această problemă este studierea graficului funcției f(x) . În cazul general, pentru a-l rezolva, este necesar să se implice toate mijloacele de analiză matematică.

    Existența pe intervalul găsit a cel puțin unei rădăcini a ecuației (1) rezultă din condiția Bolzano:

    f(a)*f(b)<0 (2)

    De asemenea, se presupune că funcția f(x) este continuă pe segmentul dat. Cu toate acestea, această condiție nu răspunde la întrebarea despre numărul de rădăcini ale ecuației pe un interval dat. Dacă cerința de continuitate a funcției este completată cu cerința monotonității acesteia și aceasta decurge din constanța semnului derivatei întâi, atunci putem afirma existența unei rădăcini unice pe un segment dat.

    La localizarea rădăcinilor, este de asemenea important să cunoaștem proprietățile de bază ale acestui tip de ecuație. De exemplu, amintiți-vă câteva proprietăți ale ecuațiilor algebrice:

    unde sunt coeficienții reali.

    • a) O ecuație de grad n are n rădăcini, dintre care pot fi atât reale, cât și complexe. Rădăcinile complexe formează perechi conjugate complexe și, prin urmare, ecuația are un număr par de astfel de rădăcini. Pentru o valoare impară a lui n, există cel puțin o rădăcină reală.
    • b) Numărul de rădăcini reale pozitive este mai mic sau egal cu numărul de semne variabile din succesiunea coeficienților. Înlocuirea x cu -x în ecuația (3) vă permite să estimați numărul de rădăcini negative în același mod. iterație dihotomie newton neliniară

    La a doua etapă a rezolvării ecuației (1), folosind aproximarea inițială obținută, se construiește un proces iterativ care face posibilă rafinarea valorii rădăcinii cu o anumită precizie predeterminată. Procesul iterativ constă în perfecţionarea succesivă a aproximării iniţiale. Fiecare astfel de pas se numește iterație. Ca rezultat al procesului de iterație, se găsește o succesiune de valori aproximative ale rădăcinilor ecuației. Dacă această secvență se apropie de valoarea adevărată a rădăcinii x pe măsură ce n crește, atunci procesul iterativ converge. Se spune că un proces iterativ converge la cel puțin ordinul m dacă este îndeplinită următoarea condiție:

    unde С>0 este o constantă. Dacă m=1, atunci se vorbește de convergență de ordinul întâi; m=2 - despre pătratică, m=3 - despre convergența cubică.

    Ciclurile iterative se termină dacă, pentru o anumită eroare admisibilă, sunt îndeplinite criteriile pentru abaterile absolute sau relative:

    sau micimea reziduului:

    Această lucrare este dedicată studiului unui algoritm pentru rezolvarea ecuațiilor neliniare folosind metoda lui Newton.

    Ideea metodei. Se alege o ecuație în care una dintre variabile este cel mai simplu exprimată în termenii celorlalte variabile. Expresia rezultată pentru această variabilă este înlocuită în ecuațiile rămase ale sistemului.

    1. b) Combinarea cu alte metode.

    Ideea metodei. Dacă metoda substituției directe nu este aplicabilă în stadiul inițial al soluției, atunci se folosesc transformări de sistem echivalente (adunare termen cu termen, scădere, înmulțire, împărțire), apoi se efectuează direct o substituție directă.

    2) Metoda soluționării independente a uneia dintre ecuații.

    Ideea metodei. Dacă sistemul conține o ecuație în care se găsesc expresii reciproc inverse, atunci se introduce o nouă variabilă și se rezolvă ecuația în raport cu aceasta. Sistemul se descompune apoi în mai multe sisteme mai simple.

    Rezolvați un sistem de ecuații

    Luați în considerare prima ecuație a sistemului:

    Făcând substituția , unde t ≠ 0, obținem

    De unde t 1 = 4, t 2 = 1/4.

    Revenind la vechile variabile, luăm în considerare două cazuri.

    Rădăcinile ecuației 4y 2 - 15y - 4 \u003d 0 sunt y 1 \u003d 4, y 2 \u003d - 1/4.

    Rădăcinile ecuației 4x 2 + 15x - 4 \u003d 0 sunt x 1 \u003d - 4, x 2 \u003d 1/4.

    3) Reducerea sistemului la unirea unor sisteme mai simple.

    1. A) Factorizarea prin scoaterea factorului comun.

    Ideea metodei. Dacă există un factor comun într-una dintre ecuații, atunci această ecuație este descompusă în factori și, ținând cont de egalitatea expresiei la zero, se procedează la rezolvarea unor sisteme mai simple.

    1. b) Factorizarea prin soluția ecuației omogene.

    Ideea metodei. Dacă una dintre ecuații este o ecuație omogenă (, atunci, rezolvând-o față de una dintre variabile, o factorăm, de exemplu: a (x-x 1) (x-x 2) și, având în vedere egalitatea expresiei la zero , trecem la rezolvarea unor sisteme mai simple.

    Să rezolvăm primul sistem

    1. c) Folosind omogenitatea.

    Ideea metodei. Dacă sistemul are o expresie care este un produs de variabile, atunci folosind metoda adunării algebrice se obține o ecuație omogenă, iar apoi se folosește metoda factorizării prin soluția unei ecuații omogene.

    4) Metoda adunării algebrice.

    Ideea metodei.Într-una dintre ecuații, scăpăm de una dintre necunoscute, pentru aceasta egalizăm modulele coeficienților pentru una dintre variabile, apoi efectuăm fie adunarea ecuațiilor termen cu termen, fie scăderea.

    5) Metoda înmulțirii ecuațiilor.

    Ideea metodei. Dacă nu există astfel de perechi (x; y) pentru care ambele părți ale uneia dintre ecuații dispar simultan, atunci această ecuație poate fi înlocuită cu produsul ambelor ecuații ale sistemului.

    Să rezolvăm a doua ecuație a sistemului.

    Fie = t, apoi 4t 3 + t 2 -12t -12 = 0. Aplicând corolarul din teorema rădăcinii polinomiale, avem t 1 = 2.

    Р(2) = 4∙2 3 + 2 2 - 12∙2 - 12 = 32 + 4 - 24 - 12 = 0. Scădem gradul polinomului folosind metoda coeficienților nedeterminați.

    4t 3 + t 2 -12t -12 = (t - 2) (la 2 + bt + c).

    4t 3 + t 2 -12t -12 = la 3 + bt 2 + ct - 2at 2 -2bt - 2c.

    4t 3 + t 2 - 12t -12 = la 3 + (b - 2a) t 2 + (c -2b) t - 2c.

    Obținem ecuația 4t 2 + 9t + 6 = 0, care nu are rădăcini, deoarece D = 9 2 - 4∙4∙6 = -15<0.

    Revenind la variabila y, avem = 2, de unde y = 4.

    Răspuns. (1;4).

    6) Metoda împărțirii ecuațiilor.

    Ideea metodei. Dacă nu există astfel de perechi (x; y) pentru care ambele părți ale uneia dintre ecuații dispar simultan, atunci această ecuație poate fi înlocuită cu o ecuație care se obține prin împărțirea unei ecuații a sistemului la alta.

    7) Metoda introducerii de noi variabile.

    Ideea metodei. Unele expresii din variabilele originale sunt luate ca variabile noi, ceea ce duce la un sistem mai simplu decât cel original din aceste variabile. După ce sunt găsite noile variabile, este necesar să găsiți valorile variabilelor originale.

    Revenind la vechile variabile, avem:

    Rezolvăm primul sistem.

    8) Aplicarea teoremei Vieta.

    Ideea metodei. Dacă sistemul este astfel compus, una dintre ecuații este prezentată ca sumă, iar a doua ca produs al unor numere care sunt rădăcinile unei ecuații pătratice, atunci folosind teorema Vieta compunem o ecuație pătratică și o rezolvăm. .

    Răspuns. (1;4), (4;1).

    Pentru rezolvarea sistemelor simetrice se folosește substituția: x + y = a; xy = in. La rezolvarea sistemelor simetrice se folosesc următoarele transformări:

    x 2 + y 2 \u003d (x + y) 2 - 2xy \u003d a 2 - 2c; x 3 + y 3 \u003d (x + y) (x 2 - xy + y 2) \u003d a (a 2 -3c);

    x 2 y + xy 2 \u003d xy (x + y) \u003d av; (x + 1) ∙ (y + 1) \u003d xy + x + y + 1 \u003d a + b + 1;

    Răspuns. (1;1), (1;2), (2;1).

    10) „Probleme limită”.

    Ideea metodei. Rezolvarea sistemului se obține prin raționament logic legat de structura domeniului de definiție sau setul de valori ale funcțiilor, studiul semnului discriminantului ecuației pătratice.

    Particularitatea acestui sistem este că numărul de variabile din el este mai mare decât numărul de ecuații. Pentru sistemele neliniare, o astfel de caracteristică este adesea un semn al unei „probleme de limită”. Pe baza tipului de ecuații, vom încerca să găsim setul de valori ale funcției care apare atât în ​​prima cât și în a doua ecuație a sistemului. Deoarece x 2 + 4 ≥ 4, din prima ecuație rezultă că

    Răspunsul este (0;4;4), (0;-4;-4).

    11) Metoda grafică.

    Ideea metodei. Construiți grafice ale funcțiilor într-un singur sistem de coordonate și găsiți coordonatele punctelor lor de intersecție.

    1) După ce am rescris prima ecuație a sistemelor în forma y \u003d x 2, ajungem la concluzia: graficul ecuației este o parabolă.

    2) După ce am rescris a doua ecuație a sistemelor sub forma y \u003d 2 / x 2, ajungem la concluzia: graficul ecuației este o hiperbolă.

    3) Parabola și hiperbola se intersectează în punctul A. Există un singur punct de intersecție, deoarece ramura dreaptă a parabolei servește ca grafic al unei funcții crescătoare, iar ramura dreaptă a hiperbolei este una descrescătoare. Judecând după modelul geometric construit, punctul A are coordonatele (1; 2). Verificarea arată că perechea (1;2) este o soluție a ambelor ecuații ale sistemului.