Você está na página 1de 97

1

UNIVERSIDADE REGIONAL INTEGRADA DO ALTO URUGUAI E URI


DAS MISSÕES

DEPARTAMENTO DE ENGENHARIAS E CIÊNCIA DA COMPUTAÇÃO - DECC


DEPARTAMENTO DE CIÊNCIAS EXATAS E DA TERRA - DCET
CURSOS: ENGENHARIA CIVIL, ENGENHARIA MECÂNICA E MATEMÁTICA

CÁLCULO NUMÉRICO COMPUTACIONAL

CADERNO 1

PROFª ELIANI RETZLAFF


e-mail: elianir@urisan.tche.br

Site: http://sites.google.com/site/elianiretzlaff1/

SANTO ÂNGELO - AGOSTO, 2013

Si no se comete errorres, generalmente no se hace nada!


Equações Diferenciais – Definição e Classificação Cálculo V - Profª Eliani Retzlaff
2

1 ERROS EM PROCESSOS NUMÉRICOS

Servirão de base para análise de algoritmos e também na validação de resultados


obtidos através de métodos numéricos.

1.1 ALGUNS CONCEITOS

Modelagem: é a fase de obtenção do modelo matemático que descreve o comportamento


do sistema físico.

Algoritmo: É o conjunto predeterminado e bem definido de regras e processos destinados à


solução de um problema, com um número finito de etapas, ou seja, é um caminho para
solução de um problema.
O algoritmo também representa o rascunho para programas (Software), pois sua
linguagem é intermediária à linguagem humana e às linguagens de programação, sendo
então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas.

Exemplo (retirado da internet: http://www.faccat.com.br/dti/lp1.htm): Elaborar um algoritmo


bastante familiar de substituição de uma lâmpada queimada do Teto.
1 - Remova a lâmpada queimada.
2 - Coloque a lâmpada nova.

Ensinar um robô a trocar lâmpada.


1 – Remova a lâmpada queimada - deve ser expandida em mais passos :
– Posicione a escada debaixo da lâmpada queimada.
- Suba na escada até que a lâmpada possa ser alcançada.
– Gire a lâmpada queimada no sentido anti-horário até que se solte.
– Coloque a nova lâmpada.
2.1– Escolha uma lâmpada nova de mesma potência da queimada.
2.2- Posicione a nova lâmpada no soquete.
2.3- Gire no sentido horário até que ela se firme.
2.4- Desça a escada.

O algoritmo tem agora 7 passos.


1. Posicione a escada debaixo da lâmpada queimada.
2. Suba na escada até que a lâmpada possa ser alcançada.
3. Gire a lâmpada queimada no sentido anti-horário até que se solte.
4. Escolha uma lâmpada nova de mesma potência da queimada.
5. Posicione a nova lâmpada no soquete.
6. Gire no sentido horário até que ela se firme.
7. Desça a escada.

Um algoritmo um pouco mais inteligente.


1- Posicione a escada debaixo da lâmpada queimada.

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 2
3

2- Escolha uma lâmpada nova de mesma potência da queimada.


3- Suba na escada até que a lâmpada possa ser alcançada.
4- Gire a lâmpada queimada no sentido anti-horário até que se solte.
5- Posicione a nova lâmpada no soquete.
6- Gire no sentido horário até que ela se firme.
7- Desça a escada.

Os algoritmos servem para representar a solução de problemas, mas no caso do


Processamento de Dados, eles devem seguir as regras básicas de programação para que
sejam compatíveis com as linguagens de programação.

CARACTERISTICAS BÁSICAS DE TODO ALGORITMO


 Partir de um ponto inicial e chegar a um ponto final;
 Não ser ambíguo (ter dupla interpretação);
 Poder receber dados externos e ser capaz de retornar resultados aos mesmos;
 Ter todas suas etapas alcançáveis em algum momento do programa.

FORMAS DE REPRESENTAÇÃO
Pode-se representar um algoritmo de 3 formas distintas:

1ª Forma: Descrição narrativa


Faz-se uso da descrição narrativa, quando se quer descrever um algoritmo de forma
que o receptor da informação entenda do assunto mesmo não conhecendo de algoritmos,
porém neste tipo de descrição temos uma imprecisão e uma falta de confiabilidade no
entendimento do algoritmo além de se ter uma descrição muito grande para dizer pouca
coisa.
Exemplo: Dobro de um número
 Digitar um número;
 Gravar em uma variável;
 Pegar o número e multiplicar por 2;
 Gravar o resultado em outra variável;
 Mostrar o resultado da operação.

2ª Forma: Fluxograma
Desta forma faz-se o uso de símbolos universais que ajudam a compreender o que o
algoritmo quer dizer. Este é mais utilizado, pois se trata de um padrão mundial, além de que
símbolos dizem muito mais que palavras, porém este complica-se na medida que o
algoritmo cresce. Levando-se em consideração o exemplo anterior temos:

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 3
4

Legenda:

Cálculo

Decisão

Entrada

Saída

Inicio/Fim

3ª Forma: Linguagem Algorítmica


Consiste na representação em linguagem de programação. Exemplo através da
linguagem de estudo de algoritmos o Turbo Pascal 7.0:

Program Calcula_Dobro;
Uses crt;
Var
NUM: integer;
DOBRO: integer;
Begin
Write (‘Digite um número:’);
Read (NUM);
DOBRO:= 2 * NUM;
Write (‘O dobro de ‘, NUM, ‘ e ‘, DOBRO);
Readkey;
End.

Programa: É a formalização de um algoritmo em uma determinada linguagem de


programação, segundo suas regras de sintaxe (conjunto de regras que determinam quais

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 4
5

construções são corretas) e semântica (descrição de como as construções sintaticamente


corretas são interpretadas ou executadas), de forma a permitir que o computador possa
entender a seqüência de ações.

Resolução: é a fase de obtenção da solução através da aplicação de métodos numéricos


(este é o objetivo de estudo do Cálculo Numérico).

Cálculo Numérico: Conjunto de ferramentas ou métodos usados para se obter a solução


de problemas matemáticos de forma aproximada.

Métodos numéricos: se define como um algoritmo que vai produzir um ou mais valores
numéricos, ou seja, são métodos de convergência que apresentam uma seqüência de
cálculos simples, porém repetitivos.

Assim, os métodos numéricos:


 Aplicam-se onde os métodos exatos falham ou são trabalhosos
1) Um problema de Matemática pode ser resolvido analiticamente,
mas esse método pode se tornar impraticável com o aumento
do tamanho do problema.
Exemplo: solução de sistemas de equações lineares.

2) A existência de problemas para os quais não existem métodos


matemáticos para solução (não podem ser resolvidos
analiticamente).
Exemplos:
a) equações transcendentes
b) certas integrais
c) equações diferenciais parciais não lineares podem ser resolvidas analiticamente
só em casos particulares.

 Primam pela simplicidade, sendo que o resultado é possível de refinamento


até obter-se a precisão desejada;
 São conhecidos há muito tempo, mas atualmente encontram larga aplicação
valendo-se da evolução dos processos computacionais.

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 5
6

Estas considerações podem ser visualizadas no fluxograma:

Problema, Estudo, Pesquisa

Levantamento de Dados

Modelo Matemático

Processo de Cálculo

Exato Aproximado

Solução Exata Solução aproximada


Refinamento

Solução Aproximada

Quando a solução de um problema necessita ser obtida numericamente, o processo


tende a se apresentar da forma seguinte:

Problema real Levantamento de dados

Construção do Modelo Matemático

Escolha do Método Numérico

Implementação computacional desse método

Análise dos resultados

Bom .. ou tem-se que:


Reformular o Modelo Matemático ou,
escolher um outro Método Numérico?!

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 6
7

1.2 ERROS

Nos problemas reais, os dados são medidas e, como tais, não são exatos. Uma
medida física não é um número, é um intervalo, pela própria imprecisão das medidas.
Daí,trabalha-se sempre com a figura do erro, inerente à própria medição.

Então, ao buscar-se soluções através de métodos numéricos para resolução dos


problemas das mais variadas áreas, podem se chegar a resultados não esperados.

Em todo o processo do esquema citado anteriormente podem ocorrer erros:


 de observação (no levantamento de dados);
 de modelagem (na escolha do modelo adequado);
 referente ao método numérico escolhido;
 devido à capacidade de representação dos números nas máquinas (arredondamento
ou truncamento);
 resultante da propagação de outros erros.

1.2.1 Erros na fase de Modelagem


Erros causados por distorções que existem entre os possíveis modelos que podem
ser usados na descrição do comportamento de um fenômeno físico.

Exemplo: Para determinar a altura de um edifício dispondo apenas de uma bolinha de


metal, um cronômetro e a seguinte fórmula d  d0  v 0 .t  1 .a.t 2 , uma pessoa sobe ao topo e
2
mede o tempo que a bolinha gasta para tocar no solo que é de 3 segundos.

d = 44,1 m (não é confiável)


 Precisão do cronômetro?
 Velocidade do vento?
 Resistência do ar?
 Forças?

2.2.2 Erros na fase de Resolução

Para a obtenção da solução de determinados modelos matemáticos muitas vezes é


necessária a utilização de instrumentos de cálculo que necessitam aproximações e com isso
podem gerar erros, como exemplo, os computadores, que tem capacidade limitada para
armazenar os dígitos significativos de valores numéricos utilizados nas operações
elementares (+, - , x, ÷).

1.2.2.1 Erros na Conversão de Bases:


SISTEMAS DE NUMERAÇÃO E SUA REPRESENTAÇÃO:
Uma das primeiras tentativas de registro de quantidades sob a forma escrita foi o
sistema de numeração indo-arábico, do qual é derivado o atual sistema de numeração
Capítulo 1: Erros em Processos Numéricos
Cálculo Numérico Computacional – URI – II/2013 7
8

decimal. Um sistema de numeração é formado por um conjunto de símbolos utilizados para


representação de quantidades (alfabeto) e as regras que definem a forma de representação.
Quando falamos em sistema decimal, estamos estabelecendo que a nossa base de
contagem é o número 10, pois o sistema decimal possui um alfabeto de 10 símbolos: 0, 1, 2,
3, 4, 5, 6, 7, 8 e 9. Este conjunto de símbolos do alfabeto define o que é chamado de base
do sistema de numeração. Assim, se temos 10 símbolos, estamos trabalhando sobre a base
10. Um sistema de numeração é determinado fundamentalmente pela sua base.
Os Sistemas de numeração podem ser divididos em 2 grupos: os sistemas não-
posicionais e os sistemas posicionais.

SISTEMAS NÃO-POSICIONAIS: São aqueles em que o valor atribuído a um símbolo não se


altera, independentemente da posição em que ele se encontre no conjunto de símbolos que
está representando um número. Um exemplo de sistema não-posicional é o sistema de
numeração romano. Neste sistema temos os símbolos I, V, X, L, C, D e M. Em qualquer
posição dentro de um conjunto destes símbolos, eles não alteram seus valores (I _ 1, V _ 5,
X _ 10, L _ 50, C _ 100 e M _ 1000).
No sistema de numeração romano antigo por exemplo (onde o número 4 era
representado por IIII), a posição do símbolo tinha sempre o mesmo significado, ou seja o
número 1.469 era representado como MCCCCLXVIIII. Esta forma era somente por
conveniência pois ele também poderia ser representado como CMCCLCIIXVII.
Já no sistema romano “moderno”, o que se altera é a sua utilização para a definição
da quantidade representada (porém individualmente eles continuam representando a
mesma quantidade), a partir das regras definidas pelo sistema:
· Cada símbolo colocado à direita de um maior é adicionado a este.
Ex.: XI _ 10 + 1 = 11;
· Cada símbolo colocado à esquerda de um maior tem o seu valor subtraído deste.
Ex.: IX _ 10 – 1 = 9;
Assim, o número XXI representa 21 em decimal (10 + 10 + 1), enquanto que XIX representa
19 (10 + 10 – 1).

SISTEMAS POSICIONAIS: São aqueles em que o valor atribuído a um símbolo depende da


posição em que ele se encontra no conjunto de símbolos que está representando um
número.
O exemplo típico de sistema posicional é o sistema de numeração decimal, com
símbolos de 0, 1,.., 9. Neste sistema, por exemplo, o símbolo 5 pode representar o valor 5, o
valor 50, como em 57 (50 + 7), o valor 500, como em 503 (500 + 3), e assim por diante. Isto
é, a regra válida para o sistema decimal é que quanto mais à esquerda do número o símbolo
está, mais ele vale. Na verdade, a cada posição mais à esquerda, o símbolo vale 10 vezes
mais.
Se representarmos o número 245 assinalando um símbolo a cada casa, indicando o
valor de cada casa, teremos:
Valor da casa 1000 100 10 1 0,1 0,01
Dígitos 0 2 4 5 0 0

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 8
9

O significado de cada dígito em determinada posição é o valor da casa multiplicado


pelo valor do dígito e a quantidade representada é a soma de todos os produtos.

x = (245)10 = 2.102 + 4.101 + 5.100

Exemplo: O número 3547,21, pode ser representado da seguinte forma:

x = (3547,21)10 = 3.103 + 5. 102 + 4.101 + 7. 100 + 2. 10-1 + 1. 10-2 = 3000 + 500 + 40 + 7 +


0,2 + 0,01

Os números empregados no cálculo computacional podem ser de dois tipos:


Números inteiros e números em “ponto flutuante” (que representam os números reais da
Matemática). Os computadores atuais representam os números internamente no formato
binário, como seqüência de zeros e uns.

No sistema binário, os símbolos (0 e 1) representam os valores numéricos, onde,


cada casa vale 2 vezes mais que aquela que está imediatamente a sua direita e 2 vezes
menos que a que está a sua esquerda. Desta forma, teremos que, se o valor da primeira
casa da direita for 20, a segunda valerá 20 x 2 = 21, e assim consecutivamente para a
esquerda. Os valores das casas ficam claros no seguinte esquema:

Se b0, b1, b2, etc., são os valores (0 ou 1) que se coloca em cada posição, a
quantidade representada valerá:

… + b424 + b323 + b222 + b121 + b020 + b-12-1 + ...

Para evitar a representação mediante o somatório, adota-se a convenção de separar


mediante vírgulas as casas 20 e 2-1, de tal modo que a representação fique:

... b4 b3 b2 b1 b0, b-1 b-2 …


Em que bi = 0 ou 1.

Exemplo: o número binário 10011,01 representa a quantidade:

Valor da casa 24=16 23=8 22=4 21=2 20=1 2-1=1/2 2-2=1/4


Dígitos 1 0 0 1 1 0 1

x = (10011,01)2 = 1.24 + 0.23 + 0.22 + 1.21 + 1.20 + 0.2-1 + 0.2-2 = 16 + 2 + 1 + 1/4 = 19,25

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 9
10

A tabela seguinte apresenta alguns sistemas de numeração:


Decimal Hexadecimal Binário Octal
0 0 0 0
1 1 1 1
2 2 10 2
3 3 11 3
4 4 100 4
5 5 101 5
6 6 110 6
7 7 111 7
8 8 1000 10
9 9 1001 11
10 A 1010 12
11 B 1011 13
12 C 1100 14
13 D 1101 15
14 E 1110 16
15 F 1111 17

CONVERSÃO DE BASES:
É o processo de converter valores de um sistema de numeração para outro.

 BASE QUALQUER EM DECIMAL:


Basta fazer a representação do número pelo

Teorema Fundamental de Numeração (T.F.N.):

anβn +...+ a2β2 + a1β1 + a0β0 + a-1β-1+...


n
de forma simplificada:  a .
i n
i
i
 N

e cada ai é um inteiro não negativo e n é um valor que representa a posição mais à


esquerda do número, ou posição mais significativa do número. Esta representação de X é
única e é chamada de representação de X na base B, representada como (X)B.

Exemplo:
(11001)2 = 1.24 + 1.23 + 0.22 + 0.21 + 1.20 = 16 + 8 + 0 + 0 + 1 = (25)10

 DECIMAL EM BINÁRIO:
Para a parte inteira mediante divisões inteiras sucessivas por dois, tomando-se os
restos das divisões no sentido ascendente e para a parte não inteira usa-se o método das
multiplicações sucessivas.

Exemplo: Converta o número de base decimal 197,125 para base binária.


 Para inteiros:

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 10
11

(197)10 = (11000101)2

 Para não inteiros:

Algoritmo:
Passo 0: x1 = x; k = 1

Passo 1: Calcule 2.xk


Se 2.xk = 1, faça: dk = 1
Caso contrário, faça: dk = 0

Passo 2: Faça xk+1 = 2xk - dk,


Se xk+1 = 0, pare.
Caso contrário:

Passo 3: k = k+1
Volte ao passo 1

E então: 0,d1d2d3...dk

Do exemplo anterior:
K Xk 2.Xk dk Xk+1= 2.Xk - dk
1 0,125 0,25 0 0,25 – 0 = 0,25
2 0,25 0,5 0 0,5 – 0 = 0,5
3 0,5 1,0 1 1,0 – 1 = 0 (pare!)

Ou:

0,125*2 = 0,25*2 = 0,5*2 = 1

(0,125)10 = (0,d1d2d3)2 = (0,001)2 e

(197,125 )10 = (11000101,001)2

Observação: um número real entre 0 e 1 pode ter representação finita no sistema decimal,
mas infinita no sistema binário.

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 11
12

Exercício:
Converter (0,1)10 na base 2. Resp.: (0,0001100110011...)2

Como visto, um número pode ter representação finita em uma base e não-finita em
outra. Assim, os dados de entrada são enviados ao computador pelo usuário no sistema
decimal; toda esta informação é convertida para o sistema binário, e as operações todas
serão efetuadas neste sistema. Os resultados finais serão convertidos para o sistema
decimal e, finalmente, serão transmitidos ao usuário. Todo este processo de conversão é
uma fonte de erros que afetam o resultado final dos cálculos.
Exercícios:
1) Represente os números nas respectivas bases:
a. (347)10 = c. (10111)2 =
b. (1059,7)10 = d. (11,101)2 =
2) Converta os seguintes números de base binária para base decimal:
a. (101111)2 = d. (11010101)2 =
b. (11,01)2 = e. (101)2 =
c. (101101)2 =
3) Converta os seguintes números de base decimal para base binária:
a. (18 )10 = d. (0,875)10 =
b. (347 )10 = e. (13,25)10 =
c. (0,2)10 = f. (0,1875)10 =
4) Determine o inteiro positivo x que verifica a igualdade (10101)x =(651)10

