Você está na página 1de 111

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL

FACULDADE DE MATEMÁTICA

CÁLCULO NUMÉRICO
Notas de Aula – Aplicações – Exercícios

Eliete Biasotto Hauser


Índice

1 Sistema de Ponto Flutuante Normalizado – Teoria dos Erros....................4

2 Resolução de Equações Algébricas e Transcendentes.............................. 9

3 Sistemas de Equações Lineares................................................................ 25

4 Interpolação Polinomial............................................................................ 36

5 Ajuste de Funções..................................................................................... 44

6 Integração Numérica.................................................................................57

5 Resolução Numérica de Equações Diferenciais Ordinárias..................... 62

8 Resolução Numérica de Equações Diferenciais Parciais.......................... 68

9 Bibliografia ...............................................................................................79

Formulário....................................................................................................80

Laboratórios utilizando Sistema Maple....................................................... 83


1 –Teoria dos Erros - Sistema de Ponto Flutuante

Um número y na base β ≥ 2 , y = a n a L a a a a , b b2 L pode ser descrito


n −1 3 2 1 0 1
na forma
y = an β n + a
n −1
β n − 1 + L + a 3 β 3 + a 2 β 2 + a1 β + a0 + b1 β − 1 + b2 β − 2 + L .

Por exemplo, 3517 ,26 = 3 × 10 3 + 5 × 10 2 + 1 × 10 + 7 + 2 × 10 − 1 + 6 × 10 − 2


Em aritmética de ponto flutuante normalizado de t dígitos, y tem a forma:
y = ⎛⎜ 0 , d d L d t ⎞⎟ × β e
⎝ 1 2 ⎠β

i) 0 , d d L d t é a mantissa (uma fração na base β),


1 2
ii) 0 ≤ d j ≤ β − 1, d 1 ≠ 0 , j=1,2,...,t
iii) “e” é um expoente inteiro que varia no intervalo [m,M].
M e m dependem da máquina utilizada. Em geral, m = -M ∈ Z.
iv) t define a precisão da máquina, é o número de dígitos da mantissa.
Obs: precisão ≠ exatidão(depende da precisão da máquina e do algorítmo utilizado)

A união de todos os números de ponto flutuante normalizados com o zero:


30 × β
m
0 = 0 .000
142 L
4
t vezes
é chamado Sistema de Ponto Flutuante Normalizado e representado por F(β, t, m, M).
Alguns exemplos de máquinas com precisão simples:
a) HP 48 : F(10, 12, -498, 500)
b) IBM 3090 : F(16, 6, -64, 63)
c) Cray1 : F(2, 48, -8192, 8191)
d) Burroughs B6700: F(8, 13, -63, 64)

Em F valem as propriedades:
1) 0,1 x β m é o menor número em módulo, não nulo, de F.

2) 0, ( β − 1)( β − 1)...( β − 1) x β M é o maior número, em módulo, não nulo, de F.


144424443
t vezes
3) # F = ⎡⎢2( β − 1) β t −1 ( M − m + 1)⎤⎥ + 1 é o cardinal de F
⎣ ⎦

4) Para qualquer mantissa, vale β 1 ≤ mantissa < 1 .
5) Se y ∈ F , então − y ∈ F .
6) 0 ∈ F e 1 ∈ F .

Se o expoente da base não pertencer a [m,M], y não pode ser representado em F.


São os casos de erro de:

- underflow, se e < m (ultrapassa a capacidade mínima)


- overflow, se e > M (ultrapassa a capacidade máxima)

4
E.B.Hauser – Cálculo Numérico

Se a representação do real y em F não é exata, é necessário utilizar um


arredondamento. Os tipos de arredondamento mais conhecidos são:
- Arredondamento para número mais próximo de máquina (Oy).
- Arredondamento por falta, ou truncamento ( ∇ y).
- Arredondamento por excesso ( ∆ y)
Em F, geralmente, as operações de adição e multiplicação não são comutativas,
associativas e nem distributivas, pois numa série de operações aritméticas, o
arredondamento é feito após cada operação. Ou seja, nem sempre as operações aritméticas
válidas para os números reais são válidas em F. Isto influi na solução obtida através de um
método numérico. Assim, métodos numéricos matematicamente equivalentes, podem
fornecer resultados diferentes.

Medidas de Exatidão

Quando se aproxima um número real x por x*, o erro que resulta é x-x*. Define-se:
x − x*
erro absoluto: EA = x − x * e o erro relativo: ER = para x ≠ 0 .
x
A fim de ver o tipo de situação que pode ocorrer um erro relativo de grande
magnitude, vamos considerar a diferença entre os números a seguir, por exemplo:
x = 0,3721478693
y = 0,3720230572
x − y = 0,0001248121=0,1248121 x 10-3
Se os cálculos forem feitos em F(10, 5, -499, 499) com arredondamento Ox:
x*= 0,37215, y*= 0,37202 e x*-y*= 0,00013 = 0,13000 x 10-3
Assim, o erro relativo entre os dois resultados é grande:
x − y − ( x * -y*) 0,1248121 x 10 - 3 − 0 ,13000 x 10 - 3
= ≈ 4%
x− y 0,1248121 x 10 - 3
Na resolução de um problema o valor exato da solução x pode ser desconhecido.
Podemos usar duas aproximações sucessivas de x, definindo:
⎡ ⎛ x k +1 − x k ⎞⎤
DIGSE ( x k , x k +1 ) = − ⎢0,3 + log⎜⎜ µ + ⎟⎥

⎣⎢ ⎝ x k +1 ⎠⎦⎥
o qual expressa o número de dígitos significativos exatos de x k em relação a x k + 1 . Aqui
1 1− t
µ representa a unidade de arredondamento da máquina ( µ = β se o arredondamen-
2
to for Ox ).

5
1 - Teoria dos Erros

Algoritmos Numéricos

O Cálculo Numérico tem por objetivo estudar e aplicar algoritmos numéricos para a
solução de problemas, visando o menor "custo" e confiabilidade do resultado (observar
tempo de execução, número de operações aritméticas, quantidade de memória, propagação
do erro, etc).
Um bom algoritmo numérico deve se caracterizado por:
a) Independência da máquina :a execução do programa pode ser realizada em diferentes
máquinas.
b) Inexistência de Erro Aritmético: problemas de overflow e underflow devem ser detecta-
dos a priori
c) Inexistência de Erro Lógico: previsão de tudo o que poderá ocorrer durante o processo
(divisão por zero, por exemplo)
d) Quantidade finita de cálculos.
e) Existência de um critério de exatidão.
f) O erro deve convergir para zero com precisão infinita.
g) Eficiência: produz a resposta correta com economia

Passos para a resolução de um problema: tipos de erros

A resolução de problemas reais envolve diversas etapas:

Modelagem
Problema Solução
Matemática
Real

Estudaremos algoritmos numéricos a fim de obter uma solução numérica do


problema, a qual, geralmente, difere da solução exata. Possíveis fontes de erro que geram
essa diferença são:
a) Simplificação do modelo matemático ( algumas variáveis envolvidas são desprezadas);
b) Erro nos dados de entrada ( com frequência provindos de dados experimentais);
c) Truncamento (por exemplo, substituição de um processo infinito por um finito e
linearizações);
d) Erro de arredondamento em aritmética de ponto flutuante.

Aplicação
O volume de uma esfera de raio r pode ser obtido de
4π r 3
V= .
3
Estimar o volume do hemisfério de raio “e” representado
graficamente ao lado. Utilizar arredondamento para número
mais próximo de máquina (0x) em F( 10 , 4 , -98 , 98).

6
E.B.Hauser – Cálculo Numérico

Exercícios
1) No sistema MapleV estimar e − 8.3 utilizando

− ( − x )i
∑ e− x =
x 1 1
e = e =
i! ex ∞ i
i =0

x
i!
i =0
com 26 termos cada e comparar com e − 8.3 ≈ 0.2485168271x10 .
-3

2) Em F(10 , 3 , -98 , 98) e arredondamento por truncamento estimar p(2.73) se:


a) p( x ) = x 3 − 5 x 2 + 6 x + 0.55
b) p( x ) = (( x − 5 )x + 6 )x + 0.55
-1
Em ambos os casos estimar o erro absoluto ao comparar com p(2.73) ≈ 0.11917x10 .
Obs: Estimar p(x) pelo algoritmo usual
p ( x) = a n x n + a x n −1 + ... + a x 3 + a x 2 + a x + a
n −1 3 2 1 0
2
exige n adições e (n +n)/2 multiplicações enquanto que o algoritmo de Horner
{ a n x + a n −1 ) x + a n − 2 ) x + ...a 2 ) x + a1 ) x + a 0
p ( x) = (((...(
n −1
requer n adições e n multiplicações.

3) Sejam A, B, C e D matrizes genéricas de ordem 10x20, 20x50, 50x1 e 1x100


respectivamente. Utilizando a propriedade associativa, pode-se determinar o produto
matricial AxBxCxD de diversas formas. Qual das duas abaixo é mais eficiente? Porque?
a) Ax(Bx(CxD)) b) (Ax(BxC))xD

4) Representar o número real x na base 2 usando 8 algarismos significativos? Essa


representação é exata? a) x=0.6 b) x=13.25 c) x= 2.47

5) Determinar o cardinal , regiões de underflow e overflow e todos elementos reais de:


a) F(2,3,-1,2) b) F(3,2,-1,2) c) F(2,2,-2,2)

6) Representar, se possível, os números abaixo em utilizando arredondamento por


truncamento( ∇x )e arredondamento para número mais próximo de máquina (Ox) em
F(10,5,-2,2).
200 2000 1
a) 3 b) c) d) e e) f) 2
3 3 3000

10 1
7) Considerando: A = ∑
i
i =1 2
a) Calcular o valor de A utilizando precisão infinita..
b) Utilizando arredondamento por truncamento ( ∇x ) em F(10,3,-98,98), estimar o valor de
A somando da direita para esquerda e após somando da esquerda para a direita. Comparar
os resultados.

7
1 - Teoria dos Erros

Respostas:
1) exp(-8.3);
.0002485168271
> f1:=sum(((-x)^i)/i!, i=0..25):
> f1a:=unapply(f1,x):
> f1a(8.3);
-.001241405905
Obs: Causas desse erro: subtração de grandezas muito próximas e adição de grandezas de
diferentes ordens.
>
> f2:=1/(sum(((x)^i)/i!, i=0..25)):
> f2a:=unapply(f2,x):
> f2a(8.3);
.0002485170000

2) a)p(2.73)= -0.05 ,erro absoluto = 0.038083


b)p(2.73)=0.032 ,erro absoluto = 0.020083

3) (Ax(BxC))xD é mais eficiente pois exige 2200 multiplicações enquanto que para calcular
o produto Ax(Bx(CxD)) são necessárias 125000 multiplicações .
OBS: Se M é de ordem pxq e N de ordem qxr, então MxN, de ordem pxr, é obtida efetuando
pqr operações de multiplicações de elementos de M e N.

4-a) (0,6)10 ≈ (0,10011001) 2 b) (13,25)10 ≈ (1101,01) 2 c) (2.47)10 ≈ (10,011110) 2

5)-a) 0, 1/4, 1/2, 1, 2, 5/16, 5/8, 5/4, 5/2, 3/8, 3/4, 3/2, 3, 7/16, 7/8, 7/4, 7/2 e simétricos.
# F = 33 Região de oferflow: ( −∞,−7 / 2) ∪ (7 / 2,+∞)
Região de underflow: (-1/4,1/4) - {0}

b) 0, 1/9, 1/3, 1,3, 4/27, 4/9,4/3, 4, 5/27, 5/9, 5/3, 5, 2/9, 2/3, 2, 6, 7/27, 7/9, 7/3, 7, 8/27,
8/9, 8/3, 8 e seus simétricos. # F = 49 Região de oferflow: ( −∞,−8) ∪ (8,+∞)
Região de underflow: (-1/9,1/9) - {0}
c) 0, 1/8, 1/4, 1/2, 1, 2, 3/16, 5/16, 3/4, 3/2, 3, e seus simétricos. # F = 21
Região de oferflow: ( −∞,3) ∪ (3,+∞)
Região de underflow: (-1/8,1/8) - {0}

6-a) 0,17320*101 e 0,17321 *101 b) 0,66666*102 e 0,66667*102


c) overflow (0,66666*103 ∉ e 0,66667*103 ∉ F) d) 0.27182*101 e 0.27183*102
e) underflow (0.33333*10 –3 ∉ F) f) 0,14142*101 e 0,14142 *101

7-a) 0,9990234375 b) 0,999 e 0,998

8
2. Resolução de Equações Algébricas e Transcendentes

Objetivo: Resolver equações de forma f ( x ) = 0 , isto é, determinar os valores de x para os quais a


igualdade f ( x ) = 0 é satisfeita.
Se a função f ( x ) só contém operações algébricas repetidas um número finito de vezes, a
equação é dita algébrica.

1 5
Ex.: polinômios, x 2 − x − 1 = 0, − x =0
x3

Equações Transcendentes são aquelas em que a variável independente x está submetida a


uma operação não algébrica um número finito de vezes.

Ex.: e x + x 2 + 1 = 0, ln x + tgx = 0, sen x − e x = 0

2.1- Equações Polinomiais

Revisão sobre polinômio:

Seja p( x ) = a n x n + a n −1 x n −1 + K + a 2 x 2 + a1 x + a 0 um polinômio de grau n, onde os


coeficientes , são números reais e an ≠ 0 .
Temos que:
1) p( x ) possui n raízes, contadas as multiplicidades.

2) Se x1 , x2 ,K, xn forem raízes reais de p( x ) , então p( x ) pode ser fatorado na forma:


p( x ) = an ( x − x1 )( x − x2 )K( x − xn ) .

Ex1: p( x ) = x 3 + 2 x 2 − x − 2 , tem raízes:


x1 = 1, x2 = −1, x3 = −2 . Logo,
p( x ) = ( x − 1)( x + 1)(x + 2 )

3) Se a + bi é raiz de p( x ) então z = a − bi também o é.

Ex.: p( x ) = x 2 − 6 x + 10 tem raízes 3 ± i .

9
E.B.Hauser – Cálculo Numérico

4) Se a + bi é raiz de p( x ) de grau n ≥ 2 , então p( x ) pode ser fatorado:


( )
p( x ) = x 2 − 2ax + a 2 + b 2 ⋅ q( x )
onde o grau de q( x ) é n − 2 .
Ex.: a) p( x ) = x 4 − 2 x 3 + x 2 + 2 x − 2 tem raízes ± 1, 1 ± i .
( )(
p(x ) = x 2 − 2 x + 2 ⋅ x 2 − 1)
Ex.: b) p( x ) = x 3 − 7 x 2 + 16 x − 10 tem raízes 1, 3 ± i .
( )
p( x ) = x 2 − 6 x + 10 ⋅ ( x − 1)

5)Se p ( x ) é de grau ímpar, então p ( x ) possui ao menos uma raiz real.

6) Uma raiz x0 de p( x ) tem multiplicidade m se p( x0 ) = p ' ( x0 ) = p " ( x0 ) = K = p m−1 ( x0 ) = 0


e p m ( x0 ) ≠ 0

Ex.:1) x0 = 2 é raiz de multiplicidade 2 p( x ) = 2 x 3 − 6 x 2 + 8


2) x0 = 2 é raiz de multiplicidade 3 de p( x ) = x 4 − 5 x 3 + 6 x 2 + 4 x − 8

10
2 - Resolução de Equações Algébricas e Transcendentes

7) Valor numérico de um polinômio: para calcular, de forma usual, p(xi ) são necessárias n
n(n + 1)
adições e multiplicações.
2
O Método de Horner faz esse cálculo com n adições e n multiplicações:
p( x ) = (((KK (a n x + a n −1 ) x + K + a 2 ) x + a1 ) x + a 0
123
n −1 parênteses

Ex.: p( x ) = 3x 5 + 4 x 4 − 2 x 3 − x 2 + 3 x − 4 = ((((3x + 4) x − 2) x − 1) x + 3) x 4

8) Se p( x ) é de grau n , então existe único polinômio de grau n − 1, q( x ) , tal que


p ( x ) = ( x − α ) ⋅ q( x ) + p (α ) .
Se α é raiz de p( x ) então p (α ) = 0 .
É o algoritmo de Briot-Ruffini utilizado para Deflacionar Raízes.
Ex.
p( x ) = x 3 − 7 x 2 + 16 x − 10
α 1 = 1 ⇒ ( x − 1)(x 2 − 6 x + 10) e p(1) = 0
α 2 = 2 ⇒ ( x − 2)(x 2 − 5 x + 6) e p(2) = 2
α 3 = −3 ⇒ ( x + 3)(x 2 − 10 x + 46) e p(− 3) = −148

2.1.1-Enumeração das Raízes

Enumerar as raízes de p( x ) é dizer quantas são as raízes e se positivas, negativas ou


complexas.

Regra de Descartes ou Regras de Sinais

“O número de raízes reais positivas de p( x ) é igual ao número de variações de sinais na


seqüência dos coeficientes ou menor do que este por um número inteiro par, sendo uma raiz de
multiplicidade “m” contada como “m” raízes e não sendo considerados os coeficientes nulos”.
O número de raízes reais negativas é obtido aplicando a regra de Descartes a p (− x )

Regra de Huat

Se p ( x ) não tiver raízes nulas e para algum k, a k2 ≤ a k −1 × ak +1 então p( x ) possui raízes


complexas.

Regra da Lacuna
Se p (0 ) ≠ 0 e para algum K, a k = 0 e a k −1 × ak +1 > 0 , então p ( x ) tem raízes complexas.

11
E.B.Hauser – Cálculo Numérico

Ex.: p( x ) = 3 x 5 + x 4 − 5 x 3 − x − 1
• p( x ) pode ter: 1 raiz real
positiva, 2 raízes negativas e 2 complexas;
ou
• 1 raiz real positiva, nenhuma negativa, e 4
complexas.

2.1.2-Localização das raízes de p(x)

Localizar as raízes de p( x ) é determinar a região do plano que contém todas as raízes.

Cota de Cauchy:

Toda raiz α (real ou complexa) de p( x ) satisfaz α ≤ β .


Onde β = lim x k , x0 = 0 e
k →∞

a n −1 n −1 a n − 2 n − 2 a a
x k +1 = xk + xk + K + 1 xk + 0
an an an an

Ex.: p( x ) = x 4 − 3x 3 + 3,37 x 2 − 1,68 + 0,3136 x − 1


1
x k +1 = (3 x + 3,37 x + 1,68 x k + 0,3136)
3
k
2
k
4

x0 = 0 e
x1 = 0,748331477355 x15 = 3,93973077126
x 2 = 1,47358396156 x16 = 3,94696658200
x3 = 2,10693957916 x17 = 3,95190592045
x 4 = 2,61655565303 x18 = 3,9552764745
x5 = 3,00483390194 x19 = 3,9575796715
M M
∴α ≤ 4

12
2 - Resolução de Equações Algébricas e Transcendentes

2.2- Separação de Raízes Reais de f(x)=0

a) Métodos Gráficos: Utiliza-se um dos seguintes processos:

i) esboçar gráfico da função f (x ) e localizar as abcissas dos pontos onde a curva


intercepte o eixo dos x.
ii) de f ( x ) = 0 obter uma equação equivalente f1 ( x ) = f 2 ( x ) . Localizar no mesmo eixo
cartesiano os pontos r onde as duas curvas se interceptem:
f1 (r ) = f 2 (r ) ⇒ f1 (r ) − f 2 (r ) = 0 ⇒ f (r ) = 0

b) Método Analítico: Seja f ( x ) continua no intervalo [a, b] . Se f (a ) ⋅ f (b ) < 0 , então


existe pelo menos uma raiz de f em [a, b] . (Se o sinal de f ' é constante em (a, b )
a raiz é única nesse intervalo).

Ex.: p( x ) = x 3 − 9 x + 3

a) Análise gráfica:

Logo, existem três raízes reais: r1 ∈ [− 4 , − 3], r2 ∈ [0 , 1] , r3 ∈ [2 , 3]

b) analiticamente:

x −4 −3 − 3 −1 0 1 3 2 3
p ( x ) − 25 3 13,3923 11 3 − 5 − 7,3923 − 7 3

Obs: Devemos dar uma atenção especial para os casos de:


¾ Raízes muito próximas.
¾ para raízes de multiplicidade par não ocorre troca
de sinal.

13
E.B.Hauser – Cálculo Numérico

Ex1:
p( x ) = x 4 − 3 x 3 + 3,37 x 2 − 1,68 x + 0,3136

r1 = 0,7 e r2 ≅ 0,8 são raízes de multiplicidade 2.

2.3- Métodos para Resolução de equações algébricas e transcendentes

Qualquer método deve observar um critério de parada, ao qual está associado um estimador
de exatidão. Por exemplo, para onde C , ε 1 , ε 2 , L são dados:

• DIGSE( x k , x k + 1 ) ≥ C
• f (xk ) ≤ ε 1
x k +1 − x k
• ≤ ε2
x k +1
• k > L (número máximo de iterações)

2.3.1-Método da Bisseção ou Dicotomia (Algoritmo de quebra)

Seja f : [a, b] → ℜ continua e tal que f (a ) ⋅ f (b ) < 0 .

a+b
1) Calcula-se o ponto médio x m = , dividindo-se [a, b ] em dois novos intervalos :
2
[a, x m ] , [x m , b]
2) Se f ( x m ) ≠ 0 e:
i) f (a ) ⋅ f ( x m ) < 0 então a raiz está em [a, x m ] . Volta-se para (1)
ii) f ( x m ) ⋅ f (b ) < 0 então a raiz está em [x m , b] . Volta-se para (1)
3) Repete-se o processo até obter uma aproximação “razoável” da raiz, isto é, até que
um critério de parada seja satisfeito.

Características: É simples a convergência lenta mas garantida. A velocidade de


convergência é 0,3 ⋅ DIGSE /passo, isto é, a cada 3 ou 4 passos ganha-se um DIGSE .

Ex: p( x ) = x 4 + 2 x 3 − 7,5 x 2 − 20 x − 11
a) Enumeração das raízes de p (x )
Regras de Huat e Lacuna ℜ+ ℜ− ⊂ total
não aplicam 1 3 0 4
1 1 2 4

14
2 - Resolução de Equações Algébricas e Transcendentes

b) Cota de Cauchy:
x k +1 = 4 2 x k3 + 7,5 2k + 20 x k + 11, x 0 = 0

x1 = 1,82116028684 M
x 2 = 3,03080111616 x14 = 4,64729539211
x3 = 3,74256184946 x15 = 4,64784057829
x 4 = 4,14695320458 x16 = 4,64813826094
M x17 = 4,64830079964

c) Separação de raízes

x −5 − 4 − 3 − 2 −1 0 1 2 3 4 5
p( x ) 276,5 77 8,5 −1 5 − 11 − 35,5 − 49 − 35 173 576,5
r1 r2 r3 r4

d) Cálculo da raiz r4 ∈ [3, 4] utilizando o método da bissecção.


k xk f (xk ) Ik
1 3,5 62,9375 [3; 35]
2 3,25 25,00390625 [3; 3,25]
3 3,125 9,660400391 [3; 3,125]
4 3,0625 2,871886353 [3; 3,0625]
5 3,03125 − 0,405335188 [3,03125; 3,0625]
6 3,046875 1,1900454168 [3,03125; 3,046875]
7 3,0390625 0,3883184832 [3,03125; 3,039625]
8 3,03515625 − 0,0095143543 [3,03515625; 3,0390625]
9 3,037109375 0,1891500395 [3,03515625; 3,037109375]
10 3,0361328125 0,0897548754 [3,03515625; 3,0361328125]
11 3,03564453125 0,0401045242 [3,03515625; 3,03564453125]
12 3,03540039062 0,01529111512 [3,03515625; 3,03540039062]
13 3,0352783203 0,002874148 M
Obtemos r4 ≈ x12 = 3,0354039062 com DIGSE ( x12 , x13 ) ≅ 4,096

