Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
la bl
l" di (3'4)
ad-bc (3.5)
Capítulo Três
e dos denominadores
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.
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§
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).
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
[sr' -rl*
Capírulo Três
)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,
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:
Exrlrpro 2
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).
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.
3. Fazer as iterações.
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
/ /-------
/ / 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
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
!Í(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:
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)
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
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).
,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
rtx>=f,2/* (3.35)
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?
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:
10. Altere o programa apresentado de forma que o loop de iterações seja feito de forma recursiva.