MN_4_equations_non_linéaires

Embed Size (px)

Citation preview

  • 7/30/2019 MN_4_equations_non_linaires

    1/19

    EquationsNonLinaires Equationslinaires,nonlinaires

    n es

    gu re

    c e

    e

    rouver

    a

    so u on

    e

    qua on

    n a re

    a x

    =

    o

    ae

    sontconnusetxestlinconnue.Oncrita*x=b etchaquemembredelexpressionestdivispara:

    a*x=b a\a*x =a\b x=a\b (divisiongauche,mldivide(a,b) enMatlab)

    x*a=b x*a/a

    =

    b/a

    x

    =

    b/a (divisiondroite,,mrdivide(a,b) enMatlab)

    4

    7

    *211

    2113

    42

    72113

    2

    1

    321

    321

    x

    x

    xxx

    xxx

    1911119 3321 xxxx

    44.3

    34.2

    .

    19

    4

    111

    211 \

    3

    2

    1

    x

    x

    Quefaireavecunsystmenonlinairecommeceluici:4)(

    7)sin(11)log(32

    121

    21

    xxabsx

    xx

    1

    Desmthodesadaptesdoiventtremisesenuvre.

  • 7/30/2019 MN_4_equations_non_linaires

    2/19

    EquationsNonLinaires Mthodedelabissection(dichotomie)

    Trouverles

    zros

    de

    fonctions

    non

    linaires,

    les

    valeurs

    relles

    tellesquef()=0

    Avantage:lalgorithmenutilisequedes

    2

    va ua ons e a onc on

  • 7/30/2019 MN_4_equations_non_linaires

    3/19

    EquationsNonLinaires MthodedeNewton

    Cettemthode sappliquedesquationsdutype pourlesquelleson

    peutcalculerouestimerladrivedef: f(x).

    Soitx1

    unevaleurinitialeapproche delaracine inconnue:x1 = +h,ona

    etcomme

    onentirelestimationdehlaquantitajouterx1 poursapprocherde etgnrerunevaleurx2 =x1 +h:

    Onendduitlamthode:

    3

  • 7/30/2019 MN_4_equations_non_linaires

    4/19

    EquationsNonLinaires MthodedeNewton,interprtationgomtrique

    f(x)

    xn xn+1 xn+2 x

    4

  • 7/30/2019 MN_4_equations_non_linaires

    5/19

    EquationsNonLinaires MthodedeNewton,convergence,arrt

    Lamthodeneconvergepastoujours

    f(x)

    x1 x2

    x3 .

    lexemplecicontreil

    existeun

    changement

    xuneoscillationdestermesxn

    5

  • 7/30/2019 MN_4_equations_non_linaires

    6/19

    EquationsNonLinaires MthodedeNewton:contrlesurlersidu

    e(k) =erreur=|x(k) |rsidu=f(x(k))

    rsidu

    rsidu

    |f(x)|>>1 (gauche)critretroprestrictif:alorsquelerreurestfaible,les

    itrationsse

    poursuivent

    puisque

    le

    rsidu

    est

    grand.

    |f(x)|

  • 7/30/2019 MN_4_equations_non_linaires

    7/19

    EquationsNonLinaires MthodedeNewton:systmesdquationsnonlinaires

    Lamthode

    Newton

    peut

    sappliquer

    la

    rsolution

    dunsystmedeplusieursquationsnonlinaires:

    Apartirduncoupledevaleursapproches(x1,y1)dunesolution(,)dusystme,onpeutdterminerdeuxaccroissements

    h

    et

    k

    donner

    x1 ety1 demanireceque:

    Endveloppant

    en

    1er ordre,

    ilvient:

    7

  • 7/30/2019 MN_4_equations_non_linaires

    8/19

    EquationsNonLinaires MthodedeNewton:systmesdquationsnonlinaires

    , :

    Sousformematricielle,enposantJlamatriceJacobienne: (x1,y1)=

    ),(),(

    11

    11

    ),( 11 yxgyxf

    khJ

    yx

    ),(

    ),(\

    11

    11

    ),(

    1

    1

    2

    2

    11 yxg

    yxfJ

    y

    x

    y

    xyx

    ),(1 nnnn yxfxx ),(

    ),(

    1 nn

    yx

    nn yxgyynn

    8

    npeutnoter e aoncon ens e vector e e : 1 nnnn

  • 7/30/2019 MN_4_equations_non_linaires

    9/19

    EquationsNonLinaires MthodedeNewton:rsum

    Onveut:f(x+h)=f(x)+h.f(x)=0 h= f(x)/f(x)

    1, 2 1 1, ,

    Rn Rn

    0);;(

    );;(

    )( 2

    1

    zyxf

    zyxf

    y

    x

    FXF

    );;(3 zyxfz

    9

  • 7/30/2019 MN_4_equations_non_linaires

    10/19

    EquationsNonLinaires fzero,poignedefonction

    Lafonctionfzero rsoutlesquationsnonlinairesdutype:mafonction(x)=0.Ellepossde2entres:a)unepoigne*delafonctiondontonrecherchelezroetb)une

    0 .annulemafonction.

    >>fzero('cos',

    2)

    %

    ou

    crire:

    fzero(@cos,

    2)= .

    Onpeutvidemmentaffecterlasortieunenouvellevariable:>> un zero de cos = fzero cos 2 % ceci rsout: cos x =0_ _ _

    un_zero_de_cos

    =1.5708

    Essayonsavecmafonction function =mafonction x>>u=fzero(@mafonction,2)u=1

    >>u=fzero(@mafonction,

    10)

    y=x.^21;end

    u= 1.0000 %ces2dernirescommandesrsolvent:x.^21=0

    *Une oi neestunt edevariabledsi nantlesfonctions.Elleestconstruiteena outantun@davant lenomdelafonction ouenlacrantcommeunefonctionanonyme.

  • 7/30/2019 MN_4_equations_non_linaires

    11/19

    EquationsNonLinaires fzero,fonctionsparamtres

    Leschosespeuventsecompliquersilafonctioncibleestparamtre,etpossdedoncplusduneentre

    functiony=mafonction(p,x)y=x.*cos(x)+p;

    en

    ne aon u ser zero qu n accep eque es onc on uneseu een r e es ecrerunefonctionanonymeenfixantdabordlavaleurduparamtre:>>p=5;

    ,

    >>ezplot(mafonction2,

    [10,

    2])

    >>grid

    mafonction(p,x)

    ,ans= 5.3125>>fzero(mafonction2,0)

    ans = 3.02175

    0

    -10 -8 -6 -4 -2 0 2x

  • 7/30/2019 MN_4_equations_non_linaires

    12/19

    EquationsNonLinaires fzero, options,optimset

    Enralit,fzeropeutpossder2ou3entres:>>x=fzero(fun,x0,options)

    >>options=optimset(@fzero)options=

    ,exempledindiquerquelletolrancelarecherche

    du

    zro

    doit

    tre

    ralise.

    Display:'notify'MaxFunEvals:[]

    MaxIter:[]

    Pourconnaitrelesoptionsdisponiblesavecfzero,onutiliselacommandeoptimset.Onvoitquepardfaut fzero recherche le zro dune fonction

    TolFun:[]TolX:2.2204e016

    jusquune

    tolrance

    gale

    eps(1).

    Pourchan erlesvaleursdeceso tions,ilfaututiliserlasyntaxesuivantepouroptimset:options=optimset(old_opt,param',value)

    Ainsi,pour

    changer

    la

    tolrance,

    on

    crira:

    _ Display:'notify'MaxFunEvals:[]

    >>new_opt=optimset(options,'tolx',1e6)Onpourraparlasuiteexcuterfzeroaveclesnouvellesoptionsquonluipassera:

    TolFun:[]TolX:1.0000e006

    >>x=fzero(fun,x0,new_opt)

  • 7/30/2019 MN_4_equations_non_linaires

    13/19

    EquationsNonLinaires Exercice:erreurdelamthodededichotomie

    Enobservantquelerreurestborne:

    le

    nombre

    ditrations

    minimal

    qui

    garantisse: .

  • 7/30/2019 MN_4_equations_non_linaires

    14/19

    EquationsNonLinaires Exercice:Volumedungazrel

    Onconsidreledioxydedecarbone(CO2),pourlequela=0.401Pa.m6 etb=42.7106 m3.

    DonnerlevolumeoccupparN=1000molculesdeCO2

    latempratureT=300Ket

    . . . . .

    14

  • 7/30/2019 MN_4_equations_non_linaires

    15/19

    EquationsNonLinaires Exercice: matricejacobienne

    :function [J,

    y0]=jacobimatrice(fun,

    x0)

    %JacobimatricecalculelamatricejacobienneJdela%fonctionfunvalueau%pointx0.y0=fun(x0).funestunepoignedefonction.%ExemplepourunefonctionR^3==>R^2:%>>f=@(x)[x(1)*x(2)^2+x(3);x(1)*x(3)^2x(2)];

    %

    >>

    x0

    =

    [1,

    2,

    3];%[J,y0]=jacobimatrice(f,x0)

    CalculersamatricejacobienneJF(X).EndduireJ 1 2 .

    %J=% 4 4 1% 9 1 6%y0=

    Lafonctionjacobimatricecicontrevaluenumriquementlamatrice

    % 7%

    7

    y0=fun(x0);n=length(x0);m=length(y0);

    jacobiennedunefonctionfun.Etudierchaquelignedecettefonction.

    Appliquerla

    la

    fonction

    F

    dfinie

    au

    J=zeros(m,n);dx =x0/1000+eps;

    fork=1:n

    x0p=x0;x0m=x0;

    dessusetvrifierlersultatobtenupourJF([1;2]).

    x0p(k)=x0p(k)+dx(k);x0m(k)=x0m(k)dx(k);J(:,k)=(fun(x0p)fun(x0m))/2/dx(k);

    endPourquoiatiltajout eps dans

    ladfinition

    de

    dx ?

    end

  • 7/30/2019 MN_4_equations_non_linaires

    16/19

    EquationsNonLinaires Exercice: crireunefonctionnewton

    crire

    ET

    tester

    la

    fonction

    NEWTON

    dcrite

    par

    laide.

    Elle

    fera

    appel

    la

    fonction

    jacobimatricetudieplushautdanscechapitre.

    unct on x,n ter =newton ,x ,to x,max ter

    %trouvelasolutionparlamthodedeNewton

    %dun

    systme

    dquations

    non

    linaires

    pouvant

    se

    mettre

    sous

    la

    forme

    =

    %X=valeurtellequef(X)=0TOLXprs

    '

    %%F=poignedelafonction

    =

    %TOLX=tolrancesurl'incrment:sinorm(x(k)x(k1))

  • 7/30/2019 MN_4_equations_non_linaires

    17/19

    EquationsNonLinaires Exercice: modifierunefonctionnewtonfunction[x,niter]=newton(f,x0,tolx,maxiter)%trouvelasolutionparlamthodedeNewton%dunsystmedquationsnonlinairespouvant%semettresouslaforme%f(x)=0 ofestunefonctiondeR^ndansR^n% X = valeur telle ue f X = 0 TOLX rs

    Modifierla

    fonction

    newton

    ci

    contre

    de

    faon

    ce

    quellerenvoielevecteurx=[x0,x1,...,xn]desitrationssuccessivesetox0 estlavaleurinitialeetxn estlasolutiontolxprs.

    %NITER=nombred'itrationseffectues%%F=poignedelafonction

    %X0

    =

    valeur

    initiale

    des

    itrations

    '

    newtonpeutellersoudrex^31=0?(voirhttp://fr.wikipedia.org/wiki/Fractale_de_Newton)

    x0=x0(:);

    = o rancesur ncr men :%sinorm(x(k+1)x(k))

  • 7/30/2019 MN_4_equations_non_linaires

    18/19

    EquationsNonLinaires Exercice:Recherchedunevaleurinitiale

    Objectif:rsoudre

    le

    systme

    ci

    contre,

    avec

    la

    mthode

    de

    Newton.

    Onprendratolx=1012

    2

    1yx 2

    Soit f1(x,y)=x2 2xy 2=0

    f2(x,y)=x+y2 +1=0

    Selonla

    valeur

    initiale

    donne

    lalgorithme

    itratif,

    la

    convergence

    vers

    la

    solution

    peutchouer.Demme,onnesaitpassiilexistezro,uneouplusieurssolutions..

    a) Reprsenterlasurfacez(x,y)=f1

    2(x,y)+f2

    2(x,y)enutilisantlesfonctionsmeshgrid2 2

    .

    1 , 2 , dduireuneestimationdelaoudessolutions.

    18

    initiale(s).

  • 7/30/2019 MN_4_equations_non_linaires

    19/19

    EquationsNonLinaires Exercice:applicationspourlafonctionnewton.m

    a)Rsoudrelesystmecidessous,aveclamthodedeNewton.Onprendratolx=106.2x

    1

    x2

    =exp(x1)

    x + 2x = ex x

    b TrouverlamatriceXtelle ueX*X*X= 21

    43

    Sol: X=

    161.1290.1

    ..

    19