2.3.2-Método da Iteração Linear


Consiste em escrever a equação f ( x ) = 0 na forma x = G ( x ) . Os pontos x* que
( )
satisfazem a condição x * = G x * são ditos pontos fixos de G (x ) e geometricamente
representam os pontos de intersecção da reta y = x com a curva y = G ( x ) .
G ( x ) é dita função de iteração do método. Inicia-se a iteração com um valor x0
próximo da raiz, e as outras aproximações são dadas por:
xi +1 = G ( xi ), i = 0,1,2,K

15
E.B.Hauser – Cálculo Numérico

A seqüência de aproximação xi , converge para


a solução x* da equação f ( x ) = 0 sob certas
condições .
A construção de G não é única. A escolha de
uma G apropriada é dita “problema do ponto fixo.
Ex. x 2 + x − 6 = 0 .
a) G1 ( x ) = 6 − x 2
6 6
b) G 2 = 6 − x , c ) G3 = − 6 − x , G4 = , G5 = −1
x +1 x

Embora não seja preciso usar métodos numéricos para encontrar as duas raízes reais
α 1 = −3, e α 2 = 2 da presente equação, nota-se que:

i) Tomando G1 e x0 = 1,5 , a seqüência {xi } não converge para 2.


xi +1 = G1 ( xi )

x1 = G1 ( x0 ) = 6 − (1,5) 2 = 3,75
x 2 = G1 ( x1 ) = 6 − (3,75) 2 = −8,0625
x3 = G1 ( x 2 ) = 6 − (−8,0625) 2 = −59,00390625
x 4 = G1 ( x3 ) = −3475,46095276
x5 = G1 (x 4 ) = −12078822,8342
M

ii) Tomando G2 e x0 = 1,5 , a seqüência {xi } converge para 2.

x1 = G2 (x0 ) = 6 − 1,5 = 2,12132034356


x 2 = G2 ( x1 ) = 1,9694363804
x 3 = G2 ( x2 ) = 2,00762636454
x 4 = G2 ( x3 ) = 1,99809249923
x 5 = G2 ( x4 ) = 2,00047681835
x 6 = G2 ( x5 ) = 1,99988079186
x 7 = G2 ( x6 ) = 2,00002980181
M

Teorema da Convergência:
Seja α uma raiz isolada de f em [a, b] . Se
i) G e G’são contínuas em Ι ;
ii) G ' ( x) 〈1, ∀x ∈ Ι ;
iii) x 0 ∈ Ι e x k +1 = G ( x k ) ∈ Ι, k = 0,1,2,... ( G (Ι) ⊂ Ι ) então a seqüência { xk }, gerada
por xk +1 = G ( xk ) ,converge para α .

16
2 - Resolução de Equações Algébricas e Transcendentes

Ex: Utilizando o método da iteração linear calcule a


raiz de f ( x ) = e x + x 3 , com DIGSE (x k , x k +1 ) ≥ 5

f ( x ) = 0 ⇒ e x + x 3 = 0 ⇒ x 3 = −e x
x

⇒ x = − e = −e3 x 3

Seja
x

G ( x ) = −e 3

G ' ( x ) = − e 3 ; G ' (− 1) ≅ 0,24 *


1
3
G ' (0 ) ≅ 0,33

G e G’ são continuas em [-1,0] e


G ' ( x ) < 1 ∀x ∈ [−1,0] .
xi

Logo , a seqüência gerada por xi +1 = −e 3 converge para α ∀x ∈ [−1,0] .


Seja x0 = −0,5

x1 = −0,846481725 x 6 = −0,772800243
x 2 = −0,754152577 x7 = −0,772904269
x3 = −0,777723518 x8 = − 0,772877469 f ( x9 ) = 0,000003188 e
x 4 = −0,771636903 x9 = −0,772884374 DIGSE ( x9 , x10 ) ≅ 5,34
x5 = −0,773204044 x10 = − 0,772882595
M
*G não tem Maximo nem mínimo local em [0,1], testa-se então só os extremos.

Características do Método da Iteração Linear:

¾ Não garante a convergência para toda função continua.


¾ Necessita do calculo de G’(x).
¾ Pode ocorrer dificuldade para encontrar G(x).
¾ A convergência é linear para raízes simples (a cada passo do método o erro é reduzido por
um fato constante).
¾ A velocidade de convergência depende de G ' (x ) , quanto menor este valor, maior será a
convergência.

17
E.B.Hauser – Cálculo Numérico

Obs.: Dada a equação f ( x ) = 0 , existem infinitas funções G(x) que são funções de iteração. A
forma geral destas funções é:
G ( x ) = x + A( x) ⋅ f ( x) ,
com a condição que em x*, ponto fixo de G(x), se tenha A( x * ) ≠ 0 . Temos que:
f ( x * ) = 0 ⇔ G ( x * ) = x * Com efeito:
( ⇒ ) Seja x * tal que f ( x * ) = 0 .
G ( x * ) = x * + A( x * ) ⋅ f ( x * ) = x * + A( x * ) ⋅ 0 = x *

(⇐) Se G ( x * ) = x * ⇒ x * + A( x * ) ⋅ f ( x * ) = x *
⇒ A( x * ) ⋅ f ( x * ) = 0 ⇒ f ( x * ) = 0 pois A( x * ) ≠ 0

2.3.3-Método de Newton-Raphson

Procura garantir e acelerar a convergência do método da Iteração Linear, escolhendo para a


função de iteração a função G(x) tal que G’(x)=0
Dada a função f ( x) = 0 , tomamos a forma geral para G9x):

G ( x) = x + A( x) ⋅ f ( x) ⇒ G ' ( x) = 1 + A' ( x) ⋅ f ( x) + A( x) ⋅ f ' ( x) ⇒


G ' ( x * ) = 1 + A' ( x * ) ⋅ f ( x * ) + A( x * ) ⋅ f ' ( x * ) ⇒ G ' ( x * ) = 1 + A( x * ) ⋅ f ' ( x * ),
pois x * é ponto fixo de G ( x * = G ( x * ) ⇒ f ( x * ) = 0) .
−1
Agora , G ( x * ) = 0 ⇒ 1 + A( x * ) ⋅ f ' ( x * ) = 0 ⇒ A( x * ) = .
f ' (x* )
1 f ( x)
Tomemos A( x) = − e G ( x) = x − .
f ' ( x) f ' ( x)
( )
Então dada f ( x ) , G ( x ) é tal que G ' x * = 0 , pois
[ f ' ( x)] − f ( x) ⋅ f " ( x) f ' ( x) ⋅ f " ( x)
2
G ' (x ) = 1 − = e
[ f ' ( x)]2 [ f ' ( x)]2
f ( x * ) = 0 ⇒ G ' ( x * ) = 0 se f ' ( x * ) ≠ 0.

Portanto, iniciando-se a iteração com um valor x0 escolhido, a seqüência ( x k ) é


determinada por:
f ( xk )
xk +1 = xk − , k = 0,1,2,... f ' ( xk ) ≠ 0
f ' ( xk )
Geometricamente , conforme podemos observar na próxima figura, dado x k , x k +1 é
abscissa do ponto de intersecção da reta tangente à curva f (x ) em ( x k , f ( x k )) e o eixo dos “x”.
Assim,
f ( xk ) f ( xk )
tgθ = = f ' ( x k ) ⇒ x k +1 = x k −
x k − x k +1 f ' ( xk )

18
2 - Resolução de Equações Algébricas e Transcendentes

f ( xk )

f ( xk + 1 )

θ
xk + 1 xk
x k +1

Convergência: (é trabalhoso mostrar que G' ( x ) < 1 ).


O método de Newton-Raphson converge se:
f ( x) f " ( x)
G ' ( x) = 2
< 1 ⇒ f ( x) f " ( x) < ( f ' ( x)) 2 .
( f ' ( x))
Para raízes simples a convergência é quadrática e para raízes duplas ou triplas é linear.

Escolha do ponto inicial: Seja α ∈ [a, b] raiz de f .


f (a) ⋅ f " (a) > 0 ⇒ x0 = a
Se
f (b) ⋅ f " (b) > 0 ⇒ x0 = b
(a + b)
Caso contrário, pode-se considerar x0 = .
2

Ex.: 1) Estimar o valor da única raiz real de f ( x ) = 2 x + ln x , utilizando Newton-Raphson.

2 x + ln x
f ( x ) = 2 x + ln x x, x−
1
2−
x

19
E.B.Hauser – Cálculo Numérico

2 xk + ln xk
xk + 1 = x k −
1
2+
xk
x0 = 0 ,5
x1 = 0 ,42
x2 = 0 ,42699599
x3 = 0 ,426302751
x4 = x 3
Logo a aproximação para a raiz é α = 0 ,426302751 com 9 dígitos significativos corretos.

2) Calcular a raiz r4 ∈ [3,4] do polinômio dado anteriormente: p( x) = x 4 + 2 x 3 − 7,5 x 2 20 x + 11 .

p(3) ⋅ p" (3) < 0 e p (4) ⋅ p" (4) > 0 ⇒ x 0 = 4

x k4 + 2 x k3 − 7,5 x k2 − 20 x k − 11
x k +1 = xk −
4 x k3 + 6 x k2 − 15 x k − 20

x0 = 4
x1 = 3,36397059 Uma aproximação para a raiz é r4 = 3,03524990
com 9 dígitos significativos e 5 iterações.
x 2 = 3,08982331
x3 = 3,03709653
x 4 = 3,03525211
x5 = 3,03524990
x 6 = x5

Obs: O Método de Newton pode divergir devido ao uso da tangente, oscilando indefinidamente.

20
2 - Resolução de Equações Algébricas e Transcendentes

Isto acontece quando:


i) Não há raiz real
ii) Ocorre simetria de f ( x ) em torno de α
iii) O valor inicial x0 está longe da raiz exata, fazendo que outra parte da função
prenda a iteração.

2.3.4-Método da Secante

Uma desvantagem do Método de Newton-Raphson é o calculo do valor numérico de


f ' ( x ) a cada iteração.
O método da secante contorna este problema, substituindo a derivada pelo quociente das
diferenças:
f ( x k ) − f ( x k −1 )
f ' ( xk ) ≅
x k − x k −1
onde xk e x k −1 são duas aproximações para a raiz de f ( x ) . A formula iterativa é:
( x k − x k −1 ) ⋅ f ( x k )
x k +1 =
f ( x k ) − f ( x k −1 )
Geometricamente, a partir das aproximações para a raiz de xk e x k +1 , o ponto x k +1 é dado pela
abscissa do ponto de intersecção do eixo Ox e da reta secante que passa por
( x k −1 , f ( x k −1 )) e ( x k , f ( x k )) .

Características do método da secante:


9 Garante a convergência para toda função continua
9 Pode divergir se f ( x k ) ≅ f ( x k −1 )
9 Convergência mais lenta que o Método de Newton e mais rápida que Bissecção e
Iteração Linear.
9 São necessárias duas aproximações da raiz a cada iteração.

Ex: p ( x) = x 3 − 5 x 2 + 17 x + 21 e α ∈ [−1,0]

( x k − x k −1 ) ⋅ ( x k3 − 5 x k2 + 17 x k + 21)
x k +1 = xk − 3
( x k − 5 x k2 + 17 x k + 21) ⋅ ( x k3−1 − 5 x k2−1 + 17 x k −1 + 21)

x0 = −1, x1 = 1
x1 = −0,888888888889
x 2 = −0,960142348759
x3 = −0,931787651586
x 4 = −0,932112394706
x5 = −0,93211485688
x6 = −0,932114856662
x7 = x6

21
E.B.Hauser – Cálculo Numérico

Exercícios

1) Uma partícula é arremessada verticalmente, a partir do solo, com uma velocidade inicial vo
.Desprezando a resistência do ar, supomos que a posição p partícula é dada por:
g
d ( t ) = vo t − t 2 ,
2
onde g é aceleração da gravidade. Determinar a altura máxima atingida pela partícula e o
instante em que ocorreu.

2) Uma corrente oscilante num circuito elétrico é descrita por I = 9e − t sen( 2 π t ) , t em


segundos. Determinar todos os valores positivos de t para os quais I = 3.5.

3) A concentração de uma bactéria poluente num lago é descrita por


C = 70 e − 1.5t + 2.5e − 0.075t
Encontrar o tempo para que a concentração seja reduzida para nove.

4) O deslocamento de uma estrutura está definido pela seguinte equação


D = 8 e − kt cos wt
onde k = 0.5 e w = 3.
a) Determinar graficamente uma estimativa inicial do tempo necessário para o deslocamento
decrescer para 4.
b) Usar o método de Newton-raphson para determinar essa raiz

5) Enumerar, localizar, separar e calcular (via Newton-Raphson e/ou Bissecção ), se possível, todas
as raízes dos polinomios tendo como critério de parada DIGSE (xk , xk+1) ≥ 5. No caso de raízes
múltiplas, determinar a multiplicidade da raiz e calcular as demais utilizando deflação.
a) p(x) = x 3 − 2 x 2 + 3x − 5
b) p(x) = x5 - 15,5x4 +77,5x3 - 155x2 +124x -31
c) p(x) = x 4 − 121x 3 + 2247 x 2 − 15043x + 34300
d) p(x) = x 4 − 115x 3 + 1575x 2 − 7625x + 12500

e) p(x) = x 4 − 3x 3 + 3.37 x 2 − 168


. x + 0.3136
f) p(x) = x -11,101x +11,1111x2-1,011x+0,001
4 3

g) p(x) = x9- 4x8 + 3,9x7 +3,02x6 - 5,5295x5 - 0,84732x4 + 2,83536x3 + 0,37152x2 -0,59616x -
0,15552
h) p(x) = x3 - 2081,93x2 +1424,64x- 3,19728
i) p(x) = x4 + 1,98x3 +1,1424x2 +0,162602x - 0,00174225

6) Localizar graficamente e calcular ( via Newton-Raphson e/ou Método da Iteração Linear) todas
as raízes, com DIGSE(xk , xk+1) ≥ 5:

22
2 - Resolução de Equações Algébricas e Transcendentes

a) f(x) = x2 + ln x
b) f(x) = x + 2 cos x
c) f(x) = 2x + ln x
d) f(x) = cos x + ln x + x
2
e) f(x)= x + e − Bx para B = 1,5,10,25,50

7) Responder resumidamente:
a) Em que consiste o princípio da bissecção para determinar a primeira aproximação de uma raiz
de uma equação f(x)=0?
b) Explicar o método da iteração linear para calcular uma raiz de uma equação f(x)=0, partindo de
uma primeira aproximação x0.
c) Quando não converge a iteração linear?
d) Quando não converge o Método de Newton Raphson?
e) Interpretar geometricamente o Método de Newton-Raphson.
f) Qual a vantagem de se utilizar o Algoritmo de Horner para se avaliar o valor do polinomio num
ponto? Exemplificar.

Respostas:

1) O deslocamento máximo é vo2/2g e ocorreu em t = vo/g.

2) t = 0.06835432097 e t = 0.4013436927

3) t = 1.556787935

23
E.B.Hauser – Cálculo Numérico

4) t = 0 .3151660803

5-a)
r+ r- ¢ T
3 0 0 3
1 0 2 3

p tem raízes complexas.

Existe uma raiz real em [1,2]

Raízes:
x=1,84373427779
x= 0.07813286110 ± 1.644926378i
.
b) Raízes: .4555300547, 1.092601944, 1.940878206, 4.011783883, 7.999205912
c) Raízes: R1=100 e R2= 7(multiplicidade 3), não tem raízes complexas.
d) Raízes: R1=10 e R2=5(multiplicidade 3), não tem raízes complexas.

e) Raízes: R1=0.7(multiplicidade 2), R2=0.8(multiplicidade 2)


f) Raízes: R1=0,001 R2=0,1 R3=1 R4=10
g) Raízes: R1=-0,5(multiplicidade 4), R2=1,2(multiplicidade 5)
h) Raízes: R1= 0.002251681490, R2 = 0.6822607762 , R3= 2081.245488
i) Raízes: R1=-1,01 R2=-0,75 R3=-0,23 R4=0,01

6-a) R ≅ .6529186400 b) R ≅ -1.029866529 c) R ≅ 0 .42630275100 d) R ≅ .2875182754

e) Existe única raiz de f em (-1,0)

24
3. Sistemas de Equações Lineares

O sistema com n equações lineares e n variáveis

a11 x1 + a12 x 2 + a13 x 3 + L + a1n x n = b1


a 21 x 2 + a 22 x 2 + a 23 x 3 + L + a 2 n x n = b 2
M M M M M
a n1 x1 + a n 2 x 2 + a n3 x 3 + L + a nn x n = b n

pode ser representado matricialmente por AX = B , onde

⎡ a 11 a 12 K a 1n ⎤ ⎡ x1⎤ ⎡ b1 ⎤
⎢ K ⎥ ⎢ ⎥ ⎢ ⎥
a 21 a 22 a 2n⎥ x2 b2
A=⎢ , X =⎢ ⎥ , B=⎢ ⎥ e
⎢ M M M ⎥ ⎢M⎥ ⎢M⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ a n1 a n 2 K a nn ⎦ ⎣ x n⎦ ⎣b n ⎦

A é a matriz dos coeficientes, X é o vetor das incógnitas e B o vetor dos termos independentes.

3.1- Introdução à problemática de sistemas

Um SEL pode ser mal condicionado, bem condicionado ou sem solução.


Um sistema é “mal condicionado” se uma pequena alteração nos dados pode provocar uma
grande alteração na solução. Por exemplo:

⎧ x + 0 ,98 y = 4 ,95 ⎛ 2 ,5 ⎞
(a) ⎨ tem solução exata x = ⎜⎜ ⎟⎟
⎩x + y = 5 ⎝ 2 ,5 ⎠

⎧ x + 0 ,99 y = 4 ,95 ⎛ 0 ,0 ⎞
(b) ⎨ tem solução exata x = ⎜⎜ ⎟⎟
⎩x + y = 5 ⎝ 5 ,0 ⎠

Uma alteração de 1% (0,01 no coeficiente 0,98) ocasionou uma alteração de 100% na solução.
No caso de um sistema linear de ordem 2, cada equação representa uma reta.
Resolver o sistema significa determinar a intersecção das duas retas. Três casos são possíveis:
R1
R1 R2 R2

R1
R2

Bem condicionado Não tem solução. Mal condicionado


det ≠ 0 det = 0 det ≅ 0
retas concorrentes retas paralelas (perturbação em ℜ 2 )

25
E.B.Hauser – Cálculo Numérico

Exemplo2:
⎧ x + 5 y = 17 ⎛2⎞
(a) ⎨ tem solução exata: x = ⎜⎜ ⎟⎟
⎩1,5 x + 7 ,501 y = 25 ,503 ⎝3⎠

⎧ x + 5 y = 17 ⎛ 12 ⎞
(b) ⎨ tem solução: x = ⎜⎜ ⎟⎟
⎩1,5 x + 7 ,501 y = 25 ,501 ⎝1⎠

3.2-Medidas de Condicionamento

O determinante normalizado da matriz dos coeficientes A é dado por


det A
NORM A = onde α k = ak21 + ak22 + L akn
2
, para k = 1, 2, ..., n
α 1α 2 Lα n
Norm A ∈ (− 1 , 1) e quanto mais afastado de ± 1 (isto é, quanto mais próximo de zero) mais mal
condicionado é a matriz A.
Retomando o Ex2:

1
⎛ 1 5 ⎞ α 1 = (1 + 25 ) 2 = 5 ,09901951359
2) A = ⎜⎜ ⎟⎟
( )
1
⎝ 1,5 7 ,501⎠
α 2 = 1,5 2
+ 7 ,5012 2
= 7 ,649550985358
det A = 7 ,501 − 5 ⋅ 1,5 = 0 ,001

0 ,001 0 ,001
norm A = = = 0 ,00002563773874
α 1 ⋅ α 2 39 ,0050000128

Agora, como pode ser medido o condicionamento de um sistema linear?

Dado um SEL AX = B , o seu número de condicionamento é dado por:


Cond ( A ) = A A−1 .
Quanto maior for Cond ( A ) , mais sensível será o sistema linear.
n
Utilizamos A = A ∞ = max ∑ aij , a norma do máximo das linhas.
1≤ i ≤ n i = 1
Ex:
⎛ 1 5 ⎞ ⎛ 7501 − 5000 ⎞
A = ⎜⎜ ⎟⎟ , A −1 = ⎜⎜ ⎟⎟
⎝ 1,5 7 ,501 ⎠ ⎝ − 1500 1000 ⎠

A = 9 ,001 , A − 1 = 12501

Cond ( A ) = A A − 1 = 112521,501 ≅ 1 ⋅ 10 5

26
Sistemas de Equaçõe Lineares

3.3-Método de Resolução de Sistemas

Métodos Diretos: A solução exata é obtida realizando-se um número finito de operações


aritméticas em ℜ (com precisão infinita): Eliminação de Gauss e Gauss Jordan.

Métodos Iterativos: A solução x é obtida como limite de uma seqüência de aproximações


sucessivas x1, x2, ... .

Método de Eliminação de Gauss

Algoritmo básico de Gauss: A solução de AX = B é calculada em duas etapas:

1º- Triangularização : Mediante operações elementares nas linhas, a matriz A é


transformada numa matriz triangular superior.

Algoritmo: para k = 1,K ,n − 1 (indica a linha do pivô)


para i = k + 1,K ,n (indica a linha a transformar de A)
− aik
m=
akk
aik = 0
para j = k + 1,K , n (indica a coluna a transformar da linha i)
a ij = a ij + m ⋅ a kj
bi = bi − m ⋅ b k
Obs.: Se a ii = 0 é necessário trocar de linha, se possível.

2º- Retro-substituição: A triangularização transforma o sistema AX = B , no sistema


equivalente:

c 11 x 1 + c 12 x 2 + c 13 x 3 + L + c 1n x n = d 1
c 22 x 3 + c 23 x 3 + L + c 2 n x n = d 2
c 33 x 3 + L + c 3n x n = d 3
LLLLLLL
c nn x n = d n
cuja solução é dada por:
xn =
dn
, xn − 1 =
(d n −1 − cn −1,n xn ) ,
cnn an −1,n −1
d − (c12 x2 + c13 x3 + L + c1n xn )
x1 = 1
a11

Teorema: O método de Gauss produz sempre a solução exata do sistema AX = B (utilizando


precisão infinita) se det A ≠ 0 e as linhas de A forem permutadas quando aii = 0 .

27
E.B.Hauser – Cálculo Numérico

Quando é utilizada aritmética do ponto flutuante, erros de arredondamento podem


comprometer a solução obtida.

Ex.: Em F (10 ,3 ,−98 ,98 ) , com arredondamento para número mais próximo de máquina “ox”, a
⎧0 ,0002 x + 2 y = 5
elminação de Gauss aplicada ao sistema ⎨ produz x = 0 e y = 2 ,5 o que não
⎩ 2x + 2 y = 6
satisfaz a segunda equação do sistema.
(Obs.: multiplicador m = −10.000 por L2 = L2 + L1 (m ) )

Gauss com Pivotamento Parcial

O método consiste em trocar linhas (ou colunas) de maneira a minimizar a propagação de


erros nas operações.
Escolhas dos pivôs:

1º pivô é o elemento de maior valor absoluto da coluna 1.


2º pivô é o elemento de maior valor absoluto da coluna 2 e da diagonal para baixo.
Procede-se da mesma forma para os demais pivôs:

3º pivô
1º pivô 2º pivô
Aplicando a técnica ao último exemplo
⎧ 2x + 2 y = 6
⎨ , em F (10 ,3 ,−98 ,98 ) , com
⎩0 ,0002 x + 2 y = 5
arredondamento para número mais próximo de máquina “ox”, obtemo x = 0 ,5 e y = 2 ,5 .
(Obs.: Neste caso o multiplicador é menor m= - 0,0001)

