Sanches, I.J. e Furlan, D. C. Métodos Numéricos
Sanches, I.J. e Furlan, D. C. Métodos Numéricos
Sanches, I.J. e Furlan, D. C. Métodos Numéricos
Departamento de Informtica
CI-202
MTODOS
NUMRICOS
Prof. Ionildo Jos Sanches
Prof. Digenes Cogo Furlan
E-Mail: ionildo@ionildo.cjb.net
URL: http://www.ionildo.cjb.net/metodos/
CURITIBA
01/2004
SUMRIO
1 REPRESENTAO DE NMEROS REAIS E ERROS..........................................................................
.......4
1.1 INTRODUO......................................................................
................................................................................4
1.1.1 Erros na Fase de Modelagem............................................................................................................ .................4
1.1.2 Erros na Fase de Resoluo.......................................................................................................... .....................4
4 SISTEMAS LINEARES........................................................................................................................
.............35
4.1 INTRODUO....................................................................
................................................................................35
4.1.1 Classificao Quanto ao Nmero de Solues................................................................................... ...............36
ii
6 INTEGRAO NUMRICA..............................................................................................
.............................71
6.1 INTRODUO....................................................................
................................................................................71
6.1.1 Frmulas de Newton-Cotes.................................................................................................... ..........................72
REFERNCIAS BIBLIOGRFICAS...............................................................................................................
.81
iii
Introduo
Clculo Numrico a obteno da soluo de um problema pela aplicao de mtodo numrico; a
soluo do problema ser caracterizada, ento, por um conjunto de nmeros, exatos ou aproximados.
Mtodo Numrico um algoritmo composto por um nmero finito de operaes envolvendo apenas
nmeros (operaes aritmticas elementares, clculo de funes, consulta a uma tabela de valores, consulta a
um grfico, arbitramento de um valor, etc.).
Problema
Fsico
Modelagem
Modelo
Matemtico
Resoluo
Soluo
Ao se tentar representar um fenmeno do mundo fsico por meio de um mtodo matemtico, raramente
se tem uma descrio correta deste fenmeno. Normalmente, so necessrias vrias simplificaes do mundo
fsico para que se tenha um modelo.
Exemplo: Estudo do movimento de um corpo sujeito a uma acelerao constante.
Tem-se a seguinte equao:
d = do + vo * t + 1/2 * * t2
onde:
d
do
vo
t
: distncia percorrida
: distncia inicial
: velocidade inicial
: tempo
: acelerao
Para a resoluo de modelos matemticos muitas vezes torna-se necessria a utilizao de instrumentos
de clculo que necessitam, para o seu funcionamento, que sejam feitas certas aproximaes. Tais aproximaes
podem gerar erros, tais como: converso de bases, erros de arredondamento e erros de truncamento.
1.2
{ {
{
Complexos (2+
Nmeros
3 -1 )
Irracionais (
Reais
; 2
)
Inteiros (-1004; 2)
Racionais
Fracionrios
Algumas das propriedades bsicas da aritmtica real no valem mais quando executadas no computador,
pois, enquanto na matemtica alguns nmeros so representados por infinitos dgitos, no computador isso no
possvel, pois uma palavra de memria finita e a prpria memria tambm.
Exemplos:
2,
3,e
1
3
Se desejssemos calcular a rea de uma circunferncia de raio 100m, obteramos os seguintes resultados:
a) A = 31400m2
b) A = 31416 m2
c) A = 31415.92654 m2
Como justificar as diferenas entre os resultados? possvel obter o valor exato desta rea?
Os erros ocorridos dependem da representao dos nmeros na mquina utilizada. A representao de
um nmero depende da base escolhida ou disponvel na mquina em uso e do nmero mximo de dgitos usados
na sua representao.
O nmero , por exemplo, no pode ser representado atravs de um nmero finito de dgitos decimais.
No exemplo mostrado acima, o nmero foi escrito como 3.14, 3.1416 e 3.141592654 respectivamente nos
casos (a), (b) e (c). Em cada um deles foi obtido um resultado diferente, e o erro neste caso depende
exclusivamente da aproximao escolhida para , Qualquer que seja a circunferncia, a sua rea nunca ser
obtida exatamente, uma vez que um nmero irracional.
Como neste exemplo, qualquer clculo que envolva nmeros que no podem ser representados atravs
de um nmero finito de dgitos no fornecer como resultado um valor exato. Quanto maior o nmero de dgitos
utilizados, maior ser a preciso obtida. Por isso, a melhor aproximao para o valor da rea da circunferncia
aquela obtida no caso (c).
Alm disso, um nmero pode ter representao finita em uma base e no-finita em outras bases. A base
decimal a que mais empregamos atualmente. Um computador opera normalmente no sistema binrio.
Observe o que acontece na interao entre o usurio (ou dados do programa) e o computador: os dados
de entrada so enviados ao computador pelo usurio no sistema decimal; toda esta informao convertida para
o sistema binrio, e as operaes todas sero efetuadas neste sistema. Os resultados finais sero convertidos para
o sistema decimal e, finalmente, sero transmitidos ao usurio. Todo este processo de converso uma fonte de
erros que afetam o resultado final dos clculos.
Na prxima seo, iremos estudar os processos de converso de nmeros do sistema decimal para o
sistema binrio e vice-versa. Estudaremos tambm a forma de armazenamento feita pelos computadores digitais.
1.3
2
9
1
2
4
0
2
2
1
1
2
0
19(10) = 10011(2)
Consideremos agora a converso de um nmero fracionrio da base 2 para a base 10.
0.12510 = 1*10-1 + 2*10-2 + 5*10-3 = 0.1 + 0.02 + 0.005 = 0.125
0.0012 = 0*2-1 + 0*2-2 + 1*2-3 = 0.12510
Consideremos agora a converso de um nmero fracionrio da base 10 para a base 2. Um nmero real
entre 0 e 1 pode ter representao finita no sistema decimal, mas representao infinita no sistema binrio.
No caso geral, seja r um nmero entre 0 e 1 no sistema decimal e (0.d1d2...dj...)2 sua representao no
sistema binrio. Os dgitos binrios d1, d2, ..., dj, ... so obtidos atravs do seguinte algoritmo:
Passo 0:
r1 = r; k = 1
Passo 1:
Calcule 2rk.
Se 2rk = 1, faa: dk = 1,
caso contrrio, faa: dk = 0
Passo 2:
Passo 3:
k = k + 1.
Volte ao passo 1.
Observar que o algoritmo pode ou no terminar aps um nmero finito de passos. Para r = (0.125)10
teremos: r1 = 0.125.
k = 1 2r1 = 0.25
d1 = 0
r2 = 0.25 d1 = 0.25
k = 2 2r2 = 0.5
d2 = 0
r3 = 0.5
k = 3 2r3 = 1.0
d3 = 1
r4 = 0
Temos ento 0.12510 = 0.0012, sendo portanto a representao binria finita. J para r = 0.110, teremos: r1
= 0.1
k = 1 2r1 = 0.2
d1 = 0
r2 = 0.2
k = 2 2r2 = 0.4
d2 = 0
r3 = 0.4
k = 3 2r3 = 0.8
d3 = 0
r4 = 0.8
k = 4 2r4 = 1.6
d4 = 1
r5 = 0.6
k = 5 2r5 = 1.2
d5 = 1
r6 = 0.2 = r2
Como r6 = r2, teremos que os resultados para k de 2 e 5 se repetiro e ento: r10 = r6 = r2 = 0.2 e assim
indefinidamente.
Conclumos que: (0.1)10 = (0.00011001100110011...)2 e, portanto, o nmero (0.1)10 no tem
representao binria finita.
O fato de um nmero no ter representao finita no sistema binrio pode acarretar a ocorrncia de erros
aparentemente inexplicveis em clculos efetuados em sistemas computacionais binrios.
Um computador que opera no sistema binrio ir armazenar uma aproximao para (0.1)10, uma vez que
possui uma quantidade fixa de posies para guardar os dgitos de mantissa de um nmero, e esta aproximao
ser usada para realizar os clculos. No se pode, portanto, esperar um resultado exato.
Podemos agora entender melhor por que o resultado da operao:
1000
S=
0.1
n=
1
no obtido corretamente num computador. Supondo uma mquina digital que trabalhe com apenas 9 dgitos na
mantissa, o nmero (0.1)10 seria armazenado como (0.000110011)2 e este nmero representa exatamente
(0.099609375)10. Portanto, todas as operaes que envolvem (0.1)10 seriam realizadas com esta aproximao.
Veremos na prxima seo a representao de nmeros em aritmtica de ponto flutuante com o objetivo de se
entender melhor a causa de resultados imprecisos em operaes numricas.
1000
i=
1
PROGRAM Arredondamento;
{$N+} {usar o co-processador numrico 80x87}
VAR
i : INTEGER;
x : REAL;
BEGIN
x := 0;
FOR i := 1 TO 1000 DO
x := x + 0.1;
WRITELN(x:16:14);
END.
d1
x=
onde:
d2
2
d3
3
+ ... +
dt
d 1
d2
d3
dt
1 + 2 + 3 + ... + t chamada de mantissa e a parte do nmero que representa os
0.12510 =
1
1
10
10
103
. 10
1
3
1 +
10
102
1
+
103
104
105
. 10
Os nmeros assim representados esto normalizados, isto , a mantissa um valor entre 0 e 1. A forma
normalizada utilizada nas operaes envolvendo ponto flutuante em computadores digitais.
No sistema de base = 2 (binrio), tem-se:
1010 = 10102 = 0.101 24 =
1
1 +
2
23
.2
1
* 23
2
Exemplo 2: Numa mquina de calcular cujo sistema de representao utilizado tenha =2, t = 10, I = 15 e S =
15, o nmero 2510 e 3.510 , assim representado:
2510 = 110012 = 0.11001 * 25 = 0.11001 * 2101
1
1
2
1
2
0
3
0
4
1
5
0
6
0
7
0
8
0
9
210
2101
ou, de uma forma mais compacta:
1100100000
Mantissa
0101
expoente
Cada dgito chamado de bit, portanto, nesta mquina so utilizados 10 bits para a mantissa, 4 para o
expoente e mais um bit para o sinal da mantissa (se bit=0 positivo, se bit=1 negativo) e um bit para o sinal do
expoente, resultando, no total, 16 bits, que so assim representados:
0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1
Valor da Mantissa
Expoente
Sinal da Mantissa
Sinal Exp.
3.510 = 0.111 * 210
0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0
O maior valor representado por esta mquina descrita no exemplo 2 seria:
0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
que, na base decimal, tem o seguinte valor: 0.1111111111 * 21111 = 3273610
2510 =
10
t = 3;
e [-5,5].
11
expoente e menor que 5. Esta uma situao em que a mquina acusa a ocorrncia de underflow;
3. | x | > M: por exemplo, x = 0.875*109. Neste caso o expoente e maior que 5 e a mquina acusa a
ocorrncia de overflow.
Algumas linguagens de programao permitem que as variveis sejam declaradas em preciso dupla.
Neste caso, esta varivel ser representada no sistema de aritmtica de ponto flutuante da mquina, mas com
aproximadamente o dobro de dgitos disponveis na mantissa. importante observar que, neste caso, o tempo de
execuo e requerimento de memria aumentam de forma significativa.
O Turbo Pascal fornece 5 (cinco) tipos de real pr-definidos. Cada tipo tem um intervalo e uma preciso
especificada:
Tipo
Real
Single
Double
Extended
Comp
Intervalo
2.9E39 ... 1.7E38
1.5E45 ... 3.4E38
5.0E324 ... 1.7E308
3.4E4932 ... 1.1E4932
9.2E18 ... 9.2E18
Dgitos
11-12
7-8
15-16
19-20
19-20
Tamanho (Bytes)
6
4
8
10
8
O Turbo Pascal suporta dois modelos na gerao de cdigo com ponto flutuante:
Software ponto flutuante, {$N}
80x87 ponto flutuante, {$N+}
Deve-se usar a diretiva de compilao $N para escolher um dos dois modelos. Por default utilizado
o primeiro modelo. Os tipos Single, Double, Extended e Comp so tipos de dados do co-processador
80x87, portanto para usar um destes 4 tipos necessita obrigatoriamente da diretiva de compilao {$N+}. A
diretiva de compilao {$N+} faz com que o compilador gere cdigo para realizar o clculo de todos os tipos
acima usando o co-processador numrico 80x87.
12
2 Conceito de Erro
2.1
Introduo
A noo de erro est presente em todos os campos do Clculo Numrico. De um lado, os dados, em si,
nem sempre so exatos e, de outro lado, as operaes sobre valores no exatos propagam esses erros a seus
resultados. Finalmente, os prprios mtodos numricos, freqentemente mtodos aproximados, buscam a
minimizao dos erros, procurando resultados o mais prximo possvel do que seriam valores exatos.
Erro a diferena entre o valor exato e o valor apresentado.
No captulo acima, sobre representao de nmeros reais, pudemos acompanhar vrias situaes em que
ocorrem erros. Iremos a seguir falar um pouco mais sobre erros de arredondamento e erros de truncamento.
2.2
EAN = N N
Erro absoluto
Por exemplo, sabendo-se que (3.14, 3.15) tomaremos para um valor dentro deste intervalo e
teremos, ento, |EA| = | - | < 0.01.
Erro Relativo definido como o erro absoluto dividido pelo valor aproximado:
ERN
EAN
N'
N N'
N'
Erro Relativo
claro que EAN s poder ser determinado se N for exatamente conhecido; como isso raro, em
clculos numricos costuma-se trabalhar com uma limitao mxima para o erro, ao invs do prprio
(indicando-se, ento, | E | < , onde o limite).
Por exemplo, se = 3876.373 e s desejamos a parte inteira , o erro absoluto ser:
= | ' | = 0.373
Se fizermos o mesmo com o nmero = 1.373, teremos:
= | ' | = 0.373
Obviamente, o efeito de aproximao de muito maior do que em , mas o erro absoluto o mesmo
nos dois casos. O erro relativo, entretanto, pode traduzir perfeitamente este fato, pois:
0,373
0,373
=
0,000096 < 10-4
=
0,373 < 5*100
3876
1
2.3
Erro de Arredondamento
Ao se aplicar um mtodo numrico, os erros devidos aos valores iniciais, intermedirios e finais
conduzem a um erro global (diferena entre o exato e o obtido) tambm chamado de arredondamento.
Erros iniciais so os cometidos no arredondamento dos dados iniciais. Os erros intermedirios so
decorrentes dos erros cometidos durante a aplicao do mtodo numrico e os erros finais decorrentes da
apresentao final do resultado.
13
O uso deste critrio limita o erro a meia unidade da ltima casa conservada:
E=
Os valores aproximados obtidos podem ser inferiores (valor aproximado por falta) ou superiores (valor
aproximado por excesso) aos exatos; 1.41 o valor aproximado, por falta, de 2 ; 1.26 o valor de 3 2 ,
aproximado por excesso.
Para concluir este item de erro de arredondamento, deve-se ressaltar a importncia de se saber o nmero
de dgitos significativos do sistema de representao da mquina que est sendo utilizada para que se tenha a
noo da preciso do resultado obtido.
Alm da preciso decimal, o clculo do chamado psilon da mquina nos d uma idia da exatido da
mquina.
O da mquina o menor nmero de ponto flutuante, tal que: 1 + > 1. Alguns mtodos para clculo de
no do seu valor exato, mas isto nem sempre necessrio, pois o que importa a sua ordem de grandeza.
O programa abaixo, escrito na linguagem Pascal, calcula uma aproximao do da mquina:
PROGRAM Precisao;
VAR Eps: REAL;
BEGIN
Eps := 1;
REPEAT
Eps := Eps / 2;
UNTIL (Eps + 1 = 1);
WRITELN('A maquina acha que ', Eps,' vale zero!');
READLN;
END.
O programa acima, executado num Pentium, obteve a seguinte resposta: A mquina acha que
Logo o nmero de dgitos significativos 14. Se em vez de usarmos o tipo Real, usarmos o tipo
Extended, teremos 5.42101086242752E0020 e com o tipo Comp, teremos 0.00000000000000E+0000.
14
2.4
Erro de Truncamento
So erros provenientes da utilizao de processos que deveriam ser infinitos ou muito grandes para a
determinao de um valor e que, por razes prticas, so truncados.
Estes processos infinitos so muito utilizados na avaliao de funes matemticas, tais como,
exponenciao, logaritmos, funes trigonomtricas e vrias outras que uma mquina pode ter.
Exemplo: Uma mquina poderia calcular a funo seno(x) e exponencial(x) utilizando as seguintes tcnicas:
3
5
7
x
x
x
x
+ ...
seno(x) =
3!
5!
7!
ex = 1
x2
2!
x3
3!
+ ...
Fazendo truncamento:
seno(x) x
e 1
x
x3
3!
x
x5
5!
x2
2!
x7
7!
x3
3!
+ ...
+ ( 1)n
+ ...
xn
+
n!
xn
n!
Propagao de Erros
Durante as operaes aritmticas de um mtodo, os erros dos operandos produzem um erro no resultado
da operao; sendo A, a, B, b os valores exatos e aproximados, respectivos, e Ea e Eb, os erros dos operandos.
A + B = (a + Ea) + (b + Eb) = a + b + Ea + Eb
A B = (a + Ea) (b + Eb) = a b + Ea Eb
A * B = (a + Ea) (b + Eb) = ab + aEb + bEa + Eb*Ea
EAA+B = Ea + Eb
EAA-B = Ea Eb
EAA*B = aEb + bEa + Eb*Ea
x2 + (x1 x1)
Os dois resultados so diferentes, quando no deveriam ser, pois a adio uma operao distributiva. A
causa desta diferena foi um arredondamento feito na adio (x2 + x1), cujo resultado tem 8 dgitos. Como a
mquina s armazena 4 dgitos, os menos significativos foram desprezados.
15
Ao se utilizar mquinas de calcular deve-se estar atento a essas particularidades causadas pelo erro de
arredondamento, no s na adio mas tambm nas outras operaes.
16
Introduo
Seja F(x) uma funo real definida num intervalo [a, b]. Chama-se raiz(es) desta funo em [a, b] a todo
(csi) (a, b) tal que F() = 0, como mostra a figura abaixo.
y
3.1.1
f(x)
lim
x 0
y
x
lim
x a
f ( x ) f (a)
x a
lim
x 0
f ( a + x ) f ( a )
x
Tipos de Mtodos
Pode-se dizer que so dois os mtodos para se achar a(s) raiz(es) de uma equao:
Mtodo direto: quando fornece soluo em apenas um nico passo. Esta raiz exata, a menos de erros
de arredondamento.
Exemplo: Seja F(x) = x2 3x + 2. A soluo direta pode ser obtida atravs da frmula de Baskara com a
b b2 4ac
expresso: X =
, que ter como conjunto soluo {1, 2}.
2a
PROGRAM Baskara;
VAR
a, b, c : INTEGER;
delta : INTEGER;
x1, x2 : REAL;
BEGIN
a := 1; b := -3; c := 2;
{f(x) = x^2 - 3*x + 2}
delta := b*b - 4*a*c;
IF delta >= 0 THEN
BEGIN
x1 := (-b + SQRT(delta)) / (2*a);
x2 := (-b - SQRT(delta)) / (2*a);
WRITELN('x1 = ',x1);
WRITELN('x2 = ',x2);
END
ELSE WRITELN('Nao possui raizes reais');
END.
Mtodo iterativo ou indireto: um processo de clculo infinito, recursivo, em que o valor obtido a cada
passo depende de valores obtidos em passos anteriores. Este tipo de mtodo, na maioria das vezes, no obtm
soluo exata para as razes, mas sim uma soluo aproximada dentro de uma faixa de erro considerada
aceitvel.
17
importante salientar, que normalmente, os mtodos iterativos so mais precisos quando executados em
um computador que permite agilizar os clculos matemticos, obtendo assim uma melhor preciso.
Exerccio: Calcular
4 e de
+ x n 1
x
, para n = 1, 2, 3, ...
n 1
xn =
2
onde: x: o nmero a ser calculado a raiz
x0: atribuio inicial qualquer.
Como vimos anteriormente, o clculo das duas razes de uma equao do segundo grau, colocada sob a
forma ax2 + bx + c = 0, so facilmente obtidas pela frmula de Baskara. Entretanto, se colocarmos uma
expresso em que aparea uma equao transcendente, a soluo j no to simples, como demonstram os
exemplos abaixo:
ex + x = 0
cos(x) x = 0
ln(x) + x 2 = 0
Mesmo um polinmio de grau maior que trs j no tem uma soluo algbrica simples como a da
equao do segundo grau, a no ser em casos particulares. Vamos analisar como enfrentar esse problema, to
comum em diversas reas da engenharia, da economia, das cincias, da fsica, entre tantas outras.
Essas equaes, com enorme freqncia, nos levam a razes reais no racionais que, ao serem
representadas no computador, necessariamente, o sero de forma aproximada, pelas razes j expostas no
captulo anterior, tendo em vista que necessitariam de infinitos dgitos, em suas mantissas, para serem
representadas.
Alm disso, em geral, estamos interessados em obter esses valores, essas razes, com uma determinada
preciso, com um erro tolervel, com algumas casas decimais, sem a pretenso de obter valores exatos. Isso
mais do que suficiente, para a maioria dos problemas prticos encontrados.
Os mtodos numricos a serem apresentados, partindo de valores inicialmente propostos, buscam
aprimorar esses valores, diminuindo os erros, aproximando-se, assim, dos valores das razes procuradas, at que
os erros sejam aceitveis, podendo-se garantir que sejam erros inferiores a valores pr-definidos.
Para se calcular uma raiz duas etapas devem ser seguidas:
Isolar a raiz, ou seja, achar um intervalo [a, b], o menor possvel, que contenha uma e somente uma
raiz da equao f(x) = 0;
Melhorar o valor da raiz aproximada, isto , refin-la at o grau de exatido requerido. Com a
abordagem iterativa precisamos determinar um intervalo inicial para construirmos a seqncia {xi} e
teremos que a raiz x' ser dada por:
x ' = lim xi
i
Alm disto, temos que estipular critrios de parada, pois na pratica no calcularemos infinitos termos,
mas apenas o suficiente para atingirmos a exatido desejada.
3.1.3
Isolamento de Razes
Nesta fase feita uma anlise terica e grfica da funo f(x). Para tal fim, usa-se freqentemente um
importante teorema da lgebra.
18
Teorema: Se uma funo f(x) contnua num intervalo [a, b] assume valores de sinais opostos nos pontos
extremos deste intervalo, isto , f(a). f(b) < 0, ento o intervalo conter, no mnimo, uma raiz da equao f(x) =
0; em outras palavras haver, no mnimo, um nmero (a, b) tal que f() = 0.
3.1.3.1
Na seo anterior vimos como delimitar as razes reais de F(x) = 0. Agora iremos verificar quantas razes
existem no intervalo delimitado. Os mtodos a seguir do uma boa indicao sobre o nmero de razes do
intervalo.
Teorema de Bolzano: Seja F(x) = 0 uma equao algbrica com coeficientes reais e x (a, b):
Se F(a).F(b) < 0, ento existe um nmero impar de razes reais (contando suas multiplicidades) no
intervalo (a, b).
Se F(a).F(b) > 0, ento existe um nmero par de razes reais (contando suas multiplicidades) ou no
existe razes reais no intervalo (a, b).
Refinamento
Depois de isolar a raiz no intervalo [a, b], passa-se a calcul-la atravs de mtodos numricos. Como
veremos adiante, estes mtodos devem fornecer uma seqncia {xi} de aproximao, cujo limite a raiz exata .
Em cada aproximao xn, da raiz exata , usa-se um destes critrios e compara-se o resultado com a tolerncia
pr-fixada.
A verificao, de que xn est "suficientemente" prxima da raiz, pode ser feita de dois modos diferentes
(que podem levar a resultados diferentes):
| f(xn) |
| x n 1 |
3.1.4
19
Conforme for , (dzeta) teremos diferentes mtodos de ponto fixo, tais como.
Mtodo de Newton-Raphson;
Mtodo da Iterao Linear.
Mtodos de mltiplos pontos: Os mtodos de mltiplos pontos constituem uma generalizao do
mtodo anterior, onde para determinar um ponto xi+1 utilizamos vrios pontos anteriores: xi, xi-1, ..., xi-p. Exemplo:
Mtodo da Secante.
3.2
Mtodo da Bisseo
Seja f(x) uma funo contnua no intervalo [a, b] e seja uma raiz desta funo, sendo que (a, b), tal
que f() = 0.
y
f( b)
f(x)
x1
x4 x
3
a
0
x2
f( a)
Dividindo o intervalo [a, b] ao meio, obtm-se x1, havendo, pois, dois subintervalos, [a, x1] e [x1, b], a ser
considerados. Se f(x1) = 0, ento = x1; caso contrrio, a raiz estar no subintervalo onde a funo tem sinais
opostos nos pontos extremos, ou seja, se f(a). f(x1) < 0 ento [a, x1], seno f(a). f(x1) > 0 e [x1, b].
O processo se repete at que se obtenha uma aproximao para a raiz exata , ou seja, que o critrio de
parada seja satisfeito. Ento, por induo, temos:
Algoritmo:
xn =
a +b
2
, para n = 1, 2, 3, ...
ou
| b a | erro
Restrio: necessrio conhecer um intervalo que contenha o valor desejado .
3.2.1
Considerando uma preciso e um intervalo inicial [a, b] possvel saber, a priori, quantas iteraes
sero efetuadas pelo mtodo da bisseo at que se obtenha | b a | , usando o algoritmo deste mtodo.
Vimos que:
b a k 1 b0 a 0
bk a k = k 1
=
2
2k
Deve-se obter o valor de k tal que bk ak < , ou seja,
20
b0 a 0
<
2k
b0 a 0
< 2k
Portanto, se k satisfaz a relao acima, ao final da iterao k teremos o intervalo [a, b] que contem a raiz .
3.2.2
Consideraes Finais
3.2.3
Exemplos
Exemplo 1: Encontrar a raiz da funo f(x) = x.ln(x) 3.2 contida no intervalo [2, 3], com erro 10-2.
a +b
a) Algoritmo: x n =
2
b) Escolha do intervalo:
f(2) = 1.81371
f(3) = 0.09584
[2, 3]
c) Valor do erro:
erro 10-2
d) Iteraes:
a
2
2.5
2.75
2.875
2.9375
2.9375
Xn
2.5
2.75
2.875
2.9375
2.96875
2.953125
b
3
3
3
3
3
2.96875
f(a)
1.81371
0.90927
0.41810
0.16385
0.03467
0.03467
f(xn)
0.90927
0.41810
0.16385
0.03467
0.03042
0.00217
| xn a |
0.5
0.25
0.125
0.0625
0.03125
0,015625
= | f(xn) |
0.90927
0.41810
0.16385
0.03467
0.03042
0.00217
e) Resposta:
A raiz desejada = 2,953125
Exemplo 2: Encontrar a raiz de f(x) = x2 3, contida no intervalo [1; 2], com erro 10-2.
Resposta: A raiz desejada = 1.734375
Exemplo 3: Encontrar a raiz da funo f(x) = x2 + ln(x) contida no intervalo [0.5, 1], com erro 10-2.
21
a f (b) +b f ( a )
af (b) bf ( a )
f ( b) f ( a )
f (b) + f ( a )
af (b) bf ( a ) af ( a ) + af ( a )
f (b) f ( a )
(b a ). f ( a )
, para n = 1, 2, 3, ...
f ( b) f ( a )
Graficamente, este mtodo procura particionar o intervalo [a, b], na interseo da reta que une os pontos
(a, f(a)) e (b, f(b)) com o eixo x. Este ponto representado como xn. Escolhe-se ento um novo subintervalo
conforme for a variao do sinal da curva f.
O mtodo da falsa posio aplicado na figura abaixo mostra que f(x1).f(a) < 0, com isso, o novo intervalo
que contm pelo menos uma raiz real dado por (a, x1). Continuando o processo, determinamos o ponto x2 e
verifica-se, agora, que f(x2).f(x1) < 0, da o processo segue tendo o intervalo (x1, x2).
Aps encontrar o ponto x1, devemos verificar, como no caso da bisseo, se a raiz est entre o intervalo
(a, x1) ou (x1, b). Se f(a).f(x1) < 0, ento teremos b = x1, caso contrrio teremos a = x1. A partir da o processo se
repete at que o critrio de parada seja satisfeito.
y f( b')
a x2
f( b)
x1
f(x)
f( a)
O algoritmo deste mtodo tambm pode ser encontrado atravs da anlise dos tringulos formados pela
reta (a, f(a)) e (b, f(b)) com o eixo x. Seja o tringulo f(a)x1a e o tringulo f(a)f(b)f(b), ento, pela propriedade da
semelhana de tringulos temos:
22
x a
ba
f ( b) f ( a )
ba
(b a )( f (a ))
=
= 1
x1 a =
x1 a
f (a )
f (b) f ( a ) f ( a )
f ( b) f ( a )
x1 = a
(b a )( f ( a ))
f ( b) f ( a )
Se f(a).f(x1) < 0, ento teremos b = x1, seno a = x1. A partir da o processo se repete at que o critrio de
parada seja satisfeito.
Ento, por induo temos:
Algoritmo:
=a
( b a ). f ( a )
f ( b) f ( a )
Para n = 1, 2, 3, ...
Casos especiais
Se f(x) contnua no intervalo [a, b] com f(a).f(b) < 0 ento o mtodo da falsa posio gera uma
seqncia convergente.
Se uma funo cncava ou convexa em [a, b], ou seja, a segunda derivada existe em [a, b] e f(x) no
muda de sinal nesse intervalo, ento no mtodo da falsa posio teremos sempre uma das extremidades fixa.
Este caso especial tambm chamado de Mtodo das Cordas. A figura abaixo mostra graficamente os quatro
casos que podem ocorrer:
f "( x) >
0
f "( x) >
0
f (a) <
0 e f (b
f)(>
a)
0>
0 e f ( b) <
b ponto fixo
a ponto fixo
f(x)
y
f( a)
f( b)
a
0
f(x)
x1
x2
f(a)
x2
x1
b
x
f(b )
23
f "( x) <
0
f "( x) <
0
f (a) <
0 e f (b
f)(>
a)
0>
0 e f ( b) <
a ponto fixo
b ponto fixo
y
f( a)
f(x)
f( b)
a
0
x2
x1
f(x)
x1
f( a)
x2
b
x
f( b)
Consideraes finais
3.3.3
Se o ponto fixo existir e for razoavelmente prximo da raiz, o mtodo tem boa convergncia; caso
contrrio, pode ser mais lento que a bisseo.
Exemplos
Exemplo 1: Determinar pelo mtodo da falsa posio a menor raiz positiva da funo de quarto grau f(x) = x4
26x2 + 24x + 21 at que o erro absoluto seja igual ou inferior a 0.01. Os clculos devem ser efetuados com 2
casas decimais e com arredondamento.
(b a ). f ( a )
f (b) f ( a )
4
2
f(x) = x 26x + 24x + 21
f(x) = 4x3 52x + 24
f(x) = 12x2 52
a) Algoritmo:
=a
b) Escolha do intervalo:
Em primeiro lugar, deve-se procurar o intervalo onde possivelmente esteja a primeira raiz
positiva. Atravs da anlise do valor da funo nos primeiros pontos do eixo dos x temos que:
f(0) = 21, f(1) = 20, f(2) = 19, logo, entre (1, 2) existe uma raiz positiva.
c) Valor inicial:
a=1
b=2
f(1) = 40 f(2) = 4
24
x1 =1
( 2 1)( f (1))
(1)( 20)
20
=1
=1
=1,51
( f ( 2) f (1))
( 19 20)
39
( 2 1,51)( f (1,51))
(0,49)( 3,16)
(1,55)
=1,51
=1.51
=1,58
( f ( 2) f (1,51))
19 ( 3,16)
22,16
( 2 1,58)( f (1,58))
(0,42)(0,24)
0,10
=1,58
=1,58
=1,59
( f ( 2) f (1,58))
19 (0,24)
19,24
y= x
f(x) = 0
y = g (x)
onde g(x) chamada de funo de iterao.
25
y
y=x
y=g(x)
f(x)
0
Sendo x0 a primeira aproximao da raiz , calcula-se g(x0). Faz-se ento, x1 = g(x0), x2 = g(x1), x3 = g(x2)
e assim sucessivamente.
Ento, por induo, temos:
Algoritmo:
x n =g ( x n 1 )
para n = 1, 2, 3, ...
Critrio de Parada:
| xn xn-1 | erro
Melhor extremo:
Empiricamente, sabe-se que o mtodo tem sucesso quando | g'(x) | < 1 em todo intervalo.
O extremo mais rpido para iniciar o mtodo aquele para o qual o mdulo da primeira derivada
menor.
Se | g'(a) | < | g'(b) | ento x0 = a, seno x0 = b.
3.4.1
Casos de convergncia
g(x) =
( 5x 3)
5 x 3
x2
g(x) =
3
x 2 5
g(x) =
Como podemos ter vrias funes g(x), vamos estabelecer algumas condies para que os resultados
sejam satisfatrios.
Vamos observar graficamente o problema e verificar que h funes g(x) que no so indicadas para a
escolha.
Convergncia monotnica
0 < g(x) < 1
Convergncia oscilante
1 < g(x) < 0
26
y
y=x
y=x
y=g(x)
y=g(x)
0
0
x0
x1
x2
x0 x x
2 4
Divergncia monotnica
g(x) > 1
y
y=g(x)
x3 x1
Divergncia oscilante
g(x) < 1
y=x
y=x
y=g(x)
0
x2
x1
x0
x 4 x 2 x 0 x 1x 3
Consideraes finais
A maior dificuldade neste mtodo encontrar uma funo de iterao que satisfaa condio de
convergncia;
Teste de | g'(x) | < 1 pode levar a um engano se x0 no estiver suficientemente prximo da raiz. A
velocidade de convergncia depender de | g'() |: quanto menor este valor maior ser a
convergncia;
Devemos observar que o teste de erro ( | xn xn-1 | erro ) no implica necessariamente que | xn |
erro, conforme vemos na figura abaixo:
y
y=x
y=g(x)
3.4.3
x n x n-1
Exemplos
Exemplo 1: Dada a funo f(x) = x2 + 3x 40, obter sua raiz contida no intervalo [4.5, 5.5], pelo MIL, com um
erro 10-4.
a) Algoritmo: x n = g ( x n 1 )
b) Escolha da funo de iterao:
y=x
27
y=
x 40
3
y' =
2x
3
divergncia oscilante
y=
40
x +3
y' =
40
( x + 3) 2
convergncia oscilante
y=
40 3 x
y' =
3
2 40 3 x
y' =
convergncia oscilante
40 3 x
y'(4.5) = 0.2914
y'(5.5) = 0.3094
3
2 * 40 3 x
x0 = 4.5
d) Valor do erro:
erro 10-4
e) Iteraes:
x1 = 5.14782
x2 = 4.95546
x3 = 5.01335
x4 = 4.99599
x5 = 5.00120
x6 = 4.99964
x7 = 5.00011
x8 = 4.99997
x9 = 5.00000
f) Resposta:
A raiz desejada = 5.00000
Exemplo 2: Dada a funo f(x) = x2 + 3x cos(x) 2.45, obter sua raiz contida no intervalo [0.5, 1], pelo MIL,
com um erro 10-2.
Resposta: A raiz desejada = 0.8161
3.5
f(x)
f(x 0 )
f(x 1 )
a
0
f(a)
x2
x1
b=x
x'
28
Interpretao geomtrica do mtodo de Newton
f ( x0 )
f ( x0 )
x1 = x0
x 0 x1
f ' ( x0 )
Se x1 x 0 erro , ento x1 a raiz desejada, seno deve-se calcular x2, que obtido com base no
f ( x1 )
mesmo raciocnio anterior: x 2 = x1
.
f ' ( x1 )
Se x 2 x1 erro , ento x2 a raiz desejada, seno deve-se calcular x3, ..., xn, at que
x n x n 1 erro . Ento, por induo, temos:
tg = f ' ( x 0 )
f ' ( x0 ) =
Algoritmo:
x n = x n 1
f ( x n 1 )
f ' ( x n 1 )
para n = 1, 2, 3, ...
Critrio de Parada:
x n x n 1 erro
Restrio:
necessrio conhecer um intervalo que contenha o valordesejado .
Melhor extremo:
Para decidir qual o melhor extremo do intervalo (a, b) a iniciar o mtodo, basta verificar qual dos
extremos possui funo e segunda derivada com mesmo sinal:
f(xi). f''(xi) > 0
3.5.1
Consideraes finais
3.5.2
Exemplos
Exemplo 1: Calcular a raiz positiva da equao f(x) = 2x sen(x) 4 = 0, com erro 10-3, usando o mtodo de
NR.
f ( x n 1 )
a) Algoritmo: x n = x n 1
f ' ( x n 1 )
f(x) = 2x sen(x) 4
f(x) = 2 cos(x)
f''(x) = sen(x)
b) Escolha do intervalo:
f(2) = 0.9093
f(2). f(3) < 0
f(3) = 1.8589
[2, 3]
29
erro 10
-3
e) Iteraes:
x1 = 3
f ( 3)
1.8589
=3
= 2.3783
f ' (3)
2.9900
f ( 2.3783)
0.0653
= 2.3783
= 2.3543
f ' ( 2.3783)
2.7226
f ( 2.3543)
0.0002
= 2.3543
= 2.3542
f ' ( 2.3543)
2.7058
Condies de Newton-Raphson-Fourier
Segundo Newton, para haver a convergncia uma raiz em seu mtodo, bastaria que o intervalo (a, b)
em anlise fosse suficientemente pequeno. Contudo, Raphson e Fourier concluram que um intervalo pequeno
aquele que contm uma e somente uma raiz. Com isso, algumas condies foram estabelecidas para que tal
exigncia fosse vlida:
1) Se f(a). f(b) > 0, ento existe um nmero par de razes reais (contando suas multiplicidades) ou no
existe razes reais no intervalo (a, b) (Teorema de Bolzano);
2) Se f(a).f(b) < 0, ento existe um nmero mpar de razes reais (contando suas multiplicidades) no
intervalo (a, b) (Teorema de Bolzano);
3) Se f'(a). f'(b) > 0, ento o comportamento da funo neste intervalo poder ser apenas crescente ou
apenas decrescente, e nunca os dois se alternando;
4) Se f'(a). f'(b) < 0, ento a funo ter o comportamento de ora crescer ora decrescer;
5) Se f"(a). f"(b) > 0, ento a concavidade no muda no intervalo em anlise;
6) Se f"(a). f"(b) < 0, ento a concavidade muda no intervalo em anlise.
Portanto, haver convergncia uma raiz no intervalo (a, b) se e somente se:
f(a). f(b) < 0,
30
Exemplo 5: Seja a funo f(x) = x 9.5x + 8.5, obter a raiz contida no intervalo [8, 9]. Os clculos devem ser
realizados com 4 decimais com arredondamento e erro no superior a 0,001.
f ( x n 1 )
a) Algoritmo : x n = x n 1
f ' ( x n 1 )
2
f(9) = 4
[8, 9]
d) Valor do erro:
erro 10-3
e) Iteraes:
f ( 9)
4
=9
= 8.5294
f ' (9)
8.5
| x1 x0 | = | 8.5294 9 | = 0.4706 > erro
=9
= 8.5294
= 8.5001
f (8.5294)
0.2214
= 8.5294
= 8.5001
f ' (8.5294)
7.5588
| x2 x1 | = | 8.5001 8.5294 | = 0.0293 > erro
f (8.5001)
0.0008
= 8.5001
= 8.5000
f ' (8.5001)
7.5002
| x3 x2 | = | 8.5000 8.5001 | = 0.0001 < erro
f) Resposta:
A raiz desejada = 8.5000
Exemplo 6: Calcular a raiz da equao f(x) = x3 x + 1 = 0, contida no intervalo [2, 1], com um erro 10-3.
Resposta: A raiz desejada = 1.3247
3.6
Mtodo da Secante
Uma grande desvantagem do mtodo de Newton a necessidade de se obter a derivada f(x) e calcular o
31
xn + 1 = x
xn + 1 = x
f ( xn)
f ( xn) f ( xn 1)
xn xn 1
( xn xn 1). f ( xn)
f ( xn) f ( xn 1) , para n = 1, 2, 3, ...
Para iniciar o mtodo necessitamos de duas aproximaes (x0 e x1) para a raiz.
y
f(x)
f(x 1 )
xo
x2
x4
x1
f( x 0 )
Neste mtodo partimos das duas aproximaes iniciais x0 e x1 e determinamos a reta que passa pelos
pontos (x0, f (x0)) e (x1, f (x1)). A interseco desta reta com o eixo x fornece o ponto x2. Em seguida calculado
uma nova aproximao para a raiz a partir dos pontos (x1, f(x1)) e (x2, f (x2)). O processo se repete at que seja
satisfeito o critrio de parada.
Observe que neste mtodo no necessitamos da caracterstica que fundamental no mtodo da falsa
posio que exige que f(xn). f(xn-1) < 0. importante salientar tambm que a raiz no necessita estar entre as
duas aproximaes iniciais (x0 e x1).
A convergncia deste mtodo mais rpido que o mtodo da bisseo e o da falsa posio, contudo,
pode ser mais lento que o mtodo de Newton-Raphson.
Algoritmo:
x n +1 = xn
( xn xn 1 ). f ( x n )
f ( x n ) f ( xn 1 )
, para n = 1, 2, 3, ...
Critrio de parada:
| xn+1 xn | erro
32
3.6.1
Exemplos
2
-2
( xn xn 1 ). f ( xn )
f ( xn ) f ( xn 1 )
x1 = 1.7
c) Valor do erro:
erro 10-2
d) Iteraes:
(0.2)( 1.41)
( 0.282)
=1.7
= 2.0357
1.41 ( 2.25)
0.84
0.1798 ( 1.41)
0.0115 (0.1798)
= 2.0000
Exemplo 2: Calcular a raiz da funo f(x) = 3x cos(x), sendo x0 = 0, x1 = 0.5 e o erro 10 . Efetue os clculos
com 5 casas decimais com arredondamento.
Resposta: = 0.31675 a raiz procurada.
3
Mtodo Misto
O mtodo misto, consiste na aplicao seqencial dos mtodos NR e Falsa Posio, nesta ordem.
O mtodo NR aplicado no primeiro passo, sempre a partir do melhor extremo. Ento, com o novo
resultado obtido x1N , determina-se qual valor dos extremos do intervalo ser substitudo ( f(a). f( x1N ) < 0 b
F
= x1N , seno a = x1N ) e ento aplica-se o mtodo da Falsa Posio. O resultado obtido em x m ser utilizado
na prxima iterao pelo mtodo NR, mas antes feito o teste do erro para verificar o critrio de parada.
Assim, por induo, seguem-se as iteraes seguintes. Quando o critrio de parada for satisfeito, tira-se a
mdia aritmtica simples do resultado da ltima iterao de ambos os mtodos e obtm-se a resposta desejada.
Algoritmo:
33
xm =
x mN + x mF
2
para m = 1, 2, 3, ...
Critrio de parada:
F
N
| x m x m | erro
3.7.1
Exemplos
Exemplo 1: Determinar pelo mtodo misto, a raiz da funo f(x) = 10sen(x) + cos(x) 10x contida no intervalo
[0.5, 1], com tolerncia de 2*10-4 e clculos com 4 casas decimais com arredondamento.
x mN + x mF
a) Algoritmo: x m =
2
f(x) = 10sen(x) + cos(x) 10x
f(x) = 10cos(x) sen(x) 10
f"(x) = (10)sen(x) cos(x)
b) Valor do erro:
erro 0.0002
c) Escolha do intervalo:
f(0.5) = 0.6718
f(1) = 1.0450
d) Iteraes:
Melhor extremo:
f(0.5) = 0.6718
f"(0.5) = 5.6718
x1N =1
f(1) = 1.0450
f"(1) = 8.9550
N
x0 = 1
f (1)
( 1.0450)
=1
= 0.8078
f (1)
( 5.4384)
extremo trocar:
a = 0.5
x1F = 0.5
f (0.7488)
(0.0521)
= 0.7488
= 0.7643
f (0.7488)
( 3.3557)
extremo trocar:
a = 0.7488
x 2F = 0.7488
34
| x
F
2
N
2
e) Resposta:
0.7641 + 0.7643
=
= 0.7642
2
Exemplo 2: Dada a funo f(x) = x2 + 3x cos(x) 2.45, obter sua raiz contida no intervalo [0.5, 1] pelo mtodo
misto, com erro 10-3 e clculos com 4 decimais com arredondamento.
0.82 +0.82
= 0.8200
Resposta: =
2
35
4 Sistemas Lineares
4.1
Introduo
Sistemas Lineares so sistemas de equaes com m equaes e n incgnitas formados por equaes
lineares. Um sistema linear com m equaes e n incgnitas escrito usualmente na forma:
a x + a x ++ a x = b
12
2
n
1
1n
11 1
a21 x1 + a22 x 2 + + a x n = b2
2n
................................................
a m1 x1 + a m2 x 2 + + a mn x n = bm
onde
aij : coeficientes
xj : incgnitas
bi : constantes
1 i m, 1 j n
j = 1, 2, ..., n
i = 1, 2, ..., m
A resoluo de um sistema linear consiste em calcular os valores de xj, j = 1, 2, ..., n, caso eles existam,
que satisfaam as m equaes simultaneamente.
Usando notao matricial, o sistema linear pode ser representado por AX = B, onde
a21 a22
a2 n b2
M=
.................................
a m1 a m2 a mn bn
chamada matriz completa ou matriz aumentada do sistema.
a21 a22
a2 n
A=
............................
a m1 am2 a mn
x1
x 2
X=
x n
36
b1
b2
B=
bm
4.1.1
Um mtodo dito direto quando a soluo exata x do sistema linear obtida realizando-se um nmero
finito de operaes aritmticas. So exemplos conhecidos a Regra de Cramer, o Mtodo da Eliminao de Gauss
(ou triangulao) e o Mtodo de Jordan.
4.2.1
Regra de Cramer
Seja um sistema linear com nmero de equaes igual ao nmero de incgnitas (um sistema n x n),
sendo D o determinante da matriz A, e Dx1, Dx2, Dx3, ..., Dxn os determinantes das matrizes obtidas trocando em
M, respectivamente, a coluna dos coeficientes de x1, x2, x3, ..., xn pela coluna dos termos independentes, temos
que:
O sistema S ser compatvel e ter soluo nica se, e somente se, D 0. Neste caso a nica soluo de
S dada por:
x1 =
D x1
D
, x2 =
Dx 2
D
, x3 =
Dx 3 ,
D
...
, xn =
D xn
D
A aplicao da Regra de Cramer exige o clculo de n + 1 determinantes ( det A e det Ai, 1 i n); para
n = 20 o nmero total de operaes efetuadas ser 21 * 20! * 19 multiplicaes mais um nmero semelhante de
adies. Assim, um computador que efetue cerca de 100 milhes de multiplicaes por segundo levaria 3 x 10 5
anos para efetuar as operaes necessrias.
Com isso, a regra de Cramer invivel em funo do tempo de computao para sistemas muito
grandes.
4.2.1.1
Exemplos
37
x1 + x 2 + x 3 = 1
2 x1 x 2 + x 3 = 0
x + 2x x = 0
2
3
1
Calculando os determinantes D, Dx1, Dx2 e Dx3 temos:
D =
2
1
1
2
2
1
1
2
1
1 =7
1
Dx1 =
0
0
1
2
1
1 =1
1
Dx2 =
2
1
0
0
1
1 =3
1
Dx3 =
1
0 =5
0
Ento, x1 =
D x1
D
1
, x2 =
7
Dx 2
D
3
,
7
x3 =
Dx 3
D
5
e a soluo do sistema
7
1 3 5
x : , , T
7 7 7
Exemplo 2: Resolva o sistema abaixo pela Regra de Cramer:
2 x1 + x 2 x 3 = 0
x1 + 2 x 2 + x 3 = 3
3x 1 x 2 x 3 = 2
O mtodo da eliminao de Gauss consiste em transformar o sistema linear original num outro sistema
linear equivalente com matriz dos coeficientes triangular superior, pois estes so de resoluo imediata.
Dizemos que dois sistemas lineares so equivalentes quando possuem a mesma soluo. O determinante de
sistemas lineares equivalentes so iguais.
Com (n 1) passos o sistema linear AX = B transformado num sistema triangular equivalente: UX = C,
o qual se resolve facilmente por substituies.
Vamos calcular a soluo de AX = B em trs etapas:
1 etapa: Matriz Completa
Consiste em escrever a matriz completa ou aumentada do sistema linear original.
2 etapa: Triangulao
Consiste em transformar a matriz A numa matriz triangular superior, mediante uma seqncia de
operaes elementares nas linhas da matriz.
3 etapa: Retro-substituio
Consiste no clculo dos componentes x1, x2, ..., xn, soluo de AX = B, a partir da soluo do
38
Seja o sistema linear AX = B, onde A: matriz n x n, triangular superior, com elementos da diagonal
diferentes de zero. Escrevendo as equaes deste sistema, temos:
a x + a x + a x + +
12 2
13 3
11 1
+ a23 x 3 + +
a
22 x 2
+ +
a
33 x 3
a x =b
a x =b
a x =b
1n
2n
3n
ann x n = bn
bn
a nn
bn1 a n1,n x n
a n1,n1
Estratgias de Pivoteamento
mik = -
a
a
ik
kk
39
calculadora ou computador os clculos so efetuados compreciso finita, e pivs prximos de zero so origem a
multiplicadores bem maiores que a unidade que, por sua vez, origina uma ampliao dos erros de
arredondamento.
Para se contornar estes problemas deve-se adotar uma estratgia de pivoteamento, ou seja, adotar um
processo de escolha da linha e/ou coluna pivotal.
Esta estratgia consiste em:
i) no inicio da etapa k da fase de escalonamento, escolher para piv o elemento de maior mdulo entre os
coeficientes: aik, i = k, k + 1, ..., n;
ii) trocar as linhas k e i se for necessrio.
4.2.2.3
Exemplos
x1 + 2 x2 + x3 = 3
2 x1 + x2 x3 = 0
3x1 x2 x3 = 2
M = 2
2
1
1
1
1
1
3
0
2 etapa: Triangulao:
Iremos se referir as equaes como: E1 (primeira equao), E2 (segunda equao) e assim por diante. O
componentes x indica o piv.
1
E 3 E 3 3 E1
0
E 2 E 2 2 E1
0
1
0
2
3
0
1
3
3
3
6
2
3
7
1
3
4
6
11
E3
E3
7
E2
3
40
3 etapa: Retro-substituio:
Da terceira linha temos: 3x3 = 3 x3 = 1
Substituindo x3 na segunda linha temos: 3x2 3(1) = 6 x2 = 1
Substituindo x3 e x2 na primeira linha temos: 1x1 + 2(1) + 1(1) = 3 x1 = 0
A soluo deste sistema x : ( 0, 1, 1)T
Exemplo 2: Resolver o sistema abaixo pelo mtodo de Gauss:
0,25x1 +0,5x 2 +x 3 =0,25
0 x1 + 1x 2 2 x3 = 0
1x1 3 x 2 1x3 = 2
1x + 4 x 1x = 2
1
2
3
0 x1 + 1x 2 2 x3 = 1
1x1 3 x 2 1x3 = 2
1x + 4 x 1x = 2
1
2
3
Mtodo de Jordan
Consiste em aplicar operaes elementares sobre as equaes do sistema linear dado at que se obtenha
um sistema diagonal equivalente.
4.2.4
Exemplos
x1 + x 2 + 2 x 3 = 4
2 x1 x 2 x 3 = 0
x1 x 2 x 3 = 1
41
M = 2
1
1
2
1
4
0
2 etapa: Diagonalizao:
E 2 E 2 2 E1
E 3 E 3 E1
1
E1 E1 + E 2
3
E 2 E 2 + 15E 3
3
2
5
3
4
2
8 E3 = E3
E2
3
5
1 0 1 4
3 3
0 3 0 3
0 0 1 1
3 3
0
0
E1 E1 E 3
1
1
E 2 E 0
3 2
0
E 31 3E 3
1
3
0
0
1
0
0
0
1
2
5
1
3
8
1
3
1
1
a x + a x +... + a x = b
a x + a x +... + a x = b
11
12
1n
21
22
2n
...
a x +a x
n1
n2
+ ... + ann x n = bn
Pode-se afirmar que o mesmo convergente, se o sistema estiver na forma diagonalmente dominante,
isto :
a11 a21 + a31 +... + an1
12 + 13 + ... + 1n
11
ou
a22 a12 + a32 +... + an2
a
a
...
nn
1n
+ ... + an 1n
2n
22
a
a
nn
21
a
+a
23
a
+ ... + a
2n
...
Ento, isola-se em cada uma das equaes ordenadamente, uma das incgnitas.
42
(1)
(1)
( 0)
11
(0)
( 0)
22
(0)
( 0)
( 0)
(0)
(0)
...
x
onde,
x ,x
(0)
1
( 0)
2
(1)
n
nn
(0)
Condies de Parada:
Se para todo
4.3.1.1
( j)
n
( j 1)
xn
erro , ento
( j)
n
so as solues do sistema.
Exemplos
Exemplo 1: Resolver por Gauss-Jacobi, com 4 decimais com arredondamento e erro menor ou igual a 0,01 o
sistema abaixo:
x + 8y z = 16
6x y + z = 7
x + y+ 5z = 18
a) Verificao da convergncia:
6x y + z = 7
x + 8y z = 16
x + y + 5z = 18
b) Isolamento das incgnitas:
1
x=
(7+yz)
6
1
y=
( 16 x + z )
8
1
z = ( 18 x y )
5
c) Atribuio inicial:
x(0) = 0
y(0)=0
z(0)=0
d) Iteraes:
1
1
( 7 + y(0) z(0) ) =
( 7 + 0 0 ) = 1,1667
6
6
1
1
y(1) =
( 16 x(0) + z(0) ) =
( 16 - 0 + 0 ) = 2
8
8
1
1
z(1) =
( 18 x(0) y(0) ) =
( 18 0 0 ) = 3,6
5
5
x(1) =
x(2) =
1
( 7 + 2 3,6 ) = 0,9
6
43
1
( 16 1,1667 + 3,6 ) = 2,3042
8
1
z(2) =
( 18 1,1667 2 ) = 2,9667
5
y(2) =
1
( 7 + 2,3042 2,9667 ) = 1,0562
6
1
y(3) =
( 16 0,9 + 2,9667 ) = 2,2583
8
1
z(3) =
( 18 0,9 2,3042 ) = 2,9592
5
x(3) =
1
( 7 + 2,2583 2,9592 ) = 1,0498
6
1
y(4) =
( 16 1,0562 + 2,9592 ) = 2,2379
8
1
z(4) =
( 18 1,0562 2,2583 ) = 2,9371
5
x(4) =
1
( 7 + 2,2379 2,9371 ) = 1,0501
6
1
y(5) =
( 16 - 1,0498 + 2,9371 ) = 2,2359
8
1
z(5) = ( 18 1,0498 2,2379 ) = 2,9425
5
x(5) =
xi
bi aij x j )
ii
j =1
j i
a x
a x
( k 1)
11
(k )
1
= ( b1 a12 x 2
22
(k )
2
= ( b2 a21 x1
(k )
n
= ( bn an1 x1
( k 1)
a13 x 3
( k 1)
a23 x 3
( k 1)
an 2 x 2
( k 1)
... a1n x n
( k 1)
... a2 n x n
( k 1)
( k 1)
... ann 1 x n 1 )
...
a x
nn
( k 1)
Sendo A a matriz dos coeficientes, onde A = D + I + S, no qual D a matriz diagonal, I a matriz inferior e
S a matriz superior, a expresso anterior poder ser reescrita na forma:
44
DX
(k )
B (S+ I ) X
( k 1)
D D X = D B D (S + I ) X
X = D (S + I ) X
+D B
1
(k )
(k )
( k 1)
(k )
=J
( k 1)
( k 1)
+E
onde
J = D (S+I )
E =D B
1
4.3.2.1
Exemplos
I = 1 0 0 , S = 0 0 1 ,
1 1 0
0 0
0
1
4
1
D = 0
0
0
1
3
0
Ento,
1
0
4
J = 0 13
0
0
4 0 0
= 0 3 0 ,
0 0 5
1
5
0 0 1 1 0
0 1 0 1 = 1
3
1 1 1
0 1
5
5
4
0
1
5
1
4
1
3
0
19
= 14 ,
6
45
1
4
= 0
0 19 19
4
0 14 = 14
3
1 6 6
5
5
0
1
3
0
Ento,
0
(k )
X = 13
15
4
0
1
5
1
19
4
4
1 ( k 1) + 14
3 X
6 3
0
5
c) Atribuio inicial:
( 0)
=
0
0
d) Iteraes:
4,750
5,617
4,850
4,951
5,031
( 2)
( 3)
( 4)
( 5)
1,200
3,083
3,020
2,934
3,002
4
,
998
0
,
033
(6)
(6)
( 5)
=
X
X
3,005
0,003
(1)
Derivado do mtodo de Gauss-Jacobi, este mtodo utiliza a cada iterao os valores j prontos na prpria
iterao, para tentar assegurar convergncia mais rpida, ou seja,
46
(k )
(k )
(k )
11
=
=
22
33
( k 1)
(b1 a12 x2
( k 1)
a13 x3
(k )
( k 1)
(k )
(k )
( k 1)
a14 x4
( k 1)
a24 x4
( k 1)
( k 1)
... a1n x n
( k 1)
... a2 n x n
( k 1)
... a3n x n
...
(k )
n
nn
(k )
(k )
(k )
(k )
(k)
i
n
(k)
i>
j
1
=
( bi
)
a
ij x j
(k
1)
i<
j
j=
1
aii
j
i
4.3.3.1
Exemplos
Exemplo 1: Resolver por Gauss-Seidel, com 4 decimais com arredondamento e erro menor ou igual a 0,005 o
sistema abaixo.
x + 8y z = 16
6x y + z = 7
x + y+ 5z = 18
a) Verificao da convergncia:
6x y + z = 7
x + 8y z = 16
x + y + 5z = 18
b) Isolamento das incgnitas:
1
x=
(7+yz)
6
1
y=
( 16 x + z )
8
1
z = ( 18 x y )
5
c) Atribuio inicial:
x(0) = 0
y(0)=0
z(0)=0
d) Iteraes:
1
( 7 + 0 0 ) = 1,1667
6
1
y(1) =
( 16 1,1667 + 0 ) = 1,8542
8
1
z(1) =
( 18 1,1667 1,8542 ) = 2,9958
5
x(1) =
47
1
( 7 + 1,8542 2,9958 ) = 0,9764
6
1
y(2) =
( 16 - 0,9764 + 2,9958 ) = 2,2524
8
1
z(2) = ( 18 0,9764 2,2524 ) =2,9542
5
x(2) =
1
( 7 + 2,2524 2,9542 ) = 1,0497
6
1
y(3) =
( 16 - 1,0497 + 2,9542 ) = 2,2381
8
1
z(3) = ( 18 1,0497 2,2381 ) = 2,9424
5
x(3) =
1
( 7 + 2,2381 2,9424 ) = 1,0493
6
1
y(4) =
( 16 - 1,0493 + 2,9424 ) = 2,2366
8
1
z(4) = ( 18 1,0493 2,2366 ) = 2,9428
5
x(4) =
a x
a x
( k 1)
( k 1)
a13 x 3
( k 1)
11
(k )
1
= b1 a12 x 2
22
(k )
2
= b2 a21 x1 a23 x 3
(k )
n
(k )
( k 1)
... a1n x n
( k 1)
... a2 n x n
...
a x
nn
(k )
(k)
(k )
DX
(k )
(k
1)
(k )
(k
1)
=
(D +
SX
SX
B
I X
I )X =
B
(k )
(k )
(k )
= ( D + I ) 1 B ( D + I ) 1 S
1
= ( D + I ) S X
( k 1)
+ (D + I ) B
( k 1)
48
(k )
=G
( k 1)
+F
onde,
G
F
4.3.4.1
= ( D + I ) 1 S
= ( D + I ) 1
Exemplos
a) Verificao da convergncia:
5x y = 19
x + 6y = -21
b) Obteno do Algoritmo:
5 0
=
0 6
0 0
=
1 0
0 1
=
0 0
19
=
21
Ento,
1
1
0 0 1 0
5
= 5
=
1
0
0
30
0
6
30
1
= 5
130
0 19 19
5
=
1 21 62
6
15
Logo,
(k )
1
19
0
5 ( k 1) +
5
=
X
62
0
30
15
c) Atribuio inicial:
0
( 0)
X = 0
d) Iteraes:
(1)
3,800
2,973
3,001
3,000
( 2)
( 3)
( 4)
=
X =
X =
X =
4,133
3,996
4,000
4,000
( 4)
( 3)
0,001
=
< erro
0,000
49
T
5x y = 13
2x + 4y = 14
obter a soluo por Gaus-Seidel Matricial com 4 decimais com arredondamento e erro menor ou igual a 0,005.
Admitir soluo inicial nula.
Resposta: A soluo aproximada deste sistema : (3,0004; 1,9998)T
4.4
Mtodo de Relaxao
Seja o sistema:
a x + a x + + a x = b
12
2
n
1
1n
11 1
a21 x1 + a22 x 2 + + a x n = b2
2n
................................................
a n1 x1 + a n 2 x 2 + + a nn x n = bn
Se substituirmos valores as variveis x1, x2, ..., xn:
a x + a x ++ a x b = r
12
2
n
1
1
1n
11 1
a21 x1 + a22 x 2 + + a x n b2 = r2
2n
.....................................................
a n1 x1 + a n 2 x 2 + + a nn x n bn = rn
onde r1, r2, ..., rn so chamados de resduos.
Depois de atribuir valores a x1, x2, ...,xn:
a) Procure a equao mais errada de todas;
b) Tente ver nessa equao a incgnita mais responsvel pelo erro passa a ser o nico responsvel
(supondo que todas as outras estejamcertas) pelo erro;
c) Ache o valor dessa incgnita responsvel;
d) Repita o processo com a segunda equao mais errada.
Exemplo 1: Seja o sistema:
6 x y +2 z = 4
x +10 y 4 z =7
3 x y +12 z =16
6 x y +2 z 4 =0
x +10 y 4 z 7 =0
3 x y +12 z 16 =0
50
Analisando os mdulos dos resduos, verifica-se que r 3 o maior resduo, portanto deve-se tentar
diminui-lo a partir da anlise do maior responsvel na sua equao.
Analisando a equao 3: 3 x y + 12 z 16 = 0 , verifica-se que o coeficiente de z o maior em mdulo,
logo, deve-se manter os valores iniciais de x e y que so respectivamente (0, 0) para se obter o valor de z que
anula a equao. Portanto:
3.0 0 + 12z 16 = 0 z = 1,333, que ser o novo valor de z.
2 Tentativa: Substituindo a trinca (0; 0; 1,333) no sistema original, obtem-se os seguintes valores
residuais: r1 = 1, 333 r 2 = 12 , 333 r 3 = 0 , e pode se verificar que r 2 em mdulo o maior resduo.
Repete-se o mesmo processo anterior s que na equao 2: x + 10 y 4 z 7 = 0 , onde y em mdulo o
maior responsvel pelo resduo, ento substitui-se nesta expresso a dupla (0; 1,333) em x e z respectivamente
de forma a obter o valor de y que anula a expresso 2: 0 + 10 y 4 .1, 333 7 = 0 y = 1, 233 , que ser o novo
valor de y.
O processo deve ser repetido at que o mdulo de todos os resduos sejam inferiores ou iguais ao erro
estipulado. Veja:
3 Tentativa: Trinca (0; 1,233; 1,333) resulta nos resduos: 2,567; 0; 1,234. Ento r1 o maior resduo.
Verifica-se na equao 1 que x o maior responsvel pelo erro, logo:
6 x 1, 233 + 2 .1, 333 4 = 0 x = 0 , 428 .
4 Tentativa: Trinca (0,428; 1,233; 1,333), resduos: 0; 0,428; 0,050. Substituindo os devidos valores na
expresso 2: 0 , 428 + 10 y 4.1, 333 7 = 0 y = 1,191.
5 Tentativa: Trinca (0,428; 1,191; 1,333), resduos: 0,043; 0; 0,093. Entao:
3. 0 , 428 1,191 + 12 z 16 = 0 z = 1, 326 .
6 Tentativa: Trinca (0,428; 1,191; 1,326), resduo: 0,028; 0,030; 0. Logo:
0 , 428 + 10 y 4.1, 326 7 = 0 y = 1, 188
7 Tentativa: Trinca (0,428; 1,188; 1,326), resduo: 0,031; 0; 0,003. Logo, se por exemplo o erro
estipulado fosse igual a 0,05, ento (0,428; 1,188; 1,326) seria o conjunto soluo do sistema.
Exemplo 2: Seja o sistema:
5x y = 7
x + 3 y = 4
5x y 7 = r 1
x + 3 y 4 = r 2
Analisando os mdulos dos resduos, verifica-se que r1 o maior resduo, portanto deve-se tentar diminuilo a partir da anlise do maior responsvel na sua equao.
51
5x 0 7 = 0 x =
7
, que ser o novo valor de x.
5
7
; 0) no sistema original, obtem-se os seguintes valores residuais: r1
5
13
= 0 e r2 =
, e pode se verificar que r2 em mdulo o maior resduo.
5
3 Tentativa: Trinca (
5x
13
118
7=0x=
, que ser o novo valor de x.
15
75
4 Tentativa: Trinca (
13
118 13
;
), resulta nos resduos: r1 = 0 e r2 =
e . Substituindo os devidos
75 15
75
valores na equao 2:
182
118
+ 3y 4 = 0 y =
75
225
118 182
13
,
), resulta nos resduos: r1 =
e r2 = 0.
75 225
225
182
118
Como os resduos so menores que 0,1 ento a soluo do sistema : x =
= 1,5733 e y =
=
75
225
0,8089.
5 Tentativa: Trinca (
Existe uma outra maneira de executar o mtodo de relaxao. Para tanto, deve-se observar que no sistema:
a x + a x +... + a x = b
a x + a x +... + a x = b
11
12
1n
21
22
2n
...
a x +a x
n1
x ,x
(0)
1
( 0)
2
n2
+ ... + ann x n = bn
,..., x n , ento:
(0)
a ( x + 1) + a x +... + a x b = r
a ( x + 1) + a x +... + a x b = r
11
12
1n
21
22
2n
'
1
'
2
...
a (x
n1
+ 1) + an 2 x 2 + ... + ann x n bn = r n
'
r = r r = a
r = r r = a
1
'
1
'
2
52
11
21
...
r = r r = a
'
n
n1
Mudando a atribuio,
a x + a (x
a x + a (x
11
12
+ 1) + ... + a1n x n b1 = r1
21
22
+ 1) + ... + a2 n x n b2 = r 2
+ 1) + ... + ann x n bn = r n
"
"
...
a x + a (x
n1
n2
"
r1 =
r1
r1
"
r2 =
r2
r2
"
...
rn =
rn
rn
"
x x x
1
1
0
0
0
1
0
0
0
1
...
x
0
0
0
r r r
a a a
a a a
a a a
11
21
31
12
22
32
13
23
33
1n
2n
3n
...
r
a
a
a
n1
n2
n3
nn
53
6 x + 2 y + z 45 = 0
3 x + 8 y z 91 = 0
x + y 5z 9 = 0
c) Tabela base:
1
0
0
6
0
1
0
2
0
0
1
1
x
y
z
r1
0
0
0
-45
max |Ri| = r2 8y = 91 y = 91/8 = 11,375
11,375
2y 22,750
Total1
-22,250
max |Ri| = r1 6x = 22,250 x = 22,250/6 = 3,708
3,708
22,250
Total2
0
max |Ri| = r2 8y = -11,125 y = -11,125/8 = -1,391
-1,391
-2,782
Total3
-2,782
max |Ri| = r3 -5z = -4,692 z= -4,692/(-5) = 0,938
0,938
0,938
Total4
-1,844
max |Ri| = r1 6x = 1,844 x = 1,844/6 = 0,307
0,307
1,844
Total5
0
max |Ri| = r3 -5z = -0,307 z = -0,307/(-5) = 0,061
0,061
0,061
Total6
0,061
x = 4,015
y = 9,984
z = 0,999
3
8
-1
r2
-91
1
1
-5
r3
-9
8y 91
0
1y 11,375
2,375
11,125
11,125
3,708
6,083
-11,125
0
-1,391
4,692
-0,938
-0,938
-4,692
0
0,921
-0,017
0,307
0,307
-0,061
-0,078
-0,307
0
54
6 x 2 y + z = 11
x 7 y z = 58
x + y + 5z = 32
b) Relaxao (r1, r2 e r3 deve ser zero):
6 x 2 y + z 11 = 0
x 7 y z 58 =0
x + y +5z 32 =0
c) Tabela base:
1
0
0
6
0
1
0
-2
0
0
1
1
x
y
z
r1
0
0
0
-11
max |Ri| = r2 -7y = 58 y = 58/-7 = -8,286
-8,286
-2y 16,571
Total1
5,571
max |Ri| = r3 5z = 40,286 z = 40,286/5 = 8,057
8,057
8,057
Total2
13,629
max |Ri| = r1 6x = -13,629 x = -13,629/6 = -2,271
-2,271
-13,629
Total3
0
max |Ri| = r2 -7y = 10,329 y= 10,329/(-7) = -1,476
-1,476
2,951
Total4
2,951
max |Ri| = r3 5z = 3,747 z = 3,747/5 = 0,749
0,749
0,749
Total5
3,700
max |Ri| = r1 6x = -3,700 x = -3,700/6 = -0,617
-0,617
-3,700
Total6
0
max |Ri| = r2 -7y = 1,366 y = 1,366/(-7) = -0,195
-0,195
0,390
Total7
0,390
max |Ri| = r3 5z = 0,812 z = 0,812/5 = 0,162
0,162
0,162
Total8
0,553
max |Ri| = r1 6x = -0,553 x = -0,553/6 = -0,092
-0,092
-0,553
Total9
0
max |Ri| = r2 -7y = 0,255 y = 0,255/(-7) = -0,036
-0,036
0,073
Total10
0,073
max |Ri| = r3 5z = 0,129 z = 0,129/5 = 0,026
1
-7
-1
r2
-58
1
1
5
r3
-32
-7y 58
0
1y -8,286
-40,286
-8,057
-8,057
40,286
0
-2,271
-10,329
-2,271
-2,271
10,329
0
-1,476
-3,747
-0,749
-0,749
3,747
0
-0,617
-1,366
-0,617
-0,617
1,366
0
-0,195
-0,812
-0,162
-0,162
0,812
0
-0,092
-0,255
-0,092
-0,092
0,255
0
-0,036
-0,129
55
0,026
Total11
x = -2,980
y = -9,993
0,026
0,099
-0,026
-0,026
z = 8,994
-3
-10
0,129
0
56
5 Interpolao
5.1
Introduo
A interpolao outra das tcnicas bem antigas e bsicas do clculo numrico. Muitas funes so
conhecidas apenas em um conjunto finito e discreto de pontos de um intervalo [a, b], como, por exemplo, a
tabela abaixo que relaciona calor especfico da gua e temperatura:
Xi
Temperatura (C)
Calor especfico
x0
x1
x2
x3
x4
x5
x6
x7
20
25
30
35
40
45
50
55
0.99907 0.99852 0.99826 0.99818 0.99828 0.99849 0.99878 0.99919
Tabela 1 - Calor especfico da gua.
Conceito de Interpolao
x xi, i = 0, 1, 2, ..., 7
Para resolver (a) tem-se que fazer uma interpolao. E, sendo assim, determina-se o polinmio
interpolador, que uma aproximao da funo tabelada. Por outro lado, para resolver (b), deve-se realizar uma
extrapolao.
Consideremos (n + 1) pontos distintos: x0, x1, x2, ..., xn, chamados ns da interpolao, e os valores de
f(x) nesses pontos: f(x0), f(x1), f(x2), ..., f(xn).
A forma de interpolao de f(x) que veremos a seguir consiste em se obter uma determinada funo g(x)
tal que:
57
g(x0) = f(x0)
g(x1) = f(x1)
g(x2) = f(x2)
g(xn) = f(xn)
Graficamente temos:
y
g(x)
(x 0 , f(x
))
(x 1 , f(x
(x 2 , f(x
1 ))
(x 3 , f(x
))
))
(x 5 , f(x
(x 4 , f(x
x0
))
x5
))
f(x)
Interpolao Linear
Obteno da Frmula
Dados dois pontos distintos de uma funo y = f(x) : (x0, y0) e (x1, y1), deseja-se calcular o valor de y
para um determinado valor de x entre x0 e x1, usando a interpolao polinomial.
O polinmio interpolador uma unidade menor que o nmero de pontos conhecidos. Assim sendo, o
polinmio interpolador nesse caso ter grau 1, isto ,
P1(x) = a1x + a0
Para determin-lo, os coeficientes a0 e a1 devem ser calculados de forma que tenha:
P1(x0) = f(x0) = y0
P1(x1) = f(x1) = y1
ou seja, basta resolver o sistema linear abaixo:
a 1 x 0 +a 0 = y 0
a 1 x 1 +a 0 = y 1
x0
A=
x1
1
1
onde a1 e a0 so as incgnitas e
O determinante da matriz A diferente de zero, sempre que x0 x1, logo para pontos distintos o sistema
tem soluo nica.
O polinmio interpolador P1(x) = a1x + a0 tem como imagem geomtrica uma reta, portanto estaremos
aproximando a funo f(x) por uma reta que passa pelos dois pontos conhecidos (x0, y0) e (x1, y1).
58
A figura abaixo mostra, geometricamente, os dois pontos, (x0, y0) e (x1, y1), e a reta que passa por eles.
p 1 (x)
y1
y0
5.2.2
x0
x1
Exemplos
Exemplo 1: Seja a funo y = f(x) definida pelos pontos (0.00; 1.35) e (1.00; 2.94). Determinar
aproximadamente o valor de f(0.73).
P1(x) = a1x + a0 o polinmio interpolador de 1 grau que passa pelos pontos dados. Ento teremos:
a) Pontos utilizados:
(0.00;1.35)
e
(1.00; 2.94)
a0 = 1.35
a1 = 1.59
c) Polinmio interpolador:
P1(x) = 1.59x + 1.35 (equao da reta que passa pelos pontos dados)
d) Resposta:
P1(0.73) = 1.59 0.73 + 1.35
P1(0.73) = 2.51
O resultado obtido acima est afetado por dois tipos de erros:
a) Erro de arredondamento (EA) - cometido durante a execuo das operaes e no caso de um
resultado ser arredondado.
b) Erro de truncamento (ET) - cometido quando a frmula de interpolao a ser utilizada escolhida,
pois a aproximao de uma funo conhecida apenas atravs de dois pontos dados feita por um polinmio de 1
grau.
Exemplo 2: Dada a funo f(x) = 10x4 + 2x + 1 com os valores de f(0.1) e f(0.2) determinar P1(0.15) e o erro
absoluto cometido.
Resposta: P1(0.15) = 1.3085
Erro absoluto: EA = 0.0034375
Exemplo 3: Calcular o calor especfico aproximado da gua a 32,5 C, usando os valores da tabela 1.
Resposta: P1(32.5) = 0.99822 (Usando as temperaturas 30 C e 35 C).
59
5.3
5.3.1
Interpolao Quadrtica
Obteno da Frmula
Se conhecermos trs pontos distintos de uma funo, ento o polinmio interpolador ser:
P2(x) = a2x2 + a1x + a0
O polinmio P2(x) conhecido como funo quadrtica cuja imagem geomtrica uma parbola,
portanto, estaremos aproximando a funo f(x) por uma parbola que passa pelos trs pontos conhecidos (x0, y0),
(x1, y1) e (x2, y2).
Para determinarmos os valores de a2, a1 e a0 necessrio resolver o sistema:
a2 x 02 + a1x0 + a0 = y0
a2 x12 + a1x1 + a0 = y1
a2 x 22 + a1x2 + a0 = y2
onde a2, a1 e a0 so as incgnitas e os pontos (x0, y0), (x1, y1) e (x2, y2) so conhecidos.
A matriz dos coeficientes :
x02
2
V = x1
x 22
x 0 1
x1 1
x 2 1
Exemplos
Exemplo 1: Utilizando os valores da funo seno, dados pela tabela abaixo, determinar a funo quadrtica que
2
2 sen x
se aproxima de f(x) =
, trabalhando com trs casas decimais.
x +1
x
0
f(x)
0.000
0.328
sen(x)
0
1
2
0.560
2
2
a) Pontos utilizados:
( 0; 0 )
( /6; 0.328 )
b) Clculo dos coeficientes:
P2(x) = a2x2 + a1x + a0
( /4; 0.560 )
60
P 2(0) = a 2 02 + a1 0 + a 0 = 0
2
P 2( 6 ) = a 2 6 + a1 6 + a 0 = 0.328
P 2( ) = a 2 2 + a1 + a 0 = 0.560
4
4
( )
( )
( )
( )
a1 = 0.452
a0 = 0
c) Polinmio interpolador:
P2(x) = 0.333 x 2 + 0.452x
Exemplo 2: Determinar o valor de f(0.2) e o erro absoluto ocasionado pela aplicao da interpolao quadrtica,
no clculo deste valor, usando os valores tabelados da funo f(x) = x2 2x + 1. Utilizar duas casas decimais.
x
0.5
0.3
0.1
f(x)
0.25
0.49
0.81
Interpolao de Lagrange
As interpolaes vistas anteriormente so casos particulares da interpolao de Lagrange. Vamos estudar
agora o polinmio interpolador de grau menor ou igual a n, sendo dados n + 1 pontos distintos.
Teorema: Sejam (xi, yi), i = 0, 1, 2, ..., n, n + 1 pontos distintos, isto , xi xj para i j. Existe um nico
polinmio P(x) de grau menor ou igual a n, tal que P(xi) = yi, para todo i.
O polinmio P(x) pode ser escrito na forma:
n
ou
Pn(x) =
a x
i =0
P(x) , no mximo, de grau n, se an 0 e, para determin-lo, deve-se conhecer os valores de a0, a1, ..., an.
Como Pn(x) contm os pontos (xi, yi), i = 0, 1, ..., n, pode-se escrever que Pn(xi) = yi.
61
a + a x + a x 2 +...+ a x n = y
1 0
2
0
n
0
0
0
2
n
a0 + a1 x1 + a2 x1 +...+ a n x1 = y1
................................................
2
n
+
+
+
...
+
=y
a
a
x
a
x
a
x
1
n
2
n
n
n
n
0
Resolvendo o sistema acima, determina-se o polinmio Pn(x). Para provar que tal polinmio nico,
basta que se mostre que o determinante da matriz A, dos coeficientes das incgnitas do sistema, diferente de
zero. A matriz A :
A=
1 x x 2 ... x n
0
0
0
2
n
1 x1 x1 ... x1
............................
2
n
1
...
x n x n
x n
( x
i> j
x j ) = (x x ) (x x ) (x x ) (x x ) (x x ) (x x ) =
1
0
2
0
2
1
3
0
3
1
3
2
= (1)(2)(3)(1)(2)(1) = 12
Este valor igual ao determinante da matriz:
1 1 1 1
1 0 0 0
1 3 9 27
1 2 4 8
5.4.1
Obteno da Frmula
62
Seja Pn(x) o polinmio de grau n que interpola f em x0, ..., xn. Podemos representar Pn(x) na forma
Pn(x) = y0L0(x) + y1L1(x) + ... + ynLn(x), onde os polinmios Lk(x) so de grau n. Para cada i, queremos que a
condio Pn(xi) = yi seja satisfeita, ou seja:
Pn(xi) = y0L0(xi) + y1L1(xi) + ... + ynLn(xi) = yi
A forma mais simples de se satisfazer esta condio impor:
0
Lk(xi) =
1
Lk =
se
k i
se
k =i
Pn(xi) =
y
k =0
Lk ( x i ) = yiLi(xi) = yi
Pn(x) =
y
k =0
onde Lk(x) =
Lk ( x )
( x xj )
k xj )
( x
j =0
j k
n
( x xj )
Pn(x) = y k
, a frmula da interpolao lagrangeana.
j =0 ( xk xj )
k =0
j k
5.4.2
Exemplos:
Exemplo 2: No caso da interpolao linear, visto anteriormente, temos dois pontos distintos: (x0, f(x0)) e (x1,
f(x1)) com n igual a 1.
a) Pontos utilizados:
63
L0(x) =
Assim, P1(x) = y0
( x x1)
( x x 0 )
+ y1
( x 0 x1)
( x 1 x 0 )
que exatamente a equao da reta que passa por (x0, f(x0)) e (x1, f(x1)).
c) Polinmio interpolador:
P1(x) = 1.35
( x 1)
( x 0)
+ 2.94
= 1.35x + 1.35 + 2.94x = 1.59x + 1.35
(0 1)
(1 0)
xi
0
1
2
yi
0
1
4
xi
1
0
2
3
yi
4
1
1
16
64
G0
Polinmio grau 0
CTE
P0(x) = a0
Polinmio de grau 1:
G1
Polinmio grau 0
CTE
Polinmio grau 1
passando por x0
G2
Polinmio grau 0
CTE
Polinmio grau 1
passando por x0
Polinmio grau 2
Polinmio de grau n:
Pn(x) = a0 + a1.(x x0) + a2.(x x0).(x x1) + ... + an.(x x0).(x x1).(x x2) ... (x xn-1)
65
Impondo que Pn(x) passe por todos os n + 1 pontos da tabela, temos que:
Pn(x0) = f(x0)
Pn(x1) = f(x1)
Pn(x2) = f(x2)
Pn(xn) = f(xn)
Validade:
x = x P (x ) = a
0
f (x )
x = x P ( x ) = a + a (x x ) = f (x ) a
1
=
1
f (x ) a
a
x x
0
x = x P ( x ) = a + a ( x x ) + a ( x x )( x x ) =
2
=
1
f (x ) P (
x x
0
f (x )
f (x ) a = (
x x
2
x = x P ( x ) = a + a ( x x ) + ... + a ( x x )...( x x
f (x ) P (x )
a = ( )...( )
x x x x
n
n 1
n 1
xi
f(xi)
3
4
1
4
2
6
1 Hiptese:
x = x P ( x ) = 8
0
2 Hiptese:
x=
x1 a1 =
f ( x ) P ( x ) = 4 + 8 = 2
3 + 5
x x
0
P1 ( x ) = 8 + 2( x + 5) = 2 x + 2
3 Hiptese:
x=
x 2 a2 =
4 Hiptese:
f (x ) P (x ) = 4 4 = 0
( x x )( x x ) (1 + 5)(1 + 3)
1
P2 ( x ) = 2 x + 2
)=
n 1
f (x )
n
66
x = x a
3
f (x ) P (x )
66
=
=0
( x x )( x x )( x x ) ( 2 + 5)( 2 + 3)( 2 1)
3
P3 ( x ) = 2 x + 2
Diferenas Divididas
Seja f(x) uma funo tabelada em n + 1 pontos distintos x0, x1, x2, ... xn. Definimos o operador diferenas
divididas por:
f[x0] = f(x0)
f [ x1 ] f [ x0 ]
f ( x1 ) f ( x0 )
f[x0,x1] =
=
x1 x0
( x1 x0 )
f [ x1 , x 2 ] f [ x 0 , x1 ]
f[x0,x1,x2] =
x2 x0
f [ x1 , x 2 ...x n ] f [ x 0 , x1 ...x n 1 ]
xn x0
Dizemos que f[x0,x1,x2,...xk] a diferena dividida de ordem k da funo f(x) sobre os k + 1 pontos.
Conhecidos os valores que f(x) assume nos pontos distintos x0, x1, x2, ... xn, podemos construir a tabela:
xi
x0
x1
x2
...
xn-2
xn-1
xn
5.6.1
Ordem 0
f[x0]
f[x1]
f[x2]
...
f[xn-2]
f[xn-1]
f[xn]
Ordem 1
f[x0,x1]
f[x1,x2]
f[x2,x3]
...
f[xn-2,xn-1]
f[xn-1,xn]
Ordem 2
f[x0,x1,x2]
f[x1,x2,x3]
f[x2,x3,x4]
...
f[xn-2,xn-1,xn]
....
Ordem n
f[x0,x1,x2 ... xn]
...
Pode-se provar que as diferenas divididas satisfazem a propriedade de ser simtrico nos argumentos.
Exemplo:
f[x0,x1] =
f [ x1 ] f [ x0 ]
f [ x0 ] f [ x1 ]
=
= f[x1,x0]
x1 x0
x 0 x1
5.7
f[x0,x1,x2,...,xn] = an
Pn(x) = a0 + a1.(x x0) + a2.(x x0).(x x1) + ... + an.(x x0).(x x1).(x x2) ... (x xn-1)
67
Exemplos
Exemplo 1: Obter f(0.5) usando um polinmio interpolador de Newton do segundo grau (3 pontos). Considere a
seguinte tabela:
xi
0
1
2
3
1
F(xi)
2
1
2
5
10
a) Clculo dos coeficientes de Pn(x):
x0
x1
x2
x3
x4
X
1
0
1
2
3
onde:
f[x0] = f(x0) = 2
f[x1] = f(x1) = 1
f[x2] = f(x2) = 2
f[x3] = f(x3) = 5
f[x4] = f(x4) = 10
f[x0,x1] =
f [ x1 ] f [ x0 ]
f ( x1 ) f ( x0 ) 1 2
=
=
= 1
x1 x0
( x1 x0 )
0 +1
f [ x 2 ] f [ x1] 2 1
=
=1
1 0
x 2 x1
f [ x3] f [ x2] 5 2
f[x2,x3] =
=
=3
2 1
x3 x 2
f [ x4] f [ x3] 10 5
f[x3,x4] =
=
=5
3 2
x4 x3
f[x1,x2] =
f[x0,x1,x2] =
f [ x1 , x 2 ] f [ x 0 , x1 ] 1 +1
=
=1
x2 x0
1 +1
f [ x 2 , x 3] f [ x1 , x 2]
3 1
=
=1
2 0
x 3 x1
f [ x3 , x4] f [ x2 , x3] 5 3
f[x2,x3,x4] =
=
=1
3 1
x4 x2
f[x1,x2,x3] =
f [ x1 , x 2 , x 3] f [ x 0 , x1 , x 2 ] 1 1
=
=0
2 +1
x 3 x0
f [ x 2 , x 3 , x 4] f [ x1 , x 2 , x 3]
1 1
f[x1,x2,x3, x4] =
=
=0
3 0
x 4 x1
f[x0,x1,x2,x3] =
68
f[x0,x1,x2,x3,x4] =
f [ x1 , x 2 , x 3 , x 4] f [ x 0 , x1 , x 2 , x 3] 0 0
=
=0
3 +1
x 4 x0
b) Polinmio interpolador:
P2(x) = 2 1(x + 1) + 1(x + 1)(x 0)
P2(x) = 2 (x + 1) + x (x + 1)
P2(x) = 2 x 1 + x2 + x
P2(x) = x2 + 1
c) Resposta:
P2(0.5) = (0.5)2 + 1 = 1.25
Exemplo 2: Obter f(40) usando um polinmio interpolador de Newton de grau 3 (4 pontos). Considere a
seguinte tabela:
xi
30
35
45
50
55
F(xi)
0.5
0.574
0.707
0.766
0.819
Resposta: P3(40) = 0.64305
Exemplo 3: Obter f(0.47) usando um polinmio interpolador de Newton do segundo grau (3 pontos). Considere
a seguinte tabela:
xi
0.2
0.34
0.4
0.52
0.6
0.72
F(xi)
0.16
0.22
0.27
0.29
0.32
0.37
Resposta: P2(0.47) = 0.27802
Exemplo 4: Obter f(0.5) usando um polinmio interpolador de Newton do quarto grau (5 pontos). Considere a
seguinte tabela:
xi
0
1
2
3
1
F(xi)
1
1
0
1
2
Resposta: P4(0.5) = 1 0.375 0.0625 0.02344 = 0.53906
5.8
Interpolao de Gregory-Newton
Muitas vezes so encontrados problemas de interpolao cuja tabela de pontos conhecidos tem valores
que so igualmente espaados, ou seja:
x1 x0 = x2 x1 = x3 x2 = ... = xn xn-1 = h
Assim xi+1 xi = h , para todo i, sendo h uma constante.
xi = xi-1 + h xi = x0 + i * h
5.8.1
f(x) = f(x)
1f(x) = f(x + h) f(x)
2f(x) = 1f(x + h) 1f(x)
...
nf(x) = n-1f(x + h) n-1f(x)
0
69
xi
x0
x1
x2
...
xn-2
xn-1
xn
5.8.2
Ordem 0
f(x0)
f(x1)
f(x2)
...
f(xn-2)
f(xn-1)
f(xn)
Ordem 1
1f(x0)
1f(x1)
1f(x2)
...
1
f(xn-2)
1f(xn-1)
Ordem 2
2f(x0)
2f(x1)
2f(x2)
...
2
f(xn-2)
...
Ordem n
nf(x0)
...
n f ( x 0 )
.
n! h n
Prova:
f[x0] = f(x0)
f [ x1 ] f [ x0 ]
f ( x1 ) f ( x0 )
f ( x 0 + h) f ( x 0 )
f ( x 0 )
f[x0,x1] =
=
=
=
x1 x0
( x1 x0 )
h
h
f [ x1 , x 2 ] f [ x 0 , x1 ]
f[x0,x1,x2] =
=
x2 x0
f ( x1 ) f ( x 0 )
2 f ( x 0 )
=
h
h
2h 2
2h
e por induo podemos mostrar que esta regra valida para valores maiores que 2.
5.8.3
f ( x 0 )
2 f ( x0 )
n f ( x 0 )
Pn(x) = f(x0) +
.(x x0) +
.(x x0).(x x1) + ... +
.(x x0).(x x1).(x
h
2h 2
n!h n
x2)...(x xn-1)
5.8.4
Exemplos
Exemplo 1: Obter f(0.5) usando um polinmio interpolador de Gregory-Newton (G-N) do segundo grau (3
pontos). Considere a seguinte tabela:
xi
0
1
2
3
1
f(xi)
2
1
2
5
10
a) Tamanho do intervalo:
h=1
b) Clculo dos coeficientes dePn(x):
x0
X
1
70
x1
x2
x3
x4
0
1
2
3
1
2
5
10
1
3
5
2
2
c) Polinmio interpolador:
2
1
(x + 1) +
P2(x) = 2 +
2 (x + 1)(x)
1
2 1
P2(x) = 2 (x + 1) + x (x + 1)
P2(x) = 2 x 1 + x2 + x
P2(x) = x2 + 1
d) Resposta:
P2(0.5) = (0.5)2 + 1 = 1.25
Exemplo 2: Obter f(0.04) usando um polinmio interpolador de Gregory-Newton do segundo grau (3 pontos).
Considere a seguinte tabela:
xi
0.01
0.03
0.05
0.07
F(xi)
1.01
1.09
1.25
1.49
Resposta: P2(0.04) = 1.16
Exemplo 3: Obter f(3.7) usando um polinmio interpolador de Gregory-Newton do terceiro grau (4 pontos),
onde f(x) = ln(x). Considere a seguinte tabela:
xi
1
2
3
4
F(xi)
0
0.6931
1.0986
1.3863
Resposta: P3(3.7) = 1.30225590
71
6 Integrao Numrica
6.1
Introduo
Do ponto de vista analtico existem diversas regras, que podem ser utilizadas na prtica. Contudo,
embora tenhamos resultados bsicos e importantes para as tcnicas de integrao analtica, como o Teorema
Fundamental do Clculo Integral, nem sempre podemos resolver todos os casos. No podemos sequer dizer que
para uma funo simples a primitiva tambm ser simples, pois f(x) = 1/x, que uma funo algbrica racional,
possui uma primitiva que no o ; a sua primitiva a funo ln(x) que transcendente.
Quando no conseguirmos calcular a integral por mtodos analticos, mecnicos ou grficos, ento
podemos recorrer ao mtodo algortmico. Em algumas situaes, s podemos usar o mtodo numrico. Por
exemplo, se no possuirmos a expresso analtica de f, no podemos, em hiptese nenhuma, usar outro mtodo
que no o numrico. A integrao numrica pode trazer timos resultados quando outros mtodos falham.
A soluo numrica de uma integral simples comumente chamada de quadratura.
Sabemos do Clculo Diferencial e Integral que se f(x) uma funo contnua em [a, b], ento esta
funo tem uma primitiva neste intervalo, ou seja, existe F(x) tal que f(x) dx = F(x) + C, com F(x) = f(x);
demostra-se que, no intervalo [a, b],
b
f ( x )dx = F (b) F (a )
a
tais mtodos, embora variados, no se aplicam a alguns tipos de integrandos f(x), no sendo conhecidas suas
primitivas F(x); para tais casos, e para aqueles em que a obteno da primitiva, embora vivel, muito
b
f ( x )dx .
a
A aplicao de tais mtodos obviamente necessria no caso em que o valor de f(x) conhecido apenas
em alguns pontos, num intervalo [a, b], ou atravs de um grfico.
b
Lembrando que
f ( x )dx = lim f ( xi )xi (Riemann), onde x i [xi-1, xi] partes de [a, b],
n i =1
f ( x )dx .
a
f ( x )dx
representa,
numericamente, a rea da figura delimitada por y = 0, x = a, x = b e y = f(x), como mostra a figura abaixo:
y
y=f(x)
A=
f ( x )dx
a
72
Quando f(x) no for somente positiva, pode-se considerar f(x) em mdulo, para o clculo da rea,
conforme figura abaixo:
y
y=f(x)
A
c
0
A=
f ( x ) + | f ( x )| dx
a
ou
A=
| f ( x )| dx
a
A idia bsica da integrao numrica a substituio da funo f(x) por um polinmio que a aproxime
razoavelmente no intervalo [a, b]. Assim o problema fica resolvido pela integrao de polinmios, o que
b
trivial de se fazer. Com este raciocnio podemos deduzir frmulas para aproximar
f ( x )dx .
a
f ( x )dx
xi [a, b],
i = 0, 1, ..., n.
6.1.1
Frmulas de Newton-Cotes
Nas frmulas de Newton-Cotes a idia de polinmio que aproxime f(x) razoavelmente que este
polinmio interpole f(x) em pontos de [a, b] igualmente espaados. Consideremos a partio do intervalo [a, b]
em subintervalos, de comprimento h, [xi, xi+1], i = 0, 1, ..., n-1. Assim xi+1 xi = h = (b a)/n.
b
f ( x )dx
a
xn
f ( x )dx
determinados de
i =0
73
b
f ( x )dx
(a)
(b)
(c)
No primeiro caso, figura (a), a rea de cada retngulo f(xi) hi; no segundo caso f(xi+1)hi e no ltimo
b
f((xi + xi+1)/2) hi. Em qualquer caso a soma das reas dos retngulos ser uma aproximao para
f ( x )dx .
a
Subdividindo o intervalo [a, b] em n subintervalos, pela regra dos retngulos, que ser indicado por R(h),
dada pelas frmulas:
n 1
f ( x ).hi
R(hn) =
i =0
n 1
R(hn) =
f ( x
i =0
n 1
R(hn) =
i +1
).hi
, ou
, ou
xi + xi +1
.hi
2
f
i =0
b a
. Ento :
n
n 1
R(hn) = h f ( x i )
i =0
ou
n 1
R(hn) = h f ( xi +1 )
i =0
ou
R(hn) =
x + xi +1
h f i
i =0
n 1
Em geral, quando utilizarmos a regra dos retngulos iremos efetuar os clculos atravs do caso (c), ou
n 1
x + xi +1
h
seja, R(hn) = f ( x i ) , sendo x i = i
.
2
i =0
74
6.2.1
Exemplos
1
Exemplo 1: Calcular
1 + x
a) Nmero de intervalos:
n = 10
b) Tamanho do intervalo
b a
h=
= (1 0) / 10 = 0.1
n
c) iteraes:
i
0
1
2
3
4
5
6
7
8
9
xi
(0 + 0.1) = 0.05
(0.1 + 0.2) = 0.15
(0.2 + 0.3) = 0.25
(0.3 + 0.4) = 0.35
(0.4 + 0.5) = 0.45
(0.5 + 0.6) = 0.55
(0.6 + 0.7) = 0.65
(0.7 + 0.8) = 0.75
(0.8 + 0.9) = 0.85
(0.9 + 1) = 0.95
f( x i )
0.0499
0.1467
0.2353
0.3118
0.3742
0.4223
0.4569
0.4800
0.4935
0.4993
3.4699
f(xi)
0
0.0990
0.1923
0.2752
0.3448
0.4000
0.4412
f( x i )
0.0495
0.1457
0.2338
0.3100
0.3724
0.4206
75
6
7
8
9
0.4698
0.4878
0.4972
0.5000
0.4555
0.4788
0.4925
0.4986
3.4574
Exemplo 3: Calcular
dx , para n = 8.
Mtodo analtico:
dx
4 1 1
x
=
= = 0.
4 4 4
1
6.3
f ( x) dx
Assim, IT =
b =x 1
x1
( x x0 )
( x x1 )
p1 ( x )dx =
f ( x0 ) +
f ( x1 ) dx = IT
h
h
a =x 0
x0
h
[ f ( x0 ) + f ( x1 )] , que a rea do trapzio de altura h = x1 x0 e bases f(x0) e f(x1).
2
f(x i )
i+1
P 1 (x )
f(x)
xi
x i+1
f ( x )dx .
a
76
6.3.1
Dividindo o intervalo [a, b] em n subintervalos, pela regra dos trapzios, o resultado, que ser indicado
por T(h), dada pela frmula:
n 1
T (hn ) = (
i =0
f ( xi ) + f ( xi +1 )
).hi
2
b a
. Ento :
n
n 1
T ( hn ) = h (
i =0
f ( x i ) + f ( xi +1 )
)
2
ou
T ( hn ) =
6.3.2
h
[ f ( x 0 ) +2 f ( x1 ) +2 f ( x 2 ) +... +2 f ( x n 1 ) + f ( x n )]
2
Exemplos
3, 6
Exemplo 1: Calcular
x dx
3, 0
xi
3.0
3.1
3.2
3.3
3.4
3.5
3.6
f(xi)
0.3333
0.3226
0.3125
0.3030
0.2941
0.2857
0.2778
ci
1
2
2
2
2
2
1
ci. f(xi)
0.3333
0.6452
0.6250
0.6060
0.5882
0.5714
0.2778
3.6469
h
[ f ( x0 ) + 2 f ( x1 ) + 2 f ( x2 ) + ... + 2 f ( x5 ) + f ( x6 )]
2
0.1
T(0.1) =
(3.6469) = 0,182345
2
T ( h6 ) =
d) mtodo analtico:
3, 6
3, 6
1
dx
ln(x
)
]
=
= ln(3.6) ln(3.0) = 0.18232156
x
3, 0
3, 0
1
Exemplo 2: Calcular
(2 x +3)dx
0
77
1
(8) = 4
2
1
Mtodo analtico:
2
(2 x +3)dx = x + 3x
0
1
0
= 1 + 3 (0 + 0) = 4
Como a regra dos trapzios aproxima por uma reta e a funo integranda f(x) = 2x + 3 (uma reta), o
valor da integral obtido exato.
2
Exemplo 3: Calcular
x ln( x )dx
analiticamente.
a) Nmero de intervalos:
n=1
1
Resposta: T(1) =
(1.3863) = 0.6932
2
b) Nmero de intervalos: n = 2
0.5
Resposta: T(0.5) =
(2.6027) = 0.6507
2
c) Nmero de intervalos: n = 4
0.25
Resposta: T(0.25) =
(5.1191) = 0,6399
2
d) Nmero de intervalos: n = 8
0.125
Resposta: T(0.125) =
(10.1951) = 0,6372
2
2
Mtodo analtico:
x ln( x )dx =
1
2
2
2
2
x ln( x ) x 2 2 x ln( x ) x 2
] =
]1 = = 0.63629436
2
4 1
4
6.4
Regra de Simpson
A regra de Simpson obtida aproximando-se f por um polinmio interpolador de 2 grau, ou seja, uma
parbola.
Numericamente: Novamente podemos usar a frmula de Lagrange para estabelecer a frmula de integrao
resultante da aproximao de f(x) por um polinmio de grau 2. Seja p2(x) o polinmio que interpola f(x) nos
pontos x0 = a, x1 = x0 + h e x2 = x0 + 2h = b:
p 2( x ) =
( x x1)( x x 2)
( x x 0)( x x 2)
( x x 0)( x x1)
f ( x 0) +
f ( x1) +
f ( x 2)
( h)( 2h)
( h)( h)
( 2h)( h)
Assim,
b
x2
x2
x0
x0
78
x2
f ( x 0)
f ( x1)
( x x1)( x x 2)dx
2
2
2 h x0
h
x2
(x x
x
)( x x 2)dx +
x2
f ( x 2)
( x x 0 )( x x1)dx
2 h2 x0
f ( x )dx 3 [ f ( x ) + 4 f ( x ) + f ( x )] = Is
x
0
x 0 =a
x 2 =b
x1
h
Aplicando a regra de Simpson repetidas vezes no intervalo [a, b] = [x0, xn]. Vamos supor que x0, x1, ..., xn
so pontos igualmente espaados, h = xi+1 xi, e n par (isto condio necessria pois cada parbola utilizar
trs pontos consecutivos). Assim teremos:
b
f ( x )dx
6.4.2
S ( hn ) =
h
[ f ( x 0 ) +4 f ( x1 ) +2 f ( x 2 ) +4 f ( x3 ) +2 f ( x 4 ) +... +4 f ( x n 1 ) + f ( x n )]
3
Exemplos
1
e dx
x
a) Nmero de intervalos:
n = 10
b) Tamanho do intervalo:
b a
h=
= (1 0) / 10 = 0.1
n
c) iteraes:
i
0
1
2
3
4
5
xi
0.0
0.1
0.2
0.3
0.4
0.5
f(xi)
1
1.1052
1.2214
1.3499
1.4918
1.6487
ci
1
4
2
4
2
4
ci. f(xi)
1
4.4208
2.4428
5.3996
2.9836
6.5948
79
6
7
8
9
10
0.6
0.7
0.8
0.9
1.0
1.8221
2.0138
2.2255
2.4596
2.7183
2
4
2
4
1
3.6442
8.0552
4.4510
9.8384
2.7183
51.5487
0,1 0, 0
[ e + 4 e0 ,1 + 2 e0, 2 + 4 e0, 3 +...+2 e0 ,8 + 4 e0, 9 + e1, 0 ] = 1,71829
3
S ( h10 ) =
d) mtodo analtico:
1
e dx
x
= ex
= e1 e0 = 2,7182818 1 = 1,7182818
1
1
dx , considerando n = 10.
Exemplo 2: Calcular o valor de , dado pela expresso 4
2
1
+
x
0
0,1
[ f ( x 0) + 4 f ( x1) + 2 f ( x 2) + 4 f ( x 3) +...+2 f ( x 8) + 4 f ( x 9) + f ( x 10)] = 3,14157
Resposta: S ( h10) =
3
1
1
1
dx = 4( arctg (x )] ) = 4.(arctg(1) arctg(0)) = 3.14159265
Mtodo analtico: 4
2
0
0 1 +x
2
Exemplo 3: Calcular
x ln( x )dx
analiticamente.
a) Nmero de intervalos: n = 2
0.5
Resposta: S(0.5) =
(3.8191) = 0,6365
3
b) Nmero de intervalos: n = 4
0.25
Resposta: S(0.25) =
(7.6355) = 0.63629167
3
c) Nmero de intervalos: n = 8
0.125
Resposta: S(0.25) =
(15.2711) = 0,63629583
3
2
Mtodo analtico:
2
2
x ln( x ) x
x
ln(
x
)
dx
2
2
2 x ln( x ) x 2
]1 = = 0.63629436
4
+1
Resposta: S (0.5) =
1
Mtodo analtico:
0 .5
4
[1 + 4(1.25) + 2] =
= 1.33333...
3
3
x 2 +1
0
dx = x + x
=(
3
3
4
1
0
+ 1) ( + 0) = = 1.33333...
3
3
3
Como a regra de Simpson se aproxima por uma parbola e, sendo f(x) = x2 + 1 uma parbola, o valor da
integral obtido exato independente do nmero de subintervalos utilizado no clculo.
80
81
Referncias Bibliogrficas
[1] BARROSO, Lenidas C. et. al., Clculo Numrico (com Aplicaes), 2a edio, Editora Harbra, So Paulo,
1987.
[2] CLAUDIO, Dalcidio M., MARINS, Jussara M., Clculo Numrico Computacional, 2a edio, Atlas, 1994
[3] SANTOS, Vitoriano R. B., Curso de Clculo Numrico, 4a edio, LTC, 1982.
[4] RUGGIERO, Mrcia A. G., LOPES, Vera Lcia R., Clculo Numrico: Aspectos Tericos e
Computacionais, 2a edio, Makron Books, So Paulo, 1996.
[5] CAMPOS, R. J. A., Clculo Numrico Bsico. 1 edio, Atlas, 1978
[6] CAMARGO, W. C. M., Apostila de Clculo Numrico. Departamento de Informtica. UFPR.