Upload
mouad-arrad
View
214
Download
0
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