Método de Gauss-Jordan (Matriz Inversa)

A solução do SEL AX = B é calculado utilizando X = A −1 B se det A ≠ 0 .


Obs.: Ver exercício 9.

Métodos Iterativos

Os sistemas lineares de grande parte são, em geral, esparsos (muito elementos aij = 0 ). Os
métodos diretos não preservam a esparsidade, enquanto que os métodos iterativos sim, além de
apresentarem relativa insensibilidade ao crescimento dos erros de arredondamento.

No sistema original AX = B , supondo aii ≠ 0 ,i = 1,K ,n , o vetor X é isolado mediante a


separação de diagonal principal:

28
Sistemas de Equaçõe Lineares

x1 =
1
(b1 − a12 x2 − a13 x3 − K − a1n xn )
a11
x2 =
1
(b2 − a21 x1 − a23 x3 − K − a2 n xn )
a22
M M
xn =
1
(bn − an1 x1 − an2 x2 − K − an ,n −1 xn −1 )
ann

Metodo de Gauss-Jacobi

Dada a aproximação inicial X0, o processo iterativo produz aproximações sucessivas


X 1 , X 2 , K, X k ,K , obtidas de:

x1(k +1) = (k )
⎜ b1 − a12 x 2(k ) − a13x 3 − K − a1n x n (k ) ⎞⎟
1 ⎛
a11 ⎝ ⎠
x (2k +1) =
1
a 22
( b 2 − a 21x1(k ) − a 23x 3(k ) − K − a 2n x n (k ) )
M M
x (nk +1) = ⎛⎜ b − a x (k ) − a x (k ) − K − a (k ) ⎞
1
⎝ n n1 1 n2 2 n ,n −1x n −1 ⎟⎠
a nn

Método de Gauss-Seidel
Para X0 dado:
x1(k + 1) =
1
a11
(b − a
1 12 x2
(k ) − a x (k ) − K − a x (k )
13 3 1n n )
x2(k + 1) =
1
a22
(b − a
2 21 x1
(k + 1) − a x (k ) − K − a x (k )
23 3 2n n )
x3(k + 1) =
1
a33
(b − a
3 31 x1
(k + 1) − a x (k + 1) − a x( k ) − K − a x (k )
32 2 34 4 3n n )
M M
xn(k + 1) =
1
ann
(b (k + 1) − a x (k + 1) − K − a
n − an1 x1 n2 2
(k + 1)
n ,n −1 xn − 1 )
Critério de Convergência

O teorema abaixo estabelece uma condição suficiente para a convergência dos métodos
de Gauss-Jacobi e de Gauss-Seidel.
Teorema
Dado o sistema linear AX = Y , se a matriz A é Diagonalmente Dominante, isto é,
se a ii > ∑ a ij ∀ i , então tanto o método de Jacobi como o de Gauss-Seidel gera uma
j ≠i
seqüência (X (k ) ) convergente para a solução do sistema dado, independente da escolha da
aproximação inicial X (0 ) .

29
E.B.Hauser – Cálculo Numérico

Exemplo:

Resolver o sistema abaixo por Gauss- Jacobi e Gauss-Seidel.


Critério de Parada: erro absoluto da solução calculada for menor que 10-3.

⎧ x1 + 4 x2 − x4 =− 2
⎪ − x3 + 2 x4 =−3


⎪ 2 x1 + x4 = 1
⎪⎩0 ,5 x1 + x3 = 1,5

Reordenamos a fim de satisfazer ao critério de convergência.

⎧ 2 x1 + x4 = 1 2 > 1
⎪ x + 4 x2 − x4 =− 2 > 1 + −1
⎪ 1 4

⎪ 0 ,5 x1 + x3 = 1,5 1 > 0 ,5
⎪⎩ − x3 + 2 x4 =−3 2 > −1

Como a matriz dos coeficientes , após a reordenação, é diagonalmente dominante, então a


aplicação dos métodos de Gauss-Jacobi e Gauss-Seidel produzirá uma seqüência (X (k ) )
convergente para a solução exata.

Gauss-Jacobi

Fórmulas iterativas:

⎛ (k ) ⎞
⎜1 − x ⎟
(
x1 k + 1) ⎝
=
4 ⎠
= 0 ,5 − 0 ,5 x4(k )
2

(k ) (k )
( −2 − x1 + x4 )
x2(k + 1) = = −0 ,5 − 0 ,25 x1(k ) + 0 ,25 x4(k )
4

(
x3(k + 1) = 1,5 − 0 ,5 x1(k ) )
(k )
( −3 + x3
x (k + 1) = = −1,5 + 0 ,5 x3(k )
)
4 2

Aproximação inicial: X (0 ) = 0 .

30
Sistemas de Equaçõe Lineares

k x1 x2 x3 x4
0 0 0 0 0
1 0,5 0,5 1,5 -1,5
2 1,25 -1,0 1,25 -0,75
3 0,875 -1,0 0,875 -0,875
4 0,9375 -0,9375 1,0625 -10625
5 1,03125 -1,0000 1,03125 -0,96875
6 0,984375 -1,0000 0,984375 -0,984375
7 0,9921875 -0,9921875 1,0078125 -1,0078125
8 1,00390625 -1,0000 1,00390625 0,9960375
9 0,998046875 -1,0000 0,998046875 -0,998046875
10 0,9990234375 -0,999023437 1,000976563 -1,000976563
11 1.000488282 -1.0000000 1.000488281 -0,999511718
: : : : :
40 1 -1 1 -1

na 12a. iteração consegue-se x (12 ) − x 11 < 10 −5

Gauss-Seidel

Fórmulas iterativas:
x1(k + 1) = 0 ,5 − 0 ,5 x4(k )

x2(k + 1) = −0 ,5 − 0 ,25 x1(k + 1) + 0 ,25 x4(k )

x3(k + 1) = 1,5 − 0 ,5 x1(k + 1)

x4(k + 1) = −1,5 + 0 ,5 x3(k + 1)

k x1 x2 x3 x4
0 0 0 0 0
1 0,5 -0,625 1,25 -0,875
2 0,9375 0,953125 1,03125 -0,984375
3 0,9921875 -0,994140625 1,00390625 0,99806875
4 0,9990234375 -0,9992675781 1,000488281 -0,999755895
5 0,999877929 -0,999908447 1,000061035 -0,999969482
: : : : :
12 1 -1 1 -1

x (5 ) − x (4 ) < 10 − 5

31
E.B.Hauser – Cálculo Numérico

EXERCÍCIOS
1) Uma consideração importante no estudo da transferência de calor é a de se determinar a
distribuição de temperatura numa placa, quando a temperatura nas bordas é conhecida. Supomos
que a placa da figura represente um seção transversal de uma barra de metal, com fluxo de calor
desprezível na direção perpendicular à placa. Sejam T1, T2 , ..., T6 as temperaturas nos seis
vértices interiores do reticulado da figura. A temperatura num vértice é aproximadamente igual à
média dos quatro vértices vizinhos mais próximos (à esquerda, acima, à direita e abaixo). Por
exemplo:
T1 = ( 10 + 20 + T2 + T4 )/4 ou 4T1 = 10 + 20 + T2 + T4
a) Escrever o sistema de seis equações, cuja solução fornece estimativas para as
temperaturas T1, T2 , ..., T6.
b) Resolver o sistema utilizando o sistema MapleV.

20o 20o 20o

10o 1 2 3 40o
1
4 5 6
10o 40o

20o 20o 20o

2) Num experimento num túnel de vento, a força sobre um projétil devido à resistência do ar
foi medida para velocidades diferentes.
velocidade 0 2 4 6 8 10
força 0 2.90 14.8 39.6 74.3 119
Expressar a força como função da velocidade aproximando-a a um polinômio de quinto
grau:
f ( v ) = a o + a 1 v + a 2 v2 + a 3 v3 + a 4 v4 + a 5 v5
Verificar a validade de f (v) encontrada e obter uma estimativa para a força sobre o projétil
quando ele estiver se deslocando a uma velocidade de 1, 3, 5, 7 e 9 unidades de velocidade.

⎧ x1 + 0 ,5 x2 + 0 ,33 x3 = 1,83

3) Considere o sistema (#) ⎨0 ,5 x1 + 0 ,33 x2 + 0 ,25 x3 = 1,08 .
⎪0 ,33 x + 0 ,25 x + 0 ,2 x = 0 ,78
⎩ 1 2 3
a) (#) é bem ou mal condicionado? Porque? O que isso significa?
b) Resolver (#) pelo método de Gauss sem pivotamento.

32
Sistemas de Equaçõe Lineares

⎧ x1 + 1 / 2 x2 + 1 / 3 x3 + 1 / 4 x4 + 1 / 5 x5 = 137 / 60

⎪⎪1 / 2 x1 + 1 / 3 x2 + 1 / 4 x3 + 1 / 5 x4 + 1 / 6 x5 = 87 / 60
4) Idem ao 3 para ⎨1 / 3 x1 + 1 / 4 x2 + 1 / 5 x3 + 1 / 6 x4 + 1 / 7 x5 = 459 / 420
⎪1 / 4 x + 1 / 5 x + 1 / 6 x + 1 / 7 x + 1 / 8 x = 743 / 840
⎪ 1 2 3 4 5
⎪⎩1 / 5 x1 + 1 / 6 x2 + 1 / 7 x3 + 1 / 8 x4 + 1 / 9 x5 = 1879 / 2520

5) Resolver por Eliminação de Gauss com pivotamento parcial.

⎧3 x1 − 5 x2 + 6 x3 + 4 x4 − 2 x5 − 3 x6 + 8 x7 = 47
⎪ x + x + 9 x + 15 x + x − 9 x + 2 x = 17
⎪ 1 2 3 4 5 6 7
⎪2 x1 − x2 + 7 x3 + 5 x4 − x5 + 6 x6 + 11x7 = 24

a) ⎨− x1 + x2 + 3 x3 + 2 x4 + 7 x5 − x6 − 2 x7 = 8
⎪4 x + 3 x + x − 7 x + 2 x + x + x = 13
⎪ 1 2 3 4 5 6 7
⎪2 x1 + 9 x2 − 8 x3 + 11x4 − x5 − 4 x6 − x7 = −10

⎩7 x1 + 2 x2 − x3 + 2 x4 + 7 x5 − x6 + 9 x7 = 34

⎧2 x1 + x2 − 0.1x3 + x4 = 2.7
⎧− x1 + 2x 2 + 42x 3 = 83 ⎪0.4 x + 0.5 x + 4 x − 8.5 x = 21.9
⎪ ⎪ 1 2 3 4
b) ⎨72x1 − 41x 2 − 14x 3 = 44 c) ⎨
⎪35x + 10x − 5x − = 25 ⎪0.3 x1 − x2 + x3 + 5.2 x4 = −3.9
⎩ 1 2 3 ⎪⎩ x1 + 0.2 x2 + 2.5 x3 − x4 = 9.9

6) Referente ao sistema linear AX=B, verificar se a afirmação é Verdadeira ou falsa .


i) Se det A = 0 então o sistema não tem solução .Justificar verificando o que acontece em :
⎧ x1 − x2 + x3 = 5 ⎧ x1 + x2 = 0
⎪ ⎪
a) ⎨ x1 + x2 = 4 e b) ⎨ x1 − x3 = 0
⎪− 2 x + x = 2 ⎪x + x = 0
⎩ 2 3 ⎩ 2 3
ii) Se A não é uma matriz Diagonal Dominante então os métodos de Gauss-Jacobi e Gauss-Seidel
não geram uma sequência convergente para a solução . Justificar verificando o que acontece com
⎧x + y = 3 ⎧ x − 3 y = −3
a) ⎨ b) ⎨
⎩ x − 3 y = −3 ⎩x + y = 3

7) Resolver pelo Método de Gauss-Seidel. Apresentar as fórmulas iterativas e uma garantia de


convergência (se possível).
⎧3 x1 − 5 x2 + 47 x3 + 20 x4 = 18
⎪11x + 16 x + 17 x + 10 x = 26 ⎧8 x1 + 2 x2 + 3 x3 = 30
⎪ 1 2 3 4 ⎪
a) ⎨ b) ⎨ x1 − 9 x2 + 2 x3 = 1
⎪56 x1 + 22 x2 + 11x3 − 18 x4 = 34 ⎪2 x + 3 x + 6 x = 31
⎪⎩17 x1 + 66 x2 − 12 x3 + 7 x4 = 82 ⎩ 1 2 3

33
E.B.Hauser – Cálculo Numérico
⎧4 x + y 2 + z = 11


8) Resolver o sistema de equações algébricas não lineares: ⎨ x + 4 y + z 2 = 18
⎪ 2
⎪⎩ x + y + 4 z = 15

⎧2 x1 + x2 + 7 x3 = b1
9) Resolver ⎪⎨ x1 + 3 x2 + 2 x3 = b2 para:
⎪5 x + 3 x + 4 x = b
⎩ 1 2 3 3

a) b1 =16 b2 = -5 b3=11 b) b1 =25 b2 = -11 b3 = -5 c) b1 =3 b2 = 5 b3 = -5

10) Utilizando Eliminação Gaussiana calcular detA.


⎡7 0 8 0.5 0 ⎤
⎡− 2 − 3 − 1 − 2⎤ ⎢3 − 2
⎢− 1 0 ⎥ ⎢ 0 0 0 ⎥⎥
1 − 2
a) A = ⎢ ⎥ b) A = ⎢0 5 3 0 3 ⎥
⎢− 3 − 1 − 4 1 ⎥ ⎢ ⎥
⎢ ⎥ ⎢0 1 1 9 0.25⎥
⎣ − 2 2 − 3 − 1⎦ ⎢⎣1 0 3 1 0 ⎥⎦

11) Qual o Resíduo produzido pela solução aproximada X’= [ -3 4 0]T de


⎧0.24 x1 + 0.36 x2 + 0.12 x3 = 0.84

⎨0.12 x1 + 0.16 x2 + 0.24 x3 = 0.52
⎪0.15 x + 0.21x + 0.25 x = 0.64
⎩ 1 2 3

Respostas:
1) Solução obtida utilizando o MapleV:
>solve({4*T1=10+20+T2+T4,4*T2=T1+20+T3+T5,4*T3=T2+20+40+T6,
4*T4=10+T1+T5+20,4*T5=T4+T2+T6+20, 4*T6=T5+T3+40+20}, {T1,T2,T3,T4,T5,T6});
{T6 = 190/7, T5 = 150/7, T4 = 120/7, T3 = 190/7, T1 = 120/7, T2 = 150/7}
> evalf(%);
{T6 = 27.14285714, T5 = 21.42857143, T4 = 17.14285714,
T3 = 27.14285714, T1 = 17.14285714, T2 = 21.42857143}

2) Solução utilizando o sistema MapleV:


>solve({a0=0,2.90=a0+a1*2+a2*4+a3*8+a4*16+a5*32,
14.8=a0+a1*4+a2*(4^2)+a3*(4^3)+a4*(4^4)+a5*(4^5),
39.6=a0+a1*6+a2*(6^2)+a3*(6^3)+a4*(6^4)+a5*(6^5),
74.3=a0+a1*8+a2*(8^2)+a3*(8^3)+a4*(8^4)+a5*(8^5),
119=a0+a1*10+a2*(10^2)+a3*(10^3)+a4*(10^4)+a5*(10^5)}, {a0,a1,a2,a3,a4,a5});
{a0 = 0, a2 = -1.194791667, a5 = .002604166667, a4 = -.07005208333,
a3 = .6614583333, a1 = 1.712500000}

>f:=x->1.712500000*x-1.194791667*x^2+.6614583333*x^3-.7005208333e-
1*x^4+.2604166667e-2*x^5;

> validade:=[f(0),f(2),f(4),f(6),f(8),f(10)];

34
Sistemas de Equaçõe Lineares

validade := [0, 2.899999998, 14.80000000, 39.60000000, 74.29999994, 119.0000000]

> estimativas:=[f(1),f(3),f(5),f(7),f(9)];
estimativas := [1.111718750, 7.202343750, 25.73046873, 55.89609367, 94.9992188]

3-a) Mal condicionado. NORM A ≅ 0,000181. Uma pequena perturbação nos dados de entrada
pode causar uma grande alteração na solução.
b) A solução exata é X=[1 1 1]T

4 - NORM A ≅ 0,00257, a solução exata é X=[1 1 1 1 1 1 1]T

5- a)X=[-21,86188 11,46568 2,376447 -8,514801 0,7475478 -15,50981 18,08498]T


b) solução exata X=[1 0 2]T
c) solução exata X=[1 2 3 -1]T

6-i) a) detA=0 e o sistema e incompatível


b) detA = 0 e o sistema tem infinitas soluções dadas por x=z e y=-z
ii) A não é matriz Diagonal Dominante e Gauss-Jacobi e Gauss-Seidel
a) converge (oscilando) para a solução exata [1.5 1.5]T
b) diverge

7 - a) X(10) = [-0.930569 1.901519 1.359500 -1.906078]T


X(35) = [-1.076888 1.990028 1.474477 -1.906078]T
b) solução exata X = [2 1 4]T

8 - A solução exata é x =1 y= 2 z = 3.

9 - soluções exatas: a) X = [3 -4 2]T b) X = [2 -7 4]T c) X = [-3 2 1]T

10 - a) detA = -55 b) det A = 706.875

11 - R = [0.12 0.24 0.25]T

35
4.Interpolação Polinomial

4.1 Objetivo:
Dado um conjunto de n+1 pontos distintos ( xi , f ( xi )) , i = 0 ,1,...,n , queremos determinar o
polinômio p(x) talque p( xi ) = f ( xi ), e para os demais pontos do intervalo
p( x ) ≅ f ( x ) , ∀x ∈ [xo ; xn ] . O polinômio p(x) é dito polinômio aproximante ou interpolador de
f(x) no intervalo [xo , xn ] .

4.2 Aplicações
• Obter uma expressão analítica aproximada de uma função que é conhecida em apenas um
número finito de pontos;
• Avaliar a função num ponto não tabelado x* ∈ [xo ; xn ] ;
xn
• Determinar aproximações para ∫xo f ( x)dx , substituindo a f(x) pelo polinômio
interpolador;
• Calcular uma aproximação para f ' ( x) para x ∈ [xo ; xn ] , substituindo f(x) por p(x).

4.2 Existência e Unicidade da Solução

Dados xi ∈ ℜ e f ( xi ) ∈ ℜ , i = 0 ,1,...,n , procuramos p( x ) ∈ Pn tal que


p( xi ) = f ( xi ), ∀xi .
n
Seja p ( x) = ao + a1x + a2 x 2 + ... + an x n = ∑ ak x k .
k =0

36
E.B.Hauser – Cálculo Numérico
n
Então de p( xi ) = ∑ ak xik = f ( xi ), obtemos:
k =0

⎧a0 + a1 x0 + a2 x02 + ... + an x0n = f0



⎪a0 + a1 x1 + a2 x12 + ... + an x1n = f1 ,


⎪..............................................

⎪⎩a0 + a1 xn + a2 xn2 + ... + an xnn = fn

o qual representa um sistema linear de ordem n+1 onde as n+1 incógnitas são os ak , k = 0 , n e a
matriz dos coeficientes é dada por:
⎡1 x0 x 02 . . x 0n ⎤
⎢ ⎥
⎢1 x1 x 12 . . x 1n ⎥
⎢1 x x 22 . . x 2n ⎥
⎢ 2 ⎥
A= ⎢. . . . . . ⎥
⎢ ⎥
⎢. . . . . . ⎥
⎢. . . . . . ⎥
⎢ 2 ⎥
⎣1 x n xn . . x nn ⎦

n −1 ⎡ n ⎤
De acordo com Vandermonde, det A = ∏ ⎢ ∏ ( x j − xi )⎥ . Como os pontos são
i = 0 ⎢⎣ j = i + 1 ⎥

distintos, a diferença x j − xi será sempre diferente de zero, e então detA ≠ 0. Portanto o polinômio
interpolador existe e também é único.

4.3Polinômio Interpolador de Newton Para Diferenças Finitas Ascendentes

Dados (xi , yi ) , yi = f ( xi ) i=0,1,2,...,n satisfazendo


x1 − x0 = x2 − x1 = .... = xn − xn −1 = h ,
isto é , xi + 1 − xi = h .
Para k = 1, 2, ...n, e i= 0, 1, 2, ..., n-k , a diferença finita de ordem k é dada por

∆k yi = ∆k − 1 yi + 1 − ∆k − 1 yi .

E, o polinômio interpolador de Newton para diferenças finitas ascendentes é dado por :


( x − xo ) ( x − xo )( x − x1 ) 2 ( x − xo )( x − x1 )L( x − x n − 1 ) n
p( x ) = y o + ∆y 0 + ∆ yo + L + ∆ yo
2
h 2! h n! h n

37
4-Interpolação Polinomial

Exemplo1:
O alongamento de uma mola foi medido em função da carga aplicada. Obteve-se:

c arg a( kg ) 2 4 6 8
alongamento( cm ) 1,0 2 ,5 5 ,0 6 ,3
Estimar o alongamento para o caso de ser aplicada uma carga de 7kg , utilizando o polinômio
interpolador de Newton para diferenças finitas.

Solução:

1) Tabela das diferenças finitas:


i xi yi ∆yi ∆2 yi ∆3 yi
0 2 1 1.5 1 -2.2
1 4 2.5 2.5 -1.2 --------------------
2 6 5 1.3 -------------------- --------------------
3 8 6.3 -------------------- -------------------- --------------------

2) Polinômio interpolador:
p( x ) = 1 +
(x − 2) .1,5 + (x − 2 )(x − 4 ) .1 + (x − 2 )(x − 4 )(x − 6 ) .( −2 ,2 )
2 2! ( 2 )2 3! ( 2 )3

p( x ) = −0 ,04583333333 x 3 + 0 ,675 x 2 − 2 ,016666667 x + 2 ,7

3) Verificação de validade de p(x) : p( 2 ) = 0 ,9999999994 ( ≅ 1 )


p( 4 ) = 2 ,4999999999 ( ≅ 2 ,5 )
p( 6 ) = 5 e p(8)=6.3
4) Estimativa do alongamento ao se aplicar uma carga de 7kg:
O alongamento da mola neste caso é aproximadamente p( 7 ) = 5 ,9375 cm.
5) Análise gráfica do problema:

38
E.B.Hauser – Cálculo Numérico

4.4 Polinômio Interpolador de Newton Para Diferenças Finitas Divididas

Dados (xi , yi ) , yi = f ( xi ), i= 0, 1, 2, ..., n os pontos xi podem ter um espaçamento


qualquer, não necessariamente eqüidistantes.

O polinômio de Newton para diferenças divididas é dado por:


2
p( x) = yo + ( x − xo )∆ y0 + ( x − xo )( x − x1 ) ∆ yo + ... + ( x − xo )( x − x1 )...( x − xn −1)∆ n yo ,

onde, para k = 1, 2, ..., n, e i= 0, 1, 2, ..., n-k a diferença dividida de ordem k é dada por
k −1
∆ yi + 1 − ∆ k − 1 yi
∆ yi =
k
xi + k − xi

Por exemplo, para o caso de n = 4:

i xi yi ∆ yi 2
∆ yi
3
∆ yi
4
∆ yi
0 x0 y0 y1 − y0 ∆ y1 − ∆ y0 2 2 3 3
∆ y1 − ∆ y0 ∆ y1 − ∆ y0
x1 − x0 x2 − x0 x3 − x0 x4 − x0
1 x1 y1 y2 − y1 ∆ y 2 − ∆ y1 2
∆ y2 − ∆ y1
2 -----------------------
x2 − x1 x3 − x1 x4 − x1
-----------------------
--------------------
2 x2 y2 y3 − y 2 ∆ y3 − ∆y2 --------------------- -----------------------
x3 − x 2 x4 − x 2
--------------------- -----------------------
------------------ --------------------
3 x3 y3 y4 − y3 --------------------- --------------------- -----------------------
x4 − x3 --------------------- --------------------- -----------------------
------------------ ------------------ --------------------
4 x4 y4 --------------- -------------------- -------------------- ----------------------

