Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Minimizarea functiilor si gasirea zerourilor

Matlab

+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

Trimite pe Messenger
Tehnici de plotare - Plotari 2D elementare - Generarea graficelor
PACHETUL DE MODELARE SI SIMULARE SIMULINK
Minimizarea functiilor si gasirea zerourilor


Minimizarea functiilor si gasirea zerourilor

MATLAB-ul furnizeaza o serie de functii de nivel inalt care realizeaza sarcini de optimizare a functiilor. Aceste functii sunt grupate in principal pe urmatoarele domenii:



Minimizarea functiilor de o variabila

Minimizarea functiilor de mai multe variabile

Setarea optiunilor de minimizare

Gasirea zerourilor unor functii

Pentru exemplificare vom considera minimizarea unei functii de o singura variabila si gasirea zerourilor pentru aceasta functie.

Minimizarea unei functii

Pentru gasirea unui minim local al unei functii scrise intr-un fisier function, se utilizeaza functia fminbnd.

Reluam aici exemplul din paragraful 2.3: pentru gasirea minimului functiei humps in intervalul (0.3, 1) folosim instructiunea:

» x = fminbnd('humps',0.3,1)

x =

    0.6370

Daca dorim o afisare detaliata a pasilor facuti de prodedura de minimizare se utilizeaza urmatoarea sintaxa:

» x = fminbnd('humps',0.3,1,optimset('Display','iter'))

Func-count      x           f(x)         Procedure

    1       0.567376      12.9098        initial

    2       0.732624      13.7746        golden

    3       0.465248      25.1714        golden

    4       0.644416      11.2693        parabolic

    5         0.6413      11.2583        parabolic

    6       0.637618      11.2529        parabolic

   7       0.636985      11.2528        parabolic

    8       0.637019      11.2528        parabolic

    9       0.637052      11.2528        parabolic

x =

     0.6370

Gasirea zerourilor

Functia fzero permite gasirea zerourilor unei functii (este vorba de fapt de o ecuatie cu o singura necunoscuta).



Daca se da un punct de plecare x0 pentru procedura de cautare, fzero va cauta un interval in jurul acestui punct in care functia schimba semnul. Daca un astfel de interval este gasit, fzero returneaza valoarea pentru care functia schimba semnul (adica zeroul), iar daca un astfel de interval nu este gasit returneaza NaN.

Alta varianta permite cautarea intr-un interval specificat de utilizator.

Exemplu: gasirea unui zerou al functiei humps in apropiere de -0.2:

» a = fzero('humps',-0.2)

a =

-0.1316

Pentru verificare evaluam functia in punctul -0.1316 si gasim intr-adevar o valoare foarte aproape de zero:

» humps(a)

ans =

   8.8818e -16

Se poate folosi si varianta cu interval de cautare precizat de utilizator. In continuare este prezentata aceasta varianta plus folosirea unor optiuni suplimentare pentru afisarea detaliata a informatiilor despre procedura si a pasilor:

» options = optimset('Display','iter');

» a = fzero('humps',[-1 1],options)

Func-count      x          f(x)       Procedure

    1           -1      -5.13779        initial

    2            1            16        initial

    3    -0.513876      -4.02235        interpolation

    4     0.243062       71.6382        bisection

    5    -0.473635      -3.83767        interpolation

    6    -0.115287      0.414441        bisection

    7    -0.150214     -0.423446        interpolation

    8    -0.132562    -0.0226907        interpolation

    9    -0.131666    -0.0011492        interpolation

   10    -0.131618  1.88371e-007        interpolation

   11    -0.131618  -2.7935e-011        interpolation

   12    -0.131618  8.88178e-016        interpolation

   13    -0.131618 -9.76996e-015        interpolation

Zero found in the interval: [-1, 1].

a =

   -0.1316





Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1407
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2023 . All rights reserved

Distribuie URL

Adauga cod HTML in site