Anda di halaman 1dari 36

Resoluo numrica de equaes

no lineares (zeros de funes)


Seja y = f(x) uma funo real
Seja r, r do domnio de f(x)
Se f(r) = 0 => r um zero de f(x)
Obs.: r uma raz da equao f(x) = 0
Resoluo numrica de equaes
no lineares (zeros de funes)
Exemplo: f(x) = x
3
1
f(1) = 0
1 o zero de f(x)
1 raz da equao:
x
3
1 = 0
Determinao do zero de uma
funo
Etapas:
1. Localizao do zero em um intervalo (a,b);
2. Refinamento da soluo
Mtodos iterativos:
Mtodo da bisseo,
Mtodo de Newton Raphson,
Mtodo das cordas,...
LOCALIZAO DE RAZES OU ZEROS (ISOLAMENTO DE RAZES OU ZEROS)
TEOREMA 1: Seja f(x) contnua em [a,b]. Se f(a)f(b)<0 existe pelo menos um
zero em (a,b).
0 ) r ( f
0 ) b ( f
0 ) a ( f
=

>
<
0 ) r ( f
0 ) b ( f
0 ) a ( f
=

<
>
( )
( )
( ) 0 r f
0 r f
0 r f
0 ) b ( f
0 ) a ( f
3
2
1
=
=
=

>
<
LOCALIZAO DE RAZES OU ZEROS (ISOLAMENTO DE RAZES OU ZEROS)
De outro modo: situaes em que f(a)f(b)>0:
LOCALIZAO DE RAZES OU ZEROS (ISOLAMENTO DE RAZES OU ZEROS)
TEOREMA 2 : Seja f(x) contnua em [a,b] com f(a)f(b)<0. Se o sinal da primeira
derivada de f(x) for constante em (a,b), ento existe um nico zero em (a,b).
( )
1
a , a em 0 ) x ( f > '
( )
1 2
b , a em 0 ) x ( f < '
( ) b , b em 0 ) x ( f
2
> '
Observaes retiradas do grfico:
Em (a,a
2
), o sinal de f(x) no constante, e, no entanto, h um zero no intervalo;
f(a
1
)f(a
2
)>0 e no h zero em (a
1
,a
2
);
f(a
2
)f(b)>0 mas h dois zeros em (a
2
,b).
Ou seja, f(a)f(b) < 0 h zero (ou zeros) em (a,b);
f(a)f(b) > 0 no h zero em (a,b) (inconclusivo !).
Exemplos:
1) O polinmio abaixo tem 2 zeros positivos.
Localize-os.
3 x 9 x ) x ( f
3
+ =
Escrevendo f(x):
9 x 3 ) x ( f
2
=
'
Zeros de f(x):

=
=
=
3 x
3 x
0 9 x 3
2
1
2
Grfico de f(x):
x f(x)
0 3
1 -5
2 -7
3 3
I
1
= [0 , 1] : f(0)f(1) < 0
f(x) < 0 em (0,1)
I
2
= [2 , 3] : f(2)f(3) < 0
f(x) > 0 em (2,3)
Observao: O zero de I
2
, est em qual dos
subintervalos:
I
2_1
= [2 ; 2,5] ou I
2_2
= [2,5 ; 3] ?
x f(x)
0 3
1 -5
2 -7
3 3
f(2,5) = - 3,88 < 0 f(2)f(2,5) > 0
f(2,5)f(3) < 0
O zero est em I
2_2
= [2,5 ; 3]
Exemplos:
2)
x
e x x f