Observação: Para h constante , a relação entre diferenças divididas e finitas é dada por :
1
∆ k yi = k
∆k yi .
k !.h
Exemplo:

x f(x) ∆ yi 2
∆ yi
3
∆ yi
4
∆ yi
0 0 4 5 1 0
2 8 19 10 1 -----
3 27 49 14 ----- -----
5 125 91 ----- ----- -----
6 216 ----- ----- ----- -----

39
4-Interpolação Polinomial

Exemplo2:

A velocidade do som na água varia com a temperatura conforme tabela:


temperatura( oC ) 86 93,3 98 ,9 104 ,4 110
velocidade( m / s ) 1,552 1,548 1,544 1,538 1,532
Solução:

1) Cálculo das diferenças divididas

x y ∆ y0 2
∆ y0
3
∆ y0
4
∆ y0
86 1.552 -0.00054794 -0.00001289 -0.114 x 10-5 0.136 x 10-6
93.3 1.548 -0.00071428 -0.00003393 0.213 x 10-5 ---------------
98.9 1.544 -0.00109090 0.175 x 10-5 --------------- ---------------
104.4 1.538 -0.00107142 --------------- --------------- ---------------
110 1.532 --------------- --------------- --------------- ---------------

2) Construção do polinômio:
p( x ) = 1.552 + ( x − 86 )( −0.00054794 ) + ( x − 86 )( x − 93.3 )( −0.00001289 ) + ( x − 86 )( x − 93.3 )( x − 98.9 )
(-0.114 x 10 −5 )+ ( x − 86 )( x − 93.3 )( x − 98.9 )( x − 104.4 ) (0.136 x 10 −6 )
Simplificando a expressão , encontramos
p(x) = 0.13666902 84 × 10 -6 x 4 − 0 . 0000534327 9926 x 3 + 0 . 0077947032 83 x 2 − 0 . 5036369194

3) Verificação da validade de p(x) calculado no item 2:


p( 86 ) = 1.55199999 ; p( 93.3 ) = 1.548 ; p( 98.9 ) = 1.544 ;
p( 104.4 ) = 1.537999999 ; p( 110 ) = 1.532
4) Estimativa da velocidade do som quando a temperatura da água atinge 100 0 C , é
p( 100 ) ≅ 1.54293925 m/s

6) Análise gráfica do problema:

40
E.B.Hauser – Cálculo Numérico

4.5 Erro de Truncamento

ϕ ( x)
E ( x) = f (n +1) (ξ ),ξ ∈ [x0 , xn ] com
(n + 1)!
∆n + 1 f 0
ϕ ( x ) = ( x − x0 )( x − x1 )...( x − xn ) = ( x − x0 )( x − x1 )...( x − xn )* ∆ n + 1 yi ,
n +1
( n + 1 )! h
1
pois ∆ k yi = ∆k f i , para h constante.
k
k !.h

4.5 Aplicação utilizando o sistema Maple

Cinquenta animais de uma espécie ameaçada de extinção foram colocados numa


reserva e um controle populacional mostrou os dados:
t( anos ) 0 1 3 5 7 10 13
quantidade de animais 50 60 73 77 76 73 69
a) Determinar a matriz de Vandermonde para o problema e determinar o valor do respectivo
Número de Condicionamento (Cond e Determinante Normalizado). O que podemos
concluir?
b) Determinar o polinômio interpolador utilizando todos os dados tabelados.
c) Verificar a validade do modelo encontrado.
d) Estimar a a população no quarto ano. É possível estimar a população no décimo quinto ano
utilizando o polinômio determinado no ítem b.
e) Em que ano essa população animal atingiu seu máximo? Qual a população máxima atingida?
f) Plotar num mesmo sistemas de eixos os pontos tabelados e a e o polinômio interpolador
determinado no ítem b.

Resposta:
⎡1 0 0 0 0 0 0 ⎤
⎢1 1 1 1 1 1 1 ⎥⎥

⎢1 3 3 2 33 34 35 36 ⎥
⎢ ⎥
V = ⎢1 5 5 2 53 54 55 56 ⎥
⎢1 7 7 2 73 74 75 76 ⎥
⎢ 2 ⎥
⎢1 10 10 10 3 10 4 10 5 10 6 ⎥
⎢1 13 13 2 13 3 13 4 13 5 136 ⎥⎦

Determinante Normalizado= 0.9072675023 x 10 -11

Cond (V)= 39124291.11

p(t) = .5095984263e-4*t^6-.2488977072e-2*t^5+.4187474562e-1*t^4-.2409954552*t^3-
.6536635972*t^2+10.85522232*t+50.

p(4) ≅ 75.91851648
população máxima ≅ p(5.312779138)= 77.05456458

41
4-Interpolação Polinomial

4.6 Exercícios
(Fonte: Cálculo Numérico Computacional. Claudio, Dalcídio Moraes e Marins, Jussara M. São
Paulo: Ed.Atlas,1994.)

1. A tabela abaixo dá o volume de água num tanque elástico (usado para transpor-te de
óleo, leite, etc. em caminhões) para várias cotas de água. Determinar y(0,12).
x(m) 0,1 0,6 1,1 1,6 2,1
y (m3 ) 1,1052 1,8221 3,0042 4,9530 8,1662

2. Uma hidroelétrica tem capacidade máxima de 60Mw, a qual é determinada por três
geradores de respectivamente 30Mw, 15Mw e 15Mw.
A demanda de energia varia num ciclo de 24h e é uma função dela que o engenheiro ope-
racional distribui as tarefas dos geradores.
Sabe-se que a demanda mínima ocorre entre 1 e 5h e a demanda máxima entre 13 e 17h .
Pede-se para achar a partir dos dados abaixo essas demandas máximas e mínimas .
H 2 3 4 5 13 14 15 16 17
Demanda 16,4 15,2 14,9 16 28 36,5 43 34 31,2
(Mw)

3. Um paraquedista realizou seis salto; saltando de alturas distintas em cada salto, foi
testada a precisão de seus salto em relação a um alvo de raio de 5m, de acordo com a altura. A
distância apresentada na tabela abaixo é relativa à circunferência.
ALTURA (m) DISTÂNCIA DO ALVO
1O SALTO (1500) 35
O
2 SALTO (1250) 25
3O SALTO (1000) 15
O
4 SALTO (750) 10
5O SALTO (500) 7

Levando em consideração os dados acima, a que provável distância do alvo cairia o paraquedista se
ele saltasse de uma altura de 850m ?
4. Um veículo de fabricação nacional, após vários testes, apresentou os resultados
abaixo, quando se analisou o consumo de combustível de acordo com a velocidade média imposta
ao veículo. Os testes foram realizados em rodovia em operação normal de tráfego, numa distância
de 72 km. Verificar o consumo aproximado para o caso de ser desenvolvida a velocidade de
80km/h.
VELOCIDADE (km/h) CONSUMO (km/l)
55 14,08
70 13,56
85 13,28
100 12,27
120 11,3
140 10,4

42
E.B.Hauser – Cálculo Numérico

5. Numa esfera de superfície conhecida, o coeficiente de absorção 0,7 foi mantido à temperatura
de 6000 o K . Foi calculada a energia irradiada de acordo com o tempo de irradiação, obedecendo à
tabela . Pede-se para obter a possível energia irradiada quando a irradiação atingir o tempo de 25
minutos.

ENERGIA IRRADIADA (Joules) TEMPO DE IRRADIAÇÃO (s)


71,72 . 10 3 600

94,72 . 10 3 800

118,4 . 10 3 1000

142,08 . 10 3 1200

165,76 . 10 3 1400

189,44 . 10 3 1600

6. Uma corda foi tensionada sob a ação de pesos distintos, quando para os respectivos
pesos foram calculadas as devidas velocidades de propagação que estão indicadas abaixo. Pede-se
para calcular a velocidade de propagação quando a corda está tensionada sob a ação de um peso de
7,250 gf.
PESO (gf) VELOCIDADE (cm/s)
6000 13728,13
6500 14288,69
7000 14828,07
7500 15348,51
8000 15851,87

Respostas

1) p( 0 ,12 ) ≅ 1,126904937

2) A demanda mínima é 14 ,8632 Mw. e ocorre entre 3h e 4h da manhã.


A demanda máxima é 43,101 Mw. e ocorre entre 14h e 15h.

3) p( 850 ) = 11,4128

p( 80 ) = 13,46701783
4)
p( 80 ) = 13,4512685

5)
p( 1500 ) = 177618 ,5937

6) p(7250) = 15090,53234

43
5. Ajuste de Funções

Aplicação1: Os dados acima tabelados descrevem a intensidade da luz como uma função
da distância da fonte, I(d), medida num experimento.
1
Determinar I (d) ≅ Y (d) = .
Ad 2 + Bd + C
d 30 35 40 45 50 55 60 65 70 75
I 0.85 0.67 0.52 0.42 0.34 0.28 0.24 0.21 0.18 0.15

Aplicação 2:Segundo a lei de Boyle, o volume de um gás é inversamente proporcional à


pressão exercida, mantendo-se constante a temperatura. Para um certo gás, foram
observados os seguintes valores:

Pr essão 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5


Volume 2,85 2,27 1,91 1,60 1,43 1,28 1.15 1,04
A
Ajustar os dados tabelados a uma hipérbole do tipo: Vol(p) ≅ Y ( p ) =
B+ p

44
E.B.Hauser – Cálculo Numérico

5.1 Introdução

O ajustamento é uma técnica de aproximação. Conhecendo-se dados


experimentais , , ( xi , yi ) , i = 0 ,1,...,n , deseja-se obter a lei y = f ( x ) relacionando x com y.
Devido aos erros experimentais nos n+1 pares, ( xi , f ( xi )) , teremos em
geral f ( x1 ) + ε 1 ; f ( x2 ) + ε 2 ; ... ; f ( xn ) + ε n , isto é , é impossível calcular exatamente a
função f(x). Por isso , em vez de procurarmos a função f tal que passa por cada um dos pontos
experimentais, determinaremos a função que melhor se ajusta aos pontos dados. O
ajustamento traduz um comportamento médio.

Para ajustar uma tabela de dados a uma função devemos:

• Conhecer a natureza física do problema ;

• Determinar o tipo de curva a que se ajustam os valores tabulados (graficamente e/ou


cálculo das diferenças finitas ou divididas) ;

• Calcular os parâmetros da curva.

5.2. Escolha da Função de Ajuste

a) Função Linear (regressão linear) : Y ( x ) = a0 + a1 x , se ∆yi ≅ cte ou ∆ yi ≅ cte .

2
b) Parábola (ajuste quadrático): Y ( x ) = a0 + a1 x + a2 x 2 , se ∆2 yi ≅ cte ou ∆ yi ≅ cte.

p
c) Polinômio de grau p: se ∆ p yi ≅ cte ou ∆ yi ≅ cte.

∆ log yi
d) Função Exponencial: Y ( x ) = ab x , se ≅ cte.
∆xi

∆ log yi
d) FunçãoPotência: Y ( x ) = ax p , ≅ cte
∆ log xi

Outros tipos de Funções Ajuste:

∆ (1 / yi )
∆ (1 / yi ) =
1 1
• Y( x ) = ⇒ = a0 + a1 x ; ≅ cte.
a0 + a1 x y ∆xi

∆ ( xi / yi )
∆ ( xi / yi ) =
x x
• Y( x ) = ⇒ = a0 + a1 x; ≅ cte.
a0 + a1 x y ∆ ( xi )

45
5 - Ajuste de Funções

1 1 ∆ (1 / y i +1 ) − ∆ (1 / y i )
• Y( x ) = ⇒ = a0 + a1 x + a2 x 2 ; ∆ (1 / y i ) =
2
≅ cte.
2
a0 + a1 x + a2 x Y xi + 2 − xi

2 ∆ ln yi + 1 − ∆ ln yi
• Y ( x ) = ae bx + cx ; ln y = ln a + bx + cx 2 , ≅ cte.
xi + 2 − xi

3
Exemplo: Considerando a tabela abaixo, como ∆ yi = 1,∀i , é adequado o ajuste dos dados
abaixo tabelados a um polinômio de grau 3.

i xi f(xi)=yi ∆ yi 2
∆ yi
3
∆ yi
4
∆ yi
0 0 0 4 5 1 0
1 2 8 19 10 1 -----
2 3 27 49 14 ----- -----
3 5 125 91 ----- ----- -----
4 6 216 ----- ----- ----- -----

5.3 - Determinação dos Parâmetros da Função de Ajuste

CRITÉRIO DOS MINÍMOS QUADRADOS

Seja Y = a0 + a1x + a2 x 2 + ... + a p x p a função de ajustamento. Dada uma


tabela com n+1 pontos (xi , yi ) , chamamos resíduo a diferença entre o valor de Yi da equação
de ajustamento e o valor tabulado de yi . Yi − yi = δ i , i = 0 ,1,...,n .

n
O critério dos mínimos quadrados estabelece que: ∑ δ i2 = mínimo .
i =0
n
Seja F (a0 , a1,...a p ) = ∑ (Yi − yi )2 . Para F ter valor mínimo , é preciso que
i =0

∂F ∂F ∂F
=0; =0; . . . ; =0
∂a0 ∂a1 ∂a p

46
E.B.Hauser – Cálculo Numérico

5.31 -Ajuste Linear

A função de ajuste terá a forma Y ( x ) = a0 + a1 x . Pelo critério dos Mínimos


Quadrados é necessário que :
n n
F = ∑ (Yi − yi )2 = ∑ (a0 + a1xi − yi ) 2
i =0 i =0

deve ser mínimo .


Sendo F uma função de duas variáveis, a0 e a1 , o menor valor de F será obtido
δF δF
através de : = 0; = 0 e assim:
δa0 δa1

δF n
= 0 , ∑ 2(a0 + a1xi − yi ) = 0 e
δa0
i =0
δF n
= 0 , ∑ 2(a0 + a1xi − yi )xi = 0 .
δa1
i =0

Construímos o sistema de duas equações e duas variáveis:

⎧ n ⎧ n n n
⎪2 ∑ (a0 + a1xi − yi ) = 0 ⎪ ∑ yi = ∑ a0 + ∑ a1xi
⎪⎪ ⎪⎪
i =0 i =0 i =0 i =0
⎨ ou ⎨ .
⎪ n ⎪ n n n
⎪2 ∑ (a0 + a1x1 − yi )xi = 0 ⎪ ∑ xi yi = ∑ a0 xi + ∑ a1xi
2
⎪⎩ i =0 ⎪⎩i =0 i =0 i =0

Obtemos:
⎧ n n
⎪(n + 1)a0 + a1 ∑ xi = ∑ yi
⎪⎪
i =0 i =0

⎪ n n n
⎪a0 ∑ xi + a1 ∑ xi = ∑ xi yi
2
⎪⎩ i =0 i =0 i =0

Resolvendo-se este último sistema linear são obtidos os valores de a0 e a1 e


assim determina-se a função de ajuste : Y = a0 + a1x .

47
5 - Ajuste de Funções

Exemplo2 : Dada a tabela , achar a equação da reta que se ajusta usando o método dos
Mínimos Quadrados.

i xi yi xi yi xi2 Yi (Yi − yi )2
0 0 2 0 0 2.07142857 0.005102041
1 1 3 3 1 3.14285714 0.02040816
2 2 5 10 4 4.21428571 0.61734694
3 3 5 15 9 5.2857143 0.08163266
4 4 5.5 22 16 6.3571429 0.73469755
5 5 8 40 25 7.4285714 0.32653061
∑ 15 28.5 90 55 --------------- 1.78571440

Seja Y ( x) = a0 + a1x a função que ajusta os dados .


Os parâmetros a0 e a1 constituem a solução do sistema :

∑ yi = (n + 1)a0 + a1∑ xi ⎧6a0 + 15a1 = 28.5 ⎧a0 = 2.071428572


⇒ ⎨ ⇒ ⎨
∑ xi yi = a0 ∑ xi + a1∑ xi2 ⎩15a0 + 55a1 = 90 ⎩a1 = 1.071428571

Logo, Y = 2.071428571 + 1.071428571x .

48
E.B.Hauser – Cálculo Numérico

5.3.2 - Ajuste Quadrático

Seja Y = a0 + a1 x + a2 x 2 a função de ajuste. Pelo critério dos Mínimos


Quadrados :
n

i =0
n
(
F ( a0 ,a1 ,a2 ) = ∑ (Yi − yi )2 = ∑ a0 + a1 xi + a2 xi2 − yi
i =0
)2
δF δF δF
assume valor mínimo se = = = 0.
δa0 δa1 δa2
Assim, os parâmetros a0 ,a1 e a2 são obtidos resolvendo:

⎧∑ yi = (n + 1)a0 + a1 ∑ xi + a2 ∑ xi2

⎪ 2 3
⎨∑ xi yi = ∑ xi a0 + a1 ∑ xi + a2 ∑ xi
⎪ 2 2 3 4
⎪⎩∑ xi yi = ∑ xi a0 + a1 ∑ xi + a2 ∑ xi

Exemplo3 : Encontre a expressão do polinômio de 2o grau que se ajusta aos dados da tabela
abaixo.

i xi yi xi yi xi2 xi2 yi xi3 xi4 ∆yi ∆2 yi


0 -2 -0.01 0.02 4 -0.04 -8 16 0.52 -0.21
1 -1 0.51 -0.51 1 0.51 -1 1 0.31 -0.25
2 0 0.82 0 0 0 0 0 0.06 -0.13
3 1 0.88 0.88 1 0.88 1 1 -0.07 -0.25
4 2 0.81 1.62 4 3.24 8 16 -0.32 ----------
5 3 0.49 1.47 9 4.41 27 81 ---------- ----------
∑ 3 3.5 3.48 19 9 27 115 ---------- ----------

⎧6a0 + 3a1 + 19a2 = 3.5


⎪ 2
⎨3a0 + 19a1 + 27 a2 = 3.48 ⇒ Y ( x) = −0.102142857 x + 0.201x + 0.806285714
⎪19a + 27 a + 115a = 9
⎩ 0 1 2

49
5 - Ajuste de Funções

5.3.3-Ajuste a polinômio de Grau p


O ajuste a um polinômio de grau p. Y = a0 + a1x + a2 x 2 + ... + a p x p , p < n , exige
resolver o sistema linear:

⎡( n + 1 )∑ x ∑ x 2 ∑ x 3 ...∑ x p ⎤ ⎡a0 ⎤ ⎡∑ yi ⎤
⎢ i i i i ⎥ ⎢ ⎥ ⎢ ⎥
⎢∑ x ∑ x 2 ∑ x 3 ∑ x 4 ...∑ x p + 1 ⎥ ⎢a1 ⎥ ⎢∑ xi yi ⎥
⎢ i i i i i ⎥ ⎢..... ⎥ = ⎢ ⎥
⎢..................................................⎥ ⎢ ⎥ ⎢........ ⎥
⎢ ⎥ ⎢..... ⎥ ⎢ p ⎥
p p +1
⎢⎣∑ xi ∑ xi .................∑ xi
2p
⎥⎦ ⎢a ⎥
⎣ p⎦

⎣ ∑ xi yi ⎦⎥

Exemplo5 – Utilizando o sistema Maple


> xv:=[0,2,3,5,6,8];

> yv:=[p(0),p(2),p(3),p(5),p(6),p(8)];

>
g:=fit[leastsquare[[x,y],y=a*x^3+b*x^2+c*x+d,{a,b,c,d}]]([xv,y
v]);

> gll :=unapply(rhs(g),x):


>
plots[display]({plots[pointplot]([0,p(0),2,p(2),3,p(3),5,p(5),
6,p(6),8,p(8)]),plot(gll(x), x=-.5..8.5, y=-
150..280),plot(gll(x), x=-.5..8.5,
y=-150..280,thickness=2)});

50
E.B.Hauser – Cálculo Numérico
5.3.4 -AJUSTE NÃO LINEAR NOS PARÂMETROS: CASOS REDUTÍVEIS AO
LINEAR OU PARABÓLICO POR MUDANÇA DE VARIÁVEIS

5.3.4.1 – Ajuste por Função Exonencial


Seja Y = ab x a função de ajuste.
Linearizamos Y, aplicando log ou ln (escolher a base adequada)
ln
{ Y = ln
{a + {
x ln b
y a0 xa1

⎧ n n
⎪( n + 1 ) ln a + ∑ xi ln b = ∑ ln yi
⎪ i =0 i =0
Determinamos a e b resolvendo: ⎨
n n n
⎪∑ xi ln a + ∑ xi2 ln b = ∑ xi ln yi
⎪⎩i =0 i =0 i =0
⎧⎪a = ln a → a = e a0
0
Então ⎨
⎪⎩a1 = ln b → b = e a1

Exemplo 4: Ajustar os dados abaixo a uma função exponencial do tipo Y = ab x .

i xi yi ln yi xi ln yixi2 Yi (Yi − yi ) 2
0 0 3 1.09861 0 0 2.98422 0.0002490
1 0.5 4 1.38629 0.693145 0.25 4.2228031 0.0496412
2 1 6 1.79176 1.79176 1 5.9754291 0.0006025
3 1.5 9 2.19722 3.29583 2.25 8.4555298 0.2964477
4 2 12 2.48491 4.96982 4 11.964948 0.0012286
5 2.5 17 2.83321 7.08303 6.25 16.930930 0.0047706
6 3 24 3.17805 9.53415 9 23.958013 0.0017628
7 3.5 33 3.49651 12.2378 12.25 33.901647 0.8129689
8 4 48 3.87120 15.4848 16 47.972329 0.0007656
∑ 18 ------------- 22.3378 55.0903 51 ------------- 1.1684403

⎧9a0 + 18a1 = 22.3378 a0 = 0.69432 → b = e a1 = 2.002347015


⎨ ⇒ ⇒
⎩18a0 + 51a1 = 55.0903 a
a1 = 1.093337778 → a = e = 2.984218125
0

Y = 2.98422(2.00235) x

51
5 - Ajuste de Funções

5.3.4.2 -AJUSTE POR FUNÇÃO POTÊNCIA

Seja Y = axb a função de ajuste.


Linearizando a função Y(x) , temos : ln y = ln a + b ln x.
Resolve-se o sistema de equações lineares e encontra-se a e b:
ln y = y1 ⎧ n n
⎪ ( n + 1 ) ln a + ∑ ln xi b = ∑ ln yi
ln a = a0 ⎪ i =0 i =0
⇒ ⎨ n então
b = a1 ⎪ ∑ ln x ln a + ∑ n n
(ln xi )2 b = ∑ ln xi ln yi
ln x = x1 ⎪⎩i =0 i
i =0 i =0
ln a = a0 ⇒ a = e a0 e b = a1 .

Exercício : Os dados abaixo dão a duração de uma broca em função da velocidade de corte.
Pede-se para fazer uma tabela de D=D(v) para 100 (10) 180.
V (m / s ) 100 120 150 180
D(v)=0.813947103e14*1/(x^5.680591334)
D( seg.) 79 28 7.9 2.8

1
5.3.4.3 -AJUSTE POR FUNÇÃO HIPERBÓLICA : Y = . Linearizando, temos :
a0 + a1 x
⎧ n n
⎪( n + 1 )a0 + a1 ∑ xi = ∑ 1 / yi
1 ⎪ i =0 i =0
= a0 + a1 x ⇒ ⎨
Y n n n
⎪∑ xi a0 + a1 ∑ xi2 = ∑ xi / yi
⎪⎩i =0 i =0 i =0

52
E.B.Hauser – Cálculo Numérico

5.3.4.4 -OUTROS TIPOS DE FUNÇÕES DE AJUSTE


x
1) Y = . Linearizando, temos:
a0 + a1 x
⎧ n n
⎪( n + 1 )a0 + a1 ∑ xi = ∑ xi / yi
x ⎪ i =0 i =0
= a0 + a1 x ⇒ ⎨
Y n n n
⎪∑ xi a0 + a1 ∑ xi2 = ∑ xi2 / yi
⎪⎩i =0 i =0 i =0

1
2) Y = . Linearizando, temos :
a0 + a1 x + a2 x 2
⎧( n + 1 )a0 + a1 ∑ xi + a2 ∑ xi2 = ∑ 1 / yi

1 ⎪
= a0 + a1 x + a2 x 2 ⇒ ⎨a0 ∑ xi + a1 ∑ xi2 + a2 ∑ xi3 = ∑ xi / yi
Y ⎪ 2 3 4 2
⎪⎩a0 ∑ xi + a1 ∑ xi + a2 ∑ xi = ∑ xi / yi

3)
2 ⎧( n + 1 ) ln a + b∑ xi + c ∑ xi2 = ∑ ln yi
Y = ae bx + cx ⎪
⎪ 2 3
Y = ln 2 ⇒ ⎨ln a ∑ xi + b∑ xi + c ∑ xi = ∑ xi ln yi ⇒
ln
{ {a + bx
14+2cx
43 ⎪ 2 3 4 2
y a0
a1 x + a 2 x 2 ⎪⎩ln a ∑ xi + b∑ xi + c ∑ xi = ∑ xi ln yi

⇒ ln a = a0 → ae a0 .

Exercícios:

1) Considerando:
i 0 1 2 3 4 5 6
x 1 2 3 4 5 6 7
y 34 45 63 88 120 159 205

a) Mostrar que o ajuste por uma parábola é adequado.