Programa de conversão - no Mathcad

Dados de entrada: b: base


d: dígitos presentes no número
n: número de dígitos presentes no número
i: ordem do dígito, começando por i = 0 (linha zero)

De (101111)2 para base 10:

b  2 n  6 i  0 n  1

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 12
d 
i Algoritmo:
1
  dib 
i
1 N 
1 i
1
0
Dados de saída: N  47
1

1.2.2.2 Erros de Representação


Na memória de um equipamento, cada número é armazenado em uma posição que
consiste em um sinal que identifica se o número é positivo ou negativo e um número fixo e
limitado de dígitos significativos.
ARITMÉTICA DE PONTO FLUTUANTE:
Um computador ou calculadora representa um número real (inteiro ou não-inteiro)
num sistema denominado aritmética de ponto flutuante, pois o ponto da fração “flutua”
conforme o número a ser representado e sua posição é expressa pelo expoente e.

Definição:
Um sistema de ponto flutuante F   é um subconjunto dos números reais cujos
elementos tem a forma:

d1 d2 d3 d
x  (    ...  tt )e  (.d1d2 d3 ...dt )e
1 2 3 
Onde:

 base  em que a máquina opera (binária, decimal, hexadecimal, etc..);


 precisão t da máquina (número de algarismos da mantissa);
 limites do expoente e de  ( emín  e  emáx );
 di: são números inteiros contidos no intervalo 0  di < β; i = 1, 2, ..., t; d1  0;

Se d1  0, diz-se que o número está normalizado.


A mantissa é fracionária nesta representação (<1). E, para assegurar representação
única para cada x  F , faz-se a normalização no sistema de forma que d1  0 para x  0 .

Alguns exemplos da representação de ponto flutuante:


Número na respectiva base Representação em ponto flutuante Mantissa Base Expoente
(5532)10 0,5532 x 104 0,5532 10 4
(55,32)10 0,5532 x 102 0,5532 10 2
(0,00233)10 0,233 x 10-2 0,233 10 -2
(100)10 0,1 x 10³ 0,1 10 3
(100)10 = (1100100)2 0,1100100 x 27 0,11001 2 7 ou 111

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 13
Usualmente, procura-se representar um sistema de ponto flutuante por F = F(β, t,
emín, emáx), onde emín e emáx são respectivamente o menor e o maior expoente, β é a base e t
é a precisão.

Alguns exemplos:
1) HP25: F(10, 9, -98,100)
2) IBM 360/370: F(16, 6, -64, 63)
3) B6700: F(8, 13, -51, 77)

Exercícios:
1) Dado F(10, 3, -4, 4), represente o número x
a. x = -279,15 b. x = 1,35 c. x = 0,012412

2) Dado F(2, 10, -15, 15), represente o número x


a. x = 23 b. x = -7,125

Propriedades do sistema de ponto flutuante:


 Menor número em módulo: 0,1*βemín
 Maior número: 0, [ - 1].[ - 1]...[ - 1] *βemáx


t vezes

 A mantissa está contida no intervalo [0.1, 1) e o número máximo de mantissas positivas


é dado por:
m  (  1) * t 1
 O número máximo de expoentes possíveis é:
epossível  emáx  emín  1
 Se x ∈ F , então − x ∈ F e a cardinalidade (número de elementos) de F é:
NE  2 * (  1) *  t 1 * (e máx  e mín  1) +1

Exemplo: Considere uma máquina que opere no sistema F(2, 3, -1, 2)


a) O menor exatamente representável:
1
0,100 * 21  0,0100  0.21  1.2 2 
4
b) O maior exatamente representável:
0,111*22 = 11,1  1.21  1.20  1.21  3  1  7
2 2
c) Número máximo de mantissas positivas possíveis:
m  (2  1) * 231  4 , que são: 0,100; 0,101; 0,110 e 0,111.
d) O número máximo de expoentes possíveis:
epossível  2  ( 1)  1  4 , que são: -1, 0, 1, 2
e) Número de elementos positivos representáveis:
m  * e possível  4 * 4  16
Desta forma, têm-se os seguintes números positivos:
(0,100 x 2-1)2 = (0,01)2 =
(0,100 x 20)2 = (0,1)2 =
Capítulo 1: Erros em Processos Numéricos
Cálculo Numérico Computacional – URI – II/2013 14
(0,100 x 21)2 = (1)2 =
(0,100 x 22)2 = (10)2 =

E assim sucessivamente

Então:
Mantissa
E βe 0,100 0,101 0,110 0,111
-1 1/2
0 1
1 2
2 4

f) Número total de elementos exatamente representáveis:

Pode-se perceber pela tabela que a cardinalidade do sistema de ponto flutuante, é igual
ao dobro do número de elementos positivos (por causa dos negativos) mais um (o zero), ou
NE  2 * (  1) *  t 1 * (e máx  e mín  1)  1
 2 * (2  1) * 2 31 * (2  ( 1)  1)  1  33

Regiões de overflow e de underflow:


O conjunto de números reais é infinito, entretanto, a sua representação em um
sistema de ponto flutuante é limitada, pois é um sistema finito, não existe representação
exata da totalidade dos números reais, havendo a necessidade de arredondar para o
número mais próximo da máquina.
Essa limitação tem duas origens:
 a faixa dos expoentes é limitada ( emin  e  emax );
 a mantissa pode representar um número finito de números ( 1  m  1  t )

A primeira limitação leva aos fenômenos chamados de “overflow” e “underflow”. A


Segunda leva aos erros de arredondamentos, que será visto na próxima seção.
Sempre que uma operação aritmética produz um número com expoente superior ao
expoente máximo, tem-se o fenômeno de “overflow”. De forma similar, operações que
resultem em expoente inferior ao expoente mínimo têm-se o fenômeno de “underflow”.
No caso do exemplo dado, podem-se observar quais as regiões que ocorrem o
overflow e o underflow. Neste caso, considera-se a parte positiva e negativa da aritmética do
exemplo.

Observe que, se o expoente for maior que 2 ou menor que -1, não se tem
representação no conjunto formado pela aritmética de ponto flutuante. No primeiro caso,
tem-se o overflow, no segundo caso, tem-se o underflow. Então:
Região de underflow: região situada entre o maior número de ponto flutuante negativo e o
zero e, simetricamente, entre o menor número de ponto flutuante positivo e o zero.

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 15
Região de overflow: regiões situadas aquém do menor número de ponto flutuante negativo
e além do maior número de ponto flutuante positivo.
Do exemplo: RU = (−1/ 4;0) ∪ (0;1/ 4) e RO = (−∞;−7 / 2) ∪ (7 / 2;+∞) .

Exercício:
1) Encontre todos os elementos positivos (em base dez), a cardinalidade, a região
de overflow e a região de underflow para o sistema de ponto flutuante F(3,2,-2,2).

Resposta: Os elementos positivos são: 1/27, 4/81, 5/81, 2/27, 7/81, 8/81, 1/9, 4/27,
5/27, 2/9, 7/27, 8/27, 1/3, 4/9, 5/9, 2/3, 7/9, 8/9, 1, 4/3, 5/3, 2, 7/3, 8/3, 3, 4, 5, 6, 7, 8.
O conjunto tem 2x30+1 = 61 elementos. RU = (−1/ 27,0) ∪ (0,1/ 27) e RO = (−∞,−8) ∪
(8,+∞) .
Os números encontrados na região de overflow são enxergados pela máquina como
infinitos, ou seja, o que chamamos de problema de overflow. Os números que estão na
região de underflow são vistos pela máquina como zero, ou seja, x ∈ RU ⇒ x → 0 .
Quanto ao x representado por um elemento do sistema de ponto flutuante, em geral
é feita de uma das duas formas a seguir:

a) Representação por Corte ou Truncamento: Esta representação em F é obtida


considerando-se apenas os t primeiros algarismos, na base B, da mantissa do número. Em
outras palavras, um número x é representado pelo maior número em ponto flutuante que
seja menor que x. Observe que esta forma de representação pode gerar um grande erro de
arredondamento.

b) Representação por Arredondamento: Nesta representação, x é representado pelo


elemento do sistema de ponto flutuante que estiver mais próximo dele, diminuindo ao
máximo o erro de arredondamento.

Exemplo: Em F(10, 4, -98, 100), as quantidades 0.333333, 0.123952, 0.348446 e 0.666...


são representadas por corte, respectivamente, como 0.3333, 0.1239, 0.3484 e 0.6666
(observe que apenas consideramos os primeiros dígitos do número) e são representados
por arredondamento, respectivamente, por 0.3333, 0.1240, 0.3484 e 0.6667 (observe que
quando o próximo dígito é maior que 5, o último algarismo é aumentado de uma unidade).

Exercício: Encontrar a representação dos números abaixo em um sistema de números de


aritmética de ponto flutuante, de três dígitos significativos, com emin  4 e emax  4 .
Número Arredondamento Truncamento
1,25
10,053
-236,15
2,72822
0,000008
654582,4
Capítulo 1: Erros em Processos Numéricos
Cálculo Numérico Computacional – URI – II/2013 16
Nota: Não se deve confundir representação por truncamento e representação por
arredondamento com erro de truncamento e erro de arredondamento.

1.4 ERROS ABSOLUTO E RELATIVO

1.4.1 Erro Absoluto


É a diferença em módulo, entre um valor exato x e o valor aproximado x , ou seja,:
EAx = | x  x |.
 EAx só poderá ser determinado se x for conhecido com exatidão;
 Na prática costuma-se trabalhar com um limitante superior para o erro, ao invés do
próprio erro, | x  x |< , onde  é o limitante.
Exemplo 1: Para π  (3,14; 3,15)
EAx = | x  x |< 0,01

Exemplo 2: Sejam a = 3876,373 e b = 1,373


Considerando a parte inteira de a (a’) e a parte inteira de b (b’), o erro absoluto será:
EAa = |a - a’| = 3876,373 - 3876 = 0,373 e EAb = |b - b’| = 1,373 - 1 = 0,373

Obviamente o resultado é o mesmo nos dois casos, porém, o peso de aproximação


em b é maior do que em a.

1.4.2 Erro Relativo


É definido como o erro absoluto dividido pelo valor aproximado, ou seja:
|xx|.
ER x 
x
Exemplo 1: O erro relativo pode transmitir perfeitamente os resultados do exemplo anterior:
| 0,373 |
ERa   0,000096  10 4
3876 caso conhecido o valor exato o erro relativo = EA/X e não o X barra
| 0,373 |
ER b   0,373  5.10 1
1
O erro percentual é dado por EPx  100.ERx .

Então, tem-se um erro percentual de 0,0096% no primeiro caso e um erro relativo


igual a 37% no segundo caso.

Exemplo 2: O erro relativo considerando-se os números a’= 2112,9; e’= 5,3 e |EA| = 0,1:
0,1
| ER a |  4,7.10 5
2112,9
0,1
| ER e |  0,02
5,3

1.5 ERROS DE ARREDONDAMENTO

É o erro devido a representação de um número real em um sistema de ponto


flutuante.

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 17
Exemplo: Utilizando uma máquina digital, o valor apresentado: 1,4142136 e o valor real:
1,41421356...

 Existência de forma de representação de números irracionais com uma quantidade


finita de algarismos;
 Apresentação de uma aproximação do número pela calculadora.

1.6 ERROS DE TRUNCAMENTO

É o erro devido ao método numérico aplicado (por exemplo, expansão truncada de


uma série, linearização de uma função).
Exemplo: Cálculo do valor de ex pela série: x2
ex  1 x   ..
2!
1.7 ERROS DE TRUNCAMENTO E ARREDONDAMENTO EM UM SISTEMA DE
ARITMÉTICA DE PONTO FLUTUANTE

Em um sistema que opera em sistema de ponto flutuante de base 10, e seja x:

x  fx .10e  gx .10et (0,1  fx  1 e 0  gx  1)

Sendo: e – número de dígitos inteiros


t – número de dígitos significativos

Exemplo 1: Para t = 4 e x = 234,57, tem-se:


X = 0,23457.103 = (0,2345+ 0,00007).103 = 0,2345.103 + 0, 7.10-1
fx = 0,2345 e gx = 0,7

 No truncamento, gxx10e-t é desprezado e x  fx .10 e


EAx = | x  x |= | gx | .10e  t  10e  t
Visto que | gx | 1
| x  x | | gx | .10 e  t 10 e  t
ER x     10  t 1
x | fx | .10 e 0,1.10 e
pois 0,1 é o menor valor possível para fx.

 No arredondamento simétrico (forma mais utilizada):


 1
fx .10
e
se gx  (gx é desprezado)
 2
x
f .10 e  10 et 1
 se gx  (soma "1" ao último dígito de fx )

x
2
Se gx  1 :
2
EAx = | x  x |= | gx | .10 et  1 .10 et
2
e
| x  x | | gx | .10 e  t 0,5.10 e  t 1
ER x     .10  t 1
x | fx | .10 e 0,1.10 e 2
Capítulo 1: Erros em Processos Numéricos
Cálculo Numérico Computacional – URI – II/2013 18
Se g x  1 :
2
EAx = | x  x |= | fx .10e  gx .10e  t - (fx .10e  10e  t ) |
EAx = | gx .10 e  t - 10 e  t || (gx  1).10 e  t | 1 .10 e  t
2
e
|xx| 0,5.10 e  t 0,5.10 e  t 0,5.10 e  t 1
ER x   et
   .10  t 1
x | fx .10  10 | | fx | .10 e
e
0,1 | .10 e 2

Exemplo: Considere o sistema F(10,3,-5,5) e x = 234.56, calcule fx e gx.


e=3 et=3 x = 0,23456.10³ = (0,234 + 0,00056).10³
x = 0,234.10³ + 0,56.10-³.10³ = 0,234.10³ + 0,56.100
fx = 0,234 e gx = 0,56

1.8 PROPAGAÇÃO DE ERROS


Erros descritos anteriormente podem influenciar o desenvolvimento de um problema
ou então ocorrem ao se efetuar operações com números já afetados por algum erro.

Exemplo: Suponha-se que as operações abaixo sejam processadas em uma máquina com
4 dígitos significativos e fazendo-se: x = 0.937*104 e y= 0.1272*102 dois elementos de
F(10,4, -98,99). Calcule:
a) x+y efetuando truncamento;
x + y = 0,937.104 + 0,1272.10² = 0,937.104 + 0,001272.10².10² = (0,937 +
0,001272).104
x + y = (0,938272).104
x + y = (0,9382 + 0,000072).104
x+y = (0,9382 + 0,72.10-4).104 = 0,9382.104 + 0,72.100
fx+y = 0,9382 e gx+y = 0,72
logo: x + y = 9382

b) x+y efetuando arredondamento;


como gx+y = 0,72 > ½
x + y = 0,9383.104 = 9383

c) x.y efetuando truncamento;


x.y = 0,937.104 . 0,1272.10² = (0,1191864).106
x.y = (0,1191 + 0,0000864).106
x.y = (0,1191 + 0,864.10-4).104 = 0,1191.104 + 0,864.100
fx.y = 0,1191 e gx.y = 0,864
logo: x . y = 1191

d) x.y efetuando arredondamento.


como gx+y = 0,864 > ½
x + y = 0,1192 . 104 = 1192

Capítulo 1: Erros em Processos Numéricos


Cálculo Numérico Computacional – URI – II/2013 19
2 ZEROS DE FUNÇÕES

Em muitos problemas práticos de aplicação matemática de Ciências e Engenharia,


por exemplo: cálculo de valores extremos de uma função indicativa de um fenômeno físico,
como temperatura, energia, etc., ou as raízes de um polinômio característico para a
obtenção dos autovalores e autovetores de uma matriz, extremamente importantes na
análise do comportamento dos sistemas dinâmicos; há a necessidade de se determinar um
número xr para o qual:

f ( xr )  0  xr é raiz de f(x)

Equações Algébricas (ou Polinomiais):


A variável aparece submetida a operações algébricas, repetidas um número finito de
vezes. Se x é esta variável, tem-se:
Pn ( x )  an x n  an 1x n 1  an  2 x n  2  ...  a 2 x 2  a1x  a 0
onde:
n 
ai  R

Equações Transcendentes:
A variável aparece submetida a operações não algébricas em pelo menos um termo
da equação. Nestas equações, em pelo menos um termo, aparecem funções como:
exponenciais, logarítmicas, trigonométricas, etc.

2.1 RESOLUÇÃO DE EQUAÇÕES ALGÉBRICAS E TRANSCENDENTES

As equações algébricas de 1° e 2° Graus, certas classes de 3° e 4° graus e algumas


equações transcendentes podem ter suas raízes calculadas exatamente por métodos
analíticos, mas para polinômio de grau posterior a quatro e para a grande maioria das
equações transcendentes o problema só pode ser resolvido por métodos que aproximam as
soluções.
Embora esses métodos não determinem as soluções exatas, as raízes podem ser
calculadas com a exatidão que o problema determine, desde que certas condições de f
sejam satisfeitas.

2.1.1 Teorema de Bolzano


Para que uma função seja contínua y = f(x) tenha no mínimo uma raiz no intervalo [a,
b], é suficiente, que ele tenha valores de sinais opostos nos limites deste intervalo, ou seja,
f(x) assume valores de sinais opostos nos pontos extremos do intervalo fechado [a,b].
Observando o gráfico seguinte:

Capítulo 2: Zeros de Funções


Cálculo Numérico Computacional – URI – I/2013 20
f(b)

