Escolar Documentos
Profissional Documentos
Cultura Documentos
CADERNO 1
Site: http://sites.google.com/site/elianiretzlaff1/
FORMAS DE REPRESENTAÇÃO
Pode-se representar um algoritmo de 3 formas distintas:
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:
Legenda:
Cálculo
Decisão
Entrada
Saída
Inicio/Fim
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.
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.
Levantamento de Dados
Modelo Matemático
Processo de Cálculo
Exato Aproximado
Solução Aproximada
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.
Se b0, b1, b2, etc., são os valores (0 ou 1) que se coloca em cada posição, a
quantidade representada valerá:
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
CONVERSÃO DE BASES:
É o processo de converter valores de um sistema de numeração para outro.
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.
(197)10 = (11000101)2
Algoritmo:
Passo 0: x1 = x; k = 1
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:
Observação: um número real entre 0 e 1 pode ter representação finita no sistema decimal,
mas infinita no sistema binário.
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
b 2 n 6 i 0 n 1
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:
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
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
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 31 * (2 ( 1) 1) 1 33
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.
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:
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
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
f ( xr ) 0 xr é raiz de f(x)
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.
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;
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;
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
b a
a xr xr b
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).
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.
x3 = xr f(x)
a X0
X2 X1 b x
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;
g( x)
h( x)
2
f( x)
x
0 0.5 1 1.5 2
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 |< .
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
2
n ba
n
ln 2 ln
b a
ba
ln
n
ln 2
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
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.
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:
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
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
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.
xr
Observe graficamente o problema e verifique que existem funções g(x) que não
são indicadas para a escolha.
1. g(x) x 3
3
g( x)
2 0 2
2. g(x) 5x 3
x 2
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
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]
1 Usar o método da bisseção para estimar o valor da raiz de sete? com precisão
menor que 0,01.
Indique, sem fazer iterações, que função ou funções irão convergir para a raiz.
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.
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
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
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
Considere o sistema:
2º) Triangularização:
a (n01)
Subtrair da nª equação a 1ª multiplicada por mn1 ( 0 ) , ou seja:
a11
Ln Ln mn1L1
( 2) (2) ( 2)
0 a22 ... a2n a2,n 1
.. .. .. .. ..
(2) (2)
0 0 .. ann an,n 1
a n,n1
xn
a n,n
Para: i = n-1, n-2, ..., 1, tem-se:
n
a i,n1 a ij .x j
ji1
xi
a ii
Exercício:
1. Elabore um algoritmo para resolver um sistema pelo Método de Gauss.
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
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
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
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
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
AG
G
4 1 1 9
T 0 4.5 0.5 10.5
0 0 6.889 20.667
2 5 3 - 12 L3 L3 2L1
1 0 0,5625 3,6875
0 1 0,375 -3,875
0 0 2,5 2,75
1 0 0,5625 3,688
0 1 0,375 - 3,875
0 0 1 1,1
1 0 0 3,069
0 1 0 -4,288
0 0 1 1,1
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
LY B
AX B LUX
B
Y UX Y
L = Matriz triangular inferior com diagonal unitária
U = Matriz triangular superior.
a 11(1) a 12
(1)
a 13 1
(1)
0 0 a 11
(0)
a 12
(0)
a 13
(0)
( 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)
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
2x 1y 1z 3
x 3y 2z 1
x 2y 4z 5
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 j1
j i
(1)
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 )
1in
i = 1,2,3,...,n
k +1
x 3 = (4 2x 1 2x 2 )/4
k k
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á
Pelo 1º critério: Max x (ik 1) x (ik ) , temos:
1in
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 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
10 x1 2x 2 x3 7
x1 5x 2 x3 8
2x 3x 10 x 6
1 2 3
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 (nk11)
i1 n
x k 1
(bi aij x k 1
j aij x kj ) / aii i = 1,2,...,n (2)
j1 ji1
ji ji
dado.
3x 1 x 2 x 3 1
x1 3x 2 x 3 5
2x 2x 4x 4
1 2 3
k +1
x 3 = (4 2x 1 2x 2 )/4
k +1 k +1
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:
1in
Critério de Linhas
Seja o sistema linear A x b , com A dimensão n n e seja:
n
a kj
j1
k
jk
a kk
Se max k 1 , então o método Gauss-Seidel gera uma seqüência
k 1,n
x
(k )
Critério de Sassenfeld:
Seja o sistema linear Ax b , com A dimensão n n e seja:
e para j 2,3,.............n :
Define-se max j .
j1,n
a) Critério de Linhas
03
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
03
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.
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
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
4) Considerando o circuito
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.
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
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
.................................
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 ,
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.
Given
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:
Solução: letra d
N 6 n N 1 n5
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
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 1ni
mat a
i 1 n 2 2 i 1
mat
A Vandermondecomy ( 5)
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
AG
G
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 jxj
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)
x = xn P(xn) = yn
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 n1 )
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 n1 )
n (x - x j )
L k (x)
j0 (x k x j )
jk
n
P( x ) y j .L j ( x )
j0
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
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
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
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
xn f[xn]
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:
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:
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.
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.
Graficamente, tem-se:
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
a x0
b x1
h
IT f(x0 ) f(x1 )
2
Ii
h
f ( x i ) f ( x i1 )
2
n1
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 n1 ) f ( x n )]
2 2 2
f ( x 0 ) f ( x n ) 2f ( x 1 ) f ( x 2 ) ... f ( x n1 )
h
ITR
2
os resultados.
h = (3,6 – 3)/6 =
xi f(xi)
3
3,1
3,2
3,3
3,4
3,5
3,6
ou
( 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
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
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
0 senxdx 36 0 1 40,2588 0,7071 0,9659 20,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)
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.
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
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.
dy
Supondo que: dx y'(x) f(x, y(x)), x [a, b]; x0 a
y(x ) y
0 0
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
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
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!
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)
xk x0 k.h
y1 y( x 0 )
onde : y'( x 0 )
x1 x 0
ba
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.
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
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.
Runge-Kutta de ordem 2:
No caso de Euler aperfeiçoado, obtemos:
Runge-Kutta de ordem 4:
1. SELA:
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 nn1x (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(nk11)
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
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
xn f[xn]
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
RESUMO – PARTE 2
Cálculo Numérico Computacional – URI – II/2013 99
3. Integração Numérica:
ITR
h
f ( x 0 ) f ( x n ) 2f ( x1 ) f ( x 2 ) ... f ( x n1 )
2
RESUMO – PARTE 2
Cálculo Numérico Computacional – URI – II/2013 100