b) Ajustar os dados a uma parábola.
Resposta: a) ∆2 y i = 7, ∀i
b) p( x) = 3,51194762 x 2 + 0,4047619048x + 30,14285714

2) Segundo o critério dos Mínimos

53
5 - Ajuste de Funções

Quadrados, qual das duas funções Y1 = 2 ,332 + 0 ,558 x


e Y2 = 2 ,037 e0 ,235 x melhor ajusta os dados da tabela?

x -2,3 1 3,1
y 1,2 2,5 4,2
Resposta: Y2, pois ∑ ( Y2i − yi )2 < ∑ ( Y1i − yi )2
∑ ( Y1i − yi )2 = 0,2317612 e ∑ ( Y2i − yi )2 = 0,012374919055

3) Um filme vem sendo exibido no cinema X por cinco semanas e a frequência semanal,
(aproximada à sentena mais próxima) está dada na seguinte tabela:

semana 1 2 3 4 5

frequência 5000 4500 4100 3900 3500

Utilizar ajuste linear para determinar a frequência esperada na sexta semana.

Resposta: Y(x) = 5280 -360x e y(6) = 3120

6000
5000
4000
y = -360x + 5280
3000
R20,9818 =
2000
1000
0
0 1 2 3 4 5 6

4) O número de bactérias, por unidade de volume, existente em uma cultura depois de x


horas é apresentado pela tabela. Ajuste os dados tabulados a uma curva exponencial da
forma
y =abx e avaliar y para x=7.

x 0 1 2 3 4 5 6
y 32 47 65 92 132 190 275

Resposta: y = 32,1483 × 1,42694 x e y (7) = 387, 256

5) Utilizando o critério dos Mínimos Quadrados, ajustar a uma reta os dados tabulados:

xi 3 5 6 8 9 11
yi 2 3 4 6 5 8

Resposta: y = -0,33328 + 0,714285x

54
E.B.Hauser – Cálculo Numérico

6) A tabela abaixo fornece uma relação entre a temperatura da água e a pressão barométrica.
p(mm de Hg) 680 690 700 710 720 730 740 780
o
T( C ) 96.92 97.32 97.71 98.11 98.49 98.88 99.26 100.73

Ajustar os dados a uma função potência.

101
100,5
y = 15,476x 0,2813
100
99,5 R21 =
99
98,5
98
97,5
97
96,5
660 680 700 720 740 760 780 800

7) A tabela abaixo fornece uma relação entre a resistência à tração do aço em função da
temperatura.
t (oC ) 250 330 412 485 617
σ (kg / cm2 ) 5720 5260 4450 2780 1500
Ajustar os dados a um polinômio de grau 4.

7000 y = 2E-06x4 0,0033x - 31,8931x + 2466,48x + 47846 -


2
R 1=
6000

5000

4000

3000

2000

1000

0
0 200 400 600 800

8) Os dados abaixo referem-se a variação do coeficiente de atrito ( µ ) ,entre a roda e o


trilho seco, com a velocidade.
V (km / h) 0 10 20 30 40 60 70
µ 0.450 0.313 0.250 0.215 0.192 0.164 0.154
Ajustar os dados a um polinômio de grau 5.

55
5 - Ajuste de Funções

0,500
0,450
0,400
0,350
0,300
0,250
0,200
0,150 5 4 3 2
0,100 y = -9E-10x 2E-07x + 2E-05x - 0,0007x + -
0,0196x + 0,45
0,050 2
R 1=
0,000
0 20 40 60 80

9) Os dados abaixo relacionam a viscosidade


η em função da temperatura t.
t oC 7.5 10.9 14 15 16 18 21
η 1.409 1.276 1.175 1.148 1.121 1.069 0.990

Realizar o ajuste sugerido pelo gráfico ao


lado.
Resp: η( t ) =-0.030772617131t+1.619873714

10) Verificar qual das funções


Y1 = 0.015619 − 0.0001523 x ou
Y2 = 0.017054(0.98028) x
melhor se ajusta à tabela dada .

xi 20 40 60 80 100
yi 0.0131 0.00654 0.00459 0.0034 0.0026

Respostas:
Aplicação1: Y(d)= 1/(.1329810498e-2*d^2-.2080049421e-1*d+.6161059331)
Aplicação2: Y(p) = 5.779411/(2.043906+p)

56
6 . Integração Numérica

b
Objetivo : Calcular a ∫ f ( x)dx , onde a função integrando f (x) ou é conhecida por sua expressão
a
analítica ou por uma tabela de valores (xi , f ( xi )) , i = 0, 1,..., n.

Aplicação: Para controlar a poluição térmica de um rio, a temperatura (oF) foi registrada, reproduzindo
os dados:
x( hora ) 9 10 11 12 13 14 15 16 17
y( temperatura ) 75.3 77.0 83.1 84.8 86.5 86.4 81.1 78.6 75.1
Encontrar a temperatura média da água entre 9h da manhã e 5h da tarde e estimar o erro cometido
nesse cálculo.

1 b
OBS : fm = ∫ f ( x )dx é o valor médio de f ( x ) em [ a ,b ], se f ( a ). f ( b ) > 0 e
b−aa
f é contínua em [ a ,b ]

6.1 -Fórmulas de Newton-Cotes


x −x
Consideremos (xi , f ( xi )) , i = 0, 1,..., n., xi +1 − xi = h , h = n 0 , yi = f ( xi ) .
n
A integral da função f(x) no intervalo [x0 ; xn ] é dada por :
xn xn
∫ f ( x )dx ≅ ∫ Pn ( x )dx =
x0 x0
xn
⎛ ( x − x0 ) ( x − x0 )( x − x1 ) 2 ( x − x0 )...( x − xn −1 ) n ⎞
= ∫ ⎜⎜ y0 + ∆y0 + 2
∆ y0 + ... + ∆ y0 ⎟⎟ dx
x0 ⎝ h 2! h n! h n ⎠
x − x0 x= x0 → R = 0
Se R = , então e x = xn → R = n .
h x= x0 + Rh → dx = hdr
Assim:

57
E.B.Hauser – Cálculo Numérico

xn n n R( R − 1 ) 2 R( R − 1 )...( R − n + 1 ) n
∫x0 f ( x )dx ≅ h ∫ P( R )dR = h ∫ ( y0 + R∆y0 +
0 0 2!
∆ y0 + ... +
n!
∆ y0 )dR

⎡ n n ∆2 y0 n ∆n y0 n ⎤
= h ⎢ y0 ∫ dR + ∆y0 ∫ RdR +
2! ∫0 n! ∫0
R( R − 1 )dR + ... + R( R − 1 )...( R − n + 1 )dR ⎥
⎢⎣ 0 0 ⎥⎦

Na prática não é usual aproximar f(x) por um polinômio de grau n (elevado) devido
ao erro de arredondamento que ocorre no processo.

6.2 – Regra dos Trapézios

Considerando n = 1 na fórmula de Newton-Cotes temos :


x1
x0
f ( x )dx ≅ h P( R )dR = h ⎡⎢ y0 dR + ∆y0 RdR ⎤⎥
0
1
∫ ⎣ 0
1
0
1
∫ ⎦ ∫ [ ]
= h y0 [ R ]01 + ∆y0 [ R 2 / 2 ]01 =

⎡ ∆y ⎤ h
= h ⎢ y0 + 0 ⎥ = [ y0 + y1 ], ou para o intervalo [xi ; xi + 1 ] :
⎣ 2 ⎦ 2
i +1
[ yi + yi + 1 ]
xi + 1 h
∫xi f ( x )dx ≅ h ∫
i
P( R )dR =
2

Generalizamos para n subintervalos:


xn
∫ f ( x )dx ≅
h
2
[
yo + 2( y1 + y 2 + L + y n −1 ) + y n ]
xo

Erro de Truncamento(para n subintervalos):

h2 ( x n − x0 )
ET ≤ ( x n − x0 ) max f ' ' ( x) ou ET ≤ max ∆2 yi
12 x∈[ x o , x n ] 12

Vê-se que a fórmula dos Trapézios é exata para polinômios do 1o grau.

1 − x2
Exemplo1: Determinar h de tal forma que a regra trapezoidal forneça o valor de ∫
0
e dx com um

erro de truncamento menor que 10 −4 .


h2 h2
ET ≤ ( 1 − 0 )máx f ' ' ( x ) = ( 2 ) < 10 − 4 ⇒ h < 0.0245
12 12
x ∈ [0 ;1]

1
n = ( xn − x0 ) / h , h = ( xn − x0 ) / n , ( xn − x0 ) / n < 0.0245 , n > 40.8 → n = 41 , h = = 0.02439
41

58
6 -Integração Numérica

6.3 – Fórmula de Simpson

Fazendo n = 2 na fórmula de Newton-Cotes, temos,


⎡ ∆2 y0 2 ⎤ h
⎥ = [ y0 + 4 y1 + y 2 ]
x2 2 2
∫x0 f ( x )dx ≅ h ⎢ y0 ∫0 dR + ∆y0 ∫0 RdR +
2! ∫0
R( R − 1 )dR
⎣⎢ ⎦⎥ 3

Generalizamos para n subintervalos, n par:

xn
∫ f ( x )dx ≅
h
3
[yo + 4( y1 + y3 + y5 + L + y n −1 ) + 2( y 2 + y4 + y6 + L + y n − 2 ) + y n ]
xo

ERRO DE TRUNCAMENTO PARA A FÓRMULA DE SIMPSON


h4 ( x − x0 )
ES ≤ ( xn − x0 ) max f ' '' ' ( x ) ou E S ≤ n max ∆4 yi
180 x∈[ xo , x n ] 180

Exercícios

1.Aplicação:.Para controlar a poluição térmica de um rio, a temperatura (oF) foi registrada,


reproduzindo os dados:
x( hora ) 9 10 11 12 13 14 15 16 17
y( temperatura ) 75.3 77.0 83.1 84.8 86.5 86.4 81.1 78.6 75.1
Encontrar a temperatura média da água entre 9h da manhã e 5h da tarde e estimar o erro cometido
nesse cálculo.

2. Estimar a área da região hachurada pela regra dos Trapézios e pela de Simpson, usando oito
subintervalos.

59
E.B.Hauser – Cálculo Numérico

3. Calcular a integral abaixo pela regra dos Trapézios e pela de Simpson, usando quatro, seis e dez
subintervalos. Comparar os resultados.

π /2
∫ sen( 2 cos x ) sen
2
xdx
0

4. Calcular por Trapézios:

e− x
2
a) ∫ e − x dx com h = 0.5
0
1 2
b) ∫ e x tgxdx com h=0.1
0
5. Calcular por Simpson:

1.2
dx
a) ∫ com h =0 .3
0 ex + x + 1

2 2
b) ∫ e − x dx com h = 0.25
0

π/2
∫x
2
c) cos xdx com n=0.4
0

6. O gráfico da figura foi registrado por um instrumento usado para medir uma quantidade física.
Estimar as coordenadas-y dos pontos do gráfico e aproximar a área da região fechada usando seis
subintervalos

60
6 -Integração Numérica

Respostas:
1. temperatura média ≅ 81,58 oF ( por Trapézios)
2. Trapézios: 1.761237
Simpson: 1.763624
3.
n 4 6 10
Trapézio 0,481485 0,496396 0,503836
Simpson 0,512682 0,508646 0,508045

4. a) I = 0,636571
b) I = 1,110603

5. a) I = 0,658685
b) I = 0,882065
c) I = 0,466890

61
7 - Resolução Numérica de Equações Diferenciais Ordinárias

Objetivo: Resolver numericamente(e generalizar para problemas de ordem mais elevada) o


problema de valor inicial de primeira ordem
⎧⎪ y' = f ( x , y )
(PVI) ⎨ ,
⎪⎩ y( xo ) = y o
e o problema de valor de contorno de segunda ordem, linear:
⎧⎪ y' ' + P( x ) y' +Q( x ) y = f ( x )
(PVC) ⎨
⎪⎩ y( xo ) = yo , y( xn ) = y n .
Os métodos numéricos são processos que fornecem valores aproximados da solução em
pontos particulares, usando operações algébricas.
Os métodos que estudaremos determinarão estimativas da solução nos pontos
xo , x1 , x2 , K , onde xi = xo + ih , i= 0,1,...,n . A escolha do valor de h é arbitrária e, em geral,
quanto menor h , melhor a estimativa da solução obtida.
Sejam y ( xi ) ≅ y i , xi = xo + ih , i= 0,1,...,n e h = ( x n − xo ) / n .

Método de Euler(PVI): yi + 1 = yi + hf ( xi , yi ) , i= 0,1,...,n-1.

Método de Runge-Kutta de 2 a ordem(PVI) :


yi + 1 = yi + (k1 + k 2 ) , k1 = f ( xi , yi ) e k 2 = f ( xi + h , yi + hk1 ) , i= 0,1,...,n-1.
h
2

Diferenças Finitas(p/diferenças centrais)(PVC): Para i= 1,...,n-1 , é gerado um sistema de n-1


equações lineares:
⎛ h
⎝ 2


( 2
) ⎛ h
⎝ 2


2
⎜ 1 + P( xi ) ⎟ yi + 1 + − 2 + h Q( xi ) yi + ⎜ 1 − P( xi ) ⎟ yi −1 = h f ( xi )

Sistemas de Equações Diferenciais de primeira ordem com condições iniciais


⎧ y' = f ( x , y , z )
⎪⎪
⎨ z' = g ( x , y , z )

⎪⎩ y( xo ) = yo , z( xo ) = z o
Para obtermos sua solução é possível aplicar os métodos de Euler e Runge-Kutta de
segunda ordem. Por exemplo, por Euler as estimativas são obtidas aplicando.

yi+1 = yi + h f (xi, yi, zi ) e zi+1 = zi + h g (xi, yi, zi ).

Mudança de Variável para problemas de valor inicial de segunda ordem:


⎧⎪ y' ' = f ( x , y , z )
Para ⎨ , fazemos a mudança de varável y' = u , com y( xo ) = yo .
⎪⎩ y( xo ) = yo , y' ( xo ) = zo
Então devemos resolver o sistema de duas equações diferenciais ordinárias, acopladas
⎧ y' = u
⎪⎪
pelas condições iniciais: ⎨u' = f ( x , y , z ) .

⎪⎩ y( xo ) = yo , u( xo ) = z o

62
E.B.Hauser – Cálculo Numérico

Exemplos:

Método de Euler
Problema: y' = y – x; y(0) = 2
xn yn Solução exata
Y(x) = ex + x + 1
h = 0.1 h = 0.05 h = 0.01 h = 0.005

0.0 2.0000 2.0000 2.0000 2.0000 2.0000


0.1 2.2000 2.2025 2.2046 2.2049 2.2052
0.2 2.4100 2.4155 2.4202 2.4208 2.4214
0.3 2.6310 2.6401 2.6478 2.6489 2.6499
0.4 2.8641 2.8775 2.8889 2.8903 2.8918
0.5 3.1105 3.1289 3.1446 3.1467 3.1487
0.6 3.3716 3.3959 3.4167 3.4194 3.4221
0.7 3.6487 3.6799 3.7068 3.7102 3.7138
0.8 3.9436 3.9829 4.0167 4.0211 4.0255
0.9 4.2579 4.3066 4.3486 4.3541 4.3596
1.0 4.5937 4.6533 4.7048 4.7115 4.7183

Método de Runge-Kutta de segunda ordem


Problema: y' = y – x; y(0) = 2
xn yn Solução exata
h = 0.1 h = 0.05 h = 0.01 Y(x) = ex + x + 1

0.0 2.0000000 2.0000000 2.0000000 2.0000000


0.1 2.2050000 2.2051266 2.2051691 2.2051709
0.2 2.4210250 2.4213047 2.4213987 2.4214028
0.3 2.6492326 2.6496963 2.6498521 2.6498588
0.4 2.8909021 2.8915852 2.8918148 2.8918247
0.5 3.1474468 3.1483904 3.1487076 3.1487213
0.6 3.4204287 3.4216801 3.4221007 3.4221188
0.7 3.7115737 3.7131870 3.7137294 3.7137527
0.8 4.0227889 4.0248265 4.0255115 4.0255409
0.9 4.3561818 4.3587148 4.3595665 4.3596031
1.0 4.7140809 4.7171911 4.7182369 4.7182818

63
7 -Resolução Numérica de Equações Diferenciais Ordinárias

Método de Euler
Problema: y' = y; y(0) = 1
xn yn Solução exata
Y(x) = ex
h = 0.1 h = 0.05 h = 0.01 h = 0.005
0.0 1.0000 1.0000 1.0000 1.0000 1.0000
0.1 1.1000 1.1025 1.1046 1.1049 1.1052
0.2 1.2100 1.2155 1.2202 1.2208 1.2214
0.3 1.3310 1.3401 1.3478 1.3489 1.3499
0.4 1.4641 1.4775 1.4889 1.4903 1.4918
0.5 1.6105 1.6289 1.6446 1.6467 1.6487
0.6 1.7716 1.7959 1.8167 1.8194 1.8221
0.7 1.9487 1.9799 2.0068 2.0102 2.0138
0.8 2.1436 2.1829 2.2167 2.2211 2.2255
0.9 2.3579 2.4066 2.4486 2.4541 2.4596
1.0 2.5937 2.6533 2.7048 2.7115 2.7183

Método de Runge-Kutta de segunda ordem


Problema: y' = y; y(0) = 1
xn yn Solução exata
h = 0.1 h = 0.05 h = 0.01 Y(x) = ex

0.0 1.0000000 1.0000000 1.0000000 1.0000000


0.1 1.1050000 1.1051266 1.1051691 1.1051709
0.2 1.2210250 1.2213047 1.2213987 1.2214028
0.3 1.3492326 1.3496963 1.3498521 1.3498588
0.4 1.4909021 1.4915852 1.4918148 1.4918247
0.5 1.6474468 1.6483904 1.6487076 1.6487213
0.6 1.8204287 1.8216801 1.8221007 1.8221188
0.7 2.0115737 2.0131873 2.0137294 2.0137527
0.8 2.2227889 2.2248265 2.2255115 2.2255409
0.9 2.4561818 2.4587148 2.4595665 2.4596031
1.0 2.7140809 2.7171911 2.7182369 2.7182818

64
E.B.Hauser – Cálculo Numérico

Método de Euler
Problema: y' = 4x3; y(0) = 1

xn yn Solução exata
Y(x) = x4
h = 0.1 h = 0.05 h = 0.01
0.1 0.0000 0.0000 0.0000 0.0000
0.1 0.0000 0.0000 0.0001 0.0001
0.2 0.0004 0.0009 0.0014 0.0016
0.3 0.0036 0.0056 0.0076 0.0081
0.4 0.0144 0.0196 0.0243 0.0256
0.5 0.0400 0.0506 0.0600 0.0625
0.6 0.0900 0.1089 0.1253 0.1296
0.7 0.1764 0.2070 0.2333 0.2401
0.8 0.3136 0.3600 0.3994 0.4096
0.9 0.5184 0.5852 0.6416 0.6561
1.0 0.8100 0.9025 0.9801 1.0000

Método de Runge-Kutta de segunda ordem


Problema: y' = 4x3; y(0) = 0

xn yn Solução verdadeira
Y(x) = x4
h = 0.1 h = 0.05 h = 0.01
0.0 0.0000000 0.0000000 0.0000000 0.0000000
0.1 0.0002000 0.0001250 0.0001010 0.0001000
0.2 0.0020000 0.0017000 0.0016040 0.0016000
0.3 0.0090000 0.0083250 0.0081090 0.0081000
0.4 0.0272000 0.0260000 0.0256160 0.0256000
0.5 0.0650000 0.0631250 0.0625250 0.0625000
0.6 0.1332000 0.1305000 0.1296360 0.1296000
0.7 0.2450000 0.2413250 0.2401490 0.2401000
0.8 0.4160000 0.4112000 0.4096640 0.4096000
0.9 0.6642000 0.6581250 0.6561810 0.6561000
1.0 1.0100000 1.0025000 1.0001000 1.0000000

65
7 -Resolução Numérica de Equações Diferenciais Ordinárias

Exercícios:

1. Utilizando o método de Euler, determinar y(X i ), se :


⎪⎧ y` = − xy − 1

a) ⎪⎩ y( 1 ) = 2 , h=0,25 , X i =1,75

⎧⎪ y` = x + y , y > 0
b) ⎨ , h=0,1 , X i =1,4
⎪⎩ y( 1 ) = 0

⎧⎪ y` = x 2 + 2 y

c) ⎪ y( 1 ) = 0 ,2 , h=0,1 , X i =1,4

⎧⎪ y` = 100 y − 101e x − 100



d) ⎪⎩ y( 0 ) = 2 , h=0,1 , X i =0,3

⎧⎪ xy`` − y` −8 x 3 y 3 = 0
e) ⎨ , h=0,1 , X i =1,3
⎪⎩ y( 1 ) = 0.5 , y`( 1 ) = −0 ,5

⎧⎪ y`` −( 1 − y 2 ) y` + y = 0
f) ⎨ , h=0,1 , X i =0,3
⎪⎩ y( 0 ) = 0 ,5 , y`( 0 ) = 0

2.Utilizando o Método de Heun (Runge-Kutta de 2ª ordem), determinar y( X i ), se:


⎧ y` = − xy
⎧⎪ y` = 3 x 2 + y ⎨
a) ⎨ , h=0,2, X i =0,4 b) ⎩ y( 0 ) = 1 , h=0,1, X i =0,2
⎪⎩ y( 0 ) = 1