f(a)

 Se f (a).f (b)  0 , então o intervalo conterá no mínimo uma raiz (ou um n° ímpar de
raízes).
 Se f (a).f (b)  0 , então, a f(x) não tem nenhuma raiz real no intervalo ( ou o n° de
raízes será par).
 A raiz x será definida e única se a derivada f`(x) for contínua e conservar o sinal
dentro do intervalo [a, b].
y = f(x)  f(a).f(b) < 0  xr  [a, b]  f(xr) = 0
os valores da função derivada se mantem constantes no interval [a,b] (se é positiva
todos seram)

2.1.2 Refinamento
Para calcular uma raiz, duas etapas devem ser seguidas:

2.1.2.1 Isolar a raiz, ou seja, achar um intervalo [a,b], o menor possível, que
contenha uma e somente uma raiz da equação f(x) = 0;

Técnicas de Isolamento de Raízes:


Para isolar os intervalos que contenham raízes, além do Teorema de Bolzano
(procedimento analítico), podemos utilizar um recurso gráfico, ou o isolamento através de
tabelas, então:
 Isolamento através de Tabelas:
Observamos as mudanças de sinais da função f(x), quando for atribuído
valores para a variável x. Verifique o exemplo, f(x) = x3 – 9x +3,
X - -100 -5 -3 -1 0 1 2 3
F(x) - - - + + + - - +
Tem-se que, x1  ( -5 , 3 ) , x 2  ( 0 , 1 ) e x 3  ( 2 , 3 )

 Visualização Gráfica – método gráfico: Se possível a subdivisão da função dada


em outras duas funções, pode simplificar muitas vezes a representação gráfica:

Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 21
f ( x)  g( x)  h( x)  f ( x)  0
 g( x)  h( x)
ou seja, os valores de x para os quais vale a igualdade de g(x) e h(x), são aproximações das
raízes de f(x), logo: o zero da função se encontra no ponto x da intersecção das duas
novas funções.

Do exemplo anterior:
3 3
f ( x)  x  9x  3 g( x)  x h( x)  9x  3

20

f( x)

g( x) 4 2 0 2
h( x)

20

40

Exercício: Como visto, o Método Gráfico, consiste em traçar o gráfico da função f(x) com o
objetivo de determinar o intervalo [a, b] que contenha uma única raiz, então, encontre (isole)
os intervalos onde as raízes da função transcendente f ( x)  x3  sen( x) estão localizadas.
(lembrar que: para valores reais, calculadoras em rad)

Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 22
 Procedimento analítico:
Seja f(x) contínua em [a, b], então:
o Se f(a).f(b) < 0,  um número ímpar de raízes neste intervalo;
o Se f(a).f(b) > 0,  ou  um número par de raízes neste intervalo;
o supondo que f(x) e f’(x) sejam contínuas em [a, b] e que o sinal de f’(x) se
mantenha constante, então:
 Se f(a).f(b) < 0  uma única raiz em [a, b];
 Se f(a).f(b) > 0  raiz real em [a, b];

Observação: o fato de f’(x) manter o sinal constante em [a, b], implica que f(x) poderá ser
crescente ou decrescente em [a, b].
o Se f’’(x) indica a direção da concavidade da curva:
 Se f’’(x) > 0  concavidade voltada para cima;
 Se f’’(x) < 0  concavidade voltada para baixo;

Exemplo de uma função qualquer:


f( x)  ( x  1.6)  ( x  1)  ( x  1)  ( x  1.6)

Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 23
Com relação a primeira raiz:
 As funções f(x) e f´(x) são contínuas no intervalo x  [-2; -1,5]
 a = -2 e b = -1,5; f(a) = f(-2)  4,32 > 0 e f(b) = f(-1,5)  - 0,388 < 0;
f´ ( x)  ( x  1)  ( x  1)  ( x  1.6)  ( x  1.6)  ( x  1)  ( x  1.6)  ( x  1.6)  ( x  1)  ( x  1.6)  ( x  1.6)  ( x  1)  ( x  1)
x f´ ( x) 
-2 -17.76
-1.9 -13.908
-1.8 -10.512
-1.7 -7.548
-1.6 -4.992
-1.5 -2.82

f´(x) < 0, para x  [a, b]  o sinal de f´(x) se mantém constante e f(a).f(b) < 0:  uma única
raiz em [a, b] = [-2; -1,5]
2
d
f´´ ( x)  f( x)
2
dx
f´´ ( x)  2 ( x  1)  ( x  1.6)  2 ( x  1)  ( x  1.6)  2 ( x  1)  ( x  1)  2 ( x  1.6)  ( x  1.6)  2 ( x  1.6)  ( x  1)  2 ( x  1.6)  ( x  1)

 40.88 
 36.20 
 
f´´ ( x)   31.76 
 27.56 
 23.60 
 
 19.88 
f´´(x) > 0, para x  [a, b]  concavidade voltada para cima.

Outros exemplos:

Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 24
b a
xr
a xr b

f (a)  0, f (b)  0 f (a)  0, f (b)  0


 
f ' ( x )  0 em [a, b] f ' ( x )  0 em [a, b]
f ' ' ( x )  0 f ' ' ( x )  0
 

b a

a xr xr b

f (a)  0, f (b)  0 f (a)  0, f (b)  0


 
f ' ( x )  0 em [a, b] f ' ( x )  0 em [a, b]
f ' ' ( x )  0 f ' ' ( x )  0
 

Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 25
2.1.2.2 Melhorar o valor da raiz aproximada, isto é, refiná-la até o grau de
exatidão requerido, através de métodos iterativos, que são as
seqüências de instruções que são executadas passo a passo,
algumas repetidas em ciclos (iterações).

2.1.2.2.1 Métodos Iterativos para se obter Zeros de Funções Algébricas


e Transcendentes

São métodos numéricos para determinação de raízes.

A. Método da Bisseção (ou Dicotomia) – Método de quebra

Seja f(x) uma função contínua no intervalo [a,b] e f(a).f(b) < 0. (Supor uma única raiz
no intervalo) e  = precisão.
Divide-se o intervalo [a,b] ao meio, obtém-se xo. Então tem-se dois sub-intervalos, [a
, xo ] e [xo , b] a serem considerados.
Se f(xo) = 0, então a raiz  x0  xr , caso contrário, a raiz estará no sub-intervalo onde
a f(x) tem sinais opostos nos pontos extremos, ou seja, f(a) . f(xo) < 0, por exemplo.
O novo intervalo que contém a raiz é dividido ao meio novamente e obtém-se o
ponto x1 e assim sucessivamente até que se tenha uma aproximação para a raiz com a
margem de erro desejada.

A1. Interpretação geométrica do método:

x3 = xr f(x)

a X0

X2 X1 b x

como : f (a).f (b)  0 f ( x 0 ).f (b)  0 f ( x 0 ).f ( x1 )  0 f ( x 0 ).f ( x 2 )  0


  
ab x b x  x1 x0  x2
x0  x1  0 x2  0 x3   x r , com  dado.
2 2 2 2

Zeros de Funções – Método da Bisseção


Cálculo Numérico Computacional – URI – I/2013 26
A2. Critério de Parada:
1) |a-b|<  4) Número de iterações
2) |xn – xn-1|<  5) Erro relativo
3) |f(xn)| < 

A3. Algoritmo:
Dada função f(x):
enquanto abs(a  b)   faça
(a  b )
x ;
2
se f (a) * f ( x)  0 então:

b  x ; ( x passa a ser b)
senão
a  x ; ( x passa a ser a)

fim se;
fim enquanto;

Exemplo: Aplicação do método da bisseção no cálculo da raiz da função f(x) = ex - 3x,


localizada no intervalo [0; 1], aplicando o critério de parada |a – b| < 10-5.
x
Separando em duas outras funções: f( x)  e  3x
x
g ( x)  e h ( x)  3x

g( x)

h( x)
2
f( x)

x
0 0.5 1 1.5 2

n a b xn x f(a) f(b) f(xn) | a – b | < erro


0 0,00000 1,00000 0,50000 1,00000 -0,28172 0,14872 1,00000
1 0,50000 1,00000 0,75000 0,14872 -0,28172 -0,13300 0,50000
2 0,50000 0,75000 0,62500 0,14872 -0,13300 -0,00675 0,25000
3 0,50000 0,62500 0,56250 0,14872 -0,00675 0,06755 0,12500
Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 27
4 0,56250 0,62500 0,59375 0,06755 -0,00675 0,02952 0,06250
5 0,59375 0,62500 0,60938 0,02952 -0,00675 0,01116 0,03125
6 0,60938 0,62500 0,61719 0,01116 -0,00675 0,00214 0,01563
7 0,61719 0,62500 0,62109 0,00214 -0,00675 -0,00232 0,00781
8 0,61719 0,62109 0,61914 0,00214 -0,00232 -0,00009 0,00391
9 0,61719 0,61914 0,61816 0,00214 -0,00009 0,00103 0,00195
10 0,61816 0,61914 0,61865 0,00103 -0,00009 0,00047 0,00098
11 0,61865 0,61914 0,61890 0,00047 -0,00009 0,00019 0,00049
12 0,61890 0,61914 0,61902 0,00019 -0,00009 0,00005 0,00024
13 0,61902 0,61914 0,61908 0,00005 -0,00009 -0,00002 0,00012
14 0,61902 0,61908 0,61905 0,00005 -0,00002 0,00001 0,00006
15 0,61905 0,61908 0,61906 0,00001 -0,00002 0,00000 0,00003
16 0,61905 0,61906 0,61906 0,00001 0,00000 0,00001 0,00002
17 0,61906 0,61906 0,61906 0,00001 0,00000 0,00000 0,00001
18 0,61906 0,61906 0,61906 0,00000 0,00000 0,00000 0,00000

Este resultado (0,61906) é exato com 5 casas decimais. Observar que quando os
critérios de convergência são atingidos, os valores de a, b e xn são iguais com cinco
casas decimais.

EXERCÍCIO:
Traçar o gráfico da função f(x) com o objetivo de determinar o intervalo [a,b] que
contenha a raiz da f ( x)  ex  sen( x)  2 e refine pelo método da bisseção com precisão
 <10-2 e critério de parada | xn – xn-1 |<  .

n a b xn f(a) f(b) f(xn) | xn – xn-1 |< 


0
1

Zeros de Funções
Cálculo Numérico Computacional – URI – I/2013 31
SOLUÇÃO - MATHCAD:
- Para plotar o gráfico é necessário definir a função com a sintaxe : (dois pontos)
f(x): exp(x) - sin(x) - 2
x
f( x)  e  sin ( x)  2
e em seguida usar o atalho f(x)@x para mostrar o gráfico; para formatar clicar com o
botão direito do mouse sobre o gráfico, escolher crossed e diretamente no gráfico
modificar a escala se necessário. Outros efeitos como o de zoom são bem úteis.

f( x)
3 2 1 0 1 2

bisseção ( a  b  erro)  while a  b  erro


ab
x
2
b  x if f( a)  f( x)  0
a  x otherwise
x

bisseção ( 1 1.5 0.001)  1.054

 Complementando o programa para mostrar as iterações:

Zeros de Funções – Método da Bisseção


Cálculo Numérico Computacional – URI – I/2013 32
Cálculo direto:
Sintaxe para determinar raízes no mathcad: root(f(x),x,a,b)=
root( f( x)  x 1 1.5)  1.05413

A4. Número de Iterações:


A cada iteração o intervalo é dividido ao meio, e na enésima iteração o
comprimento do intervalo será bn  an  b  a , ou seja, para um dado intervalo [a,b] são
2n
necessárias, no mínimo n iterações para se calcular a raiz com a margem de erro
desejada.
Usando como critério de parada |a-b|< , pode-se saber com antecedência o
número de iterações a serem feitas:
ba ba
   b  a  .2n n. ln 2  ln 
2n    

2 
n ba

n
 
 ln 2  ln
b a

ba
ln 
   n 
 
ln 2

A5. Convergência do Método da Bisseção:


• A convergência é garantida, a aproximação não sai do intervalo inicial, esse
intervalo é cada vez dividido por dois;
• A convergência é muito lenta: para ganhar uma casa decimal (base 10), precisa-
se de 3 a 4 passos.
• Não exige o conhecimento de derivadas;
• O método deve ser usado para diminuir o intervalo que contém a raiz.

EXERCÍCIOS:
1. Determine o intervalo onde se encontra pelo menos uma raiz da
f ( x)  (4  x).e x  4 e determine-a.
x
f( x)  ( 4  x)e  4

20

x  4.5
10
root ( f( x)  x)  3.92069
f( x)
x  0
10 5 0 5
root ( f( x)  x)  0

10

Capítulo 2: Zeros de Funções – Método da Iteração Linear


Cálculo Numérico Computacional – URI – I/2013 33
2. Traçar o gráfico da função f(x) (método gráfico) com o objetivo de determinar o
intervalo [a, b] que contenha a raiz da f ( x)  x. log x  1 e refine pelo método da
bisseção com no máximo 5 iterações.

Exercício Proposto:
Traçar o gráfico da função f(x) com o objetivo de determinar o intervalo [a,b] que
contenha pelo menos uma das raízes de f ( x)  x3  9x  3 ; Elaborar um programa no
mathcad capaz de calcular o número de iterações a serem feitas pelo método da
bisseção sendo erro < 0,001, considerando para isso dois intervalos diferentes para
encontrar a mesma raiz.

Capítulo 2: Zeros de Funções – Método da Iteração Linear


Cálculo Numérico Computacional – URI – I/2013 34
B. Métodos de ponto fixo
São métodos que começam suas iterações de uma aproximação inicial x0, como
Newton-Raphson e Iteração Linear.

B.1. Método de Newton-Raphson (ou Método das Tangentes):

Seja f(x) uma função contínua no intervalo [a,b] (que f(a).f(b) < 0), e xr o seu único
zero neste intervalo; as derivadas f (x) com [ f ( x)  0] e f (x) também devem ser
contínuas. Graficamente, temos:

O método de Newton é equivalente a substituir um pequeno arco da curva y = f(x)


por uma reta tangente, traçada a partir de um dos pontos (a ou b) da curvatura.
Neste caso, é traçado a partir de Bo[xo, f(xo)], uma reta tangente a curva y = f(x),
que intercepta o eixo x no ponto x1. Do ponto B1 traçamos outra reta tangente a curva e o
processo se repete até que se encontre xr = xn, com tolerância requerida.
Geometricamente, podemos mostrar que:
f(x0 ) , daí tem-se: f(x0 ) f(x0 )
tg()  f'(x0 )  x0  x1  => x1  x0 
x0  x1 f'(x0 ) f'(x0 )
f(x1 ) , onde: f(x1 )
tg()  f'(x1 )  x2  x1 
x1  x2 f'(x1 )
f(xn 1 ) , para n = 1, 2,..
Por indução:  xn  xn 1 
f'(xn 1 )

B.1.1. Critério de parada: | f(x) |  , ou | xn  xn 1 | 

Zeros de Funções – Método da Newton Raphson


Cálculo Numérico Computacional – URI – I/2013 35
B.1.2. Convergência do Método de Newton-Haphson e o melhor extremo:
Observe que ao partir do ponto A, o ponto x11  [a, b], então o método não
convergiria por A.
Logo, o método garante convergência desde que:
1. f’(x) e f’’(x) sejam não nulas e preservem o sinal em [a, b];
2. xo seja tal que f(x).f’’(x) > 0
O método requer o conhecimento da forma analítica de f’(x), mas sua
convergência é extraordinária.

Exemplo: Calcular novamente a raiz da função f(x) = ex - 3x localizada próxima ao valor x


= 0 pelo método iterativo de Newton-Raphson, com precisão 10-5 e critério de parada |xn -
xn-1|< erro.

n xn-1 f(xn-1) f'(xn-1) xn |xn - xn-1|< erro


1 0,00000 1,00000 -2,00000 0,50000 -----
2 0,50000 0,14872 -1,35128 0,61006 0,11006
3 0,61006 0,01036 -1,15946 0,61900 0,00894
4 0,61900 0,00007 -1,14294 0,61906 0,00006
5 0,61906 0,00000 -1,14282 0,61906 0,00000

A raiz calculada após 4 iterações é igual a 0,61906 com erro menor do que 10-5.
Comparando-se este resultado com o obtido pelo método da bisseção, observa-se
que a convergência do método da bisseção foi muito mais lenta do que a do método de
Newton-Raphson.

EXERCÍCIO:
1. Determinar a raiz real de f (x)  2x  sen( x)  4 , utilizando o método de Newton-
Raphson, com precisão  <10-3. Resp.: A raiz é 2,3542

2. Obter a raiz cúbica de 5, usando o método Newton-Raphson, sendo o erro = 10-3.


Resp.: A raiz é 1,710

3. Calcular a raiz negativa de f(x) = x3 - 5x2 + x + 3, com erro < 10-4.


Resp.: A raiz é -0.6457

4. Seja a função f(x) = sen(x) - tg(x). Deseja-se saber uma das raízes desta função,
sabendo-se que está contida no intervalo (3, 4). Todos os cálculos devem ser
realizados com 4 casas decimais com arredondamento e erro não superior a
0,001.
Resp.: A raiz é 3.141

Capítulo 2: Zeros de Funções – Método da Iteração Linear


Cálculo Numérico Computacional – URI – I/2013 36
B2. Método da Iteração Linear

Seja f(x) uma função contínua no intervalo [a, b] e seja xr uma raiz desta função,
sendo xr  (a, b), tal que f(xr) = 0.
Inicialmente determina-se um intervalo I, onde o zero de f(x) esteja isolado, em
seguida, por um artifício algébrico, pode-se transformar f(x) = 0 em duas funções que lhe
sejam equivalentes, da forma x = g(x), ou seja: y1 = x e y2 = g( x) , onde g(x) é chamada
de função de iteração.

B.2.1. Interpretação geométrica do método da iteração linear:

Busca-se a intersecção da reta x com a curva g(x), e assim o método transforma o


problema de se encontrar uma raiz da equação f(x) = 0 na busca do ponto em que x =
g(x).

xr

Sendo x0 a primeira aproximação da raiz xr, calcula-se g(x0). Faz-se então, x1 =


g(x0), x2 = g(x1), x3 = g(x2) e assim vai gera-se uma seqüência de aproximação para a raiz
pelo algoritmo:
xn  g( xn1 ) para n = 0, 1, 2, ...

B.2.2. Convergência do método

Dependendo da função g(x) escolhida, a relação de recorrência xn  g( xn1 ) pode


ou não fornecer uma sequência convergente, desta forma, o Teorema que segue pode
estabelecer condições suficientes, porém não necessárias para garantir melhor extremo.

Teorema: Seja xr um zero de uma função f(x), isolada em um intervalo I=[a,b], e


seja g(x) uma função tal que g(xr) = xr. Se:
i) g(x) e g´(x) são funções contínuas em I
ii) máx g´( x )  1
xI

Capítulo 2: Zeros de Funções – Exercícios


Cálculo Numérico Computacional – URI – I/2013 37
Logo, o método tem sucesso quando | g'(x) | < 1 em todo intervalo. O extremo
mais rápido para iniciar o método é aquele para o qual o módulo da primeira derivada é
menor.
Se |g’(a)| < |g’(b)| então x0 = a, senão x0 = b.

Observe graficamente o problema e verifique que existem funções g(x) que não
são indicadas para a escolha.

Casos de convergência: Seja f(x) = x3 - 5x + 3, as possíveis funções de iterações


( g (x)):

1. g(x)  x  3
3

g( x)
2 0 2

2. g(x)  5x  3
x 2

Capítulo 2: Zeros de Funções – Método da Iteração Linear


Cálculo Numérico Computacional – URI – I/2013 38
2 0 2
x

g( x)
5

10

x
3. g(x)  (5x  3)1 / 3

2
x

g( x)

2 0 2

4. g(x)  2 3
x 5

2 0 2
x

g( x)
5

10

B.2.3. Critério de Parada:


| xn  xn 1 |  ou | f ( x) | 

Capítulo 2: Zeros de Funções – Método da Iteração Linear


Cálculo Numérico Computacional – URI – I/2013 39
Considerações finais:
 A maior dificuldade neste método é encontrar uma função de iteração que
satisfaça à condição de convergência;
 Teste de | g'(x) | < 1 pode levar a um engano se x0 não estiver suficientemente
próximo da raiz. A velocidade de convergência dependerá de |g'(x)|: quanto menor
este valor maior será a convergência;
 Devemos observar que o teste de erro ( |xn - xn-1 | < erro ) não implica
necessariamente que | xn - xr| < erro, conforme vemos na figura abaixo:

EXERCÍCIOS:
1. Dada a função f(x) = x2 + 3x - cos(x) - 2.45, obter sua raiz contida no intervalo [0,5;
1], pelo MIL, com um erro < 10-2. R.: xr = 0.8161
2. Calcular as seguintes raízes reais das equações, com erro < 0.001, pelo MIL
a. f(x) = x 2  e3 x  3 entre [0.5, 1]
b. f(x) = x 3  cos( x ) entre [0.5, 1]
c. f(x) = e x  cos( x )  3 entre [0.5, 1]

Capítulo 2: Zeros de Funções – Método da Iteração Linear


Cálculo Numérico Computacional – URI – I/2013 40
EXERCÍCIOS PROPOSTOS:

1 Usar o método da bisseção para estimar o valor da raiz de sete? com precisão
menor que 0,01.

2 O polinômio P( x )  x 5  10 x 3  5 x , tem seus cinco zeros reais, todos no intervalo


9 21
(-1, 1).
a) Complete: x1  ( , ) , x2  ( ,0.25) , x4  (0.3, ) e x5  (0.8, ).

b) Encontre pelo respectivo método, usando   104


x1: Newton (x0 = -0.8)
x2: Bisseção [-0.75, -0.25]
x4: Iteração Linear [0.2, 0.6]

3 No cálculo da raiz de f(x) = e-x – 3x – 3, pelo método da iteração linear, fazem-se


as transformações:
a. x = g1(x) = e-x - 2x – 3
b. x = g2(x) = (e-x – 3) / 3
c. x = g3(x) = - ln(3+3x)

Indique, sem fazer iterações, que função ou funções irão convergir para a raiz.

4 Seja a equação x  1 d x. ln(x)  0 , com  = 0,0001, complete a seguinte tabela:


f( x)  ln ( x)
dx
2
BISSEÇÃO IT. LINEAR NEWTON
Dados iniciais
1
xr
f(xr)
f( x)
0 2 4 Erro em x
Núm.
1
iterações

Compare os métodos considerando a garantia e rapidez de convergência em cada


caso.

5 Calcule uma aproximação para a raiz cúbica de 25 com precisão menor que 10-4.
6 Dada a função f(x) = x.cos(x) – 2x2 + 3x – 1, em [0,2; 0,3] e [1,2;1,3], mostre que a
função tem pelo menos um zero nos intervalos [a;b] dados e calcule pelo menos
uma raiz, escolha o método e considere o erro menor que 0,001.

Capítulo 2: Zeros de Funções – Exercícios


Cálculo Numérico Computacional – URI – I/2013 41
Observações: Todos os cálculos devem ser realizados com no mínimo 5 casas decimais
com arredondamento.

RESUMO:

MÉTODOS DE REFINAMENTO:
Para todos os métodos: f(a).f(b)< 0 (1), para que x r  (a , b )

1. Bisseção: x n  a  b
2
N a B Xn f(a) f(b) f(Xn) |f(Xn)| < 
0

2. Newton-Raphson: x n  x n 1  f (x n 1 ) Escolha do x0: f ( x0 ). f ``( x0 )  0


f | (x n 1 )

N Xn-1 f(Xn-1) f ´(Xn-1) Xn


|f(xn)| < 
1

3. Iteração linear: xn  g ( xn1 ) para n = 0, 1, 2, ... Convergência: | g'(x) | < 1

N Xn f(xn)
|f(xn)| < 
0

Capítulo 2: Resumo
Cálculo Numérico Computacional – URI – I/2013 42
3. SELA – SISTEMAS DE EQUAÇÕES LINEARES ALGÉBRICAS

Considere o sistema linear A.x = B, de equações com n equações e n incógnitas,


escrito na usualmente na forma:
a11 x1  a12 x 2  ...  a1n x n  b1

a21 x1  a22 x 2  ...  a2n x n  b2

...
an11 x1  an2 x 2  ...  ann x n  bn

Usando notação matricial, o sistema linear pode ser representado por AX = B.

 a11 a12 ... a1n   x1   b1 


    
 a21 a21 ... a2n   x 2   b2 
 ... . 
... ... ...   ...   ... 
    
a an2 ... ann   x n   bn 
 n1

onde
A = (aij): coeficientes; 1 ≤ i ≤ n, 1 ≤ j ≤ n ou i,j = 1,...,n
X = (xj): incógnitas; j = 1, 2, ...,n
B = (bi ): constantes; i = 1, 2,... ,n

Ou ainda:
n

 a .x
j 1
ij i  bi ; i = 1,2 , .., n

A resolução de um sistema linear consiste em calcular os valores de xj, j = 1, 2, ...,


n, caso eles existam, que satisfaçam as n equações simultaneamente, e a garantia de
solução única é que det(A) ≠ 0.

3.1 Classificação Quanto ao Número de Soluções


Um sistema linear pode ser classificado quanto ao número de soluções em:
· Compatível: existe solução
- determinado - o sistema linear tem solução única (determinante diferente de
zero)
- indeterminado - o sistema linear admite infinitas soluções
· Incompatível: o sistema linear não admite solução.

Quando todos os termos independentes forem nulos, isto é, se bi = 0, i = 0, 1, ...,


n, o sistema é dito homogêneo. Todo sistema homogêneo é compatível, pois admitirá
pelo menos a solução trivial (xj = 0, j = 0, 1, 2, ..., n).

Capítulo 3: SELA – Notação e classificação


Cálculo Numérico Computacional – URI – I/2013 43
3.2. Métodos Diretos
São métodos que permitem obter a solução do sistema realizando-se um número
finito de operações aritméticas. Assim, o esforço computacional necessário para se obter
uma solução do sistema é perfeitamente previsível. Esta solução seria exata se não fosse
a presença de erros de arredondamento. Dentre os métodos diretos mais comuns estão:

3.2.1. Método de Eliminação de Gauss:


Consiste na transformação da matriz expandida (matriz de coeficientes acrescida
da coluna de termos independentes) em matriz triangular, superior ou inferior, seguida de
um processo de substituições sucessivas para explicitar a solução do sistema. Esta
transformação em matriz triangular (ou escalonamento) é obtida através da aplicação
sucessiva de operações elementares sobre linhas (ou sobre colunas) na matriz
expandida, buscando a eliminação seletiva de elementos não nulos para torná-la uma
matriz triangular.
No algoritmo do método de eliminação de Gauss é necessário que aii≠0, esse
elemento é chamado de pivô.

Considere o sistema:

A ( 0) X  B(0) (sistema original)


a11 a12 ... a1n  b 1   x1 
a b  x 
a ... a2n  ;
A   21 22 B   2
; X   2
 .. .. ..   ...   .. 
     
an1 an2 .. ann  b n  x n 

1º) Montamos inicialmente a matriz ampliada (ou expandida): A ( 0 ) | B( 0 ) :

a 11( 0 ) a 12 ( 0 ) ... a 1n ( 0 ) a 1,n1 


(0)

 (0) (0) (0) (0) 


a 21 a 22 ... a 2n a 2,n1 
 .. .. .. .. 
 (0) (0) (0) (0) 
a n1 a n2 .. a nn a n,n1 

2º) Triangularização:

Fase 1: ( a11  0 ) elemento pivô: a11

Objetivo: eliminar a incógnita x1 da 2ª, 3ª, ..., nª equação.

Capítulo 3: SELA – Métodos Diretos


Cálculo Numérico Computacional – URI – I/2013 44
a (210 )
 Subtrair da 2ª equação a 1ª multiplicada por m 21  (0)
, ou seja:
a11
L 2  L 2  m21L1
a (310 )
 Subtrair da 3ª equação a 1ª multiplicada por m 31  (0)
, ou seja:
a11
L 3  L 3  m31L1

a (n01)
 Subtrair da nª equação a 1ª multiplicada por mn1  ( 0 ) , ou seja:
a11
Ln  Ln  mn1L1

Assim, obtemos a matriz ampliada A (1) | B (1) :

a11(1) a12(1) ... a1n(1) a1,n 1 


(1)

 (1) (1) (1) 


 0 a22 ... a2n a2,n 1 
 .. .. .. .. 
 (1) (1) (1) 
 0 an2 .. ann an,n 1 

Fase 2: ( a 22  0 ) elemento pivô: a22

Objetivo: eliminar a incógnita x 2 da 3ª, 4ª, ..., nª equação.


(1)
 Subtrair da 3ª equação a 2ª multiplicada por m32  a32 : L3  L3  m32L2
(1)
a22
(1)
 Subtrair da 4ª equação a 2ª multiplicada por m  a 42 ;
42 (1)
a 22
(1)
 Subtrair da nª equação a 2ª multiplicada por m  an2 ;
n2 (1)
a22

Então, obtemos a matriz ampliada A ( 2) | B( 2) :

a11( 2 ) a12( 2 ) ... a1n( 2 ) a1,n 1 


(2)

 ( 2) (2) ( 2) 
 0 a22 ... a2n a2,n 1 
 .. .. .. .. .. 
 (2) (2) 
 0 0 .. ann an,n 1 

Ao final da fase n-1, teremos: A (n1) | B(n1) :

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 45
a11(n 1) a12(n 1) ... a1n(n 1) a1,n 1 
( n 1)

 ( n 1) ( n 1) ( n 1) 


 0 a22 ... a2n a2,n 1 
 .. .. .. .. .. 
 ( n 1) ( n 1) 
 0 0 .. ann an,n 1 

OBS: caso o elemento aii = 0, fazer troca de linhas ou colunas.


 Uma matriz triangular superior é aquela em que os elementos abaixo da
diagonal são zero:
 uma matriz triangular inferior é aquela em que os elementos acima da diagonal
são zero:
3º). Processo de retrosubstituição sucessiva:
De forma que o sistema A (n1) .X  B(n1) seja triangular superior, cuja solução
pode ser facilmente obtida. Assim a solução do sistema A (n1) .X  B(n1) é também
solução do sistema original, já que ambos são equivalentes.
a 11x 1  a 12 x 2  ...  a 1n x n  b 1

a 22 x 2  ...  a 2n x n  b 2

...
a nn x n  b n

Para ordem n, tem-se:

a11(n 1) a12(n 1) ... a1n(n 1) a1,n 1 


( n 1)

 ( n 1) ( n 1) ( n 1) 


 0 a22 ... a2n a2,n 1 
 .. .. .. .. .. 
 ( n 1) ( n 1) 
 0 0 .. ann an,n 1 

a n,n1
xn 
a n,n
Para: i = n-1, n-2, ..., 1, tem-se:
n
a i,n1   a ij .x j
ji1
xi 
a ii

Exemplo: Resolver o seguinte sistema de equação:

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 46
6 2  1  x 1   7 
2 4 1 . x    7 
   2  
3 2 8   x 3  13

1º). Geração da matriz expandida:


2º). Triangularização:
- correspondente a primeira coluna (k = 1):

- correspondente a segunda coluna (k = 2):

3º). Processo de retrosubstituição sucessiva:

Exercício:
1. Elabore um algoritmo para resolver um sistema pelo Método de Gauss.

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 47
Pode-se também associar o método de eliminação de Gauss a um processo de
pivotamento, parcial ou total, que promove uma troca seletiva de linhas (ou colunas),
visando tomar pivôs (elementos das diagonais principais) com maior módulo possível, e
assim procurando evitar a presença de pivôs nulos.

Exemplo 1: Resolver o seguinte sistema de equações lineares pelo método de


eliminação de Gauss sem pivotamento adotando operações aritméticas com 4 (quatro)
dígitos significativos e arredondamento ponderado.

 0,421x 1  0,784 x 2  0,279 x 3  0



0,448 x 1  0,832 x 2  0,193 x 3  1
0,421x  0,784 x  0,207 x  0
 1 2 3

Na forma matricial tem-se


 0,421 0,784 0,279   x 1  0
 0,448 0,832 0,193   x 2   1

 0,421 0,784  0,207   x 3  0

1º). Geração da matriz expandida:


 0,421 0,784 0,279  0
 0,448 0,832 0,193  1
 
 0,421 0,784  0,207  0

2º). Triangularização correspondente a primeira coluna (k = 1):


(  0,421) 0,784 0,279  0
 0,448 0,832 0,193  1 L2  L2  (0,448 /(  0,421)).L1  L2  L2  1,064L1

 0,421 0,784  0,207  0 L3  L3  (0,421/(  0,421)).L1  L3  L3  L1

 0,421 0,784 0,279  0


 0 1,666 0,4899  1

 0 1,568 0,0720  0

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 48
3º). Triangularização correspondente a segunda coluna (k = 2):
 0,421 0,784 0,279  0
 0 (1,666 ) 0,4899  1

 0 1,568 0,0720  0 L3  L3  (1,568 /1,666 )L2  L3  L3  0,9412L2

 0,421 0,784 0,279  0 


 0 1,666 0,4899  1 

 0 0  0,3891  -0,9412 

4º). Processo de retrosubstituição sucessiva:

Após a triangularização analisa-se o sistema de equações equivalente, gerado a


partir do processo de eliminação empregado:
 0.421x 1  0.784 x 2  0,279 x 3  0

0 x 1  1,666 x 2  0,4899 x 3  1
0 x  0 x  0,3891x  - 0,9412
 1 2 3

Logo:
x3 = -0,9412/(-0,3891) x3 = 2,419
x2 = ( 1 – 0,4899x3 ) / 1,666 x2 = -0,1110
x1 = ( - 0,784x2 – 0,279 x3 ) /(-0,421) x1 = 1,396

Portanto, a solução do sistema correspondente ao exemplo 2 é:


S = { 1,396; -0,1110; 2,419}

Se os resíduos ( r = | b - A x | ) de cada uma das equações do sistema linear


proposto forem avaliados, normalmente são obtidos valores residuais não nulos das
equações, decorrentes de erros de arredondamento.

Por ex:
r1  | -0,421x1  0,784 x 2  0,279 x3  0 |  0,0002
r2  | 0,448 x1  0,832x 2  0,193 x3  1 |  0,0000
r3 = | 0,421x1  0,784 x 2  0,207 x3  0 |  0,0000

Neste caso, também pode ser calculado o erro exato, dado por

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 49
erro = | Xexato - Xaproximado |. A solução exata foi encontrada através da calculadora gráfica
CFX-9850G:
Xexato1 = 1,396286256
Xexato2 = - 0,111080218
Xexato3 = 2,419080304

Avaliando o erro utilizando a precisão de 4 dígitos significativos, que foi utilizada


até aqui em todas as operações. temos:
Xexato1 = 1,396
Xexato2 = - 0,1111
Xexato3 = 2,419

E o erro exato obtido foi:


Erro1 = | 1,396 – 1,369 | = 0,000
Erro2 = | -0,1111 - (-0,1110) | = 0,0001
Erro3 = | 2,419 – 2,419 | = 0,000

Exemplo 2: Resolver o seguinte sistema de equações lineares pelo método de


eliminação de Gauss com pivotamento parcial utilizando operações aritméticas com 4
(quatro) dígitos significativos e arredondamento ponderado.
 0,421x 1  0,784 x 2  0,279 x 3  0

 0,448 x 1  0,832 x 2  0,193 x 3  1
 0,421x  0,784 x  0,207 x  0
 1 2 3

Na forma matricial tem-se


 0,421 0,784 0,279   x 1  0
 0,448 0,832 0,193   x   1
  2   
 0,421 0,784  0,207   x 3  0

1º). Geração da matriz expandida:


 0,421 0,784 0,279  0
 0,448 0,832 0,193  1

 0,421 0,784  0,207  0

2º). Pivotação parcial, correspondente ao primeiro pivô (k=1):


(i). Busca do maior elemento em módulo da coluna k = 1:
Capítulo 3: SELA: Métodos diretos
Cálculo Numérico Computacional – URI – II/2013 50
 0,421 0,784 0,279  0
i = 2 (0,448 ) 0,832 0,193  1

 0,421 0,784  0,207  0
(maior módulo da coluna k=1 está na linha i = 2).

(ii). troca de linhas:


 0,421 0,784 0,279  0 L1  L2
 0,448  0,832 0,193  1 L  L (Troca da linha L1 com L2 e vice-versa)
  2 1

 0,421 0,784  0,207  0

(iii). Matriz pivotada:


(0.448 ) 0.832 0.193  1
 0.421 0.784 0.279  0

 0.421 0.784  0.207  0

3º). Processo de triangularização, correspondente ao primeiro pivô (k=1):


(0,448) 0,832 0,193  1
 0,421 0,784 0,279  0 L  L  (  0,421/0,448)L  L2  L2  0,9397L1
  2 2 1

 0,421 0,784  0,207  0 L 3  L 3  (0,421/0,448)L 1  L3  L3  0,9397L1

(0,448 ) 0.832 0,193  1 


 0 1,566 0,4604  0,9397 

 0 0,0022  0,3884  -0,9397 

Obs.: Note que as operações elementares aplicadas acima eliminam os elementos


abaixo da diagonal principal na primeira coluna. A operação de eliminação acontece
sempre que se subtrai de cada linha, a linha do pivô multiplicada pelo elemento a ser
eliminado divida pelo elemento pivô.

4º). Pivotação Parcial, correspondente ao segundo pivô (k=2):

(i). Busca parcial do maior módulo da coluna k = 2 (busca a partir da segunda


linha e da segunda coluna, pois a primeira coluna já foi anulada)
0,448 0,832 0,193  1  (maior módulo da coluna k=2 já está na linha i =
 0 ( 1,566 ) 0,4604  0,9397 
 2)
 0 0,0022  0,3884  - 0,9397

(ii). Não é necessário a troca de linhas, pois a matriz já está pivotada.

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 51
5º). Processo de triangularização, correspondente ao segundo pivô (k=2):
0,448 0,832 0,193  1 
 0 (1,566) 0,4604  0,9397 

 0 0,0022  0,3884  - 0,9397 L3  L3  (0,0022 /1,566)L2  L3  0,001405L2

0,448 0,832 0,193  1 


 0 1,566 0,4604  0,9397 

 0 0  0,3890  - 0,9410

6º). Processo de retrosubstituição sucessiva:


Primeiramente analisa-se o sistema de equações equivalente, gerado a partir do
processo de eliminação empregado:

0,448x1  0,832x 2  0,193x 3  1

0x1  1,566x 2  0,4604x 3  0,9397
0x  0x  0,3890x  - 0,9410


1 2 3

Logo:
x3 = -0,9410/ (-0,3890) x3 = 2,419
x2 = ( 0,9397 – 0,4606x3 ) / 1,566 x2 = -0,1113
x1 = ( 1 – 0,832 x2 – 0,193 x3 ) /0,448 x1 = 1,397

Portanto a solução do sistema dado no exemplo 3 é:


S = { 1,397; -0,1113; 2,419}

Os resíduos ( r = | b - A x | ):
r1  | -0,421x 1  0,784 x 2  0,279 x 3  0 |  0,0005
r2 = | 0,448 x 1  0,832x 2  0,193 x 3  1 | = 0,0002
r3 = | 0,421x 1  0,784 x 2  0,207 x 3  0 | = 0,0001

Neste caso, também pode ser calculado o erro exato, dado por: erro = | X exato -
Xaprox.|, através da solução exata encontrada na calculadora:
Xexato1 = 1,39628656...
Xexato2 = - 0,11108021803
Xexato3 = 2,4190803038

Utilizando a precisão de 4 dígitos significativos, temos:


Xexato1 = 1,396
Xexato2 = - 0,1111
Xexato3 = 2,419

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 52
E o erro exato obtido foi:
Erro1= | 1,396 – 1,397 | = 0,001
Erro2= | -0,1111 - (-0,1113) | = 0,0002
Erro3= | 2,419 – 2,419 | = 0,000

Obs.: Note que com o processo de pivotamento parcial:


 Eliminam-se os possíveis pivôs nulos, caso a matriz de coeficientes seja não
singular (determinante diferente de zero);
 Também consegue-se uma redução nos efeitos de erros de arredondamento
(diminuição da perda de significação), destacada na avaliação do erro exato.
I
Alternativamente, pode-se implementar o método de eliminação de Gauss usando
a pivotação total, que é computacionalmente mais eficiente, induzindo um menor erro de
arredondamento acumulado, de forma a se obter soluções computacionalmente mais
estáveis em relação às perturbações introduzidas por erros de arredondamento. No
pivotamento total, ou completo, procura-se o elemento de maior módulo dentre todos
os elementos disponíveis na matriz de coeficientes, promovendo trocas de linhas e/ou
colunas conforme a necessidade. Para avaliar as consequências destas trocas de linhas
e colunas deve-se interpretar os elementos da matriz expandida em termos das
equações do sistema, assim:
Troca de linhas implica apenas em trocar a ordem na apresentação das
equações;
Troca de colunas implica na troca da ordem de apresentação das variáveis
(incógnitas) do sistema.

Exercício: Resolver o seguinte sistema de equações lineares, usando a pivotação total


e operações aritméticas com 4 (quatro) dígitos significativos e arredondamento
ponderado.
 0,421x1  0,784 x 2  0,279 x 3  0

 0,448 x1  0,832 x 2  0,193 x 3  1
 0,421x  0,784 x  0,207 x  0
 1 2 3

0,448 x1  0,832 x 2  0,193 x 3  1 0,832 x 2  0,448 x1  0,193 x 3  1


 
 0,421x1  0,784 x 2  0,279 x 3  0 0,784 x 2  0,421x1  0,279 x 3  0
 0,421x  0,784 x  0,207 x  0  0,784 x  0,421x  0,207 x  0
 1 2 3  2 1 3

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 53
Considerações:
 Pelos resíduos encontrados nos exemplos acima, nota-se que o resíduo nem
sempre é um bom elemento para certificarmos a exatidão da solução, pois
embora encontremos resíduos menores no método sem o uso do pivotamento,
comparativamente aos métodos que se utilizaram de pivotamento parcial e total, a
solução do sistema normalmente é mais exata nos métodos com pivotação.
 Nas operações elementares sobre linhas aplicadas no método de Gauss, aparece
uma operação de divisão pelo pivô. Sabemos que na maioria das operações de
divisão são gerados erros de arredondamentos, então ao longo do processo de
eliminações sucessivas, estes erros de arredondamento vão se acumulando, pois
os resultados obtidos em um estágio do processo de eliminação serão usadas no
estágio seguinte.

Programa Elaborado no MathCad


1) ELIMINAÇÃO DE GAUSS SEM PIVOTAMENTO:

ORIGIN 1

4 1 1 9 
A   2 5 1 15 
 
 4 2 8 32 

n  3

T  G  A
for k  1  n  1
for i  k  1  n
A
i k
m
A
k k
for j  k  ( n  1)
G A  m A
i j i j k ,ij
AG
G

4 1 1 9 

T  0 4.5 0.5 10.5 
 
 0 0 6.889 20.667 

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 54
T
n  n 1
X  x 
n T
n n T
X  (1 2 3)
for i  ( n  1)  ( n  2)  1
n
T
i  n 1
  Ti jxj
j  i 1
x 
i T
i i
x

3.1.2. Método de Gauss-Jordan:


Consiste na transformação da matriz expandida em matriz diagonal (normalizada
com coeficientes unitários), que é equivalente a matriz identidade. Esta transformação é
obtida através da aplicação sucessiva de operações elementares sobre linhas (ou sobre
colunas), buscando a eliminação seletiva dos elementos não nulos externos a diagonal
principal. Também pode ser associado a um processo de pivotamento, parcial ou total.

Exemplo 1: Resolver o seguinte sistema de equações lineares usando o método de


Gauss-Jordan com pivotamento parcial:
3 x 1  1,5 x 2  4,75 x 3  8

4 x 1  2 x 2  3 x 3  7
2x  5 x  3 x  12
 1 2 3

OBS: operações aritméticas com 4 (quatro) dígitos significativos e arredondamento


ponderado.

Na forma matricial tem-se:


3 1,5 4,75  x 1   8 
4 2 3   x 2    7 

2 5 3   x 3   12

1º). Geração da matriz expandida:


3 1,5 4,75  8 
4 2 3  7 

2 5 3  -12

2º). Pivotação parcial, correspondente ao primeiro pivô (k = 1):


(i). Busca do maior módulo da coluna k = 1
k=1

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 55
3 1,5 4,75  8  (o elemento de maior módulo está na linha i = 2).
i = 2 4 2 3  7 

 2 5 3  -12

(ii). troca de linhas:


 3 1,5 4,75  8  L1  L2
4 2 3  7  L 2  L1 (Troca da linha L1 com a linha L2 e vice-versa)

 2 5 3  -12

(iii). Matriz pivotada:


( 4) 2 3  7 
 3 1,5 4,75  8 
 
 2 5 3  -12

Obs.: até aqui o processo é idêntico a eliminação de Gauss.

3º). Processo de normalização do primeiro pivô (k=1):


( 4) 2 3  7  L1  L1 / 4
 3 1,5 4,75  8 
 
 2 5 3  -12

1 0,5 0,75  1.75


3 1,5 4,75  8 
 
2 5 3  - 12 

4º). Processo de diagonalização, correspondente ao primeiro pivô (k = 1):


1 0,5 0,75  1,75
3 1,5 4,75  8  L  L  3L
  2 2 1

2 5 3  - 12  L3  L3  2L1

1 0,5 0,75  1,75 


0 0 2,5  2,75 

0 4 1.5  -15,5

5º). Pivotação Parcial, correspondente ao segundo pivô (k=2):


(i). Busca parcial do maior módulo da coluna k = 2 (busca a partir da segunda
linha e segunda coluna, pois a primeira coluna já foi anulada)
k=2
1 0,5 0,75  1,75 
0 0 2,5  2,75  L2  L3
 (elemento de maior módulo da coluna k=2 está
0 ( 4) 1,5  - 15,5 L3  L2
na linha i = 3).

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 56
(ii). troca de linhas:
1 0,5 0,75  1,75 
0 ( 4) 1,5  -15,5 (Troca da linha L2 com a linha L3 e vice-versa)
 
0 0 2,5  2,75 

6º). Processo de normalização do segundo pivô (k=2):


1 0,5 0,75  1,75 
0 4 1,5  -15,5 L2  L2 / 4

0 0 2,5  2,75 

1 0,5 0,75  1,75 


0 1 0,375  -3,875 
 
0 0 2,5  2,75 

7º). Processo de diagonalização, correspondente ao segundo pivô (k = 2):


1 0,5 0,75  1,75  L1  L1  0.5 L 2
0 1 0,375  - 3,875 
 
0 0 2,5  2,75  L3  L3  0 L 2

1 0 0,5625  3,6875 
0 1 0,375  -3,875 
 
0 0 2,5  2,75 

9º). Processo de normalização do terceiro pivô (k = 3):


1 0 0,5625  3,6875 
0 1 0,375  - 3,875 
 
0 0 2,5  2,75  L3  L3 / 2.5

1 0 0,5625  3,688 
0 1 0,375  - 3,875 
 
0 0 1  1,1 

10º). Processo de diagonalização, correspondente ao terceiro pivô (k = 3):


 1 0 0,5625  3,688  L1  L1  0.5625L3
0 1 0,375  -3,875 L  L  0.375L
  2 2 3
0 0 1  1,1 

1 0 0  3,069 
0 1 0  -4,288 
 
0 0 1  1,1 

Analisando o sistema de equações equivalente, gerado a partir do processo de


eliminações sucessivas, tem-se o seguinte sistema:
x 1  0x 2  0x 3  3,069

0x 1  x 2  0x 3  4,288
0x  0x  x  1,1
 1 2 3

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 57
Obs.: Note que cada equação representa explicitamente uma incógnita, ou seja, o vetor b
de termos independentes modificado guarda a própria solução do sistema. Assim,
X3 = 3.069
x2 = - 4.288
x1 = 1.100

Logo: S = {3,069;- 4,288;1,100}

Exercícios:
1. Elabore um algoritmo para resolver um sistema de equações lineares pelo método
de Gauss-Jordan.

Utilizando MathCad:
O comando rref resulta a forma final de Gauss-Jordan

 8 4 2 1 77705 
  1 0 0 0 14.08333 
 
A  
64 16 4 1 79086 
212.75
rref ( A )   
0 1 0 0
 125 25 5 1 79603 
 216  0 0 1 0 1572.66667 
 36 6 1 80117  0 
 0 0 1 75298 

3.1.3. Método LU – Decomposição

Considerando o sistema linear AX = B, o processo de fatoração LU consiste na


decomposição da matriz A num produto de duas matrizes triangulares e a seguir,
resolver os dois sistemas triangulares que conduzirão à solução do sistema original
(Utilizando a idéia básica da eliminação de Gauss).

A vantagem de utilizar o processo de fatoração é que pode-se resolver qualquer


sistema linear que tenha A como matriz dos coeficientes. Se o vetor B for alterado, a
resolução do novo sistema será quase que imediata. A fatoração LU é um dos
processos de fatoração mais utilizados.

 LY  B
AX  B  LUX
 B
Y UX  Y
L = Matriz triangular inferior com diagonal unitária
U = Matriz triangular superior.

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 58
Obtenção da Matriz LU:
Considere o sistema:
A( 0) X  B( 0) (sistema original)
a 11 a 12 ... a 1n 
 b1   x1 
a a 22 ... a 2n  b  x 
A   21 ; B   2 ; X   2
 .. .. ..   ...   .. 
     
a n1 a n2 .. a nn  bn  x n 

Sendo A uma matriz de ordem 3:


Fase 1:

a 11(1) a 12
(1)
a 13   1
(1)
0 0 a 11
(0)
a 12
(0)
a 13 
(0)

 (1)   (0) (0) 


a 23    m 21 1 0.a 21
(1) (0)
 0 a 22 a 22 a 23 
 0 a 32
(1)
a 33   m 31 0 1 a 31
(1) (0)
a 32
(0)
a 33 
(0)

Fase 2:
a 11( 2 ) a 12
(2)
a 13  1
(2)
0 0 a 11
(1)
a 12
(1)
a 13 
(1)

 ( 2)    (1) 
a 23   0 0. 0
(2) (1)
 0 a 22 1 a 22 a 23 
 0 0
(2) 

a 33  0  m 32 1  0 a 32
(1)
a 33 
(1)

0 0 a11 a13  a11 a12 a13 


( 2) ( 2) (2)
 1 a12
Logo: m   (2) 
a23   a21 a22 a23 
(2)
 21 1 0. 0 a22
m31 m32 1  0 0 a33  a31 a32 a33 
(2)

L * U = A
Exemplo 1: Resolver o sistema linear pelo método da fatoração LU:

6 2  1  x 1   7 
    
1) 2 4 1 . x 2  7
    
3 2 8   x 3  13

X1= 1
X2= 1
X3= 1

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 59
Exercício:
Resolver os sistemas lineares pelo método da fatoração LU:

 2x  1y  1z  3

 x  3y  2z  1
 x  2y  4z  5

Capítulo 3: SELA: Métodos diretos


Cálculo Numérico Computacional – URI – II/2013 60
3.2. MÉTODOS ITERATIVOS
Os sistemas lineares de médio e grande porte são em geral esparsos, ou seja,
quando a matriz A dos coeficientes possui uma grande porcentagem de elementos nulos.
A resolução desses sistemas pelo método de Gauss não é aconselhável, pois o método
não preserva a esparsidade (muitos elementos nulos podem se tornar não nulos).
Existem métodos que usam apenas os elementos da matriz A original: estes
métodos são algoritmos simples para converter qualquer vetor x em outro vetor x, que
depende de x, A, b, preservando a esparsidade da matriz A e apresentam uma vantagem
sobre o método de Gauss que é de apresentar uma relativa insensibilidade ao
crescimento de erros de arredondamento. Esses métodos pertencem à classe dos
métodos iterativos para a resolução de sistema linear, como Gauss-Jacobi e Gauss-
Seidel.

3.2.1. MÉTODO ITERATIVO GAUSS-JACOBI


Cada coordenada do vetor correspondente à nova aproximação é calculada a
partir da respectiva equação do sistema, utilizando-se as demais coordenadas do vetor
aproximação da iteração anterior.

Considere o sistema linear:

a11x1  a12x 2  a13 x 3  ............a1n xn  b1



a21x1  a22x 2  a23 x 3  ............a2n xn  b2

..................................................................
..................................................................

an1x1  an2 x 2  an3 x3  ............annxn  bn

Supondo aii  0, i  1,2,..., n , isola-se o vetor x mediante a separação pela


diagonal da matriz dos coeficientes.
1
x 1(k 1)  (b1  a12 x (2k )  a13 x (3k )  .......... a1n x (nk ) )
a11
1
x (2k 1)  (b 2  a 21x 1(k )  a 23 x (3k )  .......... a 2n x (nk ) )
a 22

1
x (nk 1)  (b n  a n1x 1(k )  a n2 x (2k )  .......... a nn1x (nk)1 )
a nn

ou
Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 61
n
1
x (ik 1)  (b i   aij x (jk ) )  i = 1,2,...,n
a ii j1
j i

(1)

Para se resolver A.x = B por Jacobi, toma-se uma solução inicial


 
x o  x1o , x o2 ,...,x no T, isola-se a i-ésima incógnita xi na i-ésima equação e aplica-se

x 
k 
k 0 para se tentar obter a seqüência convergente.

CRITÉRIO DE PARADA:
O processo iterativo é repetido até que o vetor x (k+1) esteja suficientemente
próximo do vetor x(k).
Então, veja quatro testes dentre os critérios mais comuns:

(i). Max x (ik 1)  x (ik )  
1in
  i = 1,2,3,...,n

Corresponde à máxima diferença absoluta entre valores novos e antigos de todas


as variáveis.
 (k 1)  x (k ) 
(ii). Max  x i i
  i = 1,2,3,...,n
( k 1
1in
 x i) 

Corresponde à máxima diferença relativa entre valores novos e antigos de todas


as variáveis.
(iii). Computacionalmente também é usado como teste de parada um número máximo
de iterações.

(iv). Max R (ik 1)  
1in
  i = 1,2,3,...,n

Corresponde ao maior resíduo dentre todas as equações, onde


n
R ki 1  b i   a ij x kj 1
j 1

Exemplo 1: Resolver o seguinte sistema pelo método de Jacobi.


3x 1  x 2  x 3  1

 x1  3x 2  x 3  5
2x  2x  4x  4
 1 2 3

Montando as equações evolutivas para as variáveis do sistema tem-se:


x 1k +1  (1  x k2  x k3 )/3
 k +1
x 2 = (5  x 1  x 3 )/3
k k

 k +1
x 3 = (4  2x 1  2x 2 )/4
k k

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 62
Valor inicial: ( x 10 , x 02 , x 03 )  (0,901;0,901;0,704 )

xi\k 0 1 2 3 4 5 6
xk
1
0,901
x2k 0,901
xk
3
0,704

Pode-se notar que a seqüência evolutiva obtida para as variáveis xik está

convergindo para a solução S, que no caso é dada por S = {1,1,1}.


Neste ponto é necessário estabelecer um critério de parada que determine o quão
próxima da solução exata está a seqüência convergente xik .

 
Pelo 1º critério: Max x (ik 1)  x (ik )   , temos:
1in

Portanto, neste exemplo, o critério alcançado é Max | x ki 1  x ki |  .


Obs.: Note que, neste exemplo, o processo iterativo é do tipo oscilatório, onde as
variáveis aumentam e diminuem alternativamente. Este efeito prejudica a convergência,
tornando o processo lento.

Condições Suficientes para a Convergência do Método de Gauss-Jacobi:

Teorema: Seja o sistema linear Ax  b e seja:


 n 
 
  a kj 
 j1 
k   
jk

a kk
Se   max  k  1 , então o método G-J gera uma seqüência x
k 1,n
  convergente para a
(k )

(0)
solução do sistema dado, independentemente da escolha da aproximação inicial x .

Observe que esta é uma condição suficiente, se for satisfeita o método converge,
entretanto se não for satisfeita nada se pode afirmar.

Exemplo 2: Seja a matriz do exemplo dado anteriormente:


(2  1)
1   0,3  1
10 2 1  10
(1  1)
A   1 5 1  2   0,4  1
5
 2 3 10 ( 2  3)
3   0,2  1
10
Tem-se a convergência garantida para qualquer vetor inicial.

Exemplo 3: Seja o sistema de equações lineares:

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 63
1
x1  x 2  3 1   1
1
x1  3 x 2  3 1
2 
3

As condições de convergência do teorema não são satisfeitas, entretanto o


Método de Gauss-Jacobi gera uma seqüência convergente para a solução exata
x 32 T

3 . Se as condições de suficiência não são satisfeitas, não significa que o
2
método não possa convergir.

Exemplo 3:
Considere o sistema linear:
(3  1)
x 1  3x 2  x 3  2 1   4 1
1 3 1 1
5 x 1  2x 2  2x 3  3 ( 5  2)
A  5 2 2 2   3,5  1
0x 1  6x 2  8x 3  6 0 6 8
2
(0  6 )
3   0,75  1
8
As condições do teorema não são satisfeitas. Uma solução possível é permutar as
equações. Seja no exemplo permutar a primeira equação com a segunda equação:
(2  2)
1   0,8  1
5 2 2 5
(1  1)
A  1 3 1 2   0,66  1
3
0 6 8 (0  6 )
3   0,75  1
8

As condições passam a ser satisfeitas e a convergência é garantida para qualquer


vetor inicial. Este tipo de procedimento nem sempre é possível.

Exercício: Resolver o sistema de equações lineares, pelo Método de Gauss-Jacobi com


solução inicial x ( o )  0,7  1,6 0,6T e tolerância   0,05 .

10 x1  2x 2  x3  7

x1  5x 2  x3  8
2x  3x  10 x  6
 1 2 3

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 64
3.2.2. MÉTODO ITERATIVO GAUSS-SEIDEL

Cada coordenada do vetor correspondente à nova aproximação é calculada a


partir da respectiva equação do sistema, utilizando-se as coordenadas do vetor
aproximação da iteração anterior, quando essas ainda não foram calculadas na iteração
corrente, e as coordenadas do vetor aproximação da iteração corrente, no caso contrário,
ou seja, o processo iterativo consiste em: partindo-se de uma aproximação inicial
(arbitrária) x  ( x 1 , x 2 ,..., x n ) , obter-se aproximações x(1) , x(2) , . . . x(n), através
(0) (0) (0) (0)

das relações recursivas dadas por:

x 1(k 1) 
1
a 11

b 1  a 12 x (2k )  a 13 x (3k )  ......  a 1n x (nk )
x (2k 1) 
1
a 22

b 2  a 21 x 1(k 1)  a 13 x (3k )  ......  a 1n x (nk ) 
x (3k 1) 
1
a 33

b 3  a 31 x 1(k 1)  a 32 x (2k 1)  ......  a 1n x (nk ) 
................................................................................
x (nk 1) 
1
a 11

b n  a n1 x 1(k 1)  a n2 x (2k 1)  ......  a n,n 1 x (nk11) 

i1 n
x k 1
 (bi   aij x k 1
j   aij x kj ) / aii  i = 1,2,...,n (2)
j1 ji1
ji ji

A operacionalização é semelhante à do método de Jacobi, porém, utiliza-se


sempre o último vetor obtido em cada nova iteração.
Continua-se a gerar aproximações até que a condição de parada x k 1

 xk  

dado.

Exemplo 1: Resolver o seguinte sistema pelo método de Gauss-Seidel:

3x 1  x 2  x 3  1

 x1  3x 2  x 3  5
2x  2x  4x  4
 1 2 3

Solução: Montando as equações evolutivas para as variáveis do sistema temos:

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 65
x 1k +1  (1  x k2  x k3 )/3
 k +1 k 1
x 2 = (5  x 1  x 3 )/3
k

 k +1
x 3 = (4  2x 1  2x 2 )/4
k +1 k +1

Atenção: as equações evolutivas se utilizam dos valores disponíveis mais atualizados.

Valor inicial: ( x 10 , x 02 , x 03 )  (0,901; 0,901; 0,704 )

xi\k 0 1 2 3 4 5 6
x 1k 0,901
x k2 0,901
x k3 0,704

 
Pelo 1º critério: Max x (ik 1)  x (ik )   , temos:
1in

Obs.: Note que, no mesmo exemplo, o processo iterativo correspondente a aplicação do


Método de Gauss-Seidel também é um processo oscilatório, porém neste caso tem-se
um processo de convergência um pouco mais rápido, por que no método de Gauss-
Seidel são tomados os valores disponíveis mais atualizados.

Estudo da Convergência do Método de Gauss-Seidel:


Existem dois critérios de suficiência para a convergência do Método de Gauss-
Seidel. O critério de linhas e o critério de Sassenfeld. O critério de linhas é o mesmo da
Método de Gauss-Jacobi.

Critério de Linhas
Seja o sistema linear A x  b , com A dimensão n  n e seja:

 n 
 
  a kj 
 j1 
k   
jk

a kk
Se   max  k  1 , então o método Gauss-Seidel gera uma seqüência
k 1,n
x 
(k )

convergente para a solução do sistema dado, independentemente da escolha da


(0)
aproximação inicial x .

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 66
A matriz que satisfizer o critério de linhas é chamada de diagonal dominante estrita.

Critério de Sassenfeld:
Seja o sistema linear Ax  b , com A dimensão n  n e seja:

a12  a13  a14  .......  a1n


1 
a11

e para j  2,3,.............n :

a j1 1  a j2  2  ..............  a jj1  j1  a jj1  ......  . a jn


j 
a jj

Define-se   max  j .
j1,n

Se   1 , então o Método de Gauss-Seidel gera uma sequência convergente para


a solução do sistema, qualquer que seja o vetor inicial. Além disso, quanto menor for o
valor de  mais rápida é a convergência.

Exemplo 2: Verificar as condições de convergência do Método de Gauss-Seidel no


sistema abaixo:
2x 1  x 2  3 x 3  3

  x2  x3  1
x  3x 3  3
 1
a) Critério de Linhas
1 3
1   2  1 não satisfaz.
2
b) Critério de Sassenfeld
1 3
1   2  1 não satisfaz.
2
Como a convergência do Método de Gauss-Seidel é fortemente dependente da
posição das equações, pode-se trocar a posição das equações.
Tentativa 1: Troca-se a primeira equação pela terceira equação.
x 1  3x 3  3

  x2  x3  1
2x  x  3 x  3
 1 2 3

a) Critério de Linhas
03
1   3  1 não satisfaz.
1
b) Critério de Sassenfeld
Capítulo 3: SELA: Métodos Iterativos
Cálculo Numérico Computacional – URI – II/2013 67
03
1   3  1 não satisfaz.
1
Tentativa 2: Troca-se a primeira coluna pela terceira coluna na equação anterior.
3x 3  0x 2  x 1  3

x 3  x 2  0 x 1  1
3x  x  2x  3
 3 2 1

a) Critério de Linhas
1 1
1   0.33  1 satisfaz. 2   1 não satisfaz.
3 1
b) Critério de Sassenfeld
1 1 1
1 3  1
1 
1
 0,33  1 satisfaz. 3 3  3 3  4 1
2   0,33  1 satisfaz.
3 1 2 6
satisfaz.
Com a última modificação o sistema passa a ser convergente para qualquer
vetor inicial. Modificações desse tipo são puramente acadêmicas e são difíceis de serem
realizadas em sistemas reais. Principalmente pelas dimensões dos problemas, resultando
num grande esforço computacional, e das incertezas quanto a sua eficiência.

Exemplo 3:Verifique a convergência do sistema abaixo pelo critério de linhas e


Sassenfeld.
2x 1  x 2  3

x 1  x 2  4
1
Critério de Linhas: 1  Não satisfaz
2
2  1
1
1 
Critério de Sassenfeld: 2 Satisfaz
1
1
2 1
2  
1 2

Exemplo 4: Verifique a convergência do sistema abaixo pelo critério de linhas e


Sassenfeld.
x1  0,5 x 2  0,1x 3  0,1x 4  0,2

0,2x1  x 2  0,2x 3  0,1x 4  2,6

 0,1x1  0,2x 2  x 3  0,2x 4  1,0
0,1x1  0,3 x 2  0,2x 3  x 4  2,5

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 68
Exercícios:
1) Encontrar as soluções dos sistemas, utilizando o método Gauss-Seidel, com
precisão 10-2:
 x  2y  6z  5

a.  5 x  y  3z  1 , com X(0) =[0,0,0]t
2x  10 y  z  7

 5 x  y  2z  w  5

b.  x  9 y  3z  4 w  26 , com X(0) = [1,3,1,3]t

 3 y  7z  2w  7
 2x  2y  3z  10 w  33

2x 1  x 2  1
2) Resolver o sistema  pelo método iterativo Gauss-Seidel, sendo
 x 1  2 x 2  3

x( 0)  [0,0] e o erro   10 2 , k = 10.


3) Resolva os sistemas lineares abaixo, conforme o método indicado, considerando
operações aritméticas com 4 (quatro) dígitos significativos e arredondamento
ponderado.
a. Método de Eliminação de Gauss
4x 1  x 2  x 3  9
i. 2x 1  5x 2  x 3  15
4x  2x  8x  32
 1 2 3

Resposta: X = [1 2 3]T
ii. Seja f(x) = ax2 + bx+ c. Determine a, b e c sabendo-se que f(-4) = 0,
f(-1) = -3 e f(2) = 12.
Resposta: f(x) = x2 + 4x
9x 1  3x 2  6x 3  39

b. Método de Gauss com pivotamento total: 5x 1  2x 2  2x 3  3
x  3 x  x  2
 1 2 3

c. Métodos iterativos (Gauss-Jacobi e Gauss-Seidel). Use X(0) = [1 1 1]T


para calcular X(5) .
 3x2  2x3  10

7 x1  2x2  x3  2
 x  x  4x  51
 1 2 3

4) Considerando o circuito

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 69
i1  i 2  i 3  0
Tem-se o sistema:  . Utilize o método de pivotamento de Gauss para
20i 2  10i 3  0
40i  20i  E
 1 2 0

determinar o vetor I, considerando E0 genérico.


5) Resolver o sistema linear pelo método da fatoração LU:
 1,3234 x  0,5348 y  2,1105 z  2,109

 3,2861x  1,15153 y  1,3333 z  8,0873
 2,0587 x  1,2837 y  5,1825 z  7,5313

6) ELABORAR PROGRAMA PARA:
a. GAUSS-JORDAN b. LU-DECOMPOSIÇÃO
7) ELABORAR PROGRAMA PARA
a. GAUSS-JACOBI b. GAUSS-SEIDEL

Capítulo 3: SELA: Métodos Iterativos


Cálculo Numérico Computacional – URI – II/2013 70
4. INTERPOLAÇÃO POLINOMIAL

A classe de funções mais usada na interpolação são os polinômios, por serem


fáceis de derivar, integrar e calcular.

Objetivo:
 Interpolar uma função f(x) consiste em aproximar essa função por uma outra
função p(x), escolhida à priori entre uma classe de funções definidas (polinômios),
que satisfaça algumas propriedades. A função p(x) é usada em substituição à
função f(x).

Problemática:
 Essa necessidade de efetuar esta substituição surge:
◦ Quando são somente conhecidos os valores numéricos da função para um
conjunto de pontos e é necessário calcular o valor de um ponto não
tabelado.
◦ Quando a expressão da função tal que operações como diferenciação e
integração são difíceis (ou impossíveis) de serem realizadas.

Considere o seguinte problema:


A tabela abaixo que relaciona calor específico da água e temperatura:
Xi, com i = 0,1,..,7
Temperatura (oC) 20 25 30 35 40 45 50 55
Calor específico 0,99907 0,99852 0,99826 0,99818 0,99828 0,99849 0,99878 0,99919
N  8 i  0 N  1

x  y 
i i

20 0.99907
25 0.99852
30 0.99826
35 0.99818
40 0.99828
45 0.99849
50 0.99878
55 0.99919

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 71
0.999

0.998
y

0.997

0.996

20 30 40 50 60
x

A partir desses dados, calcular:


a) O calor específico da água a 32,5º C
b) A temperatura a qual o calor específico é 0,99837.

Equacionando:
 Considerar n+1 valores distintas: x0, x1, ..., xn (nós da interpolação) e os valores de
f(x) nesses pontos: f(x0), f(x1), ..., f(xn).
Determinar a função p(x) tal que:
p(x0)=f(x0)
p(x1)=f(x1)
....
p(xn)=f(xn)
Graficamente: se n = 5

p(x)

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 72
As três formas de interpolação a seguir tem o objetivo de determinar os
coeficientes do polinômio interpolador
pn(x) = a0+a1x+...+anxn
que interliga os n+1 pontos conhecidos [xi, f(xi)] e a imposição básica é a seguinte:
f(xk) = pn(xk); k=0,1,...,n

4.1. Obtenção do polinômio interpolador a partir da solução de um sistema linear


de equações de n equações e n incógnitas.

Considerando que p o polinômio escreve-se pn(x)= a0+a1x+...+anxn , a condição


f(xk)=pn(xk) ; k=0,1,...,n produz o sistema seguinte de n+1 equações, n+1 variáveis:
a n x n0  ...  a 2 x 02  a1x 10  a 0  f ( x 0 )

a n x 1  ...  a 2 x 1  a1x 1  a 0  f ( x 1 )
n 2 1


.................................
a x n  ...  a x 2  a x 1  a  f ( x )
 n n 2 n 1 n 0 n

Tal sistema é linear e pode ser resolvido por técnicas vistas anteriormente.
Na forma matricial, tem-se:
 x 0 n .... x 0 1 1   a n   f ( x 0 ) 
 n    
 x 1 .... x 11 1   ...   f ( x 1 ) 
 .    
 ... ... ... ...  a1   ... 
 x n ... x 1 1   a   f ( x ) 
 n n  0   n 
A . α = f
A: Matriz de Vandermonde (abscissa dos pontos)
a: vetor de incógnitas (coeficientes do polinômio)
f: vetor conhecido (ordenada dos pontos)
Se as abscissas x0, ..., xn são pontos distintos ( xi  x j ,

 i  j (i  0,1,..,n; j  0,1,..,n) ) e det A  0, o sistema admite uma solução única, o que

implica no fato de que qualquer outro método de interpolação resultará no mesmo


polinômio.

Exemplo 1: Encontrar o polinômio de grau  2 que interpola os pontos da tabela:


x -1 0 2
f(x) 4 1 -1

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 73
Considerando p2(x) = a0+a1x+a2x2, temos o sistema:

a 0 -a1 +a 2 =4
 7 2
a 0 =1  a 0  1, a1   , a 2 
a +2a +4a =-1 3 3
 0 1 2

2 2 7
P( x )  x  x 1
3 3
Exemplo 2: Calcular o número de habitantes de Santo Ângelo em 2003, considerando os
valores dados pela tabela a seguir, considerando os pontos: 2002, 2004, 2005 e 2006.

Fonte: Dados do IBGE

Given

x  2002y  4008004z  8024024008w 77705


2 3  113520736702 
1x  2004y  2004 z  2004  w 79086  509557718 
2
1x  2005y  2005 z  2005 w
3
79603  
2 3  3

1x  2006y  2006 z  2006 w 80117 Find ( x y  z w)   338851 
 4 
 
 169

 12 

169 3 338851 2 509557718


p ( x)  x  x   x  113520736702
12 4 3

p ( 2002)  77705.0 p ( 2004)  79086.0 p ( 2005)  79603.0 p ( 2006)  80117.0

p ( 2003)  78481.5

Ou:

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 74
Given
2 3
x  2y  2 z  2 w 77705
2
1x  4y  4 z  4  w
3
79086  75298 
2 3  4718 
1x  5y  5 z  5 w 79603  
2
1x  6y  6 z  6 w
3
80117  3 
Find ( x y  z w)   851 
 4 
 
 169 
 12 
169 3 851 2 4718
p ( x)  x  x   x  75298
12 4 3

p ( 3)  78481.5

Exercício: A tabela informa o número de carros (x mil) que passam por um determinado
pedágio em um determinado dia:

Horário 10:00 10:30 11:00 11:30 12:00 12:30

No. Carros 2,69 1,64 1,09 1,04 1,49 2,44

a. Faça o gráfico para verificar qual a tendência da curva.


b. Estime o número de carros que passariam pelo pedágio às 11:10, usando
sistemas lineares para encontrar um polinômio interpolador p(x) que
estima o número de carros em função do tempo. Use uma reta como
função interpoladora.
c. Faça a mesma estimativa, mas utilizando uma parábola como polinômio
interpolador.
d. Agora, faça a mesma estimativa, mas utilizando um polinômio de grau
maior possível como polinômio interpolador.

Solução: letra d

INTERPOLAÇÃO POLINOMIAL POR SELA:

N  6 n  N  1 n5
x  y 
i  0  1  n i i

10 2.69
10.5 1.64
11 1.09
11.5 1.04
12 1.49
12.5 2.44
Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 75
ORIGIN 1

9.5 10 10.5 11 11.5 12 12.5 13


x

a  
 10 10.5 11 11.5 12 12.5 

 2.69 1.64 1.09 1.04 1.49 2.44 
Matriz de Vandermonde:

Vandermondecomy ( n )  for i  0  n
for j  0  n

mat
j 1  i 1
 a 1  j 1ni
mat a
i 1  n 2 2  i 1
mat

 100000 10000 1000 100 10 1 2.69 


 127628.15625 12155.0625 1157.625 110.25 10.5 1 1.64 
 
Vandermondecomy ( 5)  
161051 14641 1331 121 11 1 1.09 
 201135.71875 17490.0625 1520.875 132.25 11.5 1 1.04 
 248832 20736 1728 144 12 1 1.49

 
 305175.78125 24414.0625 1953.125 156.25 12.5 1 2.44 

A  Vandermondecomy ( 5)

Resolvendo o SELA por Eliminação de Gauss:

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 76
 100000 10000 1000 100 10 1 2.69 
 127628.156 12155.063 1157.625 110.25 10.5 1 1.64 
 
A
161051 14641 1331 121 11 1 1.09 
 201135.719 17490.063 1520.875 132.25 11.5 1 1.04 
 248832 20736 1728 144 12 1 1.49

 
 305175.781 24414.063 1953.125 156.25 12.5 1 2.44 

n  6

T  G  A
for k  1  n  1
for i  k  1  n
A
i k
m
A
k k
for j  k  ( n  1)
G A  m A
i j i j k j
AG
G

 100000 10000 1000 100 10 1 2.69 


 0 607.75312 118.65656 17.37816 2.26282 0.27628 1.7932 
 
0
T
0 6.3381 1.81363 0.34611 0.05506 1.07761 
 0 0 0 0.08588 0.03204 0.00748 0.3238 
 0 0 0 0 0.00136 0.00062 0.04897

 
 0 0 0 0 0 0.00002 0.00303 

T
n  n 1
X  x 
n T
n n
for i  ( n  1)  ( n  2)  1
T
X  ( 0 0 0 1 22.6 128.69)
n
T
i  n 1
  Ti jxj
j  i 1
x 
i T
i i
x

2
P( x)  128.69  22.6x  x

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 77
3

2
y

P( x)

9.5 10 10.5 11 11.5 12 12.5 13


x

4.2. Forma de Interpolação de Lagrange


Pode-se determinar mais facilmente o polinômio interpolador sem resolver o
SELA, utilizando os polinômios de Lagrange.
Seja o polinômio de grau n que deve passar por n+1 pontos, considerando P(x) na
forma:
P(x) = Ao(x-x1)(x-x2)....(x-xn) + A1(x-xo)(x-x2)....(x-xn) + ... + An(x-xo)(x-x1)....(x-xn-1) = y
(1)
Cada um dos termos é por sua vez um polinômio de grau “n”.
Sendo A0 , A1 , A2 ,.....An constantes a serem determinadas satisfazendo as
condições:
x = xo,  P(xo) = yo
x = x1  P(x1) = y1
x = x2,  P(x2) = y2 (2)
…….

x = xn  P(xn) = yn

Então, tem-se substituindo (2) em (1):


1
yo = Ao(x0-x1)(x0-x2)....(x0-xn)  Ao = * y0
( x 0  x 1 ).( x 0  x 2 )....(x 0  x n )
1
y1 = A1(x1-xo)(x1-x2)....(x1-xn)  A1 = * y1 (3)
( x 1  x 0 ).(x 1  x 2 )....(x 1  x n )

1
y2 = A2(x2-xo)(x2-x1)....(x2-xn)  A2 = * y2
( x 2  x 0 ).(x 2  x 1 ).(x 2  x 3 )....(x 2  x n )
....................................

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 78
1
yn = An(xn-xo)(xn-x1)....(xn-xn)  A2 = * yn
( x n  x 0 ).(x n  x 1 ).(x n  x 2 )....(x n  x n1 )

Com (3) em (1), tem-se:


(x - x 1 )(x - x 2 )....(x - x n ) (x - x 0 )(x - x 2 )....(x - x n )
P( x )  .y 0  .y 1 
( x 0  x 1 ).( x 0  x 2 )....(x 0  x n ) ( x 1  x 0 ).( x 1  x 2 )....(x 1  x n )
(x - x 0 )(x - x 1 )....(x - x n ) (x - x 0 )(x - x 1 )....(x - x n-1 )
 .y 2  ...  .y n
( x 2  x 0 ).( x 2  x 1 )....(x 2  x n ) ( x n  x 0 ).( x n  x 1 )....(x n  x n1 )
Se;
(x - x 1 )(x - x 2 )....(x - x n )
L 0 (x) 
( x 0  x 1 ).( x 0  x 2 )....(x 0  x n )
(x - x 0 )(x - x 2 )....(x - x n )
L1( x) 
( x 1  x 0 ).( x 1  x 2 )....(x 1  x n )
(x - x 0 )(x - x 1 )....(x - x n )
L 2 (x) 
( x 2  x 0 ).( x 2  x 1 )....(x 2  x n )
.......
(x - x 0 )(x - x 1 )....(x - x n-1 )
L n (x) 
( x n  x 0 ).( x n  x 1 )....(x n  x n1 )

Reduzindo a:
(x - x 0 ).(x - x 1 )....(x - x k -1 ).(x - x k 1 )...(x - x n )
L k (x) 
( x k  x 0 ).( x k  x 1 )...(x k - x k -1 ).(x k - x k 1 )....(x k  x n1 )

n (x - x j )
L k (x)  
j0 (x k  x j )
jk

n
P( x )   y j .L j ( x )
j0

Ou ainda:
n n (x  x j )
Pn ( x )   y k  (fórmula interpoladora de Lagrange)
k 0 j 0 (xk  x j )
j k

Obs.: Quanto maior o grau do polinômio interpolador, melhor sua precisão.

Exemplo 1: Encontrar o polinômio de grau  2 que interpola os pontos da tabela:


x -1 0 2

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 79
f(x) 4 1 -1

(x - x 1 )(x - x 2 ) ( x  0).( x  2) x 2  2x
L 0 (x)   
( x 0  x 1 ).( x 0  x 2 ) ( 1  0).(1  2) 3
(x - x 0 )(x - x 2 ) ( x  1).( x  2) x 2  x  2
L1( x )   
( x 1  x 0 ).( x 1  x 2 ) (0  1).(0  2) 2
(x - x 0 )(x - x 1 ) ( x  1).( x  0) x 2  x
L 2 (x)   
( x 2  x 0 ).( x 2  x 1 ) (2  1).(2  0) 6

x 2  2x x 2  x  2 x 2  x
P( x )  4.  
3 2 6
2 7
P( x )  x 2  x  1
3 3

Exemplo 2: Encontre o polinômio interpolador pelo método de Lagrange e calcule o


número de habitantes de Santo Ângelo em 2003, considerando os valores dados
anteriormente pela tabela de crescimento populacional de Santo Ângelo, considerando os
pontos: 2002, 2004, 2005 e 2006.
3 3 (x  x j )
P3 ( x )   y k 
k 0 j0 ( x k  x j )
j k

( x  x 1 ).(x  x 2 ).(x  x 3 ) ( x  x 0 ).(x  x 2 ).(x  x 3 )


P3 ( x )  y 0  y1 
( x 0  x 1 ).(x 0  x 2 ).(x 0  x 3 ) ( x 1  x 0 ).(x 1  x 2 ).(x 1  x 3 )

( x  x 0 ).(x  x 1 ).(x  x 3 ) ( x  x 0 ).(x  x 1 ).(x  x 2 )


 y2  y3
( x 2  x 0 ).(x 2  x 1 ).(x 2  x 3 ) ( x 3  x 0 ).(x 3  x 1 ).(x 3  x 2 )

4.3. Forma de Interpolação de Newton


Considerando os n+1 pontos (x0,f(x0)), ..., (xn,f(xn)) e o polinômio interpolador pn(x).
Newton propôs de representar o polinômio pn(x) da forma:
pn(x) = d0 + d1(x-x0) + d2(x-x0).(x-x1) +...+ dn(x-x0)...(x-xn-1)
Os coeficientes dk, k=0,...,n são diferenças divididas de ordem k entre os pontos
(xj,f(xj)), j=0,...,k

4.3.1. Operador diferenças divididas:


 f(x) é uma função tabelada em x0,...,xn.

 Os operadores de diferenças divididas são definidos por:

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 80
 f [ x0 ]  f ( x0 ) ordem 0

 f [ x0 , x1 ]  f [ x1 ]  f [ x0 ] ordem1
 x1  x0

 f [ x , x , x ]  f [ x1 , x2 ]  f [ x0 , x1 ] ordem 2
 0 1 2
x2  x0

 f [ x ,..., x ]  f [ x1 ,..., xn ]  f [ x0 ,..., xn 1 ] ordem n
 0 n
xn  x0

x Ordem 0 Ordem 1 Ordem 2 . Ordem n


.
.

x0 f[x0] = d0

f[x0,x1] = d1

x1 f[x1] f[x0,x1,x2] = d2

f[x1,x2]

x2 f[x2] f[x1,x2,x3]

f[x0,...,xn] = dn

f[xn-2, xn-1, xn]

.... f[xn-1, xn]

xn f[xn]

Exemplo: Encontrar o polinômio de grau  2 que interpola os pontos da tabela:


x -1 0 2
f(x) 4 1 -1

x Ord 0 Ord 1 Ord 2


-1 4
-3
0 1 2/3
-1
2 -1

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 81
pn(x) = d0 + d1(x-x0) + d2(x-x0).(x-x1) +...+ dn.(x-x0)...(x-xn-1)
2 2 2
P( x )  4  3.( x  1)  ( x  1).( x  0)  4  3 x  3  x 2  x
3 3 3
2 2 7
P( x )  x  x 1
3 3

Exercícios:

1. Considere a seguinte tabela de valores


w 0,1 0,2 0,4 0,6 0,8 0,9
f(w) 0,905 0,819 0,67 0,549 0,449 0,407

Dar o correspondente polinômio de interpolação pelo método polinomial, Newton e


Lagrange, e também o valor aproximado para w = 0,3.

2. Considere a seguinte tabela de valores


x 1 1,2 1,4 1,7 1,8
g(x) 0,21 0,32 0,48 0,56 0,78
Dar o correspondente polinômio de interpolação pelo método polinomial, ou de
Newton, ou pelo de Lagrange, e também o valor aproximado para x = 1,3.
3. A velocidade V(m/s) de um foguete lançado do solo foi medida 4 vezes, t
segundos após o lançamento, e os dados foram registrados na tabela abaixo.
Expresse o polinômio e calcule usando um polinômio de 4º grau, a velocidade
aproximada do foguete após 25 segundos do lançamento.
Tempo (s) 0 8 20 30 45
Velocidade (m/s) 0 52,032 160,450 275,961 370,276

4. De um velocímetro de um automóvel foram obtidas as seguintes leituras de


velocidade instantânea:
t(min) 0 5 10 15
V(Km/h) 23 10 28 35
a. Determinar o polinômio interpolador de grau maior possível;
b. Calcular a velocidade correspondente a 10 min.
5. A figura a seguir mostra o esboço do leito do rio. A partir de uma linha reta,
próxima a uma das margens, foram medidas distâncias (em m) entre esta linha
reta e as duas margens do rio, de 15 em 15 metros, a partir de um ponto tomado
como origem. Tais dados foram registrados na tabela a seguir. Determinar o valor
aproximado da largura do rio nos pontos que distam 10, 20, 40 e 50 metros da
origem (tomados na linha reta).

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 82
Leito do Rio

200
distância em metros

yM1

yM2
100

0 10 20 30 40 50 60 70
x

linha reta

X 0 15 30 45 60
y(M1) 50,00 86,00 146,00 73,50 50,00
y(M2) 112,50 154,50 195,00 171,00 95,50

Capítulo 4: INTERPOLAÇÃO
Cálculo Numérico Computacional – URI – II/2013 83
5. INTEGRAÇÃO NUMÉRICA

Sabe-se do Cálculo Diferencial e Integral que se f(x) é uma função contínua em [a,
b], então esta função tem uma primitiva neste intervalo, ou seja, existe F(x) tal que:

 f (x)dx = F(x) + C, com F’(x) = f(x);


demonstra que, no intervalo [a, b],
b

 f (x)dx  F (b)  F (a)


a
(1)

A integral definida em (1) representa a área sob a curva f(x) entre x = a e x = b.

Do ponto de vista analítico existem diversas regras, que podem ser utilizadas na
prática, caso não, deve-se recorrer ao método numérico.

A necessidade de solução numérica ocorre quando:


 Em tipos de integrandos f(x), não conhecidas suas primitivas F(x);
 Para aqueles em que a obtenção da primitiva, embora viável, é muito trabalhosa;
 Caso em que não se possua a expressão analítica de f(x), conhecido apenas em
alguns pontos, num intervalo [a, b], ou ainda através de um gráfico.

A integração numérica pode trazer ótimos resultados quando outros métodos


falham.

Idéia básica:
Fazer a substituição da função f(x) por um polinômio que aproxime razoavelmente
no intervalo [a, b]. Assim o problema fica resolvido pela integração de polinômios, o que é
trivial de se fazer.

5.1. Fórmulas de Newton-Cotes

Empregam valores de f(x), onde os valores de x são igualmente espaçados, ou


seja, a idéia de polinômio que aproxime f(x) razoavelmente é que este polinômio interpole
f(x) em pontos de [a, b] igualmente espaçados.

Considerando a partição 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.

5.1.1 Regra dos Trapézios (n = 1, 2 pontos conhecidos)


Considerando a Fig. 1, pelos dois pontos do extremo do intervalo, faz-se passar
uma reta e a integral de f(x) é aproximada pela área sob esta reta.

Graficamente, tem-se:

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 84
Fig. 1

h
 A área de cada trapézio é: A T  (B  b).
2
b
 A soma destas áreas será uma aproximação para  f(x)dx
a

h  b  a  x1  x 0

IT 
h
f ( x1 )  f ( x 0 )
2
Numericamente: A regra dos trapézios é obtida aproximando-se f por um polinômio
interpolador do 1º grau. Se for usado a fórmula de Lagrange para expressar o polinômio
p1(x) que interpola f(x) em x0 e x1 temos:

b x 1 x1
 (x  x1 ) ( x  x0 )
b

 f (x)dx   p (x)dx   
a a x o
1
xo
h
f (xo ) 
h
f (x1 )dx  IT

h
IT  f(x1 )  f(x0 )
2

Exemplo: Calcular pela Regra dos Trapézios e depois analiticamente o valor de


3, 6
1
I  x dx e comparar os resultados.
3

a  x0 
b  x1 
h
IT  f(x0 )  f(x1 ) 
2

5.1.2 Regra do Trapézio Repetida

Seja o intervalo finito [a, b] no eixo x que é particionado em n subintervalos


igualmente espaçados [xi, xi+1], com x0 = a e xn = b e hi = xi+1 - xi. Seja f uma função
contínua ou simplesmente Riemann integrável, cuja integral não é conhecida.

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 85
Para h suficientemente pequeno, I pode ser aproximado pela regra do trapézio
repetida, ou seja:

Ii 
h
f ( x i )  f ( x i1 )
2
n1
ITR   Ii , com x 0 = a e x n = b
i 0

h h h
ITR  [f ( x 0 )  f ( x 1 )]  [ f ( x1 )  f ( x 2 )]  ...  [f ( x n1 )  f ( x n )]
2 2 2
 f ( x 0 )  f ( x n )  2f ( x 1 )  f ( x 2 )  ...  f ( x n1 )
h
ITR
2

Exemplo: Calcular pela Regra dos Trapézios com n = 6 (subdividindo o intervalo de


3,6
1
integração em 6 subintervalos) e depois analiticamente o valor de I   x dx e comparar
3

os resultados.
h = (3,6 – 3)/6 =

xi f(xi)
3
3,1
3,2
3,3
3,4
3,5
3,6

1.5.3 Regra 1/3 de Simpson (n=2, três pontos conhecidos)

É um método similar a regra do trapézio, porém melhor. No método de Simpson


calculamos a área do trapézio sob uma parábola entre xi e xi + 1 . O intervalo [a , b] tem
que ser dividido num número par de subintervalos.

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 86
Então, a integral é aproximada pela integral da curva de segundo grau que interpola
a função nos valores a, (a+b)/2 e b.

ou

O polinômio escolhido para aproximar a função é o polinômio de Lagrange de


grau 2. Seja p2(x) o polinômio que interpola f(x) nos pontos x0 = a, x1 = x0 + h e x2 = x0 +
2h = b:

( x  x 1 )( x  x 2 ) ( x  x 0 )( x  x 2 ) ( x  x 0 )( x  x 2 )
P2 ( x )  f(x 0 )  f (x1 )  f(x 2 )
( x 0  x 1 )( x 0  x 2 ) ( x 1  x 0 )( x 1  x 2 ) ( x 2  x 0 )( x 2  x 1 )

( x  x 1 )( x  x 2 ) ( x  x 0 )( x  x 2 ) ( x  x 0 )( x  x 2 )
P2 ( x )  f(x 0 )  f (x1 )  f(x 2 )
( h)( 2h) (h)( h) (2h)(h)

b x2 x2

a
f ( x )dx   f ( x )dx   P2 ( x )dx
x0 x0

f ( x 0 ) x2 f ( x1 ) x2 f ( x 2 ) x2
2h 2 x 0 h 2 x 0 2h 2 x 0
 ( x  x 1 )( x  x 2 )dx  ( x  x 0 )( x  x 2 )dx  ( x  x 0 )( x  x 1 )dx

Resolvendo as integrais, tem-se:


h
f ( x 0 )  4f ( x1 )  f ( x 2 )
x2
IS  x0
P2 ( x )dx 
3

Exemplo: Seja f(x) uma função conhecida apenas nos pontos tabelados a seguir.
4
Utilizando a regra de Simpson, encontrar uma aproximação para  f ( x )dx .
2

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 87
1.5.4 Regra 1/3 de Simpson Repetida

Como no caso da regra dos trapézios, para diminuir o erro cometido na


aproximação da integral, podemos subdividir o intervalo inicial em n intervalos de
mesmo comprimento. Para poder aplicar 1/3 de Simpson, a condição é que n seja par.
Supondo 9 pontos conhecidos:
I1  f ( x 0 )  4f ( x 1 )  f ( x 2 )
h
3
I2  f ( x 2 )  4f ( x 3 )  f ( x 4 )
h
3
(1)
I3  f ( x 4 )  4f ( x 5 )  f ( x 6 )
h
3
I4  f ( x 6 )  4f ( x 7 )  f ( x 8 )
h
3

Somando-se todos os termos de (1), tem-se:


h
f ( x 0 )  f ( x 8 )  4f ( x1 )  f ( x 3 )  ...  f ( x 7 )  2f ( x 2  f ( x 4 )  ...  f ( x 6 )
b
a
f ( x )dx 
3

Generalizando para n+1 pontos (n par), tem-se:

f ( x )dx  .f ( x 0 )  f ( x n )  4.f ( x 1 )  f ( x 3 )  ...  f ( x n1 )  2.f ( x 2 )  f ( x 4 )  ...  f ( x n2 ) 


b h
a 3

Exemplo 1: Adicionando alguns pontos na tabela do exemplo anterior tem-se:

4
Recalcular  f ( x )dx pela regra de Simpson Repetida.
2

Exemplo 2:
/2
Calcular a 
o
senxdx , aplicando: (sugestão: faça n=6)
a) a regra do trapézio;
b) a regra de Simpson de 1/3.

Solução:
I- Construção da tabela de valores da f(x)
I 0 1 2 3 4 5 6
xi 0 /12 2/12 3/12 4/12 5/12 6/12
f(xi) 0 0,2588 0,5 0,7071 0,8660 0,9659 1

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 88
II- Cálculo da integral
a) Regra do Trapézio
 / 12
f ( x 0 )  f ( x 6 )  2f ( x1 )  f ( x 2 )  f ( x 3 )  f ( x 4 )  f ( x 5 ) 
/2
o
senxdx 
2

0 senxdx  24 0  1  20,2588  0,5  0,7071  0,8660  0,9659  = 0,9943
 / 12

b) Regra de Simpson de 1/3


 / 12
0 senxdx  3 f(x0 )  f(x6 )  4f(x1 )  f(x3 )  f(x5 )  2f(x2 )  f(x4 ) 
 / 12


0 senxdx  36 0  1  40,2588  0,7071  0,9659   20,5  0,8660 
 / 12

=1,0000038
Obs: O valor mais próximo, com a mesma quantidade de pontos tabelados, é dado pela
regra de Simpson.

Atividades:
1
1
1. Calcular I x
0
2
 x 1
dx, aplicando a regra dos trapézios, com:

a. n = 2 b. n = 4
2. A seguinte tabela de valores reproduz alguns valores da função y = f(x)

X 0 0,25 0,5 0,75 1


f(x) 0,6 0,751 0,938 1,335 2,4


Calcular I  f ( x)dx, pela regra de Simpson com:
0

a. n = 2 b. n = 4
3. A figura a seguir mostra o esboço do leito de um rio. A partir de uma linha reta,
próxima a uma das margens, foram medidas distâncias (em m) entre esta linha
reta e as duas margens do rio, de 15 em 15 metros, a partir de um ponto tomado
como origem. Tais dados foram registrados na tabela a seguir. Determinar o valor
aproximado da largura do rio no ponto que dista 10, 20, 40 e 50 metros da origem
(tomados na linha reta). Calcule a área limitada entre 15 e 60 metros.

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 89
Leito do Rio

200
distância em metros
yM1

yM2
100

0 10 20 30 40 50 60 70
x

linha reta

X 0 15 30 45 60
y(M1) 50,00 86,00 146,00 73,50 50,00
y(M2) 112,50 154,50 195,00 171,00 95,50

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 90
6. MÉTODOS NUMÉRICOS PARA SOLUÇÃO DE EQUAÇÕES DIFERENCIAIS
ORDINÁRIAS – EDO´s

A equação diferencial de primeira ordem é uma equação que pode ser escrita na
forma:
dy
 y'(x)  f(x, y(x))
dx
Onde:
 x é a variável independente e y a variável depedente
 A solução da equação diferencial é a função y(x) = f(x), tal que f’(x) = f(x,y(x))
 O cálculo da solução envolve a integração de y’(x) para obter y(x)
 A solução de uma equação diferencial é geralmente uma família de funções.
 A condição inicial é usualmente necessária na ordem para especificar uma única
solução.

O uso de métodos numéricos se torna necessário quando não é possível obter a


solução analítica, ou muitas vezes requerem soluções muito complicadas.

Exemplo 1: y’ = x2 + y2  não pode ser resolvida em termos de funções elementares

6.1 Solução Numérica de um Problema de Valor Inicial (PVI) de 1ª ordem

 dy
Supondo que:  dx  y'(x)  f(x, y(x)), x  [a, b]; x0  a
y(x )  y
 0 0

onde x é a variável independente.

Exemplo 2: Uma lancha se desloca numa lagoa com velocidade de 10m/s. Em dado
instante seu motor é desligado; a lancha sofre com isso uma redução de velocidade
proporcional à resistência da água. Sabendo-se que ao cabo de 5s sua velocidade é de
8m/s, qual será a velocidade que a lancha adquire aos 8s?
m m
to  0 t1  5 vo  10 v1  8 v2  1
s s
 
d
v k v  1 dv  k dt ln ( v ) kt  c
c t 2.303
d  v 

kt  c
ln( v) kt  c solve  v  e vo exp( k to  c) solve  c  ln( 10)

 ln 8
1 1 m
v1 exp( k t1  c) solve  k   ln( 10)  
5 5  s
ln 
4

1
k  
 5 v( t)  exp( k t  c)
5 s
v( t)  exp 0.045  t  2.303
1
 s 

Capítulo 6: EQUAÇÕES DIFERENCIAIS


Cálculo Numérico Computacional – URI – II/2013 91
15

10

v( t )

0 20 40 60 80 100
t
Equação diferencial ordinária de 1ª ordem:
d
v k v
dt
Pela forma analítica obteve-se a solução geral:
v( t)  exp 0.045  t  c 
1
 s 
Com a condição inicial:
to  0
vo  10
Solução particular:
v( t)  exp 0.045  t  2.303
1
 s 
Para t = 8s:
v( 8)  6.98
Podemos verificar outros valores:
t  0  8  56

t  v( t) 
0 10.004
8 6.98
16 4.87
24 3.397
32 2.37
40 1.654
48 1.154
56 0.805

As técnicas numéricas mais comuns para resolver equações diferenciais


ordinárias, são o método de Euler e o método de Runge-Kutta.
Tanto o método de Euler quanto o método de Runge-Kutta aproximam a função
utilizando-se da expansão em série de Taylor.

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 92
6.1.1 Método de Euler

Lembrando que a série de Taylor é uma expansão que pode ser usada para
aproximar uma função cujas derivadas são definidas no intervalo contendo a e b. A
expansão por série de Taylor para f(b) é:
f(b) = f(a) + (b - a) f ’(a) + (b - a)2 f ’’(a) + ... + (b - a)n f(n)(a) + ...
2!

Para o método de Euler utiliza-se da expansão de Taylor de primeira ordem:


f(x1)  f(x0) + (x1 - x0) f ’(x0)
onde:
x0  a
xn  b
ba
N
h

 h é o tamanho do passo;
 xn são os pontos da malha;
 N é o número de passos
 yn é uma aproximação para a solução teórica de y(xn), ou seja: yn  y(xn)

INTERPRETAÇÃO GEOMÉTRICA DO MÉDODO DE EULER:


Como se conhece x0 e y0 = f(x0), então pode-se calcular y’(x0) = f(x0,y0). Assim,
a reta r0(x) que passa por (x0,y0), com coeficiente angular y’(x0), é:

xk  x0  k.h
y1  y( x 0 )
onde : y'( x 0 ) 
x1  x 0
ba
h h  x k 1  x k y(x1 )  y1  r0 (x1 )  y(x0 )  hy'(x0 )
n

Ou seja, y1  y0  hf (x0 , y0 )
O raciocínio é repetido com (x1,y1) e y2 = y1 + hf(x1,y1) e assim, sucessivamente,
o método de Euler nos fornece:
yk 1  yk  hf (xk , yk )
Exemplo:
f(x, y(x)) = x - y + 2
Capítulo 5: INTEGRAÇÃO NUMÉRICA
Cálculo Numérico Computacional – URI – II/2013 93
y'(x) = x - y +2
x0 = 0 h = 0,2
y(x0) = 2 malha = [0, 1]
k xk yk y'(x)=f(x,y(x)) yk+1 = yk + h.f(xk, yk(x))
0 0 2,00000 0,00000 2,00000
1 0,2 2,00000 0,20000 2,04000
2 0,4 2,04000 0,36000 2,11200
3 0,6 2,11200 0,48800 2,20960
4 0,8 2,20960 0,59040 2,32768
5 1 2,32768 0,67232 2,46214

OBS:
 x1, ..., xn igualmente espaçados (xk+1-xk=h) (condição não necessária mas útil) e
calcula-se yk=y(xk) para cada ponto usando as informações dos pontos
anteriores.

 Se para determinar yk precisamos somente de yk-1, o método é de passo simples.


Se precisamos de mais valores, o método é de passo múltiplo.

 No caso de PVI, temos uma aproximação inicial para y(x0), o método é auto-
iniciante.

Método de Runge-Kutta
 A idéia do método é aproveitar as qualidades dos métodos de série de Taylor:
precisão e ao mesmo tempo eliminar seu maior defeito: calculo de derivadas de
f(x,y). Basicamente,

 São de passo 1

 Não exigem cálculo de derivada

 Coincide com a expressão do método de serie de Taylor

Método de Runge-Kutta:
 Ordem 1: o método de Euler satisfaz as características precedentes, ela é o
método de Runge-Kutta de ordem 1.

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 94
 O método de Euler aperfeiçoado usa, no lugar da inclinação da tangente num
ponto para aproximar o ponto seguinte, a media das inclinações no ponto e no
ponto seguinte.

Runge-Kutta de ordem 2:
 No caso de Euler aperfeiçoado, obtemos:

 A forma geral dos métodos de Runge-Kutta de ordem 2 é a seguinte:

Runge-Kutta de ordem 4:

Capítulo 5: INTEGRAÇÃO NUMÉRICA


Cálculo Numérico Computacional – URI – II/2013 95
Capítulo 5: INTEGRAÇÃO NUMÉRICA
Cálculo Numérico Computacional – URI – II/2013 96
Resumo:

1. SELA:

1.1. Métodos Diretos:


- Método de Eliminação de Gauss:
1º). Geração da matriz expandida:
2º). Triangularização:
- correspondente a primeira coluna (k = 1):
- correspondente a segunda coluna (k = 2):
...
a11(n 1) a12(n 1)
... a1n
( n 1)
b1 
 ( n 1)( n 1) 
 0 a22... a2n b2 
 .. ..
.. .. .. 
 ( n 1) 
 0 0.. ann bn 
3º). Processo de retrosubstituição sucessiva:
a11x 1  a12 x 2  ...  a 1n x n  b1

a 22 x 2  ...  a 2n x n  b 2

...
a nn x n  b n
- Método de Gauss-Jordan:
1º) Geração da matriz expandida

2º) Transformar a matriz dos coeficientes em uma matriz identidade.


- Método LU – Decomposição:

Triangularizar a matriz dos coeficientes:


U = Matriz triangular superior.
a11( 2 ) a12( 2 ) a13( 2 ) 
 (2) (2) 
 0 a22 a23 
 0 0 a33 
(2)

L = Matriz triangular inferior com diagonal unitária
 1 0 0
m 
 21 1 0
m31 m32 1

 LY  B
AX  B  LUX B
Y UX  Y
LY  B , encontra variáveis y..
UX  Y , encontra varáveis x..

RESUMO – PARTE 2
Cálculo Numérico Computacional – URI – I/2013 97
1.2. MÉTODOS ITERATIVOS:
a 11x 1  a 12 x 2  a 13 x 3  ............a 1n x n  b 1

a 21x 1  a 22 x 2  a 23 x 3  ............a 2n x n  b 2

..................................................................
..................................................................

a n1 x 1  a n2 x 2  a n3 x 3  ............a nn x n  b n

- GAUSS-JACOBI
1
x 1(k 1)  (b1  a12 x (2k )  a 13 x (3k )  ..........  a 1n x (nk ) )
a11
1
x (2k 1)  (b 2  a 21x 1(k )  a 23 x (3k )  ..........  a 2n x (nk ) )
a 22

1
x (nk 1)  (b n  a n1x 1(k )  a n2 x (2k )  ..........  a nn1x (nk)1 )
a nn

xi\k 0 1 2 3 ...
x k
1
Dado
x 2k Dado
... ...
x k
n
Dado

- GAUSS-SEIDEL:

x1(k 1) 
1
a11

b1  a12 x(2k )  a13 x(3k )  ......  a1n x(nk ) 
x(2k 1) 
1
a22

b2  a21x1( k 1)  a23 x(3k )  ......  a2n x(nk ) 
x(3k 1) 
1
a33

b3  a31x1(k 1)  a32 x(2k 1)  ......  a3n x(nk ) 
................................................................................
x(nk 1) 
1
a11

bn  an1x1( k 1)  an2 x(2k 1)  ......  an,n 1x(nk11) 

2. Interpolação Polinomial: Dados n+1 pontos

pn(x)= a0+a1x+...+anxn , a condição f(xk)=pn(xk)

RESUMO – PARTE 2
Cálculo Numérico Computacional – URI – II/2013 98
2.1. Obtenção do polinômio interpolador por SELA:
a n x n0  ...  a 2 x 02  a 1 x 10  a 0  f ( x 0 )

a n x 1  ...  a 2 x 1  a 1 x 1  a 0  f ( x 1 )
n 2 1


.................................
a x n  ...  a x 2  a x 1  a  f ( x )
 n n 2 n 1 n 0 n

2.2. Forma de Interpolação de Lagrange:


(x - x1 )(x - x 2 )....(x - xn ) (x - x 0 )(x - x 2 )....(x - xn )
Pn ( x )  .y 0  .y1 
( x 0  x1 ).(x 0  x 2 )....(x 0  xn ) ( x1  x 0 ).(x1  x 2 )....(x1  xn )
(x - x 0 )(x - x1 )....(x - xn ) (x - x 0 )(x - x1 )....(x - xn-1 )
 .y 2  ...  .yn
( x 2  x 0 ).(x 2  x1 )....(x 2  xn ) ( xn  x 0 ).(xn  x1 )....(xn  xn 1 )

2.3. Forma de Interpolação de Newton:

x Ordem 0 Ordem 1 Ordem 2 ... Ordem n

x0 f[x0] = d0

f[x0,x1]=d1
x1 f[x1] f[x0,x1,x2] = d2

f[x1,x2]

x2 f[x2] f[x1,x2,x3]
f[x0,...,xn] = dn

f[xn-2, xn-1, xn]

.... f[xn-1, xn]

xn f[xn]

Por meio de:

 f [ x0 ]  f ( x0 ) ordem 0

 f [ x0 , x1 ]  f [ x1 ]  f [ x0 ] ordem1
 x1  x0

 f [ x , x , x ]  f [ x1 , x2 ]  f [ x0 , x1 ] ordem 2
 0 1 2
x2  x0

 f [ x ,..., x ]  f [ x1 ,..., xn ]  f [ x0 ,..., xn 1 ] ordem n
 0 n
xn  x0

pn(x) = d0 + d1(x-x0) + d2(x-x0).(x-x1) +...+ dn(x-x0)...(x-xn-1)

RESUMO – PARTE 2
Cálculo Numérico Computacional – URI – II/2013 99
3. Integração Numérica:

3.1. Regra dos Trapézios (n = 1, 2 pontos conhecidos):


IT 
h
f ( x 1 )  f ( x 0 )
2

3.2. Regra do Trapézio Repetida:

ITR 
h
f ( x 0 )  f ( x n )  2f ( x1 )  f ( x 2 )  ...  f ( x n1 )
2

3.3. Regra 1/3 de Simpson (n=2, três pontos conhecidos):


h
f ( x 0 )  4f ( x1 )  f ( x 2 )
x2
IS  x0
P2 ( x )dx 
3

3.4. Regra 1/3 de Simpson Repetida:


  Pn ( x )dx  .f ( x 0 )  f ( x n )  4.f ( x 1 )  f ( x 3 )  ...  f ( x n1 )  2.f ( x 2 )  f ( x 4 )  ...  f ( x n2 ) 
b h
ISR
a 3

RESUMO – PARTE 2
Cálculo Numérico Computacional – URI – II/2013 100

Você também pode gostar