= 5 ) (
0 e 5
x 2
1
) x ( f
0 x
x
> + =
'
>

f(x) tem um nico zero:


x f(x)
0 -5,00
1 -0,84
2 0,74
I = (1,2)
No Scilab
--> deff('f=arred(x,nc)','f=round(x*10^nc)/10^nc')
-->x=0:0.5:4;y=arred(sqrt(x)-5*exp(-x),2);[x y]
ans =
column 1 to 10
0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. - 5.
column 11 to 18
- 2.33 - 0.84 0.11 0.74 1.17 1.48 1.72 1.91
-->x=0:0.5:4;y=arred(sqrt(x)-5*exp(-x),2);[x ; y]
ans =
0. 0.5 1. 1.5 2. 2.5 3. 3.5 4.
- 5. - 2.33 - 0.84 0.11 0.74 1.17 1.48 1.72 1.91
Insero da funo arredondamento
(se j no estiver sido definida)
Pontos x e y em linha nica
Pontos em linhas diferentes
No Scilab
-->x=0:0.5:4;y=arred(sqrt(x)-5*exp(-x),2);[x;y]'
ans =
0. - 5.
0.5 - 2.33
1. - 0.84
1.5 0.11
2. 0.74
2.5 1.17
3. 1.48
3.5 1.72
4. 1.91
Pontos x e y em colunas
No Scilab grficos
Exemplo: grfico de
--> x=0:0.5:4;y=arred(sqrt(x)-5*exp(-x),2);
--> plot(x,y)
x
e x x f

= 5 ) (
Plote simples
Editor grfico
No Scilab grficos
Exemplo: grfico de
--> plot(x,2*y)
x
e x x f

= 5 ) (
Inserindo um novo
grfico
Grficos num mesmo
sistema de eixos
No Scilab grficos
Exemplo: grfico de
--> clf();plot(x,y,'o')
x
e x x f

= 5 ) (
O comando clf() apaga
grficos anteriores.
Grfico apenas com
marcadores (sem linha)
No Scilab grficos
Grficos com eixos cartesianos centrados na
origem (0,0).
Posicionamento dos
eixos na origem do
sistema cartesiano.
Chamada da biblioteca
grfica do Scilab: gca
No Scilab grficos
Grficos com eixos cartesianos centrados na
origem (0,0).
No Scilab grficos
Suavizando o grfico.
LOCALIZAO DE RAZES OU ZEROS (ISOLAMENTO DE RAZES OU ZEROS)
MTODO GRFICO: Seja f(x) contnua em [a,b] com f(a)f(b)<0 e o sinal da
primeira derivada de f(x) constante em (a,b).
Fazendo-se: f(x) = g(x) h(x)
se f(r) = 0, r e (a,b), ento: g(r) h(r) = 0
g(r) = h(r)
Ou seja, o zero de f est na interseo das curvas g e h.
Exemplos:
2)
x x x f cos ) (
2
=
x x h
x x g
x x
x x
cos ) (
) (
cos
0 cos
2
2
2
=
=
=
=
2
t
A raz positiva est em (0 , t/2)
Reduzindo o intervalo:
x y
0 -1,00
0,5 -0,63
1 0,46
I
1
= (0,5 ; 1)
I
2
= (-1 ; -0,5)
2
t
No Scilab
-->x=0:0.1:2;y=arred(x^2,2); x1=0:0.1:3;y1=arred(cos(x),2);
-->clf();plot(x,y,x1,y1)
-->A=gca();A.x_location ="origin";A.y_location ="origin";
-->legend(["y = x^2";"y = cos(x)"]);
Atribuio de valores s
variveis
Plote duplo
Posicionamento dos eixos
cartesianos na origem
Colocao
de legendas.
No Scilab
Grfico:
TEOREMAS SOBRE POLINMIOS
1) Regra de sinal de Descartes
Dada uma equao polinomial com coeficientes reais,
o nmero de razes reais positivas dessa equao no
excede o nmero de variaes de sinais dos coeficientes
do polinmio P(x). Para determinar o nmero de razes
negativas, calcula-se o nmero de variaes de sinais de
P(-x).
Exemplo: Dado a equao polinomial:
0 2 x 3 x x 2
2 3
= +
2 x 3 x x 2 ) x ( P
2 ) x ( 3 ) x ( ) x ( 2 ) x ( P
2 3
2 3
=
+ =
Tem-se: 2 x 3 x x 2 ) x ( P
2 3
+ =
TEOREMAS SOBRE POLINMIOS
Coeficientes de P(x): 2 -1 3 -2 N
o
variaes
Sinal: + - + - 3
2 x 3 x x 2 ) x ( P
2 3
=
2 x 3 x x 2 ) x ( P
2 3
+ =
Coeficientes de P(-x): - 2 -1 - 3 -2 N
o
variaes
Sinal: - - - - 0
Ou seja: a equao tem, no mximo, 3 razes reais
positivas. A equao no tem razes negativas.
TEOREMAS SOBRE POLINMIOS
2) (Cota de Kojima) Dada a equao polinomial:
0 a x a x a x a x a
n 1 n
2
2 n
1 n
1
n
0
= + + + +

Ento, as razes reais da equao esto no intervalo:


[- 2S ; 2S]

|
|
.
|

\
|
|
|
.
|

\
|
|
|
.
|