⎧⎪ y` = 4 x 3
c) ⎨ , h=0,1 , X i =0,3
⎪⎩ y( 0 ) = 0

3.Utilizando o Método das diferenças finitas, e o valor indicado de n, resolver o PVC.

⎧ y' ' +9 y = 0 ⎧ y' ' +2 y' + y = 5 x


a) ⎨ ,n = 4 b) ⎨ ,n = 5
⎩ y( 0 ) = 4 , y( 2 ) = 1 ⎩ y( 0 ) = 4 , y( 1 ) = 0

⎧⎪ x 2 y' ' +3 xy' +3 y = 0 ⎧ y' ' +( 1 − x ) y' + xy = x


c) ⎨ ,n = 8 d) ⎨ ,n = 10
⎪⎩ y( 1 ) = 5 , y( 2 ) = 0 ⎩ y( 0 ) = 0 , y( 1 ) = 2

66
E.B.Hauser – Cálculo Numérico

4. PVI -Considerar um sistema massa-mola-amortecedor descrito pela equação diferencial


ordinária de segunda ordem:
m y” + cy’ + ky = L sin x.
Utilizando Euler com h=0.25, estimar o deslocamento para o tempo x=0.5, para massa
m=1, amortecedor c=0.5, rigidez k=2, amplitude da força L=0.5 , com deslocamento inicial
y(0)=1, velocidade inicial y’(0) =0.

5. PVC - Considerar o problema de deflexão de uma viga de seção transversal retangular sujeita a
uma carga uniforme, tendo seus extremos apoiados de modo a não sofrer deflexão alguma. O
problema de valor de contorno que rege essa situação física é
d 2w S q
= w+ x( x − 1 ), 0 < x < L ,
dx 2 EI 2 EI
Como não ocorre deflexão nas extremidades da viga, as condições de contorno são w(0) =0,
w(L) =0. Considerando:
• Comprimento L=120 pol;
• Intensidade de carga uniforme q=100 lb/pé;
• Módulo de elasticidade E=3.0 x 107 lb/pol2;
• Esforço nas extremidades S=1000 lb;
4
• Momento central de Inércia I=625 pol ;
aproximar a deflexão w(x) da viga a cada 20pol, utilizando diferenças finitas.

Respostas :
1.a) y(1,75)=1,2018 2.a) y(0,4)=1,1189
b) y(1,4)=0,4558 b) y(0,2)=0,9801
c) y(1,4)=0,7778 c) y(0,3)=0,009
d) y(0,3)=-25,2206
e) y(1,3)= 0, 4147
f) y(0,3)= 0,3175

y1 = 0 ,2660
y1 = 3,8842 y 2 = 0 ,5097
y 2 = 2 ,9640 y3 = 0 ,7357
y1 = −0 ,2259
y1 = −5 ,6774 y3 = 2 ,2064 y4 = 0 ,9471
y 2 = −0 ,3356
3.a) y 2 = −2 ,5807 b) c) y4 = 1,5826 d) y5 = 1,1465
y3 = −0 ,3308
y3 = 6 ,3226 y5 = 1,0681 y6 = 1,3353
y4 = −0 ,2167
y6 = 0 ,6430 y7 = 1,5149
y7 = 0 ,2913 y8 = 1,6855
y9 = 1,8474
4) y(0.5)=0.875

67
8 – Resolução Numérica de Equações Diferenciais Parciais

8.1 -Introdução

Equação diferencial parcial (EDP) é a uma equação que envolve duas ou mais
variáveis independentes ( x , y , z ,t ,K ) e derivadas parciais de uma função incógnita(variável
dependente que queremos determinar) u ≡ u( x, y, z,t ,K) .
Um corpo é isotrópico se a condutividade térmica em cada um de seus pontos é
independente da direção do fluxo de calor através do ponto.
Em um corpo isotrópico, a temperatura, u ≡ u(x, y, z, t), é obtida resolvendo-se a
equação diferencial parcial (EDP)

∂ ⎛ ∂u ⎞ ∂ ⎛ ∂u ⎞ ∂ ⎛ ∂u ⎞ ∂u
⎜ k ⎟ + ⎜⎜ k ⎟⎟ + ⎜ k ⎟ = cp
∂x ⎝ ∂x ⎠ ∂y ⎝ ∂y ⎠ ∂z ⎝ ∂z ⎠ ∂t

onde k, c e p são funções de (x,y,z), e representam respectivamente, a condutividade térmica, o


calor específico e a densidade do corpo no ponto (x,y,z).
Quando k, c e p são constantes, essa equação é denominada equação simples
tridimensional do calor, e é expressa como

∂ 2u ∂ 2u ∂ 2u cp ∂ u
+ + = .
∂x 2
∂y 2
∂z 2 k ∂t

Se o domínio do problema é relativamente simples, a solução dessa equação é obtida


utilizando a série de Fourier. Na maioria das situações onde k, c e p não são constantes ou
quando o domínio é irregular, a solução da equação diferencial parcial deve ser obtida por meio
de métodos de aproximação.

Para introduzir métodos numéricos de resolução de EDP, utilizaremos as equações de


Poisson, do Calor e da Onda, as quais representam protótipos das EDP´s elípticas, parabólicas e
hiperbólicas. Será adotado um procedimento geral, seguindo os passos:

1) Construir uma malha a partir do domínio do problema;


2) Para os pontos interiores da malha, escolher a discretização das derivadas parciais;
3) Construir o sistema de equações lineares usando a discretização dos pontos interiores,
( )
f xi , y j e as condicções de contorno.
4) Resolver o sistema de equações lineares(escolher o método masi eficiente), cuja
solução forne as aproximações da solução nos pontos interiores da malha.

8.1.1-Equação Do Potencial ou de Poisson(EDP Elíptica)

Consideremos a equação de Poisson:

∂ 2u ∂ 2u
( x, y ) + ( x , y ) = f ( x , y ).
∂x 2 ∂y 2

68
E.B.Hauser – Cálculo Numérico

Nessa equação supomos que a função f descreve os dados do problema em uma região
plana R com fronteira S. Equações desse tipo aparecem durante o estudo de diversos problemas
físicos dependentes do tempo; por exemplo, a distribuição de calor para um estado estável em
uma região plana, a energia potencial de um ponto em um plano sobre o qual atuam forças
gravitacionais e os problemas bidimensionais do estado de equilíbrio que incluem fluidos não
comprimíveis.
Para se obter uma solução única para equação de Poisson é necessário impor outras
restrições. Por exemplo, o estudo da distribuição de calor no estado de equilíbrio em uma região
plana requer que f ( x , y ) ≡ 0 que é a equação de Laplace

∂ 2u ∂ 2u
( x, y ) + ( x, y ) = 0,
∂x 2 ∂y 2

Se a temperatura na região é determinada por sua distribuição no limite da região, as


restrições são denominadas Condições de limite de Dirichlet, dadas por u ( x, y ) = g ( x, y ),
para todo(x,y) em S, a fronteira da região R ( ver figura 1).

Figura 1

8.1.2- Equação de Calor ou da Difusão (EDP Parabólica)

A equação do calor ou de difusão (que é uma equação diferencial parcial


parabólica)
∂u ∂ 2u
( x ,t ) + ( x ,t ) = 0 ,
∂t ∂x 2
modela matematicamente o problema físico referente ao fluxo de calor ao longo de uma barra de
comprimento l (figura 2), a qual tem uma temperatura uniforme dentro de cada elemento
transversal. Essa condição requer que a superfície lateral da barra esteja perfeitamente isolada. A
constante α é determinada pelas propriedades de condução de calor do material de que a barra é
feita e é independente da posição da barra.

Figura2

69
8 - Resolução Numérica de Equações Diferenciais Parciais

Um dos conjuntos típicos de restrições para um problema de fluxo de calor desse tipo
consiste em especificar a distribuição inicial de calor na barra: u(x,0)=f(x) e em descrever o
comportamento nas extremidades da barra. Por exemplo, se as extremidades são mantidas em
temperaturas constantes U i e U 2 , as condições de contorno têm a forma:
u( 0 ,t ) = U 1 e u( l ,t ) = U 2 ,
e a distribuição de calor se aproxima da distribuição limite de temperatura

U 2 − U1
lim u ( x , t ) = U 1 + l
x.
t→ ∞

Se, a barra estiver isolada de modo que não flua calor por suas extremidades, as condições
de contorno serão:
∂u ∂u
(0, t ) = 0 e (l , t ) = 0,
∂x ∂x
o que resulta em uma temperatura constante na barra como caso limite.
A equação diferencial parcial parabólica também é importante para o estudo da
difusão dos gases.

8.1.3- Equação da Onda (EDP Hiperbólica)

Consideremos a equação da Onda unidimensional , um exemplo de uma equação


diferencial parcial hiperbólica. Supomos que uma corda elástica ,de comprimento l , seja
esticada entre dois suportes no mesmo nível horizontal(figura 3)

Figura 3

Se pusermos a corda em movimento de modo que ela vibre em um plano vertical, o


deslocamento vertical u ( x , t ) de um ponto x no tempo t satisfará a equação diferencial parcial

∂ 2u ∂ 2u
α 2
( x ,t ) = ( x ,t ), para 0 < x < l , 0 < t ,
∂x 2 ∂t 2

se os efeitos de amortização forem desconsiderados e a amplitude não for muito grande.


Para impor restrições a esse problema, vamos supor que a posição e a velocidade
iniciais da corda sejam dadas por

70
E.B.Hauser – Cálculo Numérico

∂u
u ( x,0) = f ( x) e ( x ,0 ) = g( x ),
∂t
Se os pontos extremos forem fixos, teremos:
u( 0 ,t ) = 0 e u( l ,t ) = 0 .
Os outros problemas físicos envolvendo a equação diferencial parcial hiperbólica
ocorrem no estudo de vigas vibrantes com uma ou ambas as extremidades clamped e na
transmissão de eletricidade em uma linha de transmissão longa onde exista alguma perda de
corrente para o solo.

8.2. -Método das Diferenças Finitas para Equação Diferencial Parcial Elíptica
Consideremos o problema de valor de contorno envolvendo a equação de Poisson (que é
uma equação diferencial parcial elíptica)

⎧ 2 ∂ 2u ∂ 2u
⎪∇ u( x , y ) ≡ 2 ( x , y ) + 2 ( x , y ) = f ( x , y )
⎨ ∂x ∂y

⎩ u( x , y ) = g( x , y ) para ( x , y ) ∈ S ,

onde S é a fronteira(contorno) do retângulo R = {( x , y ) / a < x < b , c < y < d } .


Se f e g são contínuas em seus domínios, então existe uma única solução para esse problema
de valor de contorno..
Utilizaremos uma adaptação do método de Diferenças Finitas .
Em R contruímos uma grade(figura4) , traçando linhas verticais e horizontais ( x = xi e ,
y = y j grid lines) pelos pontos (x i , y j ), e suas intersecções são os pontos de rede (mesh points),
onde
x i = a + ih, h=(b – a)/n , para todo i = 0,1,...,n
e
y j = c + jk , k=(d – c)/m , para todo j = 0,1,...,m

Figura 4

71
8 - Resolução Numérica de Equações Diferenciais Parciais

Para cada ponto de rede no interior da quadricula (x i , y j ), com i = 1,2,...,n-1 e com j =


1,2,...,m-1, utilizamos a série Taylor na variável x ao redor de xi para gerar a fórmula das
diferenças centrais

∂2u
(xi , y j ) =
( ) ( ) (
u xi +1 , y j − 2u xi , y j + xi −1 , y j ) − h2 ∂4u (ξ , y ), (2.1)
2 i j
∂x h2 12 ∂x4

onde ξ ∈ ( xi −1 , xi +1 ). Também utilizamos a série de Taylor na variável y ao redor de y j para gerar a


fórmula das diferenças centrais

u(xi +1 , y j ) − 2u(xi , y j ) + (xi −1 , y j ) k ∂ u


∂2u
(xi , y j ) = (xi ,η j ),
2 4
− (2.3)
2 2 12 4
∂y k ∂y

onde η ∈ ( y j −1 , y j +1 ).
A utilização dessas formulas na Equação (2.1) nos permite expressar a equação de Poisson
nos pontos (x i , y j ), como

( ) ( ) (
u xi +1 , y j − 2u xi , y j + xi −1 , y j ) + u(xi+1 , y j ) − 2u(xi , y j ) + (xi−1 , y j )
h2 k2

(
= f xi , y j +) h 2 ∂ 4u
12 ∂x4
ξ(,
i jy +
12 ∂y4
)
k 2 ∂ 4u
xi ,η j , ( )

para todo i = 1,2,...,n-1 e j = 1,2,...,m-1, e as condições de limite como


u ( x0 , y j ) = g ( x0 , y j ) e u ( x n , y j ) = g ( x n , y j ), para todo j = 0,1,...,m;
u ( xi , y 0 ) = g ( xi , y 0 ) e u ( xi , y m ) = g ( xi , y m ), para todo i = 1,2,...,n-1;

Na forma da equação de diferenças, isso resulta no método das Diferenças Finitas para a
equação de Poisson, com um erro local de truncamnto da ordem de O(h 2 + k 2 ) :

⎡⎛ h ⎞ 2 ⎤ 2
( ⎛h⎞
) (
2 ⎢⎜ ⎟ + 1⎥ wij − wi +1, j + wi −1, j − ⎜ ⎟ wi , j + 1 + wi , j −1 = −h 2 f xi , y j , ) ( )
⎢⎣⎝ k ⎠ ⎥⎦ ⎝k⎠ (2.4)
i = 1,2,..., n - 1 e j = 1,2,..., m - 1.

w0 j = g ( x0 , y j ) e wnj = g ( x n , y j ) , para todo j = 0,1,...,m;


(2.5)
wi 0 = g ( xi , y 0 ) e wim = g ( xi , y m ), para todo i = 1,2,...,n-1;

onde wij é uma aproximação de u ( xi , y j ) .

72
E.B.Hauser – Cálculo Numérico

A equação em (2.4) envolve aproximações a u ( x , y ) nos pontos


(xi −1 , y j ), (x , y ), (x
i j i +1 , y j ), (x , y ) e (x , y ) .
i j −1 i j +1

Reproduzindo a parte da malha na qual esses pontos estão situados (veja figura.5),
observamos que cada equação contém aproximações em uma região em forma de estrela ao redor
de (xi , y j ) .

Figura 5

Se utilizarmos a informação das condições de limite (2.5) sempre que for conveniente no
sistema dado por (12.4), poderemos dizer que, em todos os pontos (xi , y j ) adjacentes ao ponto de
rede do limite, teremos um sistema linear ( n – 1)(m – 1) x ( n – 1)(m – 1), cujas incógnitas são as
aproximações wij a u ( xi , y j ) no interior dos pontos de rede.
O sistema linear que contém essas incógnitas será expresso mais eficientemente em cálculos
matriciais se for introduzida uma remarcação dos pontos interiores da malha. Um sistema de
marcação desses pontos consiste em utilizar
(
Pl = xi , y j e wl = wij )
onde l = i + (m − 1 − j )(n − 1), para todo i = 1,2,...,n-1 e j = 1,2,...,m-1. Isso marca
consecutivamente os ponto de rede da esquerda para direita e de cima para baixo. Por exemplo, com
n = 4 e m = 5, com a remarcação se obtém uma quadrícula cujos pontos são mostrados na Figura
12.6.Ao marcar os pontos desse modo, se garante que o sistema necessário para determinar wij seja
uma matiz de banda com uma largura de banda de, no máximo, 2n – 1.

Figura 6

73
8 - Resolução Numérica de Equações Diferenciais Parciais

Exemplo1

Consideremos o problema da determinação do estado estável da distribuição de calor em


uma placa quadrada metálica delgada, com dimensões 0,5 m por 0,5 m. Dois limites adjacentes
são mantidos a 0ºC, e o calor nos outros dois limites aumenta linearmente de 0ºC, em um canto,
para 100ºC no lugar onde ambos os lados se encontram. Se colocarmos os lados com as
condições de limite igual a zero ao longo dos eixos x e y , o problema pode ser expresso como

∂ 2u ∂ 2u
( x , y ) + ( x, y ) = 0,
∂x 2 ∂y 2

para (x , y) no conjunto R = {( x, y ) / 0 < x < 0,5 , 0 < y < 0,5}, com as condições de fronteira

u (0 , y)=0, u (x , 0)=0, u (x , 0,5)=200x, u (0,5 , y) = 200y

Consideremos n = m = 4. Assim, com h=k=0.125. Construímos a malha da figura 7:

Figura 7

Utilizandos o método das Diferenças Finitas (2.4) obtemos a equação de diferenças


finitas

4wi , j − wi+1, j − wi−1, j − wi , j−i − wi , j+i = 0,

para todo i= 1,2,3 e j=1,2,3 .

Para expressar isso em função dos interiores da grade, usamos


( )
Pl = xi , y j e wl = wij
e
wi = u ( Pi ) , e l = i+(m-1-j)(n-1).

74
E.B.Hauser – Cálculo Numérico

Também, a partir das condições de contorno e usando (2.5)

w 1 ,0 = w 2 ,0 = w 3 ,0 = w 0 ,1 = w 0 ,2 = w 0 ,3 = 0 ,
w 1 ,4 = w 4 ,1 = 25 , w 2 ,4 = w 4 ,2 = 50 , e , w 3 ,4 = w 4 ,3 = 75

Assim, para cada ponto interior da grade, Pi geramos uma equação linear:

P 1 : 4 w 1 − w 2 − w 4 = w 0 ,3 + w 1 ,4
P 2 : 4 w 2 − w 3 − w 1 − w 5 = w 2 ,4
P 3 : 4 w 3 − w 2 − w 6 = w 4 ,3 + w 3 ,4
P 4 : 4 w 4 − w 5 − w 1 − w 7 = w 0 ,2
P 5 : 4 w 5 − w 6 − w 4 = w 2 − w 8 = 0
P 6 : 4 w 6 − w 5 − w 3 − w 9 = w 4 ,2 ,
P7 : 4 w 7 − w 8 − w 4 = w 0 ,1 + w 1 ,0 ,
P 8 : 4 w 8 − w 9 − w 7 − w 5 = w 2 ,0 ,
P 9 : 4 w 9 − w 8 − w 6 = w 3 ,0 + w 4 ,1 ,

Obtemos um sistema linear cuja a forma matricial é:

Resolvendo o sistema com o sistema de computação algébrica e simbólica Maple , obtemos


as temperaturas aproximadas nos pontos interiores da malha.

75
8 - Resolução Numérica de Equações Diferenciais Parciais

> A := matrix( [[4,-1,0,-1,0,0,0,0,0],[-1,4,-1,0,-1,0,0,0,0],[0,-


1,4,0,0,-1,0,0,0],[-1,0,0,4,-1,0,-1,0,0],[0,-1,0,-1,4,-1,0,-
1,0],[0,0,-1,0,-1,4,0,0,-1],[0,0,0,-1,0,0,4,-1,0],[0,0,0,0,-1,0,-
1,4,-1],[0,0,0,0,0,-1,0,-1,4]]):

> b := vector( [25,50,150,0,0,50,0,0,25]):

> linalg[linsolve](A, b);

> W:=evalf(%);

Tabelamos os resultados:

i 1 2 3 4 5 6 7 8 9
wi 18.75 37.50 56.25 12.5 25.00 37.50 6.25 12.50 18.75

Assim, para cada i, wi = u ( Pi ) , isto é, wi é uma estimativa da solução em Pi = ( xi , yi ) .


Por exemplo, w6 = u( P6 ) = u( 0.375 ,0.25 ) ≅ 37.5

Exemplo2:

Consideremos o modelo para determinar a temperatura de estado estacionário para uma


placa quadrada com condições de contorno dadas:
⎧ ∂ 2u ∂ 2u
⎪ 2 ( x, y ) + ( x, y ) = 0,0 < x < 2,0 < y < 2
⎪ ∂x ∂y 2

⎨u ( 0 , y ) = 0 , u ( 2 , y ) = y( 2 − y )
⎪ x,0 < x < 1
⎪ u ( x ,0 ) = 0 , u ( x ,2 ) = ⎧⎨
⎪ ⎩2 − x , 1 ≤ x < 2

76
E.B.Hauser – Cálculo Numérico

Utilizando diferenças finitas centrais com h=k=2/3, para i, j = 0,1,2,3, obtemos a equação
de diferenças finitas:
ui + 1, j + ui , j = 1 + ui − 1, j + ui , j − 1 − 4ui , j = 0
Para determinar o valor de
u( 2 / 3 ,2 / 3 ) ≅ u11, u( 2 / 3,4 / 3 ) ≅ u12 , u( 4 / 3,2 / 3 ) ≅ u 21 e u( 4 / 3,4 / 3 ) ≅ u 22

Utilizando o sistema Maple para resolver o sistema linear tridiagonal:


⎧ − 4u11 + u 21 + u12 = 0
⎪u11 − 4u 21 + u 22 = −8 / 9


⎪u11 − 4u12 + u 22 = −2 / 3
⎪⎩ u 21 + u12 − 4u 22 = −14 / 9

> solve({-4*u11+u21+u12=0, u11-4*u21+u22=-8/9, u11-4*u12+u22=-2/3,


u21+u12-4*u22=-14/9},{u11,u12,u21,u22});
13 7 7 5
{ u12 = , u11 = , u22 = , u21 = }
36 36 12 12
> evalf(%);
{ u12 = .3611111111, u11 = .1944444444, u22 = .5833333333, u21 = .4166666667}

Exercícios: Consultar a bibliografia indicada neste capítulo, escolher um método e


determinar uma solução numérica dos problemas a seguir:

1) Resolver numericamente equação de calor


∂u ∂ 2u
( x ,t ) − ( x ,t ) = 0 , 0 < x < 1, 0 ≤ t ,
∂t ∂x 2
com as condições de contorno
u ( 0 , t ) = u ( 1, t ) = 0 , 0 < t ,
e as condições iniciais
u( x ,0 ) = sen( πx ), 0 ≤ x ≤ 1.

2) Resolver numericamente o problema hiperbólico


∂ 2u ∂ 2u
( x , t ) − 4 ( x, t ) = 0,0 < x < 1,0 < t ,
∂t 2 ∂x 2
com as condições de contorno
u ( 0 ,t ) = u( 1,t ) = 0 , para 0 < t
e com as condições iniciais
u( x ,0 ) = sen( πx ), 0 ≤ x ≤ 1;
∂u
( x ,0 ) = 0 , 0 ≤ x ≤ 1.
∂t

77
8 - Resolução Numérica de Equações Diferenciais Parciais

8.4 – Bibliografia para EDP`s

--Burden, Richard L., Faires, J. Douglas.”Analise Numérica”, São Paulo, SP, 2003,
THOMSON.
--Cláudio, Dalcidio M, Marins, Jussara M, Cálculo Numérico Computacional, São Paulo,
SP,
Ed. Atlas, 1994.
--Cunha, M.Cristina, Métodos Numéricos, Campinas, SP, 2003, Ed. Unicamp.
--Zill, Denis G., Cullen, Michael R., Equações Diferenciais, Vol.2, Sâo Paulo, SP, 2002,
Makron Books.
--Schleider, Maria Amélia N, Cunha, Maria Cristina, Métodos Numéricos para Equações
Diferenciais Parciais, Notas em Matemática Aplicada, Volume 4, São Carlos, SP, 2003,
SBMAC. (Disponível em http://www.sbmac.org.br/boletim/pdf_2003/livro_04_2003.pdf)
--Stroud, K.A, Booth, Dexter J., Advanced Engineering Mathematics, New York, 2003,
Palgrave Macmillan.

78
Bibliografia
ATKINSON, K. E. An Introduction to Numerical Analysis. 2.ed. New York : John Wiley &
Sons, 1989.

AYYUB, Bilal M.; McCUEN, Richard H. Numerical Methods For Engineers. New Jersey:
Prentice Hall, 1996.

BARROSO, Leonidas Conceição et al. Cálculo Numérico com Aplicações. 2.ed. São Paulo
: Harbra, 1987.

BURDEN, Richard L., FAIRES, J. Douglas. Análise Numérica. São Paulo :


Thomson, 2003.

CHAPRA, Steven C., CANALE, Raymond P. Numerical Methods for Engineers with
Programming and Software Applications. 4.ed. Boston : McGraw-Hill, 2002.

CLÁUDIO, Dalcidio Moraes, MARINS, Jussara Maria. Cálculo


Numérico Computacional. 2.ed. São Paulo : Atlas, 1994.

CUNHA, M.Cristina, Métodos Numéricos, Campinas, SP, 2003, Ed. Unicamp.

GANDER, Walter.; HREBICEK, Jiri. Solving Problems in Scientific Computing Using


Maple and Matlab: Berlin, Springer-Verlag, 1995.

HUMES, Ana Flora P. de Castro et al. Noções de Cálculo Numérico. São Paulo: McGraw-
Hill, 1984.

KREYSZIG, Erwin. Advanced Engineering Mathematics. New York, NY : John Wiley &
Sons, 1993.

O’NEIL,PeterV. Advanced Engineering Mathematics. 4.ed. Pacific Grove, CA :


Brooks/Cole, 1995.

RICE, Richard G.; DO, Duong D. Applied Mathematics and Modelling for Chemical
Engineers. New York : John Wiley & Sons, 1995.

RUGGIERO, Márcia A. Gomes, LOPES, Vera Lúcia da Rocha. Cálculo


numérico: aspectos teóricos e computacionais. São Paulo : McGraw-Hill, 1997.

SCHELEIDER, Maria Amélia N, Cunha, Maria Cristina dC, Métodos Numéricos para
Equações Diferenciais Parciais, Notas em Matemática Aplicada, Volume 4, São Carlos, SP,
2003, SBMAC. (Disponível em http://www.sbmac.org.br/boletim/pdf_2003/livro_04_2003.pdf)

STROUD, K.A, BOOTH, Dexter J., Advanced Engineering Mathematics, New York,
Palgrave Macmillan, 2003.

79
Cálculo Numérico - Formulário

⎡ t −1( M − m + 1 )⎤ + 1 , F ( β , t , m, M ) ; 1b) DIGSE( x , x ⎡ ⎛ xk + 1 − xk ⎞⎤


1a) # F = 2( β − 1 )β k k + 1 ) = − ⎢0 ,3 + log ⎜⎜ µ + ⎟⎥
⎢⎣ ⎥⎦ ⎢⎣ ⎝ xk + 1 ⎟⎥
⎠⎦

2) Seja p( x ) = a n x n + a n −1 x n −1 + ... + a3 x 3 + a 2 x 2 + a1 x + a0

