Você está na página 1de 12

C ep Íru ro

Método de I{ ewton-Raphson
para duas variáveis
"Todos os homens desejam naturalmente o conhecimento-"
Aristóteles

3.1. Introdução
Até este ponto tratamos apenas de funções de uma variável. Entretanto, a realidade é
bem mais complexa. Um grande número de aplicações utiliza duas ou mais variáveis,
ou seja,/(-x,y) ouf (x,Y, z).
Estudaremos neste capítulo o caso de duas variáveis. Exemplos deste tipo de função
podem ser visualizados com facilidade: a altitude de cada ponto do relevo, a cor de
cada pixel de uma imagem, a intensidade de luminosidade em cada ponto numa tela
de televisão, etc.

3.2 Formalismo
Consideremos o caso em que o problema a ser resolvido possa ser expresso através de
duas funções de duas variáveis. Nesse caso, o problema é representado por um sistema
de duas equações a duas incógnitas:

=0
Io<*.]) (3.r;
IG(x. y; = s
onde F e G são funções de duas variáveis, x e y. O par de valores p = {7 ,y) que solu-
ciona o sistema corresponde ao ponto de interseção das curvas descritas por F(x, y) e
G(x, y). Assim, para essa classe de problemas busca-se um ponto no plano, designado
por P, emvez de apenas um simples valor numérico.
Dessa forma, usaremos como ponto de partida para cada iteração um par de valores
po= (xo, yo) que corresponde a um ponto no plano.
Método de Newton-Raphson para Duas Variáveis 27

Figura 3.1 As funções F(x, y) e G(x, y).

Deve-se escrever uma fórmula de Newton-Raphson para cada variável. Cada uma
das fórmulas conterá elementos relativos acadauma das funções F e G e das derivadas
das duas funções com relação a cadauma das variáveis. Assim, temos:

(3.2)

Fl
11'
G[
!*r=lr- IG, F,l (3.3)
lr,
lc" Gl!tk
onde F e G são as representações das duas funções. F, e
{ são as derivadas parciais

de F(x, y) com relação a x e ay respectivamente, ou se.ia: AF\x' y)


-àxfu . ôF(x' y)
.Analo-
gamente, G, e G, são as derivadas parciais de G(x, y) com relação a x e a y, respecti-

vamente, âG(x, y) QG(', y). A represent açáo naforma


ãx " ôy

la bl

l" di (3'4)

pÍesente nos numeradores e denominadores da fração indica o cálculo do determinante


de uma matrizZ x 2, cujo valor é

ad-bc (3.5)
Capítulo Três

o que nos leva ao valor do primeiro numerador

FGt- FyG (3.6)

e dos denominadores

F,G, - FyG, (3.7)

Essa representação é um atalho que denota a verdadeira função, que é dada por:

(apac
l_-_--l
araG) (3.8)
t_-l
[d, ô dy dx )n
O índice fr denota que cada iteração deve ser executada com os valores de (xo, yn)
adequados.

3.3 Exemplos de aplicação

Exnuplo I
Calcular a solução do sistema não-linear

l*'+n'=l
{" (3.e)
ly=1'
1. O primeiro passo é escolher o ponto )o). Para isso é ne-
inicial das iterações, (xo,

cessiário fazer um rascunho das curvas das duas funções. Para tanto reescrevemos a
primeira expressão, isolando y:

lu=Jt4
1" ' (3'10)
lY=r"
e construímos uma tabela com o valor de y nas duas funções em relação a x:

,ã-ffi;ffi&ffiffiffi

ir:i ;i&0§l§:itiit§';§eritttili l

tt,ilt&§§:.:::l::.:::irit:0;97:::tiii§liil&§?li§

.iti§§a§.rt § ::t§ :§§3§


i*§s§at§tt a6§§ttr§ :§
l§l,í:§&li:::t::ttiti::;§;00:ii,i:t.t:§:iÍ:§0l,tti:l
Método de Newton-Raphson para Duas Variáveis 29

0,40 0,ô0 0,80 1,00 1,20

Figura 3.2 As funções F(x, y) e G(x, y) e seu ponto de interseção.

observa-se que existe um ponto comum entre as funções, e que uma boa aproxi-
mação paÍa po = (ro, )o) é (0,8; 0,5).

2. O próximo passo consiste em escrever as expressões de Newton-Raphson paracada


função. Reescrevemos o sistema de forma que

lrk.v\=x'+y'-l
1^ (3.11)
LG(x, y) = x'*!
Devemos agora escrever as derivadas parciais de F(x,y) e de G(x, y) com relação a
xeyi

F,={=2x F,={=2y
ox dy
(3.12)
G,=p=31ç' c" =§=-l
dxü
As expressões de Newton-Raphson ficam então

l{r' + r' - t) zyl


Xt*t = X*
| {r'-r) -11*
(3.13)
lr* zyl

[sr' -rl*
Capírulo Três

lr* 1xt + y' - t)l

)r*r =)r -
lz*' (*' - y) l-
(3.14)
l'* -ll,
'rl
ll*'
Calculando ( rlcterminantes nos numeradores e dencom inadores, temos

(x+
,1
y'-tx-t)- (x'-y)(2yDI (3.15)
(2xX-l)- (3x')(2yS l*t,

(2x)(x3 - y)- (3x'] \(x' + y' -1)


(3.16)
lr*t = !r -
(2x)(-t) - çzx1)(2y)

o que, simpliflcando, fica

l2a.lr
X,,=X,- -rr- * yr- -2xo''yr-ll (3.17)
-LX--OXr h

ili
4ar22
- zxr!, - 5x, j,
2
I

-x + 3Xt
(3.18)
!rtt = !* -
tii
li -2** - 6*r'y^
3. Agora podemos Íazer as iterações, desde o ponto inicialpu = (xn, yo) até que se atinja
a precisão desejada. Para este exemplo usaremos três casas decimais.
A melhor maneira de fazer as iterações é construir uma tabela com todos os va-
lores envolvidos, sendo uma linha para cada iteração:

0 0,800 0,s00 0,098 0,230 -i 5?o 0,828 0,s6s


1 0,828 0,565 -o,007 -0,00? -3,ggl 0,826 0,564

2 0,826 0,564 0,000 0,000 -3,960 0,826 0,564

Quando as linhas apresentarem valores repetidos (xo= xo*, e )* = )r*r) as iterações


podem parar.
Como resultado, temos que uma boa aproximação para p é (0,826;0,564). I
Método de Newton-Raphson para Duas Variáveis 31

Exrlrpro 2

Durante um interessante exercÍcio de artilharia, os soldados devem disparar um projétil


de uma janela de um prédio a 10 metros do solo, cuja trajetória segue a expressão y
=
l0 - *.um outro projétil, que deve atingir o primeiro, é disparado do alto do prédio,
cuja trajetória segue a expressão ! = 75 - e,. Calcu\e, com precisão de milímetros, a
que distância do prédio e a qual altura os projéteis se chocam.

l. Fazer a estimativa de po- (-ro, yo). construir uma tabela com o valor de y nas duas
funções emrelaçáo a x:

de onde se extrai uma boa estimativa paÍa po= (xo, yo) = (2,3; 5,0).

2. Escrever as expressões de Newton-Raphson para cada função. Reescrevendo o sis-


tema de forma que

x'_ v
{"*'r)=10- (3.1e)
lc(x.y)=15*e* -y
podem-se agora calcular as derivadas parciais:

ãr *-1
{ =+dx =-2x Fy
ây
(3.20)
AG
'dx =-"'
G- -à-G Gy
à,
- _1

e as expressões de Newton-Raphson:
32 Capítulo Três

l{to-r'-yy (-l)l
x,., = x, - lls-"'-» (-l)l
(3.21)

l*,::), i-lll.

It_z*) (10 - "r'? - y)l ,/


!**t = i* -
l{-n.) (ls-e'-y)l -30x0 +2xe'r f 2*n yo+l0e'* - x
=1r, -
lçz*) (-1)l 2xo - e"o

lr-nr, (-1r- (3.22)

3. Fazer as iterações.

0 2,300 5,000 0,316 -3,011 -5,374 2,3;59 4A40


1,0 2,359 4,440 -o,014 4,046 -5,960 2.356 4,448
2.0 2,356 4,449 0,000 0,000 -5,840 2,356 4,M8

como resultado, obtém-se que os projéteis se chocarão a uma altura d.e 4,44g me-
tros, a 2,356 metros à frente do edifício. I

3,4 Programa em linguagem C


A seguir é apresentada a listagem de um programa escrito em linguagem C que resolve
o problema do Exemplo 2.

/ /-------
/ / Programa Newton-Raphson
/ / versao para duas variaveis
/ /-------
#incl-ude <stdio. h>
#include <math.h>
// ---- derivadas parciais
float Fx ( float x,float y )
J
L

a
return -2*xi
J

float Fy ( float x,float y )


{
return -1;
]
(continua)
Método de Newton-Raphson para Duas Variáveis 33

float Gx ( float x,float y


{
return -exp(x);
]
float Gy ( float x,float y
tL
return -1;
]
// ---- funcoes principais
float F ( float x, float y )
{
return 10-(x*x)-y;
)
float G ( float x, float y
{
return 15-exp(x)-y;
)
// ---- determinante de uma matriz 2x2
float det( float a, float b, float c, float d )
{
return (a:td)-(b*c);
1
)

void NewtonRaphson( float x0, float y0,


float oxb, float *yb, float precisao)
{
i-nt
float x1, y1, nx, ny, den;
do
{
den det( Fx(x0,y0),Fy(x0,y0),Gx(x0,y0),Gy(x0,y0) );
=
nx det( F (x0,y0),Fy(x0,y0),c (xO,y0),cy(xO,tO) );
ny det( Fx(x0,y0),F (x0,y0),Gx(x0,yO),c (x0,y0) );
x1 = x0 - ( nx,/den );
y1 : y0 - ( ny/den );
fim= (fabs(xl--x0)<precisao) && (fabs(y1-y0)<precisao) ;
x0= xl-;
Yo= y1;
]
while ( !fim);
*xb=x L;
a
"yb=y t;
J

int
J
main(int argc, char* argv[])
L
float x,y;
NewtonRaphson(2. B, 5. 0, &x, &y, 0. 001) ;
printf("resposta = (%e,%g)\n",x,y) ;

getchar();
return 0;
a
)
/ / ---------

Figura 3.3 Listagem de programa em C que executa o Método de Newton-Raphson para re-
solver o problema do Exemplo 2.
34 Capítulo Três

A primeira parte do programa apresenta implementações separadas para as derivadas


parciais das funções dadas e para as próprias funções. Isso facilita tanto o desenvolvimento
da rotina de iterações como eventuais alterações do programaparaoutros problemas.
A função NewtonRaphson é chamada com cinco argumentos: Os valores iniciais de
xç a !s, os endereços das variáveis de resposta, x6 ê !6, e a precisão estabelecida para
os cálculos. No seu interior, a rotina usa um loop que é repetido até que uma iteração
leve a um resultado parcial em nr e y, cuja diferença para a iteração anterior seja me-
nor do que a precisão exigida.
Cada ciflculo é feito em etapas: Calculam-se os dois numeradores e o denominador das
expressões de Newton-Raphson, cujos resultados são obtidos através do cálculo do deter-
minante 2 x 2, também através de uma rotina independente para isso, apesar de simples.

3.5 Técnicas avançadas: O método de Newton.Raphson para


sistemas de equações não.lineares
Uma vez compreendido, o Método de Newton-Raphson apresenta-se como uma boa
ferramenta paraa solução de problemas nos quais é possível separar as expressões de
modo que flquem na forma

!Í(x,g=o (3.2s)
lg(x, v) = o
As funções/e g podem ser funções arbitrárias, cada uma definindo regiões positivas e
negativas no plano (.r, y) (veja a Figura 3.4). os valores procurados são os pontos em
que as curvasfl-r) = 0 e g(x) = 0 se cÍuzam, ou seja, as soluções do sistema.

Figura 3.4 Solução de um sistema de duas equações com duas variáveis. As curvas delimitam
as regiões onde as funções são positivas e negativas. Os pontos em que as curvas se cruzam
são raízes (soluções) do sistema.
Método de Newton-Raphson para Duas Variáveis 35

ocorre que as funções/e g não têm, a priori, nenhuma relação uma com a outra. De
forma a buscar todos os pontos comuns, deve-se estabelecer um método de busca que
procura os pontos ao longo das curvas deflnidas pelos valores nulos destas funções.
Deve-se levar em conta que as regiões de troca de sinal podem ser desconexas, o que
pode complicar ainda mais o problema.
Uma evolução do Método de Newton-Raphson pode ser rnuito útil na busca destas
soluções, dependendo apenas do valor inicial usado nas itrl.rções. De forma geral, o
problema típico pode ser definido como N relações (expressões) com -r, variáveis (i
variade 1aÀ/):

(3.24)

Denota-se x o vetor contendo os valores das variáveis x, e F o vetor das funções F,. Na
vizinhança de x, cada uma das funções F, pode ser expandida em série de Taylor:

4(x+ ôx) = {(x)+i$rr,


i=i dx'
+o (ôx2)
r (3.2s)

A matriz de derivadas parciais que aparece nesta equação também é conhecida como
o 'Jacobiano" (denotado por J), cujos elementos são definidos como

,
u,, _ôF,
_
A*, (3.26)

Assim, em notação matricial, a equação f,ca

F(x + ôx) = F(x) + Jôx + O(ôx) (3.27')

O termo O(6x2) representa termos de ordem superior, que podem ser negligenciados,
já que se trata de um método iterativo. como se deseja chegar ao ponto onde

F(x+ôx)-0 (3.28)

o que signiflca que se atingiu o ponto onde a próxima mudança das variáveis resulta
naraiz do sistema. Chega-se a

Jôx = -F(x) (3.2e)

Esta equação matricial pode ser resolvida por decomposição linear ou pelos métodos
descritos nos próximos capítulos deste livro. De posse desta solução, o próximo passo
iterativo é dado por:

Xr*r=Xn*ôX (3.30)
36 Capítulo Três

E repete-se o processo até que seja atingida a precisão desejada. Deve-se ter o cuidado
especial de verificar se a precisão foi atingida tanto nas variáveis como nos resultados
das funções, pois se uma das variáveis (ou funções) atingir o limite de precisão damá-
quina utilizada, o processo não mais avançará-

3.6 Exercícios
1. Encontre a interseção das curvas != *-5x+ 4e !=3sen(xl2)'
2. Encontre a interseção das curvas !=5sÍ e != 4ln(1 + x).

3. Encontre a interseção das curvas y=2-Jx e y=3f'57.

4. Uma pessoa comprou um apartamento através do sistema financeiro da habitação e tem o


seu saldo devedor reduzido mensalmente de acordo com a fórmula:
M= 100000 -1,46' (3.31)

onde m representa a quantidade de meses decorridos desde o início do financiamento. O


comprador pretende utilizar o seu fundo de garantia para quitar o.saldo, e sabe que esta
poupanÇa cresce mensalmente segundo
i
1ll
li F= 30000 x 1,04' (3.32)

,l| Depois de quantos meses o Íundo de garantia será o suficiente para cobrir o saldo devedor?
i.,ll,
5. O ucrânio radioativo é um material artificialmente gerado em laboratório que apresenta uma
"t,
rilii
l{r'lir curva de emissão de pósitrons em função do tempo dada por

$lli e = 0'67 e"tt (3'33)


Irillt
r*lil
onde f é o tempo dado em dias. O fungo que ataca as folhas do feijoeiro-preto é uma praga
que prejudica a produção agrícola da região do vale do rio Tambaú, mas é sensível à radiação
positrônica, sendo sua sensibilidade função do tempo decorrido desde o início da contami-
nação da lavoura. Esta sensibilidade foi estimada experimentalmente, e é dada por
(.,\
s=rr.nl-t i (3.34)
[",
onde ttambém é dado em dias. Depois de quantos dias a sensibilidade do fungo garantirá
que a aplicação do ucrânio éfatal?

6. Sabe-se que curvas

rtx>=f,2/* (3.35)

g(x) = (cos xf1 (3.36)

interceptam-se no intervalo x = [0,5; 1,0]. Calcule, usando o Método de Newton-RaPhson,


o ponto (x, y), onde 11v1= g(x). Considere três casas decimais.
Método de Newton-Raphson para Duas Variáveis 37

7. Carlos e Pedro são alunos do curso de Computação Gráfica e receberam como lição de casa
gerar um filme de computação em 3D. Carlos utiliza um computador de grande porte na fir-
ma em que trabalha, que é capaz de gerar as imagens segundo

f= 14(0,95'-1) (3.37)

onde n é o número de processadores que Carlos dispon ibÍliza para o processo de renderização
de imagens. Pedro decidiu usar um laboratório de computação da escola, onde os compu-
tadores podem ser conectados em cluster. A performance do cluster permite gerar imagens
segu ndo

-, -*4n+30 (3.38)
ít
onde né o número de CPUs atuando no cluster. Em quais condições a produção de Pedro e
Carlos se iguala?

8. Numa indústria automobilística, dois robôs participam da construção de um carro popular.


Num determinado momento da montagem do farol esquerdo do veículo, o robô A, cujo braço
se movimenta segundo

0=60coso+45sen1 (3.39)
2
onde a equivale ao ângulo relativo entre o braço e a referência (a referência angular dos bra-
ços de um robô industrial está na sua base), precisa passar uma peça semi-acabada para o
robô B, cujo braço se movimenta segundo

o =2Ocas2l +SOsen{
4
(3.40)

onde B equivale ao ângulo relativo entre o braço e a sua referência. Sabendo-se que a e B
estão relacionados por

fr=a+3 (3.41)
determine qual o valor de a que permite que os braços dos robôs se encontrem e qual é o
valor de 0 no ponto de contato. Considere que 0 < a < z.

9. Num enfeite de mesa existem duas bolas de cristal, uma com 5 cm e a outra com 12 cm de
raio. Quando as bolas se tocam sobre a mesa, em que altura se dá o contato? Dica: A curva
de uma circunferência é dada por:

ff = (x- x,)2 + (y- y,)2 G.42)


onde R é o raio, e xce yc são as coordenadas do centro da circunferência.

10. Altere o programa apresentado de forma que o loop de iterações seja feito de forma recursiva.

Você também pode gostar