\
|
|
|
.
|

\
|
|
|
.
|

\
|
=

n / 1
0
n
1 n / 1
0
1 n
2 n / 1
0
2 n
2 / 1
0
2
1 / 1
0
1
a
a
;
a
a
;
a
a
; ;
a
a
;
a
a
mx S
Definindo-se:
TEOREMAS SOBRE POLINMIOS
Exemplo:
2 x 3 x x 2 ) x ( P
2 3
+ =
Ento, as razes reais da equao esto no intervalo:
[- 2,44 ; 2,44]
{ } 22 , 1 1 ; 22 , 1 ; 5 , 0
2
2
;
2
3
;
2
1
3 / 1 2 / 1
= =


= mx mx S
Ento:
TEOREMAS SOBRE POLINMIOS
Exemplo:
2 x 3 x x 2 ) x ( P
2 3
+ =
I = (0,5 ; 1)
x P(x)
0 -2,00
0,5 -0,50
1 2,00
1,5 7,00
2 16,00
2,5 30,50
TEOREMAS SOBRE POLINMIOS
Coeficientes de P(x): 1 -4 -2 N
o
variaes
Sinal: + - - 1
2 4 ) (
3
+ = x x x P
2 4 ) (
3
= x x x P
Coeficientes de P(-x): - 1 4 -2 N
o
variaes
Sinal: - + - 2
Ou seja: o polinmio tem, no mximo, 2 zeros reais
negativos e 1 zero real positivo.
Outro exemplo:
TEOREMAS SOBRE POLINMIOS
Usando a cota de Kojima:
2 4 0
2 3
+ = x x x ) x ( P
Ento, os zeros reais do polinmio esto no intervalo:
[- 4 ; 4]
{ } 2 26 , 1 ; 2 ; 0
1
2
;
1
4
;
1
0
3 / 1 2 / 1
= =


= mx mx S
Ento:
TEOREMAS SOBRE POLINMIOS
Exemplo:
2 4 ) (
3
= x x x P
x P(x)
0 -2
-0,5 -0,13
-1 1
-1,5 0,63
-2 -2
I
1
= (-2 ; -1,5)
I
2
= (-1 ; -0,5)
I
3
= (2 ; 2,5)
x P(x)
0 -2,00
0,5 -3,88
1 -5,00
1,5 -4,63
2 -2,00
2,5 3,63
No Scilab
- Cota de Kojima no Scilab.
A cota foi definida para o polinmio de grau n:
n n n
n n
a x a x a x a x a ) x ( P + + + + =

1
2
2
1
1 0

Mas, a indexao no scilab comea com o nmero 1. Ou
seja, o polinmio deve ser reescrito da forma:
1
2
1
1
2 1 +

+ + + + =
n n n
n n
a x a x a x a x a ) x ( P
No Scilab
A equao da cota, que tinha a forma:
E as razes reais, quando houverem, estaro no intervalo:
[- 2S ; 2S]
Passa ser:
n , , i ;
a
a
mx S
i /
i
1
1
0
=

|
|
.
|

\
|
=
1 2
1 1
1
+ =

|
|
.
|

\
|
=

n , , i ;
a
a
mx S
) i /(
i

No Scilab
No console do Scilab:
A cota de Kojima ser dada por:
--> i=2:n+1;mcota=abs(a(i)/a(1)).^((i-1)^(-1))
Observe o ponto na
exponenciao com 1/(i-1)
--> s=max(mcota)
No Scilab
Exemplo ilustrativo:
--> a=[1 0 -4 -2];n=3;
Foi escrita a matriz com os coeficientes do polinmio e
o seu grau.
--> i=2:n+1;mcota=abs(a(i)/a(1)).^((i-1)^(-1))
mcota =
0. 2. 1.259921
--> s=max(mcota)
s =
2
2 4
3
= x x ) x ( P
Os zeros reais estariam em [-4 , 4]
No Scilab
Ou, usando arredondamento. Se a funo j no
estiver sido definida, deve ser feito como segue:
E a matriz cota seria calculada:
--> i=2:n+1;mcota=abs(a(i)/a(1)).^((i-1)^(-1));
Com um arredondamento de 2 casas decimais:
--> mcota = arred(mcota,2)
mcota =
0. 2. 1.26
--> s=max(mcota)
s =
2.
-->deff('f=arred(x,nc)','f=round(x*10^nc)/10^nc')

Anda mungkin juga menyukai