a) Horner: p( x ) = (((...( a n x + a n −1 ) x + a n − 2 )x + ...a 2 )x + a1 ) x + a0


123
n −1
2
b) Huat: Se p(0) ≠ 0 e para algum k = 1, 2, ...,n-1, ak ≤ ak −1ak + 1 , então p tem raízes complexas.
f ( xk )
3) Método de Newton-Raphson: xk + 1 = xk − , k = 0 ,1,2 ,..., máx f ' ( xk ) ≠ 0
f ' ( xk )

4) Sistema de n equações lineares: AX=B, A = ⎡a ij ⎤ , X = ⎡ x ⎤ e B = ⎡ b i ⎤ com i,j = 1, 2, ..., n.


⎢⎣ ⎥⎦ ⎢⎣ i ⎥⎦ ⎣⎢ ⎥⎦
det A
4a) NORM A = onde α k = a 2 + a 2 + L a 2 , para k = 1, 2, ..., n.
α 1α 2 Lα n k1 k2 kn
n
4b) A matriz A é Diagonal Dominante se a
ii
> ∑ aij ∀ i , j = 1,2 ,.., n.
j =1
j ≠i
4c)Gauss -Jacobi e Gauss -Seidel: ∀ i= 1, 2, ..., n e k = 1, 2, ..., máx,
⎛ ⎞ ⎛ ⎞
⎜ ⎟ ⎜ ⎟
n i − 1 n
1 ⎜ ⎟ 1 ⎜ ⎟
x = ⎜
i k + 1 aii ⎜
bi − ∑
a ij x j ⎟
k ⎟
x =
i k + 1 aii ⎜ ⎜ bi − a ij x j
k +1
− ∑ a ij x j ⎟
k ⎟ ∑
j =1 j =1 j =i +1
⎜ j ≠i ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
5) Diferenças Finitas Ascendentes: ∀ i= 0, 1, 2, ..., n ,seja ∆ yi = yi . Para k = 1, 2, ..., n
0

a diferença finita de ordem k é ∆k yi = ∆k −1 yi + 1 − ∆k −1 yi , com i= 0, 1, 2, ..., n-k .

6) Diferenças Divididas: ∀ i= 0, 1, 2, ..., n ,seja ∆0 yi = yi . Para k = 1, 2, ..., n, a diferença dividida de ordem k é

∆ k −1 yi +1 − ∆ k −1 yi
∆ k yi = , com i= 0, 1, 2, ..., n-k .
xi +k − xi
7) Polinômio Interpolador de Newton para Diferenças Finitas Ascendentes:
( x − xo ) ( x − x o )( x − x ) 2 ( x − x o )( x − x )L ( x − x )
p( x ) = y o + ∆y0 + 1 ∆ y +L+ 1 n − 1 ∆n y
2 o n o
h 2! h n! h

( x − xo ) ∆2 yo ∆3 yo ∆n yo
Se z = , p( z ) = yo + z ∆y + z( z − 1 ) + z ( z − 1 )( z − 2 ) + L + z ( z − 1 )L( z − ( n − 1 )) .
h 0 2! 3! n!

8) Polinômio Interpolador de Newton para Diferenças Divididas


2
p( x ) = yo + ( x − xo )∆y + ( x − xo )( x − x ) ∆ yo + ...+ ( x − xo )( x − x )...(x − x )∆ n yo
0 1 1 n−1

80
Cálculo Numérico - Formulário

p
9) Ajustamento a um Polinômio de grau p: Se Y ( x ) = ao + a x + a x 2 + L + a p x é a função que ajusta os pontos
1 2
n
( xi , yi ) , i = 0 ,1,...n e p < n , então, para ∑ ∑ = , os parâmetros a 0 , a 1 ,..., a p constituem a solução de:
i =0



n+1 ∑ xi ∑ xi2 ∑ xi3 L ∑ xip ⎞⎟⎟⎛⎜⎜ ao ⎞⎟⎟ ⎛⎜⎜ ∑ yi ⎞




∑ xi ∑ xi2 ∑ xi3 ∑ xi4 L ∑ xip +1 ⎟⎟⎜⎜ a1 ⎟⎟ = ⎜⎜ ∑ xi yi ⎟

M M M M L M M M
⎜ p +1 p+2 p+3 2 p ⎟⎟⎜⎜ a ⎟⎟ ⎜ p ⎟⎟

⎝ ∑ xi
p
∑ xi ∑ xi ∑ xi L ∑ xi
⎠⎝ p ⎠

⎝ ∑ xi y i

9a)Ajuste Linear e Quadrático Y ( x ) = a o + a x , e Y ( x ) = ao + a x + a 2 x 2
1 1
⎛ n+1
⎜ ∑ xi ∑ 2 ⎞
xi ⎟ ⎛⎜ a o ⎞⎟ ⎛
∑ yi ⎞⎟⎟
⎛ n+1
∑xi ⎞⎟ ⎛ a ⎞ ⎛ yi ⎞⎟ ∑ ⎜ ⎟ ⎜ ⎟

⎜ ⎜ 0⎟ = ⎜ , e ⎜ xi
∑ ∑ ∑ xi2 ∑ xi3 ⎟ ⎜ a ⎟ = ⎜
∑ xi yi ⎟
⎜⎜

xi ∑ 2 ⎟ ⎜
xi ⎟ ⎝ 1 ⎠
a ⎟ ⎜

xi yi ⎟
⎠ ⎜ ⎟ ⎜
1


⎝ ⎠


xi2 ∑ ∑ xi3 ∑ xi4 ⎟ ⎜ a ⎟
⎠ ⎝ 2⎠

⎝ ∑ xi2 yi ⎟⎠

10) Integração: Para h = ( x n − xo ) / n , xi = xo + ih e y i = f ( xi ) , i = 0,1,...n,

∫ f ( x )dx ≅ 2 [ yo + 2( y1 + y2 + L + yn −1 ) + yn ]
xn
h
10a) Trapézios:

xo

h2 ( xn − x0 )
ET ≤ ( xn − x0 ) max f'' ( x ) ou ET ≈ max ∆2 yi .
12 x∈[ xo , xn ] 12

xn
h⎡
10b) Simpson ( n par) : ∫ f ( x )dx ≅ y o + 4( y1 + y 3 + y 5 + L + y n −1 ) + 2( y 2 + y 4 + y6 + L + y n − 2 ) + y n ⎤⎥
3 ⎢⎣ ⎦
xo
h4 ( xn − x0 )
ES ≤ ( x n − x0 ) max f '''' ( x ) ou ES ≈ max ∆4 yi .
180 x∈[ xo ,x n ] 180

⎧⎪ y' = f ( x , y )
11) PVI: Sejam ⎨ y ( xi ) ≅ y i com xi = xo + ih , i= 0,1,...,n e h = ( xn − xo ) / n .
⎪⎩ y( xo ) = yo

11 a)Euler: yi + 1 = yi + hf ( xi , yi ) , i= 0,1,...,n-1.
a
= yi + (k1 + k 2 ) , k1 = f ( xi , yi ) e k 2 = f ( xi + h , yi + hk1 ) , i= 0,1,...,n-1.
h
11b) Runge-Kutta de 2 Ordem : y
i +1 2
⎧⎪ y' ' + P( x ) y' +Q( x ) y = f ( x )
12) PVC: Sejam ⎨ , y ( xi ) ≅ y i com xi = xo + ih , i= 0,1,...,n e h = ( xn − xo ) / n .
⎪⎩ y( xo ) = yo , y( xn ) = y n .

Diferenças Finitas: ⎜ 1 +


h
2

( ⎛ h
) ⎞
P( xi ) ⎟ yi + 1 + − 2 + h 2 Q( xi ) yi + ⎜ 1 − P( xi ) ⎟ yi −1 = h 2 f ( xi ) , i= 1,...,n-1
⎠ ⎝ 2 ⎠

81
Cálculo Numérico - Formulário

13)Diferenças Finitas Centradas

y ( xi + 1 ) − y ( xi − 1 ) yi + 1 − yi − 1
y´( xi ) ≅ =
2h 2h
y ( xi + 1 ) − 2 y ( xi ) + y ( xi − 1 ) y − 2 y i + yi − 1
y´´( xi ) ≅ = i +1
h2 h2

∂u
∂t
( ) (
xi ,t j ≅
2k
) ( =
)
u xi ,t j + 1 − u xi ,t j − 1 u i , j + 1 − u i , j −1
2k

∂ 2u
(
xi ,t j ≅) ( ) ( ) ( )
u xi +1 ,t j − 2u xi ,t j + u xi −1 ,t j u i +1 , j − 2u i , j + u i −1 , j
=
∂ x2 h2 h2

82
PUCRS-FAMAT-Cálculo Numérico-Exemplos de Integração Numérica Utilizando Sistema
Maple9
Prof. Eliete Biasotto Hauser
> restart;
> with(Student[Calculus1]):
Ex.:Utilizando tarapézios e Simpson com 10 subintervalos, estimar o valor de I e comparar
2
⌠ ( ( −x )2 )
com o valor exato. I=⎮
⎮e dx

0
Obs: Por default, o número de subintervalos utilizados é 10. Incluindo a opção partition = n
o cálculo é obtido utilizando n subintervalos .

> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid);evalf(%);


⎛ -1 ⎞ ⎛ -4 ⎞ ⎛ -9 ⎞ ⎛ -16 ⎞ ⎛ -36 ⎞ ⎛ -49 ⎞ ⎛ -64 ⎞ ⎛ -81 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
1 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ( -1 ) 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠
+ e + e + e + e + e + e + e + e + e
10 5 5 5 5 5 5 5 5 5
1 ( -4 )
+ e
10
0.8818388107
> ApproximateInt(exp(-x^2), x=0..2, method = simpson);evalf(%);
⎛ -9 ⎞ ⎛ -9 ⎞ ⎛ -16 ⎞ ⎛ -49 ⎞ ⎛ -81 ⎞ ⎛ -81 ⎞ ⎛ -4 ⎞ ⎛ -361 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
1 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠
+ e + e + e + e + e + e + e + e
30 15 15 15 15 15 15 15 15
⎛ -121 ⎞ ⎛ -36 ⎞ ⎛ -169 ⎞ ⎛ -49 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ( -4 ) 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ( -9 / 4 ) 1 ( -1 ) 2 ( -1 / 4 )
+ e + e + e + e + e + e + e + e
15 15 30 15 15 15 15 15
⎛ -64 ⎞ ⎛ -1 ⎞ ⎛ -289 ⎞ ⎛ -1 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠
+ e + e + e + e
15 15 15 15
0.8820809834
> Valor_exato:=int(exp(-x^2), x=0..2)=evalf(int(exp(-x^2),
x=0..2));
1
Valor_exato := erf( 2 ) π = 0.8820813910
2

83
> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output =
plot,partition = 4);

> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output =


plot, partition = 20):
> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output =
animation):
> ApproximateInt(exp(-x^2), x=0..2, method = simpson, output =
plot, partition =2);

84
> ApproximateInt(ln(x), 1..100, method = simpson, output =
animation):

85
Atenção: Sempre analisar os resultados obtidos
> ApproximateInt(x*(x - 2)*(x - 3), x=0..5, method = simpson,
output = plot);

No último exemplo , área 22.916667 esta correto?


> Área:=evalf(int(x*(x - 2)*(x - 3),x=0..2))+abs(evalf(int(x*(x -
2)*(x - 3),x=2..3)))+evalf(int(x*(x - 2)*(x - 3),x=3..5));
Área := 23.75000000
> evalf(int(x*(x - 2)*(x - 3),x=2..3));
-0.4166666667

86
No próximo exemplo é óbvio que a área não é nula.
> ApproximateInt(tan(x) - 2*x, x=-1..1, method = simpson, output =
plot, partition = 50);

> evalf(int(tan(x) - 2*x, x=-1..0));


0.3843735297
> evalf(int(tan(x) - 2*x, x=0..1));
-0.3843735297
> area:=evalf(int(tan(x) - 2*x, x=-1..0))+abs(evalf(int(tan(x) -
2*x, x=0..1)));
area := 0.7687470594

87
Aula de Laboratório 1 utilizando Maple

Operações, Funções Exemplos


Básicas, Constantes Notação
Adição + > 3+5;
Subtração - > 758-195;
Multiplicação * > 7.5*8;
Divisão / > 39/13;
Potenciação ^ > 2^12;
Valor Absoluto de x abs ( x ) > abs(-7);
Raiz Quadrada de x sqrt (x) >sqrt(7835);
> sqrt(7835.);
Raiz n-ésima de x x^(1/n) > 27^(1/3);
Fatorial de n n! > 28!;
π Pi > Pi;
Infinito infinity > infinity;
Unidade Imaginária sqrt(-1) ou I > sqrt (-1);
Número de Euler: e exp(1) ou E > exp(1);
Função Exponencial exp(x) b^x >exp(3.5);
>7^x;
Logaritmo Natural ln(x) > ln (7);
Logaritmo de base b log[b](x) = ln(x)/ln(b). > log[3](10);
sin(x) cos(x) tan(x)
sec(x) csc(x) cot(x)
sinh(x) cosh(x) tanh(x)
Funções Trigonométricas , sech(x) csch(x) coth(x) > sin(Pi/2);
Hiperbólicas e suas inversas arcsin(x) arccos(x) arctan(x) > cos(75.3);
(argumento x em Radianos) arcsec(x) arccsc(x) arccot(x) >arccosh(0);
arcsinh(x) arccosh(x) arctanh(x)
arcsech(x) arccsch(x) arccoth(x)

Alguns Comandos

1) > evalf(expr);
avalia expr utilizando aritmética de ponto flutuante com precisão determinada pela variável
global Digits.
> evalf(27^(1/3));
> evalf( Pi);
> evalf(arccosh(0));

2) > evalf(expr, n);


calcula expr com n dígitos de precisão.
> evalf( Pi, 21);
> evalf(ln (7),8);

3) > Digits := n;
ajusta para n o número de dígitos utilizados em ponto flutuante.
O valor "default" de Digits é 10.
> Digits:=15;
> cos(75.3);

88
4) Se usarmos : no final do comando, o mesmo é executado, porém o resultado não é
mostrado. %; mostra o conteúdo do último output e %%; do penúltimo.
> log[3](10):
> %;
> evalf(%%);

5) O Maple pode trabalhar com inteiros muito grandes


> 253!;
O comando length (%) mostra o número de dígitos de 253!
> length(%);

6) Para fazer uma atribuição à variável z e posteriormente apagar o conteúdo de z:


> z := 7;
> z;
> z := 'z';
>z;

7) O modo texto pode ser obtido clicando em na barra de menu ou # pode ser usado
para fazer comentários
> # o conteúdo de z também pode ser deletado usando unassign ( 'z' );
> z :=7;
> z;
> unassign ( 'z' );
>z;

8) restart; reinicializa o MAPLE

Exercícios:

1) Calcular o valor de :
⎛ 30π ⎞
a) seno(30), seno(300) = seno ⎜ ⎟
⎝ 180 ⎠
a + 5b 3
b) para a = -3,02 , b = 10, c = 10,3 e d = 7,1. Armazenar o resultado na
ln( 50c / d )
variável v.
c) secante hiperbólica de v calculado no item b.
2) O valor de a = e π 163 é um número inteiro? Estimar a com 18, 29, 30, 31 e 57
dígitos. Comparar os resultados.

3) Calcular 325! pelo Maple e pela sua calculadora. Analisar os resultados. Qual o número
de dígitos de 325! ?
27 24
4) O que é maior 22 ou 25 ?
5) É possível calcular 3333333333 3333333333 no Maple?

89
Aula de Laboratório2 utilizando Maple

Objetivos : Localizar as raízes da equação f(x)=0(algébrica ou transcendente) e calculá-las


utilizando comandos do Maple e o método da Bissecção.

Aplicação: O fator de atrito λ para um duto retangular , segundo Maubach, é dado por:
1
( )
= 2,035 log 10 Re λ − 0,989 , onde Re é o número de Reynolds. Determinar λ para os
λ
seguintes valores de Re : 10000, 20000, 50000, 100000, 1000000.

Comandos Comentários
1 f:=x->f(x); Define a função de variável x , f(x)
2 Plota a função f(x) sendo:
plot(f(x),x= a..b,y=c..d); x - variável
y - parâmetro na vertical(opcional)
a,b,c,d :parâmetros a serem especificados
3 plot({f(x),g(x)},x= a..b,y=c..d); Plota as funções f(x) e g(x) num mesmo
sistema de eixos.
Para opções utilizar o Help: < ?plot
4 solve(f(x)=0, x); Calcula as raizes da equação f(x)=0.
fsolve(f(x)=0, x); Para opções utilizar o Help:
< ?solve
fsolve(f(x)=0, x=a ..b);
< ?fsolve

5 For i from io by k to in do Comando de repetição onde:


comandos i - variável
io - valor inicial
od;
in - valor final
k - passo
6 if condição then
comando1
Comando de teste (condicional)
else
comando2
fi;
Exemplos
1) >f:=x->sin(x/2);
> f (Pi); f (4);
2) >plot(f(x), x=-3*Pi..3*Pi);
> plot(f(x), x=-15..15, y=-2..2);
3) > plot({x^2-5*x, sqrt(x+1)}, x= -2..7, y= -7..7);
4) vide exercício 1(página2)
5) > for i from 0 by 2 to 10 do
> print(i^2)
> od;
6) > a:=-23;
> if a<0 then
> print(-a);
> else
> print(a);
> fi;

90
Exercícios:
i) Localizar graficamente as raizes de f(x)=0
ii) Calculá-las utilizando os comandos dados em 4.
ii) Utilizando 5 e 6, implementar o Método da Bissecção para calcular a menor raiz real
positiva de f(x) = 0 em [a , b]. Para xm=(a+b)/2, a cada bissecção imprimir: a, xm, b,f(xm).
Critério de Parada: mínimo 10 bissecções.
1) xcos(x)-1=0
Solução:
> f:=x->x*cos(x)-1;
> plot(f(x), x=-20*Pi..20*Pi);
> plot({cos(x),1/x}, x=-7*Pi..5*Pi, y=-5..5, title=` cos(x) , 1/x`);

Neste caso vemos que existem infinitas raizes.


>solve(f(x)=0,x);
> evalf(%);
> fsolve(f(x)=0,x);
> fsolve(f(x)=0,x=-9..-7);
> fsolve(f(x)=0,x=4..5);
> fsolve(f(x)=0,x=13..15);
Vamos implementar o método da bisseção para calcular a raiz que está no intervalo [4 , 5]:
[> a:=4; b:=5;
⎡ > for i from 0 to 10 do
⎢ a; xm := evalf((a + b)/2); b; evalf(f(xm));

⎢> if evalf((f(a ) * f(xm))) > 0 then a := xm;

⎢> else b := xm;
⎢> fi;

⎢⎣ > od;
Obs: Não foi considerado o caso f(xm)=0.
2) ln(x+11) -2x = 0 3) x 3 − 5 ,875 x 2 − 40 ,135 x − 25 ,62875 = 0

91
Aula de Laboratório3 utilizando Maple

Objetivo: Enumerar, localizar e calcular as raízes de polinômios. Analisar o comportamento


gráfico( raízes reais de multiplicidade par e ímpar, por ex). Utilizar método de Newton-
Raphson para cálculo das raízes da equação f(x)=0(algébrica ou transcendente)

Aplicação: A lei para um gás ideal, PV = nRT é um conceito conhecido. Geralmente,


utilizam-se estimativas para as relações P-V-T. A equação de Beattie-Bridgeman é um
exemplo:
RT a1 a a
P= + + 2 + 3 (1)
V V 2 V3 V 4
e pode ser reescrita como um polinômio de quarto grau:
PV 4 + RTV 3 − a1V 2 − a 2 V − a = 0 (2)
3
Para um gás particular, a1=-1,06, a2 = 0,057 e a3=-0,00011. Considerando a pressão
P=25 atm , a temperatura é T = 293oK e R = 0,0,082l-atm/Kg.mol e substituindo esses
dados em (2) , o volume V é obtido de :
25V 4 + 24,03V 3 + 1,06V 2 − 0,057V + 0,00011 = 0 (3)
RT 0,082x 293
Determinar V utlizando o método de Newton-Raphson com V0= = = 0,961 .
P 25

Comandos Comentários
1 f:=x->f(x); Define a função de variável x , f(x)
2 Plota a função f(x) sendo:
plot(f(x),x= a..b, y=c..d); x - variável
y - parâmetro na vertical(opcional)
a,b,c,d :parâmetros a serem
especificados
3 plot({f(x),g(x)},x= a..b, y=c..d); Plota as funções f(x) e g(x) num
mesmo sistema de eixos.
Para opções utilizar o Help: < ?plot
4 fsolve(p(x)=0, x,complex); Encontra todas as raízes do
polinômio p(x)
5 diff(f(x),x); Determina a derivada de f(x)
diff(f(x),x$4); ou Determina a derivada de quarta ordem
de f(x)
diff(f(x),x,x,x,x)
6 subs(x=a, expr); substitui x por a na expressão expr

Exemplos

1) Raiz de multiplicidade par


> p1:=x->5*x^4-12.50*x^3-18.0375*x^2+32.31250*x+33.411125;
> plot(p1(x),x=-3..4);
> fsolve(p1(x)=0,x);

92
2) Raiz de multiplicidade ímpar
> p2:=x-> 2*x^4+6.8*x^3-16.56*x^2-86.756*x-85.1690;
> plot(p2(x), x=-5..5);
> fsolve(p2(x)=0,x);

3) Raizes complexas
> p3:=x-> x^3-2.8*x^2+8.2*x+15.6;
> plot(p3(x),x=-2..5);
> fsolve(p3(x)=0,x);
> fsolve(p3(x),x, complex);

> p4:=x-> x^4-2*x^3+11*x^2-18*x+18;


> plot(p4(x),x=-3..3,y=-5..30);
> fsolve(p4(x)=0,x);
> fsolve(p4(x),x, complex);

4) > subs( x=2, x^2+x+1 );

5) > diff(x^7,x);
> diff(x^7,x,x);
> diff(x^7,x$3);

6) Método de Newton-Raphson
>f := x ->cosh(x)*cos(x)-1;
> plot(f(x), x=-3*Pi..3*Pi);
> plot({cos(x), 1/cosh(x)}, x=-10..10);
> x[0]:=4.5;
> for i from 0 to 5 do
x[i+1]:=evalf(x[i]-(f(x[i])/subs(x=x[i],diff(f(x),x))))
od;
> abs(x[5]-x[6]);
> Digits:=20;
> abs(x[5]-x[6]);

93
Aula de Laboratório4 utilizando Maple

Objetivos : Resolver sistemas de equações lineares utilizando


diversas opções de comandos do Maple. Analisar graficamente
a solução , quando possível, no plano e no espaço.
Aplicação:
Equacionado o circuito resistivo mostrado na figura acima pelo
método dos nós, obtemos:
⎧ VA VA − VB VA −10
⎪ 8 + 1
+
5
=0

⎪ VB − VA VB −10 VB − 8 VB − VC VB − 2 VB − 0
⎨ + + + + + =0
⎪ 1 5 8 1 5 8
⎪ VC − 8 VC − VB VC − 2
⎪ 8 + + =0
⎩ 1 5
⎧I1 = VA − VB
Aplicando a Lei de Ohm: ⎨ . Determinar I1 e I2.
⎩I 2 = VC − VB

Comandos Comentários
1 array (1..m, 1..n) Cria uma matriz cujos os elementos estão definidos.Vide
help para opções
2 augment( M1, M2); Cria uma nova matriz colocando M1 à esquerda da M2 .
As matrizes devem ter o mesmo número de linhas.
3 evalm(expressão matricial); Avalia uma expressão contendo matrizes.
4 gaussjord(M); Aplica o método de Gauss-Jordan
5 inverse(M); Encontra a matriz inversa de M.
6 linsolve(A,v); Calcula um vetor x que satisfaça a equação Ax=v
7 matrix(m , n, [x11,x12,...xmn]); Cria uma matriz com m linhas e n colunas com
elementos x11, ...,xmn.
8 solve(eqn, var); Resolve simbolicamente equações eqn para variável var.
Para opções vide help.
9 transpose(M); Determina a matriz transposta de M.
10 vector(n, [x1, x2, ..., xn]); Cria um vetor de n elementos x1, ..., xn..
11 with(linalg); Carrega a biblioteca de álgebra linear do Maple V.
12 with(plots); Carrega o package gráfico
12 A&*S; Expressa multiplicação de matrizes (não comutativa)

Exemplos :
> with(plots);
> with(linalg);

1) Sistema Linear Compatível Determinado (possui soluções)


> solve({2*x+3*y=18,3*x+4*y=25},{y,x});
> plot({(18-2*x)/3, (25-3*x)/4}, x=0..6);
> solve({3*x+2*y-5*z=8,-x+2*y+z=2,-x+2*y+3*z=4},{z,y,x});
> plot3d({(8-3*x-2*y)/(-5),2+2*x-2*y,(4+x-2*y)/3}, x=0..5,y=0..5, axes=box);

94
2) Sistema Linear Compatível Indeterminado (possui infinitas soluções)
> solve({2*x+y=50,4*x+2*y=100},{y,x});
> plot({50-2*x, (100-4*x)/2}, x=0..6);
> plot3d({50-2*x, (100-4*x)/2}, x=0..6,y=0..6, axes=box);
> solve({3*x+y+2*z=0,-9*x-3*y-6*z=0},{z,y,x});
> plot3d({(-3*x-y)/2,2+2*x-2*y,(9*x+3*y)/(-6)}, x=-2..2,y=-2..2, axes=box);
outra maneira:
> solvefor[t]( x+y=1, x-y+z*t=3 );
> solvefor[x]( x+y=1, x-y+z*t=3 );

3) Sistema Linear Incompatível (não admite solução)


> solve({x+y=3, x+y=-5},{y,x});
> plot({3-x, -x-5}, x=-10..10);
> plot3d({3-x, -x-5}, x=-10..10,y=-6..6, axes=box);

4) Resolver o sistema e calcular o resíduo produzido pela solução encontrada:


⎧2 x 1 + x 2 − 0.1x 3 + x 4 = 2.7

⎪0.4 x 1 + 0.5x 2 + 4 x 3 − 8.5x 4 = 21.9

⎪0.3x1 − x 2 + x 3 + 5.2 x 4 = −3.9
⎪⎩x 1 + 0.2 x 2 + 2.5x 3 − x 4 = 9.9
> A := array([ [2,1,-.1,1], [.4,.5,4,-8.5], [.3,-1,1,5.2], [1,.2,2.5,-1] ]);
> F := vector([2.7,21.9,-3.9,9.9]);
> S := linsolve(A,F);
> F1 :=evalm(A&*S);
> Resíduo := evalm(F-F1);

5) Resolver o sistema utilizando o Método de Gauss-Jordan (Matrix Inversa).


⎧2 x 1 + x 2 + 7 x 3 = b1

⎨ x 1 + 3x 2 + 2 x 3 = b 2
⎪5x + 3x + 4 x = b
⎩ 2 2 3 3
onde: a) b1 =16 b2 = -5 b3=11 b) b1 =25 b2 = -11 b3 = -5 c) b1 =3 b2 = 5 b3 = -5
> B := matrix(3,3, [2,1,7,1,3,2,5,3,4] );
> v1 :=vector(3,[16,-5,11] );
> v2 :=vector(3, [25,-11,-5] );
> v3 :=vector(3, [3,5,-5] );
> augment( B,v1,v2,v3 );
> gaussjord(%);

95
Aula de Laboratório5 utilizando Maple

Objetivos: Determinar o polinômio interpolador utilizando a resolução de sistemas de


equações lineares. Detectar se um sistema linear é mal condicionado. Gerar matrizes e vetores
utilizando comandos de teste e repetição.

Aplicação: Na modelagem de um processo de combustão é necessário expressar a entalpia


(E) como uma função da temperatura (T). Considerando os dados tabelados, estimar a
entalpia para uma temperatura de 150 o F .
E(Btu / lb) 60 80 100 120 140 160 180
T(o F) 0.0 17.2 45.2 92.9 178.8 349.4 764.3

Exemplo 1

Construir uma matriz M = [mij] , de ordem 7x7, tal que mij = i + 3j se i é igual a j e mij = 5ij
se i for diferente de j. M é simétrica? Calcular o determinante de M . M é inversível?

Solução:

> with(linalg);
>M := array(1..7,1..7);
⎡> for i to 7 do
⎢> for j to 7 do

⎢> if i <> j then M[i, j] := 5 * i * j

⎢> else M[i, j] := i + 3 * j
⎢> fi

⎢> od
⎢> od,

> print(M);
> M2 :=transpose(M);
> det(M);
> M1 :=inverse(M);
> evalf(%);
> evalm(M1 &* M);
> evalm(M1 + M2);
> evalf(%);

Exemplo2:
O alongamento de uma mola foi medido em função da carga aplicada. Obteve-se:
c arg a (kg ) 2 4 6 8
alongamento(cm) 1,0 2,5 5,0 6,3
Estimar o alongamento para o caso de ser aplicada uma carga de 7Kg. Analisar
graficamente.

Solução:

96
Procuramos p( x ) = a 0 + a 1x + a 2 x 2 + a 3 x 3 .
a) uma maneira de resolver no maple::
>solve ({a0+a1*2+a2*2^2+a3*2^3=1, a0+a1*4+a2*4^2+a3*4^3=2.5,
a0+a1*6+a2*6^2+a3*6^3=5, a0+a1*8+a2*8^2+a3*8^3=6.3}, {a0,a1,a2,a3});
> p:=x-> -.04583333333*x^3+.675*x^2-2.016666667*x+2.7;
> validade:= [p(2), p(4), p(6), p(8)];
> p(7);
Análise Gráfica:
> with(plots);
> plots[display]({plots[pointplot]([2,1,4,2.5,6,5,8,6.3]),plot(p(x),x=-5..15, y=0..10)});

b) outra forma de resolver o sistema:


> A := array([ [1,2,2^2,2^3], [1,4,4^2,4^3], [1,6,6^2,6^3], [1,8,8^2,8^3] ]);
> F := vector([1,2.5,5,6.3]);
> S := linsolve(A,F);

Exemplo3: Considerar o sistema linear:


⎧x1 + 1 / 2 x 2 + 1 / 3x 3 + 1 / 4 x 4 + 1 / 5x 5 = 137 / 60

⎪⎪1 / 2 x1 + 1 / 3x 2 + 1 / 4 x 3 + 1 / 5x 4 + 1 / 6 x 5 = 87 / 60
(*) ⎨1 / 3x1 + 1 / 4 x 2 + 1 / 5x 3 + 1 / 6 x 4 + 1 / 7 x 5 = 459 / 420
⎪1 / 4 x + 1 / 5x + 1 / 6 x + 1 / 7 x + 1 / 8x = 743 / 840
⎪ 1 2 3 4 5
⎪⎩1 / 5x1 + 1 / 6 x 2 + 1 / 7 x 3 + 1 / 8x 4 + 1 / 9 x 5 = 1879 / 2520
a) (*) é bem condicionado ou mal condicionado? Porquê? O que isso significa?
b) calcular a solução de (*).
Solução:
> with(linalg);
> C := hilbert(5);
> cond(C);
> ?cond;
> F := vector([137/60, 87/60, 459/420, 743/840, 1879/2520]);
> L := linsolve(C,F);
> evalm(C &* L);

97
Exercício:
Consideremos a matriz de Hilbert de ordem n, Hn = [ hij ], com seus elementos genéricos definidos
por
1
hij = = , 1≤ i , j ≤ n
i + j −1
Hn é um exemplo clássico de matriz mal condicionada.

a) Indicar se a afirmação abaixo é verdadeira ou falsa e justificar.


“ Quanto maior for n, mais mal condicionada é Hn . “

b) Resolver o sistema H5.X = B , onde B = [ bi ], i= 1, 2, 3, 4 ,5 é o vetor definido por:


n 1
bi = ∑
i + j −1
j =1
c) Calcular o determinante de Hn , a matriz inversa de Hn e o produto HnHn-1.
c) Calcular todas a s raizes do determinante da matriz sI- Hn, s numero real qualquer e
I = matriz identidade

98
Aula de Laboratório 6 utilizando Maple - Interpolação

EXEMPLO:
O alongamento de uma mola foi medido em função da carga aplicada. Obteve-se:
c arg a (kg ) 2 4 6 8
alongamento(cm) 1,0 2,5 5,0 6,3
Estimar o alongamento para o caso de ser aplicada uma carga de 7Kg.

Procuramos p ( x) = a0 + a1 x + a2 x 2 + a3 x 3 Estudamos alguns algortmos para determinação dos


coeficientes de p.
1) via resolução de um sistema linear:
1.a
> with(linalg):
> A := array([ [1,2,2^2,2^3], [1,4,4^2,4^3], [1,6,6^2,6^3],
[1,8,8^2,8^3] ]);
> F := vector([1,2.5,5,6.3]);
> S := linsolve(A,F);
1.b
> solve({a0+a1*2+a2*2^2+a3*2^3=1,a0+a1*4+a2*4^2+a3*4^3=2.5,a0+a1*6
+a2*6^2+a3*6^3=5, a0+a1*8+a2*8^2+a3*8^3=6.3},{a0,a1,a2,a3});
2) Polinomio interpolador de Newtons para Diferenças Finitas Ascendentes
> vx:=vector(4,[2,4,6,8]);
> vy:=vector(4,[1,2.5,5,6.3]);
> df:=array(1..3);
> for i from 1 to 3 do df1[i]:=vy[i+1]-vy[i] od;
> for i to 2 do df2[i]:=df1[i+1]-df1[i] od;
> for i to 1 do df3[i]:=df2[i+1]-df2[i] od;
> p:=x->1+((x-2)*df1[1])/(2)+((x-2)*(x-4)*df2[1])/(2!*(2^2))+((x-2
)*(x-4)*(x-6)*df3[1])/(3!*(2^3));
> simplify(p(x));
> p(7);
3) Via comando´interp´do maple
> vx:=vector(4,[2,4,6,8]):
> vy:=vector(4,[1,2.5,5,6.3]):
> pa:=interp(vx,vy,x):
> pa(7);
> paa:=unapply(pa,x):
> paa(7);
validade:
> [paa(2),paa(4),paa(6),paa(8)];
análise gráfica
> plots[display]({plots[pointplot]([2,1,4,2.5,6,5,8,6.3]),plot(paa
(x),x=-5..15, y=0..10)});

99
EXERCICIOS:
1) A tabela abaixo fornece a demanda diária máxima de energia
elétrica na Cidade A no mês de março.
x(dia ) 1 11 21 31
y (demanda − MW ) 10 15 20 13
a) Determinar o polinômio interpolador p e verificar sua
validade.
b) Representar graficamente p e os dados tabelados num mesmo
sistema de eixos.
c) Estimar a demanda máxima e a data em que ocorreu.
>
2) A que temperatura a água entra em ebulição no Pico da Bandeira
(altitude de 2890m), sabendo-se que o ponto de ebuliçao da água
varia com a altitude, conforme tabela abaixo:
altitude(m) 2600 2700 2800 2900 3000
o
ponto de ebulição( C ) 91.34 91.01 90.67 90.34 90.00
>
3) A velocidade do som na água varia com a temperatura conforme
tabela:
temperatura ( oC ) 86.0 93.3 98.9 104.4 110.0
velocidade(m / s ) 1.552 1.548 1.544 1.538 1.532
a)Determinar o polinômio interpolador de Newton para diferenças
divididas,p, e verificar sua validade.
b) Estimar a velocidade do som se a temperatura da água for de
100 graus centígrados.

100
c)Representar graficamente p e os dados tabelados num mesmo
sistema de eixos.
Comandos Utilizados
diff(expr, var);deriva uma expressão " expr" na variavel "var"
diff(expr, var, var$n);deriva uma expressão expr na varivel var, var$n
siginifica derivada de ordem n.
interp([exprx1,...,exprxn+1], [expy1,...,expryn+1], var);computa um polinomio na
variável var de grau at n, no qual representa o polinomio
interpolador dos valores expx e expy .
plots[display]({plots[pointplot]([p1,p2,..,pn]),plot(f(x), x=-m..m)});plota graficos;
display, para plotar dois graficos ao mesmo tempo; pointplot, para
plotar os pontos; plot, para plotar um grafico de uma f(x)
simplify(expr);simplifica uma expressão
solve(eqn, var);resolve simbolicamente equaçoes eqn para varaiivel
var.
subs(expr velha=expr nova, expr);substitui uma expressão antiga por uma
nova expressão
unapply(P,x);converte um polinomio P em uma função na varivel x.

101
# PUCRS - Instituto de Matemática
# Cálculo Numérico -Prof. Eliete
Ajuste de Funçoes
# Exemplo1
Considerando:
i 0 1 2 3 4 5 6
x 1 2 3 4 5 6 7
y 34 45 63 88 120 159 205
Ajustar os dados a reta e a uma parábola. Comparar os resultados graficamente.
> with(stats);
[ anova, describe, fit, importdata, random, statevalf, statplots, transform ]
> xv:=[1,2,3,4,5,6,7];
xv := [ 1, 2, 3, 4, 5, 6, 7 ]
> yv:=[34,45,63,88,120,159,205];
yv := [ 34, 45, 63, 88, 120, 159, 205 ]
> g:=fit[leastsquare[[x,y],y=a*x+b,{a,b}]]([xv,yv]);
57
x − 12 g := y =
2
> gl:=fit[leastsquare[[x,y]]]([[1,2,3,4,5,6,7],
[34,45,63,88,120,159,205]]);
57
gl := y = x − 12
2
> gll :=unapply(rhs(g),x);
57
gll := x →
x − 12
2
> gp:= fit[leastsquare[[x,y], y=a*x^2+b*x+c]]([xv, yv]):
> gpp:=unapply(rhs(gp), x);
7 1
gpp := x → x2 + x + 30
2 2
> with(plots):
> plots[display]({plots[pointplot]([1,34,2,45,3,63,4,88,5,120,6,15
9,7,205]),plot(gpp(x), x=-10..10, y=0..50),plot(gll(x), x=0..10,
y=0..210)});

102
Exemplo 2 - Ajuste por função Potência
Os dados abaixo dão a duração D de uma broca de Carborundum em função da velocidade de corte
V.

V [m/s] 100 120 150 180


D [min] 79 2 8 7.9 2.8

pede-se fazer uma tabela D = D(V) para V = 100(10) 180.

> v:=evalf([log(100),log(120),log(150),log(180)]);
v := [ 4.605170186, 4.787491743, 5.010635294, 5.192956851 ]
> d:=evalf([log(79),log(28),log(7.9),log(2.8)]);
d := [ 4.369447852, 3.332204510, 2.066862759, 1.029619417 ]
> fit[leastsquare[[x,y], y=a*x+b, {a,b}]]([v,d]);
> evalf(exp(30.52911140));
> dur :=x -> (.1813947103e14)*(x^(-5.680591334));
#validade:
> [dur(100),dur(120),dur(150),dur(180)];
#projeção:
> [dur(110),dur(130),dur(140),dur(160),dur(170)];
> plots[display]({plots[pointplot]([100,79,120,28,150,7.9,180,2.8]
),plot(dur(x), x=90..190, y=0..80)});

d 30 35 40 45 50 55 60 65 70 75
Exemplo 3
I 0.85 0.67 0.52 0.42 0.34 0.28 0.24 0.21 0.18 0.15
Os dados tabelados descrevem a intensidade da luz como uma função

103
da distância da fonte,I(d), medida num experimento.Utilizando o
sistema Maple, ajustar a uma parábola e a uma função do tipo:
1
Y(d)= 2
Ad + Bd + C
Analisar os resultados plotando num mesmo sistema de eixos os
pontos tabelados e as funções de ajuste determinadas.

> vd:=[30,35,40,45,50,55,60,65,70,75];
vd := [ 30, 35, 40, 45, 50, 55, 60, 65, 70, 75 ]
> vi:=[.85,.67,.52,.42,.34,.28,.24,.21,.18,.15];
vi := [ .85, .67, .52, .42, .34, .28, .24, .21, .18, .15 ]
> vi1:=evalf([1/.85,1/.67,1/.52,1/.42,1/.34,1/.28,1/.24,1/.21,1/.1
8,1/.15]);
vi1 := [ 1.176470588, 1.492537313, 1.923076923, 2.380952381, 2.941176471, 3.571428571,
4.166666667, 4.761904762, 5.555555556, 6.666666667 ]
> f2:= fit[leastsquare[[x,i], i=a*x^2+x*b+c]]([vd, vi1]);
f2 := i = .001329810498 x2 − .02080049421 x + .6161059331
> f2a:=unapply(rhs(f2),x);
f2a := x → .001329810498 x2 − .02080049421 x + .6161059331
> f3:=x->1/(.1329810498e-2*x^2-.2080049421e-1*x+.6161059331);
1
f3 := x →
.001329810498 x − .02080049421 x + .6161059331
2

> plots[display]({plots[pointplot]([30,.85,35,.67,40,.52,45,.42,50
,.34,55,.28,60,.24,65,.21,70,.18,75,.15]),plot(f2a(x),
x=10..100, i=0..3),plot(f3(x), x=10..100, i=0..3)});

104
> plots[display]({plots[pointplot]([30,.85,35,.67,40,.52,45,.42,50
,.34,55,.28,60,.24,65,.21,70,.18,75,.15]),plot(f2a(x),
x=-100..100, i=0..1),plot(f3(x), x=-100..100, i=0..2)});

>
Trabalho
x 0.00 0.50 1.00 1.50 2.00
y 1.00 0.50 0.30 0.20 0.20

105
Ajustar os dados tabelados a uma reta e a uma função do tipo:
1
Y(x)=
ax + b
Analisar os resultados plotando num mesmo sistema de eixos os
pontos tabelados e as funções de ajuste determinadas.

Comandos utilizados
evalf([expr1,..., exprn]);avalia numéricamente expressões, polinomios,
funções,...
fit[leastsquare[[var1,..., varn]]]; aplica o critério dos mínimos quadrados
transform[applay[f(x)]]([expr1,..., exprn]);aplica a função f(x) parra cada
expressão (expr)
transform[multiapplay[f(x)]]([list1,..., listn]);aplica os parâmetros da função
f(x) para cada elemento listado
plots[display]({plots[pointplot]([p1,p2,..,pn]),plot(f(x), x=-m..m)});plota gráficos;
display, para plotar dois gráficos ao mesmo tempo; pointplot, para
plotar os pontos; plot, para plotar um gráfico de uma f(x)
unapply(P,x);converte a expressão P em uma função na variável x

106
PUCRS-FAMAT-Cálculo Numérico-Exemplos de Integração Numérica Utilizando Sistema
Maple9
Prof. Eliete Biasotto Hauser
> restart;
> with(Student[Calculus1]):
Ex.:Utilizando tarapézios e Simpson com 10 subintervalos, estimar o valor de I e comparar
2
⌠ ( ( −x )2 )
com o valor exato. I=⎮
⎮e dx

0
Obs: Por default, o número de subintervalos utilizados é 10. Incluindo a opção partition = n
o cálculo é obtido utilizando n subintervalos .

> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid);evalf(%);


⎛ -1 ⎞ ⎛ -4 ⎞ ⎛ -9 ⎞ ⎛ -16 ⎞ ⎛ -36 ⎞ ⎛ -49 ⎞ ⎛ -64 ⎞ ⎛ -81 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
1 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ( -1 ) 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠
+ e + e + e + e + e + e + e + e + e
10 5 5 5 5 5 5 5 5 5
1 ( -4 )
+ e
10
0.8818388107
> ApproximateInt(exp(-x^2), x=0..2, method = simpson);evalf(%);
⎛ -9 ⎞ ⎛ -9 ⎞ ⎛ -16 ⎞ ⎛ -49 ⎞ ⎛ -81 ⎞ ⎛ -81 ⎞ ⎛ -4 ⎞ ⎛ -361 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
1 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠
+ e + e + e + e + e + e + e + e
30 15 15 15 15 15 15 15 15
⎛ -121 ⎞ ⎛ -36 ⎞ ⎛ -169 ⎞ ⎛ -49 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ( -4 ) 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ( -9 / 4 ) 1 ( -1 ) 2 ( -1 / 4 )
+ e + e + e + e + e + e + e + e
15 15 30 15 15 15 15 15
⎛ -64 ⎞ ⎛ -1 ⎞ ⎛ -289 ⎞ ⎛ -1 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠
+ e + e + e + e
15 15 15 15
0.8820809834
> Valor_exato:=int(exp(-x^2), x=0..2)=evalf(int(exp(-x^2),
x=0..2));
1
Valor_exato := erf( 2 ) π = 0.8820813910
2

107
> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output =
plot,partition = 4);

> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output =


plot, partition = 20):
> ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output =
animation):

108
> ApproximateInt(exp(-x^2), x=0..2, method = simpson, output =
plot, partition =2);

> ApproximateInt(ln(x), 1..100, method = simpson, output =


animation):

109
Atenção: Sempre analisar os resultados obtidos
> ApproximateInt(x*(x - 2)*(x - 3), x=0..5, method = simpson,
output = plot);

No último exemplo , área 22.916667 esta correto?


> Área:=evalf(int(x*(x - 2)*(x - 3),x=0..2))+abs(evalf(int(x*(x -
2)*(x - 3),x=2..3)))+evalf(int(x*(x - 2)*(x - 3),x=3..5));
Área := 23.75000000
> evalf(int(x*(x - 2)*(x - 3),x=2..3));
-0.4166666667

110
No próximo exemplo é óbvio que a área não é nula.
> ApproximateInt(tan(x) - 2*x, x=-1..1, method = simpson, output =
plot, partition = 50);

> evalf(int(tan(x) - 2*x, x=-1..0));


0.3843735297
> evalf(int(tan(x) - 2*x, x=0..1));
-0.3843735297
> area:=evalf(int(tan(x) - 2*x, x=-1..0))+abs(evalf(int(tan(x) -
2*x, x=0..1)));
area := 0.7687470594

111