Departamento de Matemática
Sebenta de
Matemática Computacional
Matemática Computacional
José Duque 2
Conteúdo
Conteúdo 3
1 Generalidades 7
1.1 Mudança de Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Sistema de Ponto Flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Definição de Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Polinómio de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5 Diferenciação Numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Propagação dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Zeros de funções 23
2.1 Localização dos zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2 Método da bissecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Método da Falsa posição (Corda Falsa) . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Método da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6 Método do ponto fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.7 Método de Muller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.8 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Extremos de Funções 45
3.1 Método da secção dourada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 Método da interpolação quadrática . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3 Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4 Resolução de sistemas 53
4.1 Método de Eliminação de Gauss e de Gauss-Jordan (revisão) . . . . . . . . . . . . 53
4.2 Factorização de uma Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.1 Método LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.2 Método de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3
Matemática Computacional CONTEÚDO
5 Interpolação Polinomial 81
5.1 Método dos Coeficientes Indeterminados . . . . . . . . . . . . . . . . . . . . . . . 82
5.2 Polinómio Interpolador de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.3 Polinómio Interpolador de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.4 Polinómio Interpolador de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.5 Spline Cúbico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.6 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6 Integração 103
6.1 Integrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2 Métodos de primitivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3 Fórmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Fórmulas de Newton-Cotes Compostas . . . . . . . . . . . . . . . . . . . . . . . . 113
6.5 Método de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.6 Quadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.7 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
José Duque 4
CONTEÚDO Matemática Computacional
Bibliografia 165
A Anexos 167
A.1 Formulário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5 José Duque
Matemática Computacional CONTEÚDO
José Duque 6
Capı́tulo 1
Generalidades
Ao longo dos tempos têm existido vários sistemas de numeração, por exemplo: O sistema romano,
(XXII) que deixou de se usar em cálculos pois era pouco prático; A numeração árabe, (12.13)
trouxe algumas inovações que a tornaram muito popular; E outras como a medição do tempo,
(2h 30min 12seg). Uma das novidades da notação árabe é o ponto decimal que divide a parte
inteira da parte decimal. Os romanos para indicar partes decimais tinham de dizer qualquer
coisa como “ uma quarta parte de ...”. Com a notação árabe surgiu também a notação posicional.
Enquanto os dois I’s valem uma unidade cada um na numeração romana, os dois 1’s da numeração
árabe representam valores diferentes por estarem em posições diferentes em relação ao ponto
decimal. O algarismo zero é uma invenção recente.
O último sistema é diferente dos anteriores pois utiliza uma base diferente. O árabe, por exemplo,
utiliza a base 10, 10 unidades são uma dezena, 10 dezenas são uma centena, e assim sucessivamente.
O terceiro tem base 60, 60 segundos representam um minuto e 60 minutos uma hora. Com a era
dos computadores surgiu outra base de numeração privilegiada. Como os computadores lêem
impulsos enviados por componentes eléctricas, os estados possı́veis são “on” e “off”. Então é mais
conveniente representar os números nos computadores utilizando base 2.
Uma vez que iremos trabalhar com calculadoras e computadores, vamos utilizar a notação árabe
mas com várias bases diferentes. Para nos entendermos bem com as máquinas temos de saber
como mudar de base, ou seja, como representar o mesmo número nas diversas bases.
No sistema decimal ( base 10 ) a posição de cada dı́gito, em relação ao ponto decimal, indica a
potência de 10 correspondente ( unidades, dezenas, centenas, ...) e o dı́gito representa a quantidade
7
Matemática Computacional Generalidades
de cada uma dessas potências. Assim, os números decimais, podem ser colocados da forma
Neste caso os sı́mbolos ak são elementos do conjunto {0, 1, 2, . . . , 9}. Por exemplo no sistema
binário, base 2, processa-se tudo da mesma forma à excepção de os ak só serem 0 e 1 e as potências
são de base 2.
Como há dı́gitos comuns a várias bases temos de indicar qual a base que estamos a trabalhar. Por
exemplo
x = 11.01
pode estar escrito em qualquer base, por isso vamos indicar qual a base, da forma
x = (11.01)2
Assim sabemos que está na base 2. No caso de não ser indicada a base, vamos assumir que o
número está na base 10.
Para convertermos o número
que está escrito na base b, para a base decimal basta calcular a quantidade
Por exemplo
(11.01)2 = 1 × 21 + 1 × 20 + 0 × 2−1 + 1 × 2−2 = 3.25
Agora temos de saber converter um número em decimal para a representação noutra base b. Neste
processo há que distinguir dois casos distintos.
Se o número for inteiro, isto é,
José Duque 8
1.2 Sistema de Ponto Flutuante Matemática Computacional
1989 16
5 124 16 , 12 ≡ C
12 7
Chama-se atenção para o facto de para os ck se utilizar usualmente os dı́gitos {0, . . . , b − 1}.
Por exemplo a base 5 utiliza os dı́gitos {0, 1, 2, 3, 4, 5}. Quando a base é inferior a 10 não surgem
problemas. Mas se a base for superior a 10 é necessário utilizar mais sı́mbolos. (12)16 poderia
ser entendido por 1 × 161 + 2 × 160 ou 12 × 160 que são valores distintos. Uma solução simples
é utilizar as primeiras letras maiúsculas do alfabeto. Por exemplo a base 16 utiliza os sı́mbolos
{0, . . . , 9, A, B, C, D, E, F }.
O segundo caso é quando o número tem parte inteira nula.
No caso geral do número real basta separar a parte inteira da parte fraccionária, tratar cada
uma independentemente e depois juntar os dois resultados.
9 José Duque
Matemática Computacional Generalidades
A representação destas constantes obriga a um grande número de dı́gitos, a maioria dos quais são
zeros que só servem para indicar a posição do ponto. Uma forma de optimizar este problema é
usar a chamada notação cientifica. Esta notação consiste em exprimir um número real x da forma
x = ±m × be
em que m é um número real não negativo designado por mantissa, b > 1 é um inteiro positivo que
representa a base e e é um inteiro que designaremos por expoente.
Assim as constantes podem ser escrita da forma
Massa de um electrão: m0 = 9.11 × 10−28 g
Velocidade da luz: c = 2.998 × 1010 cm/seg
Fixada a base b esta representação não é única. Por exemplo x = 12.45 pode ser representado por
x = 1.245 × 101 ;
x = 0.1245 × 102 ;
x = 0.01245 × 103
Para resolver esta ambiguidade é usual optar por uma representação que satisfaça a seguinte
convenção (
m = 0, x = 0
b−1 ≤ m < 1, x 6= 0
Diz-se neste caso que se trata de uma representação normalizada.
É claro que a notação cientı́fica, tal como acabámos de apresentar, não pode ser implementada
em computador. Para representar todos os números reais a mantissa e o expoente exigiriam um
número infinito de dı́gitos. Assim a notação cientı́fica é modificada de forma a exigirmos que a
mantissa só tenha no máximo t dı́gitos, e o expoente ε dı́gitos. Obtém-se a representação em
ponto ( ou vı́rgula ) flutuante. Vamos utilizar a notação F P (b, t, ε) para designar o sistema de
representação em ponto flutuante de base b, cuja mantissa ocupa t dı́gitos (escritos na base b) e
cujo expoente pode utilizar no máximo ε dı́gitos ( base b ).
Assim o número real x está representado no sistema de ponto flutuante F P (b, t, ε) se tiver a forma
± m1 m2 . . . mt ± cε−1 . . . c0
ou de forma equivalente
x = ±(.m1 m2 . . . mt )b × b±(cε−1 ...c1 c0 )b
Pela secção anterior, podemos mudar para a base 10, da forma
t
!
X Pε−1 i
± mj b−j × b± i=1 ci b
j=1
José Duque 10
1.3 Definição de Erros Matemática Computacional
Uma vez que esta representação é limitada temos de resolver como tratar os números que não ”ca-
bem”na caixa. O número 0.1 × 10100 não é representável em F P (10, 6, 2) pois o expoente ocupa
3 dı́gitos e só são permitidos 2. Neste caso diz-se que ocorre um erro de overf low. O número
π = 3.14159... também não é representável nesse sistema pois a mantissa tem infinitos dı́gitos,
muito mais que os 6 permitidos. A questão pertinente neste momento é:
”Dado um número real x, que não origina overflow, qual o número em F P (b, t, ε), que denotare-
mos por F L(x), que representa x?”
Se x tiver representação exacta em F P (b, t, ε), então F l(x) = x. Se não for possı́vel a repre-
sentação exacta, existem basicamente duas técnicas para determinar F L(x), a truncatura e o
arredondamento.
Truncatura: desprezam-se simplesmente os dı́gitos do número real x que não cabem na mantissa,
isto é, os dı́gitos da mantissa além dos t primeiros são desprezados.
Arredondamento: o número real x é representado pelo número do sistema F P (b, t, ε) que lhe
está mais próximo.
Para indicar o tipo de técnica que é escolhida, empregamos as notações F P (b, t, ε, T ) e F P (b, t, ε, A)
para truncatura e arredondamento, respectivamente.
a = 0.372526 × 103
11 José Duque
Matemática Computacional Generalidades
afirmar que o carro viaja a 90 km/h mas não é exacto pois o ponteiro está entre 89 km/h e 90
km/h. Uma vez que não há mais subdivisões não é possı́vel precisar mais. Se fosse necessário
indicar um valor com uma casa decimal poderı́amos afirmar 89.5 km/h, no entanto outra pessoa
poderia dizer 89.6 km/h. Desta forma, devido às limitações do instrumento de medida os dois
primeiros dı́gitos são exactos, ou seja, podem ser utilizados com confiança. Estimativa do terceiro
dı́gito e seguintes são aproximações. No entanto, o terceiro dı́gito, embora estimado, é importante
pois indica algo significativo. Se alguém dissesse que o carro viajava a 89.55728 km/h era óbvio
que os últimos quatro dı́gitos não tinham qualquer significado, nem exactidão. Por isso, os três
primeiros dı́gitos dizem-se significativos. Este conceito de dı́gito significativo foi introduzido para
marcar num número os algarismos em que temos confiança.
Em qualquer das situações descritas, trabalha-se com valores aproximados dos dados do problema.
Surge, então, a necessidade de se distinguir a categoria do valor aproximado e de se fazer o estudo
da propagação desses erros, ao longo do processo numérico, e em que irão influenciar o resultado
final.
Seja x o valor exacto e x̄ o seu valor aproximado, que será usado nos cálculos. A diferença
e = x − x̄
chama-se erro absoluto do valor x̄. É uma quantidade que pode ser positiva se x̄ < x e diz-se que
x̄ aproxima por defeito, pode ser negativa se x̄ > x e x̄ aproxima por excesso, ou pode ser ainda
nula se x̄ = x. Na maioria das vezes não interessa se a aproximação é por defeito ou excesso logo
vamos considerar o erro absoluto em módulo
Ea (x̄) = |x − x̄|
José Duque 12
1.3 Definição de Erros Matemática Computacional
Como para a maior parte dos problemas x é desconhecido, não é possı́vel calcular o erro absoluto.
Geralmente conhece-se a quantidade não negativa ∆x, tal que
|x − x̄| ≤ ∆x,
a que se chama limite superior do erro absoluto. Desta relação pode-se concluir que o valor exacto
pertence ao intervalo
|x − x̄|
Er (x̄) =
|x|
chama-se erro relativo de x̄. Se ∆x for pequeno quando comparado com x̄, então
|x − x̄| ∆x
Er (x̄) ≈ ≤ .
|x̄| |x̄|
O erro relativo não tem dimensão e, em geral, só é conhecido o limite superior do seu valor. A
quantidade Er (x̄) × 100% chama-se percentagem do erro.
O erro absoluto é igual para os dois casos mas o segundo parece ser mais grave atendendo à grandeza dos
valores, para isso vamos calcular o erro relativo.
Podemos utilizar a definição dos erros para definir os algarismos correctos e significativos.
13 José Duque
Matemática Computacional Generalidades
José Duque 14
1.5 Diferenciação Numérica Matemática Computacional
Uma vez que xi+1 = xi + h ⇔ xi+1 − xi = h e a série pode ser simplificada da forma
f 00 (ξ)
h
2!
f 00 (ξ)
chamamos erro de truncatura. Costuma dizer-se que o erro é da ordem de h, O(h), pois 2!
são
constantes, só h varia. Quando xi+1 se aproxima de xi , h diminui e o erro tende para zero.
A série de Taylor também pode ser utilizada para pontos anteriores xi−1 = xi − h ⇔ xi−1 − xi = h.
f 00 (ξ) 2
f (xi−1 ) = f (xi ) − f 0 (xi )h + h, ξ ∈]xi−1 , xi [
2!
Donde resulta
1 f 00 (ξ)
f 0 (xi ) =
(f (xi ) − f (xi−1 )) + h
h 2!
outra estimativa da derivada. Esta agora utiliza os valores de f em um ponto antes e no próprio
ponto.
Outra forma de obter uma estimativa para o valor da derivada é utilizar o polinómio de Taylor
de graus mais elevados e vários pontos. Consideremos por exemplo
h2 000
f (xi+1 ) − f (xi−1 ) = 2f 0 (xi )h + f (ξ)
6
Logo
1 h2
[−f (xi−1 ) + f (xi+1 )] − f 000 (ξ)
f 0 (xi ) =
2h 6
2
Neste caso o erro de truncatura é da ordem de h o que indica que o erro tende mais depressa
para zero quando xi+1 e xi−1 tendem para xi . De uma forma semelhante podemos deduzir
1 h2
f 0 (xi ) = [−3f (xi ) + 4f (xi+1 ) − f (xi+2 )] + f 000 (ξ)
2h 3
15 José Duque
Matemática Computacional Generalidades
1 h2
f 0 (xi ) =
[f (xi−2 ) − 4f (xi−1 ) + 3f (xi )] + f 000 (ξ)
2h 3
Para a segunda derivada podemos obter os resultados
1 h2 (4)
f 00 (xi ) = [f (x i−1 ) − 2f (x i ) + f (x i+1 )] − f (ξ)
h2 12
1 h4 (4)
f 00 (xi ) = [f (x i−2 ) + 16f (x i−1 ) − 30f (x i ) + 16f (x i+1 ) − f (x i+2 )] + f (ξ)
12h2 90
Exemplo 8 Uma partı́cula move-se sobre o eixo dos xx, tendo-se registado as seguintes posições
ao longo do tempo t:
Se não soubermos x também não saberemos f (x). Mas utilizando o teorema de Taylor obtemos
f 00 (ξ)
f (x) = f (x̄) + f 0 (x̄)(x − x̄) + (x − x̄)2
2
f 00 (ξ)
0
f (x) − f (x̄) = f (x̄)(x − x̄) + (x − x̄)2
2
Tomando o módulo e desprezando o último termo
ou seja
Ea (f (x̄)) ≤ |f 0 (x̄)|Ea (x̄), ∆f (x) = |f 0 (x̄)|∆x
José Duque 16
1.6 Propagação dos erros Matemática Computacional
Em termos práticos pode dizer-se que o erro final depende da derivada da função, se a derivada
for bastante elevada o erro vai ser ampliado, se for reduzida o erro é diminuı́do.
No caso de funções com várias variáveis é semelhante. Assim consideremos uma função de n
variáveis f (x1 , . . . , xn ) e que são utilizados valores aproximados x̄1 , . . . , x̄n . Se os erros absolutos
de cada uma das variáveis forem limitados por ∆xi então o limite superior do erro absoluto de
f (x̄1 , . . . , x̄n ) pode ser obtido por
n
X ∂f
Ea (f (x̄1 , . . . , x̄n )) = |f (x1 , . . . , xn ) − f (x̄1 , . . . , x̄n )| ≤ | (x̄1 , . . . , x̄n )|∆xi
i=1
∂x i
No caso do erro relativo, podemos utilizar mais uma vez o teorema de Taylor.
logo
f (x) − f (x̄) f 0 (x̄)(x − x̄) f 0 (x̄)x x − x̄ f 0 (x̄)x̄ x − x̄
≈ = × ≈ ×
f (x) f (x) f (x) x f (x̄) x
então tomando módulos 0
f (x̄)x̄
Er (f (x̄)) ≤ Er (x̄)
f (x̄)
0
Ao valor cond(f, x̄) = ff(x̄)x̄ vamos chamar número de condição de f em x̄. O número de
(x̄)
condição de uma função indica a medida na qual o erro de x̄ se propaga por f (x̄). De um modo
grosseiro pode-se afirmar que ao aplicarmos f a x̄ o erro relativo de x̄ é multiplicado pelo número
de condicionamento. Um número de condicionamento maior que 1 vai fazer crescer o valor do erro
de x̄. No caso contrário se cond(f, x̄) < 1 então o erro de x̄ vai ser atenuado ao calcularmos f (x̄).
Exemplo 9 Considere a função f (x) = ln(x). A aproximação ā = 1.01 do número a = 1.009
enferma de um erro relativo inferior a 0.1%. Qual o erro relativo cometido ao aproximar f (a) por
f (ā). Explique a situação.
Resposta
Um erro relativo inicial deu origem a um erro relativo final 100× superior.
1
1.009 1.00.9
cond(ln, 1.009) = = 111.6
ln(1.009)
Como cond(f, a) = 111.6, qualquer erro cometido com a é ampliado mais de 100 vezes, logo a função é
mal condicionada neste ponto.
No caso de f ter várias variáveis e o erro relativo de cada variável for majorado por δxi o
majorante do erro relativo de f (x̄1 , . . . , x̄n ) é dado por
∂f
n
x̄i ∂xi (x̄1 , . . . , x̄n )
X
Er (f (x̄1 , . . . , x̄n )) ≤ δxi
f (x̄1 , . . . , x̄n )
i=1
17 José Duque
Matemática Computacional Generalidades
ou seja o erro absoluto da soma é menor que a soma dos erros absolutos das parcelas.
Seja agora f (x, y) = x.y, então
∂f
x̄ ∂f (x̄, ȳ) ȳ (x̄, ȳ)
x̄.ȳ
ȳ.x̄
∂x ∂y
Er (f (x̄, ȳ)) ≤ Er (x̄) + Er (ȳ) = Er (x̄) + Er (ȳ) = Er (x̄) + Er (ȳ)
f (x̄, ȳ) f (x̄, ȳ) x̄.ȳ x̄.ȳ
No caso de um problema mais complicado ( não uma só função ) o problema diz-se bem con-
dicionado se pequenos erros nos dados iniciais originam apenas pequenas alterações na solução do
problema. Por sua vez se pequenos erros nos dados iniciais provocarem grandes erros na solução,
o problema diz-se mal condicionado.
Exemplo 11 A equação
x2 − 2.029x + 1.0285 = 0
tem as soluções
x1 = 0.9878494841 e x2 = 1.041150516.
No entanto se o termo independente for arredondado para 1.029 estamos a introduzir um erro
relativo inicial de aproximadamente 0.05%. Mas as soluções passam a ser
x̄1 = 1 e x2 = 1.029
que sofreram um erro relativo de aproximadamente 1.2%, que é muito superior ao inicial. Então
podemos dizer que o problema é mal condicionado.
√ √
Exemplo 12 Calcule a diferença 9876 − 9875.
Resposta
Usando uma máquina de calcular cujo mostrador apresenta 10 algarismos, tem-se
√ √
9876 − 9875 = 0.9937806599 × 102 − 0.9937303457 × 102 = 0.00503142 = 0.503142 × 10−2
Verificando-se que os dados do problema foram fornecidos com 10 algarismos significativos, o resultado
aparece com 6 algarismos e apenas 5 são significativos.
José Duque 18
1.7 Exercı́cios Matemática Computacional
O problema que surgiu aqui denomina-se cancelamento subtractivo. Este problema deve-se ao
facto de estarmos a calcular a diferença entre dois valores muito próximos. Uma forma de o evitar
é tentar substituir a subtracção multiplicando e dividindo pelo conjugado.
No exemplo anterior ficava
√ √
√ √ √ √ 9876 + 9875 1
9876 − 9875 = ( 9876 − 9875) × √ √ =√ √ =
9876 + 9875 9876 + 9875
1
= = 0.5031403493 × 10−2
0.9937806599 × 102 + 0.9937303457 × 102
que é muito mais exacto.
1.7 Exercı́cios
1. Converta os seguintes números para a sua forma decimal.
a = (101101)2 ; b = (110101011)2 ; c = (0.1101)2 ; d = (0.101010 . . . )2
e = (6)8 ; f = (232)8 ; g = (15.04)8 ; h = (2.32)8 ;
k = (9F 6)16 ; l = (E5B)16 .
8. Qual o valor máximo e o valor mı́nimo que se pode representar no sistema F P (3, 4, 2)?
Qual a sua representação decimal?
10. Qual o menor número positivo que se pode representar no sistema F P (3, 4, 2)?
11. Os números x1 = 0.52 × 10−4 , x2 = 0.61 × 105 , x3 = −0.37 × 10−3 , x4 = −0.61 × 105 vão
ser adicionados em aritmética de ponto flutuante F P (10, 2, 1). Diga, explicando convenien-
temente qual dos seguintes resultados tem menor erro.
s1 = (x1 + x2 ) + (x3 + x4 )
19 José Duque
Matemática Computacional Generalidades
s2 = (x1 + x3 ) + (x2 + x4 )
em x = 2.73, utilizando a aritmética de ponto flutuante F P (10, 3, 2). Compare com o valor
exacto.
(d) Pretende-se aproximar a função seno pelo seu polinómio de Taylor de grau n, em torno
de zero.
Qual é o valor mı́nimo de n necessário para que o polinómio aproxime a função com
erro menor que 10−6 , no intervalo 0; π2 ?
(e) Determine um valor aproximado de sin( π8 ), com 9 casas decimais correctas usando o
polinómio de Taylor, em torno de zero.
16. O polinómio P2 (x) = 1 − 0.5x2 vai ser usado para aproximar a função cosseno em [−0.5; 0.5].
Determine um majorante para o erro máximo de qualquer aproximação.
17. Calcule a derivada de primeira ordem da função g(x) = esin(x) no ponto x = 0.5 utilizando
as diferenças finitas ( progressivas, regressivas e centrais) de primeira ordem com h = 0.01.
De entre as fórmulas utilizadas qual é a que permite obter melhor estimativa?
x f (x) f 0 (x)
0.0 −1 ...
0.2 −0.2839867 ...
0.4 0.2484244 ...
José Duque 20
1.7 Exercı́cios Matemática Computacional
Sabendo que f (x) = xcos(x) − 2x2 + 3x − 1, calcule o erro efectivamente cometido em cada
aproximação e compare-o com o majorante teórico.
19. A distância percorrida em metros por um foguete em cada segundo apresenta os seguintes
valores:
t 0 1 2 3 4 5
y 0.0 2.5 7.8 18.2 51.9 80.3
t, min 0 15 30 45 60 90 120
V, barris 0.50 0.65 0.73 0.88 1.03 1.14 1.30
dV
Calcule a taxa de fluxo Q ( ou seja dt
) em cada instante com erro da ordem de h2 .
4
21. Calcule os erros absoluto e relativo na representação do número x = 3
, por F L(x), no
sistema F P (2, 3, 1, A).
(a) Calcule a área deste rectângulo mostrando o intervalo dos valores possı́veis.
(b) Determine uma estimativa do valor da área deste rectângulo e calcule uma estimativa
do limite superior do erro absoluto da área do rectângulo.
23. Seja s = 0.5gt2 . Determine o limite superior para o erro relativo de s, sabendo unicamente
que tanto g como t estão afectados de erros relativos não superiores a 1%.
24. Suponha que x̄ = 2.475 tem 3 casas decimais correctas relativamente ao seu valor x.
25. Obtenha um limite superior para o erro de que vem afectado o determinante de uma matriz
quadrada de ordem 2, sabendo que os seus elementos se encontram afectados de um erro
∆aij = .
21 José Duque
Matemática Computacional Generalidades
27. A fórmula de Manning para um canal rectangular pode ser escrita da forma
1 (BH)5/3
Q= 2/3
S 1/2
n (B + 2H)
π
28. Sejam a = π, ā = 3.14, b = 2
e b̄ = 1.57.
(a) Determine os erros relativos das aproximações sin(3.14) e sin(1.57), dos valores exactos
sin(a) e sin(b), respectivamente.
(b) Qual dos números de condicionamento cond(sin, 3.14) e cond(sin, 1.57) será maior?
√
1− 1+x2
29. Pretende-se calcular valores da expressão x
, para x na vizinhança de zero.
Como deve ser reescrita a expressão de modo a evitar a perda de dı́gitos significativos devido
ao cancelamento subtractivo?
p
30. Considere a função real h(x, y) = x2 + y − x.
Mostre que o cálculo de valores desta função é um problema bem condicionado se y > 0 e
mal condicionado se y ≈ −x2 .
x + y = 1
31. O sistema é ou não bem condicionado?
1.1x + y = 2
José Duque 22
Capı́tulo 2
Zeros de funções
O deslocamento, num dado instante, de uma estrutura em oscilação pode ser calculado pela
expressão
y = 10e−0.5t cos(2t).
Se pretendermos saber o tempo necessário para o deslocamento ser igual a quatro, temos de
resolver a equação
10e−0.5t cos(2t) = 4
Os métodos analı́ticos estudados até agora não permitem saber o valor exacto da solução. Neste
capı́tulo iremos abordar alguns métodos numéricos que permitem calcular o valor (aproximado)
das soluções de uma equação não linear. Antes de procurarmos essa aproximação devemos pri-
meiro garantir que existe, pois uma equação não linear pode não ter solução, ter uma única,
várias soluções ou até infinitas soluções. A maior parte dos métodos estudados exigem um estudo
preliminar da função para estabelecer a existência de soluções e fornecer localizações (grosseiras)
delas.
Os métodos seguintes são métodos numéricos, ou seja, constroem uma sucessão x0 , x1 , ..., a qual,
caso exista convergência, irá convergir para o zero desejado.
A utilização dum método iterativo implica vários problemas que devem ser resolvidos:
Uma vez que é impraticável realizar um número infinito de iterações é necessário parar num
determinado termo xn . Este facto leva-nos obrigatoriamente a escolher um critério para decidirmos
em qual termo parar. O critério mais simples é indicar um número máximo de iterações, ou seja,
à partida é estipulado o número n de iterações. Como nem sempre sabemos a velocidade de
23
Matemática Computacional Zeros de funções
convergência este critério pode tornar-se pouco eficiente, no caso geral. Um critério mais eficiente
é o erro absoluto da estimativa. O principal problema reside no cálculo do erro, pois o valor exacto
não é conhecido, obviamente. Esse problema pode ser contornado através de uma estimativa do
erro absoluto da forma
Ea (xn ) ≈ |xn − xn−1 |.
Assim podemos estipular de inı́cio qual o erro absoluto máximo que é permitido para a estimativa
desejada.
Da mesma forma, podemos considerar uma estimativa do erro relativo da forma
|xn − xn−1 |
Er (xn ) ≈ .
|xn |
Como qualquer um destes critérios pode fornecer uma solução ainda longe do pretendido existe
ainda outro critério de paragem que é quando o valor da função é suficientemente próximo de zero,
isto é, |f (xn )| < tol.
Depois de garantida a convergência, podemos analisar a velocidade. Para classificarmos os métodos
em função da velocidade precisamos da seguinte definição.
Definição 13 Consideremos en = x∗ − xn .
Diz-se que um método numérico tem ordem de convergência p ≥ 1 se existir uma constante K > 0
tal que
|en+1 |
lim =K
n→∞ |en |p
José Duque 24
2.1 Localização dos zeros Matemática Computacional
Por vezes o gráfico de funções é algo complicado de desenhar e analisar adequadamente. Pode
tornar-se mais vantajoso representar duas funções, que estejam relacionadas com f , se tiverem
expressões mais simples ou os gráficos forem conhecidos. Assim, se f é separada em duas funções
desta forma
f (x) = 0 ⇔ g(x) = h(x)
A representação gráfica, geralmente, não é muito rigorosa, por isso é necessário uma confirmação
analı́tica. Para provar a existência de solução vamos utilizar o corolário seguinte.
Corolário 16 (Do teorema de Bolzano) Se f é contı́nua em [a, b] e f (a) × f (b) < 0 então
∃x∗ ∈ [a, b] : f (x∗ ) = 0.
25 José Duque
Matemática Computacional Zeros de funções
Pegando neste corolário para provar a unicidade de um zero basta garantir que f é monótona, ou
seja, f 0 (x) não se anula no intervalo desejado.
José Duque 26
2.1 Localização dos zeros Matemática Computacional
logo
f (−4.6) × f (−4.4) < 0
f 0 (x) = 0 ⇔ 1 −
1
cos2 (x)
= 0 ⇔ cos2 (x) = 1 ⇔ cos(x) = 1 ∨ cos(x) = −1 ⇔ x = kπ, k ∈ Z
27 José Duque
Matemática Computacional Zeros de funções
Como nenhum deste valores pertence ao intervalo considerado, f 0 toma sempre valores positivos ou ne-
gativos nesse intervalo, logo não muda de sinal e então a raiz é única.
Exemplo 19 Utilizando o método da bissecção encontre uma aproximação xk , com 3 casas deci-
mais correctas, da maior raiz negativa de f (x) = x − tg(x).
Resposta
Antes de iniciar a determinação das estimativas da raiz procurada há que encontrar um intervalo [a, b]
que contém a única raiz da equação f (x) = 0 que procuramos. Como isso já foi feito no exemplo 18
vamos agora calcular as estimativas da raiz pretendida, considerando I0 = [−4.6, −4 − 4].
A aproximação inicial da raiz x∗ é
−4.6 + (−4.4)
x0 = = −4.5
2
José Duque 28
2.3 Método da Falsa posição (Corda Falsa) Matemática Computacional
k Ik xk f (xk ) ∆x
0 [a, b] −4.5 1.3733205455118469 × 10−1 0.1
1 [x0 , b] −4.45 −7.2673142705204175 × 10−1 0.05
2 [x0 , x1 ] −4.475 −3.4193309600374455 × 10−1 0.025
3 [x0 , x2 ] −4.4875 −1.1607846046461390 × 10−1 0.0125
4 [x0 , x3 ] −4.49375 6.8868525229932587 × 10−3 0.00625
5 [x4 , x3 ] −4.490625 −5.5491255627766911 × 10−2 0.003125
6 [x4 , x5 ] −4.4921875 −2.4530830955612259 × 10−2 0.0015625
7 [x4 , x6 ] −4.49296875 −8.8797572271701597 × 10−3 0.00078125
8 [x4 , x7 ] −4.493359375 −1.0109716401869306 × 10−3 0.000390625
como querı́amos com 3 casas decimais correctas temos de ter ∆x < 0.5 × 10−3 . Para a estimativa x7
o erro é ∆x = b−a
28
= 0.78125 × 10−3 > 0.5 × 10−3 e para x8 é ∆x = b−a
29
= 0.390625 × 10−3 < 0.5 × 10−3
logo a estimativa pedida é x8 = −4.493359375.
29 José Duque
Matemática Computacional Zeros de funções
b−a
x = b − f (b)
f (b) − f (a)
Assim o método da falsa posição divide o intervalo em 2: [a, x] e [x, b] com x obtido pela equação
anterior. À semelhança do método da bissecção vamos agora escolher qual o intervalo onde se
encontra o zero pretendido, aplicando o corolário do teorema de Bolzano.
De uma forma geral a estimativa xk pertence ao intervalo Ik = [ak , bk ] e é tal que
b k − ak
xk = bk − f (bk )
f (bk ) − f (ak )
Uma estimativa do limite superior do erro absoluto pode ser dado por ∆x = max{xk −ak , bk −xk }.
No entanto esta fórmula para o erro é pouco prática, pois não tende para zero. Este método não
possui um desempenho muito grande atendendo à série de testes realizados em cada iteração.
No entanto pode ser melhorado se impusermos a condição f 00 (x) 6= 0 ∀x ∈ [a, b]. Se isto se
verificar podemos fixar um dos extremos e retirar a parte que decide qual o intervalo seguinte.
Se f 00 (x) × f (a) > 0 fixamos o extremo a, caso contrário fixamos o b. Em qualquer dos casos
anteriores podemos afirmar que a convergência é linear.
Exemplo 20 Determine, utilizando o método da corda falsa uma aproximação xk da maior raiz
negativa da equação f (x) = x − tg(x) = 0, tal que |f (xk )| < 10−3 e defina um limite superior do
erro absoluto da última aproximação.
Resposta
Já verificámos que x∗ ∈ [−4.6; −4.4] = I0 . Logo a aproximação inicial é
−4.4 − (−4.6)
x0 = −4.4 − f (−4.4) = −4.446862369
f (−4.4) − f (−4.6)
−4.446862369 − (−4.6)
x1 = −4.446862369 − f (−4.446862369) = −4.470296080
f (−4.446862369) − f (−4.6)
José Duque 30
2.4 Método de Newton-Raphson Matemática Computacional
k Ik xk f (xk )
0 [a0 , b0 ] −4.446862369 −0.769689209
1 [a0 , x0 ] −4.470296080 −0.420665082
2 [a0 , x1 ] −4.481952516 −2.19447009 × 10−1
3 [a0 , x2 ] −4.487735407 −1.11575111 × 10−1
4 [a0 , x3 ] −4.490600606 −5.59710345 × 10−2
5 [a0 , x4 ] −4.492019279 −2.78858715 × 10−2
6 [a0 , x5 ] −4.492721493 −1.38455910 × 10−2
7 [a0 , x6 ] −4.493069019 −6.86268958 × 10−3
8 [a0 , x7 ] −4.493240996 −3.39865853 × 10−3
9 [a0 , x8 ] −4.493326098 −1.68243176 × 10−3
10 [a0 , x9 ] −4.493368209 −8.32677114 × 10−4
f 00 (ξ)
f (xi+1 ) = f (xi ) + f 0 (xi )(xi+1 − xi ) + (xi+1 − xi )2
2
onde ξ pertence ao intervalo formado por xi e xi+1 contido em [a, b]. Se ignorarmos o erro obtemos
f 00 (ξ) ∗
0 = f (xi ) + f 0 (xi )(x∗ − xi ) + (x − xi )2
2
31 José Duque
Matemática Computacional Zeros de funções
Recordemos que
0 = f (xi ) + f 0 (xi )(xi+1 − xi )
f 00 (ξ) ∗
0 = f 0 (xi )(x∗ − xi+1 ) + (x − xi )2
2
−f 00 (ξ) ∗
x∗ − xi+1 = (x − xi )2
2f 0 (xi )
Tomando módulos obtemos 00
∗
−f (ξ) ∗
|x − xi+1 | = 0 |x − xi |2
2f (xi )
Donde se conclui que
|ei+1 | −f 00 (x∗ )
lim = 0 ∗
i→∞ |ei |2 2f (x )
Se f 0 (x) e f 00 (x) não se anularem em [a, b], a sucessão {xi } é monótona e limitada logo convergente.
Além disso converge para x∗ e a convergência é quadrática.
Vamos agora estabelecer, de uma forma exacta, as condições que deverão ser impostas para a
sucessão de aproximações geradas pelo método de Newton convergir para a raiz x∗ ∈ [a.b]
Teorema 21 Se
• f ∈ C 2 ([a, b])
• f 0 (x) 6= 0, ∀x ∈ [a, b]
a sucessão gerada pelo método de Newton converge para a única raiz x∗ de f (x) = 0 em [a, b].
É de notar que a quinta condição serve para escolher qual a estimativa inicial. No primeiro caso
qualquer x0 ∈ [a, b] serve. No segundo caso já é indicada a estimativa para iniciar o método.
A interpretação geométrica é bastante simples.
A estimativa xi+1 é a intersecção com o eixo OX da recta tangente de f em xi .
O método de Newton-Raphson possui vantagens e desvantagens em relação ao método da bis-
secção. As grandes desvantagens residem no facto deste poder divergir e de haver necessidade de
calcular a derivada da função. Por outro lado o método de Newton converge muito rapidamente
o que faz com que seja um dos métodos mais eficazes para este tipo de problemas.
José Duque 32
2.4 Método de Newton-Raphson Matemática Computacional
33 José Duque
Matemática Computacional Zeros de funções
f (xk ) − f (xk−1 )
f 0 (xk ) ≈
xk − xk−1
xk − xk−1
xk+1 = xk − f (xk ) (2.2)
f (xk ) − f (xk−1 )
Esta transformação faz com que seja necessário mais uma aproximação inicial para aproximar a
primeira derivada. Os critérios de convergência são os mesmos do método de Newton à excepção
da última condição que pode ser adaptada para a escolha de duas estimativas iniciais. Se
f (a) f (b)
f 0 (a) ≤ b − a e f 0 (b) ≤ b − a
então qualquer x0 , x1 ∈ [a, b] podem ser utilizados para iniciar o método. Por outro lado se
existirem x0 , x1 ∈ [a, b] tais que f (x0 )f 00 (x0 ) > 0 e f (x1 )f 00 (x1 ) > 0, então esses valores podem
ser estimativas iniciais. A simplificação prática tem uma consequência teórica. A convergência do
método da secante não é quadrática, mas sim de ordem
√
1+ 5
p= ≈ 1.618
2
Exemplo 23 Determine, com um erro relativo inferior a 10−5 e utilizando o método da secante
uma aproximação da maior raiz negativa da função
f (x) = x − tg(x)
Resposta
Já se verificou que no intervalo [−4.6, −4.4] se encontra uma única raiz e que são satisfeitas as condições
de convergência deste método.
Como f (−4.6) × f 00 (−4.6) > 0 então x0 = −4.6. Tem-se também que f (−4.58) × f 00 (−4.58) > 0 logo
podemos considerar x1 = −4.58
Assim
x1 − x0 −4.58 − (−4.6)
x2 = x1 − f (x1 ) = −4.58 − f (−4.58) = −4.535978494
f (x1 ) − f (x0 ) f (−4.58) − f (−4.6)
A tabela seguinte apresenta as sucessivas aproximações xk da raiz procurada, o valor da função calculada
José Duque 34
2.6 Método do ponto fixo Matemática Computacional
k xk f (xk ) Er (xk )
0 −4.6 4.260174896 − − −−
1 −4.58 2.929317456 − − −−
2 −4.535978494 1.073692909 9.704963561 × 10−3
3 −4.510506973 3.754039 × 10−1 5.647213751 × 10−3
4 −4.496813347 6.984767113 × 10−2 3.045184432 × 10−3
5 −4.493683095 5.532070857 × 10−3 6.965893976 × 10−4
6 −4.493413848 8.864096938 × 10−5 5.992036547 × 10−5
7 −4.493409464 1.2298022 × 10−7 9.756511253 × 10−7
x = g(x) (2.3)
É bom reconhecer que este modo de escrever a equação não constitui qualquer restrição relativa-
mente ao caso f (x) = 0, pois é sempre possı́vel transformar esta equação numa da foram x = g(x),
pondo, por exemplo
x = x + f (x)
| {z }
g(x)
Esta é apenas uma das transformações possı́veis, não sendo, portanto, a única nem necessariamente
a melhor.
A expressão 2.3 sugere imediatamente o seguinte esquema iteractivo
O ponto x∗ solução de (2.3) é um ponto que a função g transforma nele próprio, ou, por outras
palavras, um ponto fixo de g. Por esta razão, os métodos baseados nas expressões (2.3) e (2.4)
são conhecidos genericamente por métodos do ponto fixo.
A função g é chamada função de iteração do método.
A questão que se coloca neste momento é a seguinte: dada uma equação f (x) = 0 com raiz
x∗ ∈ [a, b], como escolher a função de iteração g de forma a que as aproximações dadas por (2.4)
converjam para x∗ ?
Em geral interessa que g(x) varie pouco com x. O caso ideal seria que g fosse constante. Para
responder a esta questão, consideremos o seguinte teorema
Teorema 24 Se
35 José Duque
Matemática Computacional Zeros de funções
então o ponto fixo é único e a sucessão gerada por (2.4) converge para esse ponto qualquer que
seja a aproximação inicial x0 ∈ [a, b].
Sobre a convergência não se consegue encontrar uma ordem de convergência, pois a convergência
depende da função g escolhida, embora no caso geral a convergência seja linear. Para justificar a
afirmação anterior podemos considerar
g(xn−1 ) − g(x∗ )
= g 0 (ξ)
xn−1 − x∗
|xn − x∗ | = |g 0 (ξ)||xn−1 − x∗ |
|en+1 |
lim = |g 0 (x∗ )|
n→∞ |en |
Logo se g 0 (x∗ ) 6= 0 a convergência é linear, para a convergência ser supra linear temos de
garantir que g 0 (x∗ ) = 0
Podemos no entanto afirmar que se g1 e g2 são duas funções de iteração tais que
então a sucessão definida por xk+1 = g1 (xk ) converge mais rapidamente que a sucessão definida
por xk+1 = g2 (xk ). Assim seria preferı́vel escolher g1 , para aplicar o método, em vez de g2 .
Exemplo 25 Determine, utilizando o método do ponto fixo uma aproximação da maior raiz ne-
gativa da função
f (x) = x − tg(x)
com um erro relativo inferior a 10−5 .
Resposta
Já foi encontrado um intervalo [−4.6; −4.4] onde a 1a condição é satisfeita.
Vamos agora procurar a função de iteração.
Como f (x) = 0 ⇔ x = tg(x) uma possı́vel função de iteração é g(x) = tg(x). Mas
1
|tg 0 (x)| =
cos2 (x)
e
−4.6 ≤ x ≤ −4.4
cos(−4.4) ≤ cos(x) ≤ cos(−4.6)
cos2 (−4.6) ≤ cos2 (x) ≤ cos2 (−4.4)
1 1 1
cos2 (−4.4)
≤ cos2 (x)
≤ cos2 (−4.6)
José Duque 36
2.6 Método do ponto fixo Matemática Computacional
logo
1 1 1
10.58722095 = ≤ ≤ = 79.50269918
cos2 (−4.4) 2
cos (x) 2
cos (−4.6)
Assim |tg 0 (x)| > 10, ∀x ∈ [−4.6, −4.4] e não temos garantia de convergência da sucessão gerada por
(2.4), com g = tg.
A transformação da equação f (x) = 0 em x = arctg(x) também não funciona pois a possı́vel função de
iteração g(x) = arctg(x) tem contradomı́nio ] − π/2; π/2[ ∼
= ] − 1.57; 1.57[, logo não pode satisfazer a 2a
condição pretendida.
Tentemos procurar uma função de iteração da forma
0 = f (x) ⇔ x = x + pf (x), p ∈ R
Agora determina-se que valor atribuir a p de modo que a função de iteração
g(x) = x + pf (x)
satisfaça a condição
|g 0 (x)| ≤ M < 1, ∀x ∈ [−4.6; −4.4]
Mas |g 0 (x)| < 1 ⇔ −1 < g 0 (x) < 1 ⇔ −1 < 1 + pf 0 (x) < 1 ⇔ −2 < pf 0 (x) < 0.
Como f 0 (x) = −tg 2 (x) < 0, ∀x ∈ [−4.6; −4.4] então
Considerando
−2 −2
h(x) = 0
=
f (x) −tg 2 (x)
−4 − 4tg 2 (x)
h0 (x) =
tg 3 (x)
Para x ∈ [−4.6; −4.4] o numerador é sempre negativo e o denominador é sempre negativo, então derivada
é positiva no intervalo dado, logo a função é crescente e o mı́nimo é obtido no extremo inferior do
intervalo, ie,
2 2
min = = 0.0254768321
x∈[−4.6;−4.4] tg 2 (x) tg 2 (−4.6)
Logo p < 0.0254768321
Desta forma a sequência de aproximações produzidas pela fórmula
37 José Duque
Matemática Computacional Zeros de funções
Como tem de conter os pontos (x0 , f (x0 )), (x1 , f (x1 )) e (x2 , f (x2 )) os coeficientes a, b e c podem
ser obtidos pelas equações.
f (x0 ) = a(x0 − x2 )2 + b(x0 − x2 ) + c
f (x1 ) = a(x1 − x2 )2 + b(x1 − x2 ) + c
f (x2 ) = a(x2 − x2 )2 + b(x2 − x2 ) + c
A última equação permite concluir que c = f (x2 ). Com algumas manipulações matemáticas
podemos concluir que
b = f12 + f02 − f01 e a = f012
onde
f (xj ) − f (xi ) f12 − f01
fij = e f012 =
xj − xi x2 − x0
Os zeros do polinómio são obtidos com a fórmula resolvente. Para tornar mais estável vai ser
ligeiramente alterada da forma
−2c
x − x2 = √
b ± b2 − 4ac
ou seja a estimativa seguinte é
2f (x2 )
x3 = x2 − p
b± b2 − 4f012 f (x2 )
José Duque 38
2.7 Método de Muller Matemática Computacional
Esta expressão fornece dois valores, um correspondente ao sinal + e o outro ao sinal -, pelo que
se põe naturalmente a questão de saber qual deles se deve tomar. É usual escolher o sinal que
minimiza |x3 − x2 |. Se b for real escolhendo o mesmo sinal de b obtemos o resultado desejado.
Se durante a pesquisa de zeros reais aparecerem iterações intermédias com valores complexos, é
corrente, para evitar ter de implementar o algoritmo em aritmética complexa, desprezar simples-
mente a parte imaginária.
O aparecimento de valores complexos pode, no entanto, constituir uma vantagem do método de
Muller quando se pretende obter zeros complexos de funções reais, pois permite o aparecimento de
aproximações complexas durante as iterações mesmo que se tenha partido de estimativas iniciais
reais, mais fáceis de estabelecer.
Pode demonstrar-se que, se os valores iniciais x0 , x1 e x2 estiverem suficientemente próximos do
zero procurado, o método de Muller converge, e a ordem de convergência é p ≈ 1.84, quase idêntica
à do método de Newton com a vantagem adicional de não recorrer a derivadas.
39 José Duque
Matemática Computacional Zeros de funções
= −4.4949400056
Para a seguinte iteração já temos
f (x2 ) − f (x1 )
f12 = = −14.41008274
x2 − x1
mas é preciso voltar a calcular as constantes
f (x3 ) − f (x2 )
f23 = = −20.98906559
x3 − x2
f (x3 ) − f (x1 )
f13 = = −14.05944429
x3 − x1
f23 − f12
f123 = = 69.29621302
x3 − x1
2f (x3 )
x4 = x3 − p
w− w2 − 4f123 f (x3 )
= −4.4934240592
Os resultados de todas as iterações são
x3 =−4.4949400056
x4 =−4.4934240592
x5 =−4.4934094546
x6 =−4.4934094579
x7 =−4.4934094579
José Duque 40
2.8 Exercı́cios Matemática Computacional
2.8 Exercı́cios
1. Mostre que as equações seguintes têm pelo menos uma solução nos intervalos dados.
2. Considere a função
f (x) = x3 − x − 1.
(a) cos(x) = x3
(b) ln(x) + x3 = 0
(c) |x| − ex = 0
4. Use o método da bissecção para aproximar a solução, com erro inferior a 10−1 , da equação
x + 0.5 + 2cos(πx) = 0, no intervalo [0.5, 1.0].
5. Quantas vezes terı́amos que aplicar o método da bissecção na pergunta anterior se quiséssemos
determinar xk de modo que |x∗ − xk | < 10−5 ?
8. Pretende-se construir um tanque cúbico com a capacidade de 25000 l. Calcule uma apro-
ximação para o comprimento do lado do tanque usando o método da bissecção 4 vezes e
indique a precisão do resultado.
(a) Prove que realmente se encontra uma e uma só raiz de f (x) = 0 no intervalo [3, π]
(b) Encontre uma solução aproximada da raiz pretendida com erro absoluto inferior a 0.01,
utilizando o método da falsa posição.
41 José Duque
Matemática Computacional Zeros de funções
11. Localize graficamente a raiz real positiva, r, da equação ex + 2x2 − 2 = 0 e obtenha um valor
aproximado de r aplicando o método de Newton 2 vezes.
13. Num escoamento com superfı́cie livre pode definir-se uma camada junto ao fundo (designada
por camada limite) onde as caracterı́sticas do escoamento são significativamente diferentes
das que se verificam acima dessa camada. Pode provar-se que a espessura da camada limite
é δ = 5z, sendo z, para um escoamento com determinadas caracterı́sticas, dado por
|z|log10 |75z| = 2.
14. Localize graficamente as raı́zes das equações seguintes e determine um valor aproximado de
uma delas com uma casa decimal correcta, utilizando o método da secante.
(a) ln(x) = 3 − 32 x
(b) |x| − ex−1 = 0
15. Considere a função g(x) = cos(x2 ) − 0.1x que tem um zero em [1.20, 1.22].
Defina uma estimativa para o zero de g, recorrendo ao método da secante e estime o erro
cometido.
José Duque 42
2.8 Exercı́cios Matemática Computacional
(b) Recorra ao método da secante para determinar estimativas xk das raı́zes, tais que
|xk − xk−1 | < 10−3 .
(a) Diga para cada uma das seguintes funções se podem ser usadas como função de iteração
do método referido, com garantia de haver convergência.
√ 2
g(x) = x2 − 2, g(x) = x + 2, g(x) = 1 +
x
(b) Determine uma estimativa da raiz pretendida efectuando quatro iterações, com cada
função de iteração e determine estimativas do limite superior do erro absoluto.
19. A excentricidade da órbita de Vénus é dada por E = 0.007. Resolva a equação de Kepler
para z = 0.7
Resolva a mesma equação para E = 0.5 e z = 0.7
(a) Transforma a equação f (x) = 0 noutra equivalente x = g(x) de modo que seja satisfeita
a condição |g 0 (x)| < 1, ∀x ∈ [0.8, 0.9].
(b) Aplique 5 vezes o método do ponto fixo para obter uma aproximação da raiz pretendida,
partindo de x0 = 0.8 e defina uma estimativa do erro dessa aproximação.
21. Encontre uma aproximação da raiz de x3 − x − 1 = 0, contida no intervalo [0, 2], utilizando
o método de Muller.
22. Pretende-se encontrar as raı́zes de x3 + 2x2 − 0.75x + 6.75. Utilize o método de Muller para
as obter. Resolva o mesmo problema utilizando o método de Newton.
M = x − Esin(x).
Dado E = 0.2, resolva a equação, usando um método à sua escolha, para M = 0.5, com
quatro casas decimais correctas.
43 José Duque
Matemática Computacional Zeros de funções
24. DeSantis(1976) deduziu uma relação para o factor de compressibilidade dos gases reais da
forma
1 + y + y2 − y3
z= ,
(1 − y)3
b
onde y = 4v
, sendo b a correcção de van der Waals e v o volume molar. Considerando
z = 0.892, calcule, através de um método à sua escolha, o valor de y.
25. O deslocamento de uma estrutura sujeita a oscilação pode ser definido por
y = 8e−kt cos(wt)
onde k = 0.5 e w = 3.
(a) Use o método gráfico para calcular uma estimativa inicial do tempo necessário para
que o deslocamento seja 4.
(b) Utilize o método de N ewton para melhorar a estimativa inicial até atingir o erro relativo
inferior a 0.01.
(c) Obtenha outra estimativa, com erro relativo inferior a 0.01, utilizando o método da
secante.
Determine o tempo necessário para que a concentração seja 9. Utilize o método da corda
falsa até obter um erro absoluto inferior a 10−3 .
27. A velocidade de ascensão de um foguetão pode ser calculada pela fórmula seguinte
m0
v = u ln − gt
m0 − qt
José Duque 44
Capı́tulo 3
Extremos de Funções
Este capı́tulo pretende descrever técnicas para encontrar o valor mı́nimo ou máximo de uma
função f . Para começar vamos definir o que são máximos e mı́nimos.
Definição 27 Se a é um ponto do domı́nio de f tal que f (x) ≤ f (a) ( f (x) ≥ f (a) ) para todo x
pertencente ao domı́nio, então diz-se que f tem um máximo ( mı́nimo ) absoluto em x = a, que
vale f (a).
Se isto se verificar apenas num subintervalo do domı́nio contendo a, então diz-se que f tem um
máximo ( mı́nimo ) relativo em x = a, que vale f (a).
Prova-se facilmente que os extremos de uma função são pontos onde a derivada é nula ou des-
contı́nua. Aos valores onde a derivada é nula ou descontı́nua vamos chamar pontos crı́ticos, pois
45
Matemática Computacional Extremos de Funções
vão ser os candidatos a pontos extremos. Para decidirmos se são ou não pontos extremos aplicamos
o teorema seguinte.
f 0 (x) = 0 ⇔
−12x3 − 12x2 + 24x = 0 ⇔
x(−12x2 − 12x + 24) = 0 ⇔
x = 0 ∨ −12x2 − 12x + 24 = 0 ⇔
x = 0 ∨ x = −2 ∨ x = 1
Agora vamos construir uma tabela de sinal da função derivada.
x −∞ −2 0 1 +∞
x − − − 0 + + +
−12x2 − 12x + 24 − 0 + + + 0 −
f 0 (x) + 0 − 0 + 0 −
max 5 max
f (x) % 37 & min % 10 &
Esta técnica é bastante exacta, mas só é praticável com um conjunto de funções muito restrito.
A função tem de ter uma derivada relativamente fácil de calcular e analisar e os zeros da derivada
devem ser possı́veis de calcular analiticamente. Quando alguma destas condições falha é preferı́vel
utilizar métodos numéricos.
José Duque 46
3.1 Método da secção dourada Matemática Computacional
O método da secção dourada utiliza o espı́rito do método da bissecção. Por simplicidade vamos
analisar apenas o caso de calcular o máximo. Primeiro é necessário obter um intervalo [a, b] onde a
função tenha um e só um máximo. O passo seguinte é encontrar um intervalo mais pequeno onde
ainda esteja o máximo. Em vez de usar o valor da função num só ponto como faz o método da
bissecção, é necessário dois pontos para detectar a localização do máximo. Para evitar o cálculo
da função em muitos pontos temos de escolher cuidadosamente os pontos intermédios de forma a
manter alguns de uma iteração para a outra. Este resultado é obtido utilizando a razão de ouro,
√
5−1
número conhecido desde a antiguidade. Seu valor é φ = 2
. Então os dois pontos interiores c e
d são obtidos por
Avaliando a função nestes dois pontos podem ocorrer dois casos, como mostram as figuras 3.1 e
3.2:
• Se f (c) < f (d) então o valor aproximado do maximizante é d e o valor exacto do maximizante
tem de estar no intervalo [c, b]. Logo c converte-se em a e d é o valor de c na iteração seguinte.
Ficamos com um novo intervalo mas de menor amplitude.
• Caso contrário, isto é, se f (c) ≥ f (d) o valor aproximado do maximizante é c e o valor exacto
do maximizante está no intervalo [a, d]. Na iteração seguinte c converte-se em d e d em b.
À medida que as iterações se vão repetindo o intervalo contendo o extremante vai sendo reduzido
rapidamente, o que garante a convergência.
Da mesma forma como para o método da bissecção vamos deduzir um majorante do erro. Con-
sideremos por exemplo o primeiro caso. Como a estimativa é d e o valor exacto está em [c, b], o
47 José Duque
Matemática Computacional Extremos de Funções
Então o erro máximo é ∆ = (1 − φ)(b − a). Para o segundo caso os cálculos são idênticos pois os
intervalos são simétricos.
No caso de pretendermos minimizar a única coisa que se altera são as desigualdades dos testes
para a escolha do novo intervalo.
De um modo geral temos √
5−1
φ=
2
Ik = [ak , bk ], ck = bk − φ(bk − ak ) , dk = ak + φ(bk − ak ), k = 0, 1, . . .
M aximizar M inimizar
f (ck ) < f (dk ) ⇒ Ik+1 = [ck , bk ], xk = dk f (ck ) < f (dk ) ⇒ Ik+1 = [ak , dk ], xk = ck
f (ck ) ≥ f (dk ) ⇒ Ik+1 = [ak , dk ], xk = ck f (ck ) ≥ f (dk ) ⇒ Ik+1 = [ck , bk ], xk = dk
Uma estimativa do erro pode ser calculada por
Ea (xk ) ≤ (1 − φ)(bk − ak )
1. Utilize métodos analı́ticos para provar que a função é côncava para todo x ∈ R.
Resposta
Para determinarmos as concavidades temos de analisar a segunda derivada de f .
f 0 (x) = −9x5 − 9.6x3 + 12
f 00 (x) = −45x4 − 28.8x2
f 00 (x) = 0 ⇔ x2 (−45x2 − 28.8) = 0 ⇔ x = 0 ∨ x2 = −0.64 ⇔ x = 0
Falta agora construir um quadro de sinais da segunda derivada.
x −∞ 0 +∞
f 00 (x) − 0 −
T T
f (x)
Podemos então concluir que a função tem sempre a concavidade voltada para baixo.
2. Calcule uma estimativa do valor de x ∈ [0, 2] que maximiza f (x) utilizando o método da
secção dourada e efectuando 3 iterações. Calcule uma estimativa do erro cometido.
Resposta
a0 = 0, b0 = 2
primeira iteração
José Duque 48
3.2 Método da interpolação quadrática Matemática Computacional
segunda iteração
c1 = b1 − φ(b1 − a1 ) = 1.236067977 − φ(1.236067977 − 0) = 0.4721359548
d1 = a1 + φ(b1 − a1 ) = 0 + φ(1.236067977 − 0) = 0.7639320225
f (c1 ) = 5.529760903 e f (d1 ) = 8.051653276 logo
f (c1 ) < f (d1 ) então a2 = c1 e b2 = b1 .
terceira iteração
c2 = b2 − φ(b2 − a2 ) = 1.236067977 − φ(1.236067977 − 0.4721359548) = 0.7639320225
d2 = a2 + φ(b2 − a2 ) = 0.4721359548 + φ(1.236067977 − 0.4721359548) = 0.9442719096
f (c2 ) = 8.051653276 e f (d2 ) = 8.359826234 logo
f (c2 ) < f (d2 ) então estimativa pedida é 0.9442719096
Erro Ea ≤ (1 − φ)(b2 − a2 ) = (1 − φ)(1.236067977 − 0.4721359548) = 0.2917960674
49 José Duque
Matemática Computacional Extremos de Funções
Resposta
Sejam então x0 = 0, x1 = 1 e x2 = 2 como no enunciado e apliquemos a fórmula anterior
f (x0 ) = f (0) = 0, f (x1 ) = f (1) = 8.1 e f (x2 ) = f (2) = −110.4
f (x0 )(x21 − x22 ) + f (x1 )(x22 − x20 ) + f (x2 )(x20 − x21 )
x3 = =
2f (x0 )(x1 − x2 ) + 2f (x1 )(x2 − x0 ) + 2f (x2 )(x0 − x1 )
f (0)(12 − 22 ) + f (1)(22 − 02 ) + f (2)(02 − 12 )
= =
2f (0)(1 − 2) + 2f (1)(2 − 0) + 2f (2)(0 − 1)
= 0.5639810427
f (x3 ) = 6.476690893
José Duque 50
3.4 Exercı́cios Matemática Computacional
derivada
f 0 (xk )
xk+1 = xk − , k = 0, 1, 2, . . .
f 00 (xk )
Ao aplicarmos o método à função g(x) = f 0 (x) ganhamos a velocidade de convergência, mas
também carregamos a desvantagem de poder divergir e a necessidade de calcular mais uma deri-
vada.
Defina uma estimativa do máximizante de f (x) em [0, 2] utilizando o método de Newton com
x0 = 2 e iterando 3 vezes. Calcule uma estimativa do erro absoluto da última estimativa.
Resposta
Aplicando este método ao problema proposto vem x0 = 2
f 0 (x) = −9x5 − 9.6x3 + 12, f 0 (x0 ) = f 0 (2) = −352.8
f 00 (x) = −45x4 − 28.8x2 , f 00 (x0 ) = f 00 (2) = −835.2
Logo
f 0 (x0 ) −352.8
x1 = x0 − 00
=2− = 1.577586207
f (x0 ) −835.2
f 0 (x1 ) −113.6364812
x2 = x1 − 00
= 1.577586207 − = 1.2532882
f (x1 ) −350.4075841
f 0 (x2 ) −34.7273369
x3 = x2 − 00
= 1.2532882 − = 1.031048776
f (x2 ) −156.2609202
A aproximação pedida é então x3 = 1.031048776 com f (x3 ) = 7.858296798.
Erro |x3 − x2 | = 0.222239454
3.4 Exercı́cios
1. Encontre uma estimativa do mı́nimo de f (x), que se encontra no intervalo [−0.5, 1], sendo
1
f (x) = x +
x
51 José Duque
Matemática Computacional Extremos de Funções
5. No circuito eléctrico que se apresenta em baixo a energia à saı́da da resistência R é dada por
104 R
P =
(R + 20)2
José Duque 52
Capı́tulo 4
Resolução de sistemas
Este tipo de problemas é bastante frequente. Neste capı́tulo vamos estudar métodos para re-
solver sistemas de equações.
Começamos por rever um dos métodos mais conhecidos, o método de eliminação de Gauss.
0.5x2 + 4x3 + 2x4 = −3
x1 + 3x3 + 3x4 = 4
Resposta
Método de Gauss sem escolha de pivot:
53
Matemática Computacional Resolução de sistemas
É nesta matriz que vamos realizar a condensação, para isso temos de encontrar um pivot. O pivot é o
primeiro elemento da diagonal principal da matriz activa. Se for nulo troca-se 2 linhas de modo que o
pivot seja não nulo. Se não for possı́vel encontrar nenhum elemento não nulo para pivot o sistema é
indeterminado.
Neste caso o pivot é 4. À custa deste pivot vamos eliminar todos os elementos da matriz que estão abaixo
dele.
Para realizarmos esta última operação e mantermos um sistema equivalente só podemos realizar algumas
operações que se farão para toda a linha. Essas operações são:
• Substituir uma linha por ela multiplicada por uma constante não nula.
Assim para pormos um zero no lugar do 2 da segunda linha temos de substituir a segunda linha por ela
somada com a linha 1 multiplicada por − 12 . ( L2 → L2 − 12 L1 )
Para a terceira linha não é preciso fazer nada uma vez que já está um zero no lugar pretendido.
Para a quarta linha, multiplicamos a 1a linha por − 14 e somamos a linha 4. Finalmente substituı́mos a
linha 4 pelo resultado da soma.( L4 → L4 − 41 L1 )
A Matriz ampliada fica então com o aspecto
4 2 3 0.5 | 1
0
0 0.5 0.75 | 1.5
0 0.5
4 2 | −3
0 −0.5 2.25 2.875 | 3.75
Neste momento a primeira linha e a primeira coluna deixam de fazer parte da matriz activa e vamos
procurar o novo pivot na matriz activa. Como o primeiro elemento da diagonal principal da matriz activa
é nulo temos de trocar a linha 2 com a linha 3. (L2 ↔ L3 )
4 2 3 0.5 | 1
0 0.5
4 2 | −3
0
0 0.5 0.75 | 1.5
0 −0.5 2.25 2.875 | 3.75
José Duque 54
4.1 Método de Eliminação de Gauss e de Gauss-Jordan (revisão) Matemática Computacional
Agora o pivot é 0.5 e as operações que temos de efectuar para anular os elementos abaixo são
L3 → L3
L4 → L4 + L2
e a matriz fica
4 2 3 0.5 | 1
0 0.5
4 2 | −3
0 0
0.5 0.75 | 1.5
0 0 6.25 4.875 | 0.75
A segunda linha e a segunda coluna deixam de fazer parte da matriz activa, logo o pivot é 0.5, e as
operações são:
L4 → L4 − 12.5L3
e a matriz é
4 2 3 0.5 | 1
0 0.5 4
2 | −3
0 0 0.5 0.75 | 1.5
0 0 0 −4.5 | −18
Agora o pivot seria -4.5 mas como já não há elementos para anular acabámos esta fase. Voltamos a
passar a matriz ampliada para o sistema que é da forma
4x1 + 2x2 + 3x3 + 0.5x4 = 1
0.5x2 + 4x3 + 2x4 = −3
Como só se realizaram operações permitidas este sistema é equivalente ao primeiro e é mais fácil de
resolver uma vez que basta fazer substituições regressivas, assim
x4 = −18 = 4
−4.5
x3 = 1.5−0.75×4 = −3
0.5
−3−4×(−3)−2×4
x2 = 0.5 =2
x1 = 1−2×2−3×(−3)−0.5×4 = 1
4
Constrói-se a matriz ampliada aumentando a coluna do segundo membro à matriz dos coeficientes
4 2 3 0.5 | 1
2 1
2 1 | 2
0 0.5
4 2 | −3
1 0 3 3 | 4
55 José Duque
Matemática Computacional Resolução de sistemas
É nesta matriz que vamos realizar a condensação. Neste método o pivot é o maior elemento em módulo
da primeira coluna da matriz activa. Se não for possı́vel encontrar nenhum elemento não nulo para pivot
o sistema é indeterminado.
Neste caso o pivot é 4. À custa deste pivot vamos eliminar todos os elementos da matriz que estão abaixo
dele.
Para realizarmos esta última operação e mantermos um sistema equivalente só podemos realizar as
operações descritas atrás.
Assim para pormos um zero no lugar do 2 da segunda linha temos de fazer L2 → L2 − 12 L1
Para a terceira linha não é preciso fazer nada uma vez que já está um zero no lugar pretendido.
Para a quarta linha L4 → L4 − 41 L1
A Matriz ampliada fica então com o aspecto
4 2 3 0.5 | 1
0
0 0.5 0.75 | 1.5
0 0.5
4 2 | −3
0 −0.5 2.25 2.875 | 3.75
Neste momento a primeira linha e a primeira coluna deixam de fazer parte da matriz activa e vamos
procurar o novo pivot na matriz activa. Como o maior elemento da primeira coluna da matriz activa é
0.5 temos de trocar a linha 2 com a linha 3. (L2 ↔ L3 )
4 2 3 0.5 | 1
0 0.5
4 2 | −3
0
0 0.5 0.75 | 1.5
0 −0.5 2.25 2.875 | 3.75
Agora o pivot é 0.5 e as operações que temos de efectuar para anular os elementos abaixo são
L3 → L3
L4 → L4 + L2
e a matriz fica
4 2 3 0.5 | 1
0 0.5
4 2 | −3
0 0
0.5 0.75 | 1.5
0 0 6.25 4.875 | 0.75
A segunda linha e a segunda coluna deixam de fazer parte da matriz activa, logo o pivot é 6.25, pois é o
maior elemento entre 0.5 e 6.25. Assim temos de trocar a linha 3 com a 4 e fica
4 2 3 0.5 | 1
0 0.5
4 2 | −3
0 0 6.25 4.875 | 0.75
0 0 0.5 0.75 | 1.5
José Duque 56
4.1 Método de Eliminação de Gauss e de Gauss-Jordan (revisão) Matemática Computacional
a operação é L4 → L4 − 0.08L3
e a matriz é
4 2 3 0.5 | 1
0 0.5
4 2 | −3
0 0 6.25 4.875 | 0.75
0 0 0 0.36 | 1.44
Agora o pivot seria 0.36 mas como já não há elementos para anular acabámos esta fase. Voltamos a
passar a matriz ampliada para o sistema que é da forma
4x1 + 2x2 + 3x3 + 0.5x4 = 1
0.5x2 + 4x3 + 2x4 = −3
Como só se realizaram operações permitidas este sistema é equivalente ao primeiro e é mais fácil de
resolver uma vez que basta fazer substituições regressivas, assim
x4 1.44
= 0.36 =4
0.75−4.875×4
x3 = = −3
6.25
−3−4×(−3)−2×4
x2 = 0.5 =2
1−2×2−3×(−3)−0.5×4
x1
= =1
4
Neste método o pivot é o maior elemento em módulo de toda a matriz activa. Se não for possı́vel encon-
trar nenhum elemento não nulo para pivot o sistema é indeterminado.
Neste caso o pivot é 4. À custa deste pivot vamos eliminar todos os elementos da matriz que estão abaixo
dele.
Para realizarmos esta última operação e mantermos um sistema equivalente só podemos realizar as
operações descritas atrás.
Assim
L2 → L2 − 21 L1
L3 → L3
L4 → L4 − 41 L1
57 José Duque
Matemática Computacional Resolução de sistemas
Neste momento a primeira linha e a primeira coluna deixam de fazer parte da matriz activa e vamos
procurar o novo pivot na matriz activa. Como o maior elemento da matriz activa é 4 temos de trocar a
linha 2 com a linha 3 (L2 ↔ L3 ) mas também a coluna 2 com a 3 (C2 ↔ C3 ).
4 3 2 0.5 | 1
0
4 0.5 2 | −3
0 0.5
0 0.75 | 1.5
0 2.25 −0.5 2.875 | 3.75
Agora vamos voltar ao sistema, mas como fizemos trocas de colunas para o sistema ser equivalente temos
de trocar a ordem das variáveis.
C2 ⇔C3 C3 ⇔C4
(x1 , x2 , x3 , x4 ) / (x1 , x3 , x2 , x4 ) / (x1 , x3 , x4 , x2 )
José Duque 58
4.2 Factorização de uma Matriz Matemática Computacional
1.75x4 − 0.78125x2 = 5.437
9/56x2 = 9/28
4.2.1 Método LU
Neste método factorizamos a matriz A da forma A = LU onde L é uma matriz triangular inferior
e U é uma matriz triangular superior. Da condensação de Gauss resulta uma matriz triangular
superior que vai ser o U , as constantes que utilizámos para anular os elementos aij vão ser os
elementos lij da matriz L, e os elementos da diagonal são 1.
Sabendo as matrizes L e U da decomposição da matriz A podemos resolver o sistema Ax = b
em duas etapas. Ax = b ⇔ LU x = b se U x = y então Ly = b. Assim primeiro determinamos a
solução y do sistema Ly = b, depois obtemos a solução x do sistema U x = y. Este método é útil
quando se precisa solucionar vários sistemas da forma Ax = b para diferentes valores de b mas a
mesma matriz A, uma vez que a factorização só se faz uma vez.
59 José Duque
Matemática Computacional Resolução de sistemas
Com o pivot igual a 0.5 vamos anular os elementos abaixo e substitui-los pelos anuladores.
4 2 3 0.5 / 4 2 3 0.5
(0) 0.5 4 2 (0) 0.5 4 2
1 1
( ) 0 0.5 0.75 L3 → L3 + 0L2 ( ) (0) 0.5 0.75
2 2
1 1
( 4 ) −0.5 2.25 2.875 L4 → L4 + 1L2 ( 4 ) (−1) 6.25 4.875
Agora que já temos a factorização vamos resolver o sistema Ax = b, mas como trocámos linhas
vamos trocar também as linhas no b para ser um sistema equivalente.
O primeiro sistema é Ly = b ou seja
1 0 0 0 y1 1
y2 −3
0 1 0 0
L= 1 =
2 0 1 0
y3 2
1
4 −1 +12.5 1 y4 4
José Duque 60
4.2 Factorização de uma Matriz Matemática Computacional
2. Defina um vector solução do sistema, recorrendo agora ao método da factorização LU, com
escolha parcial do pivot.
Resposta
Vamos fazer a condensação de Gauss, com escolha parcial de pivot, da matriz dos termos inde-
pendentes. O primeiro pivot é então o maior elemento, em módulo, da primeira coluna da matriz
activa, logo 4
4 2 3 0.5 / 4 2 3 0.5
1 (1)
L2 → L2 − 2 L1
2 1 2 1 0 0.5 0.75
2
L3 → L3 − 0L1
0 0.5 4 2 (0) 0.5 4 2
1 0 3 3 L4 → L4 − 14 L1 ( 14 ) −0.5 2.25 2.875
Como o pivot é 0.5, pois é o maior elemento, em módulo, da primeira coluna da matriz activa,
temos de trocar a linha 2 com a 3.
4 2 3 0.5 4 2 3 0.5
/
(1) 0 0.5 0.75 (0) 0.5 4 2
2
1
L2 ↔ L3
(0) 0.5 4 2 ( ) 0 0.5 0.75
2
1 1
( 4 ) −0.5 2.25 2.875 ( 4 ) −0.5 2.25 2.875
O pivot igual a 0.5, vamos anular os elementos abaixo e substitui-los pelos anuladores.
4 2 3 0.5 / 4 2 3 0.5
(0) 0.5 4 2 (0) 0.5 4 2
1 1
( )
2 0 0.5 0.75 L3 → L3 + 0L2 ( 2 ) (0)
0.5 0.75
( 14 ) −0.5 2.25 2.875 L4 → L4 + 1L2 ( 14 ) (−1) 6.25 4.875
61 José Duque
Matemática Computacional Resolução de sistemas
Agora que já temos a factorização vamos resolver o sistema Ax = b, mas como trocámos linhas
vamos trocar também as linhas no b para ser um sistema equivalente.
O primeiro sistema é Ly = b ou seja
1 0 0 0 y 1
1
0 1 0 0 y2
−3
L= 1 =
4 −1 1 0
y3 4
1
2 0 0.08 1 y4 2
por substituição podemos calcular
y1 1
y −3
2
=
y3 0.75
y4 1.44
Finalmente resolvemos o sistema U x = y, ou seja
4 2 3 0.5 x1 1
0 0.5 4 2 x2 −3
=
0 0 6.25 4.875 x3 0.75
0 0 0 0.36 x4 1.44
José Duque 62
4.2 Factorização de uma Matriz Matemática Computacional
Resposta
Primeiro vamos transformar o sistema na forma matricial
1 1 0 x1 3
1 5 −2 x2 = 5
0 −2 2 x3 2
Os restantes elementos são todos nulos pois U é triangular superior. Então a matriz U é
1 1 0
U = 0 2 −1
0 0 1
Uma vez que a factorização já está, falta só resolver os dois sistemas.
1 0 0 y1 3 y1 3
T
U y=b⇔ 1 2 0 y 2 = 5 ⇔ y2
= 1
0 −1 1 y3 2 y3 3
63 José Duque
Matemática Computacional Resolução de sistemas
1 1 0 x1 3 x1 1
Ux = y ⇔
0 2 −1 x2 = 1 ⇔ x2 = 2
0 0 1 x3 3 x3 3
A solução do sistema é então
x1 = 1
x2 = 2
x3 = 3
i=1
( m )
X
kAk∞ = max |aij |
1≤i≤n
j=1
v
u n X
m
uX
kAkE = t a2ij
i=1 j=1
kb − b̄k
Ea (b̄) = kb − b̄k e Er (b̄) = .
kbk
Vamos agora analisar a forma como estes erros influenciam a solução do sistema. Consideremos
Ea (x̄) e Er (x̄) respectivamente os erros absoluto e relativo da solução x̄ de Ax̄ = b̄.
Como o sistema é possı́vel e determinado a matriz A é invertı́vel. Logo
José Duque 64
4.3 Normas Matriciais e condicionamento de matrizes Matemática Computacional
Então
Ea (x̄) = kx − x̄k = kA−1 b − A−1 b̄k = kA−1 (b − b̄)k ≤ kA−1 k × kb − b̄k = kA−1 k × Ea (b̄)
Resposta
kBk1 = max{|1| + |7| + | − 5|; |2| + | − 9| + |4|; |3| + |0| + |2|} = max{13; 15; 5} = 15
kBk∞ = max{|1| + |2| + |3|; |7| + | − 9| + |0|; | − 5| + |4| + |2|} = max{6; 16; 11} = 16
p √ √
kBkE = 12 + 22 + 32 + 72 + (−9)2 + 02 + (−5)2 + 42 + 22 = 189 = 3 21 = 13.74772708
" #
−1 0
3. Indique se a matriz A = é bem ou mal condicionada relativamente à norma
16 0.5
infinita.
65 José Duque
Matemática Computacional Resolução de sistemas
Resposta
kAk∞ = 16.5, " #
−1 0
A−1 =
32 2
kA−1 k∞ = 34 Logo o numero condicionamento é
Ax = b ⇔ (N − P )x = b ⇔ N x − P x = b ⇔ N x = P x + b ⇔ x = N −1 P x + N −1 b ⇔
x = Mx + c
Esta representação sugere o método do ponto fixo. Os métodos que iremos considerar pertencem
à classe dos métodos do ponto fixo. Para obtermos o valor x∗ ∈ Rn tal que Ax∗ = b partindo de
uma aproximação inicial x(0) da solução do sistema, vamos criar uma sucessão de vectores {x(k) }
que deverá convergir para x∗ . A sucessão é então obtida por
x(k+1) = M x(k) + c
É evidente que o método converge se o erro tender para zero à medida que k vai aumentando, ou
seja,
lim Ea (x(k) ) = 0.
k→+∞
Falta agora encontrar critérios que nos indiquem em que condições é garantida a convergência.
José Duque 66
4.4 Métodos Iterativos de Jacobi e Gauss-Seidel Matemática Computacional
É de notar que esta condição é apenas suficiente logo se ela não se verificar o método pode ou não
convergir.
Conforme a escolha das matrizes M e c assim obtemos um método diferente. De seguida vamos
estudar dois desses métodos.
Método de Jacobi
Decompõe-se a matriz A da forma A = D + L + U , onde a matriz D é uma matriz diagonal,
a matriz L é uma matriz triangular inferior e a matriz U é uma matriz triangular superior, da
forma.
a11 a12 . . . a1n a11 0 ... 0 0 0 ... 0 0 a12 . . . a1n
a21 a22 . . . a2n 0 a22 . . . 0 a21 0 ... 0 0 0 . . . a2n
A= = + +
.. .. .. .. .. .. . . .. .. .. . . .. .. .. .. ..
. . . .
. . . .
. . . .
. . . .
an1 an2 . . . ann 0 0 ... ann an1 an2 . . . 0 0 0 ... 0
| {z } | {z } | {z }
D L U
Como provámos anteriormente, a sucessão de estimativas x(k) converge para a solução x(∗) se
kM k < 1.
67 José Duque
Matemática Computacional Resolução de sistemas
O método de Jacobi tem uma formulação alternativa mais simples em termos intuitivos. Primeiro
vamos considerar o sistema
a11 x1 +a12 x2 + . . . +a1n xn = b1
a x +a x + . . . +a2n xn = b2
21 1 22 2
aii 6= 0
...
an1 x1 +an2 x2 + . . . +ann xn = bn
Agora transforma-se o sistema de forma a pôr cada equação em função de uma variável distinta,
de modo que cada variável fique uma vez no primeiro membro. Depois aplica-se a iteração do
ponto fixo, ficando da forma:
(k+1) a12 (k) a1n (k) b1
x1 = − x2 − · · · − xn +
a11 a11 a11
a a a b2
(k+1) 21 (k) 23 (k) 2n (k)
= − x1 − x3 − · · · −
x
2 xn +
a22 a22 a22 a22 k = 0, 1, 2, . . .
...
x(k+1) = − an1 x(k) − · · · − an,n−1 x(k) + bn
n
ann 1 ann n ann
ou de uma forma reduzida
n
(k+1) bi X aij (k)
xi = − x , k = 1, 2, . . . i = 0, 1, 2, . . . , n
aii j=1
aii j
j6=i
Às matrizes que satisfazem este critério dizemos que são estritamente diagonais dominantes por
linhas. De uma forma rigorosa, uma matriz diz-se estritamente diagonal dominante por linhas
se o módulo do elemento da diagonal principal for maior que a soma dos módulos dos restantes
elementos da mesma linha.
Utilizando a norma 1 chega-se a um resultado idêntico mas para as colunas.
n
X
|aii | > |aji |
j=1
j6=i
José Duque 68
4.4 Métodos Iterativos de Jacobi e Gauss-Seidel Matemática Computacional
Assim para a sucessão de estimativas x(k) convergir para a solução x(∗) basta que a matriz dos
coeficientes seja estritamente diagonal dominante por linhas ou por colunas.
1. Mostre que se podem aplicar, com garantia de convergência, o método de Jacobi ao sistema
dado.
Resposta
A matriz A tem de ser estritamente diagonal dominante.
| − 8| > |1| + |1| ⇔ 8 > 2 P.V.
|5| > |1| + |1| ⇔ 5 > 2 P.V. Logo a matriz é estritamente diagonal por linhas, então o método
| − 4| > |1| + |1| ⇔ 4 > 2 P.V.
de Jacobi, convergem se aplicados ao sistema.
Começando com [x(0) y (0) z (0) ] = [0 0 0] como estimativa inicial da solução, a primeira estimativa
é obtida por
1−y (0) −z (0)
x
(1) =
−8 = 1−0−0 1
−8 = − 8 = −0.125
16−x(0) −z (0)
y (1) = 5 = 16−0−0
5 = 16
5 = 3.2
(0) (0)
7−x −y
z (1) = = 7−0−0 7
−4 −4 = − 4 = −1.75
A segunda estimativa é então
1− 16 + 47
(2) = 1−y (1) −z (1) 9
x
−8 = −8 5
= 160 = 0.05625
1 7
(1)
16−x −z (1) 16+ +
y (2) = 5 = 5
8 4
= 143
40 = 3.575
1 16
7−x(1) −y (1) 7+ 8 − 5
z (2) = = −4 = − 157 160 = −0.98125
−4
69 José Duque
Matemática Computacional Resolução de sistemas
−8 1 1 −8 0 0 0 0 0 0 1 1
A=
1 51 = 0 5
0 +
1 0 0 + 0 0 1
1 1 −4 0 0 −4 1 1 0 0 0 0
1
0 0 0 0 0 0 1 1 0 18 1
−1
−8 8
1
M = −D (L + U ) = −
0 5 0
1
1 0 0 + 0 0 1 = − 5 0 − 15
1 1 1
0 0 −4 1 1 0 0 0 0 4 4 0
1
−8 0 0 1 −1
8
c = D−1 b =
1 16
0 5 16 = 5
0
1
0 0 −4 7 − 74
Então
1 1
0 8 8 0 − 18 − 18
x(1) = M x(0) + c =
1
−5 0 − 51
0
+
16
5
=
16
5
1 1
4 4 0 0 − 74 − 47
1 1 1
0 8 8 −8 − 81 9
160
x(2) = M x(1) + c =
1
−5 0 − 51 16
5
+
16
5
=
143
40
1 1
4 4 0 − 74 − 74 157
− 160
Uma aproximação do erro absoluto de x(2) é
0.05625 −0.125
0.18125
kx(2) − x(1) k =
3.575 − 3.2
=
0.375
= 0.76875
−0.98125 −1.75
0.76875
∞ ∞
3. Calcule o no mı́nimo de iterações necessárias para o método de Jacobi obter uma estimativa
da solução deste problema com erro inferior a 10−5
Resposta
e
kx(1) − x(0) k∞ = 3.2
José Duque 70
4.4 Métodos Iterativos de Jacobi e Gauss-Seidel Matemática Computacional
assim
0.5k
Ea (x(k) ) ≤ 3.2 = 0.64 × 0.5k ≤ 10−5 ⇔ 0.5k ≥ 1.5625 × 106 ⇔ k ≥ 19.28771238
1 − 0.5
Para o método de Jacobi obter uma estimativa da solução deste problema com erro inferior a 10−5
são necessárias 20 iterações.
Método de Gauss-Seidel
O método de Gauss-Seidel é um melhoramento do método de Jacobi uma vez que utiliza a apro-
(k)
ximação xi a partir do momento em que é calculada, o procedimento é bastante semelhante ao
do método de Jacobi, assim o processo iterativo é
(k+1) a12 (k) a1n (k) b1
x1 = − x2 − · · · − xn +
a11 a11 a11
a a a2n (k) b2
(k+1) 21 (k+1) 23 (k)
= − x1 − x3 − · · · −
x
2 xn +
a22 a22 a22 a22 k = 0, 1, 2, . . .
...
x(k+1) = − an1 x(k+1) − · · · − an,n−1 x(k+1) + bn
n
ann 1 ann n ann
ou na forma compacta
i−1 n
(k+1) bi X aij (k+1) X aij (k)
xi = − xj − xj , k = 0, 1, 2, . . . i = 1, 2, . . . , n
aii j=1 aii j=i+1
a ii
ou seja
x(k+1) = −(D + L)−1 U x(k) + (D + L)−1 b, k = 0, 1, 2, . . .
71 José Duque
Matemática Computacional Resolução de sistemas
Vamos primeiro aplicar a abordagem em forma de sistema. Vamos por cada equação em função de
uma variável distinta, de modo que cada variável fique uma vez no primeiro membro.
1−y−z
x= −8
16−x−z ,
y= 5
7−x−y
z=
−4
Começando com [x(0) y (0) z (0) ] = [0 0 0] como estimativa inicial da solução, a primeira estimativa é
obtida por
1−y (0) −z (0)
x(1) = −8 = 1−0−0 1
−8 = − 8 = −0.125
1
16−x(1) −z (0) 16+ 8 −0
y (1) = 5 = 5 = 129
40 = 3.225
1 129
7−x(1) −y (1) 7+ 8 − 40
= − 39
z (1) = = 40 = −0.975
−4 −4
1− 129 + 39
(2) = 1−y (1) −z (1) 5
x = = 32 = 0.15625
40 40
−8 −8
5 39
(2)
16−x −z (1) 16− +
y (2) = 5 = 32
5
40
= 2691
800 = 3.36375
5 2691
7−x(2) −y (2) 7− 32 − 800 87
z (2) = = = − 100 = −0.87
−4 −4
Neste problema
−8 1 1 −8 0 0 0 0 0 0 1 1
A=
1 5 1 = 0
5 0 + 1 0 0 + 0 0 1
1 1 −4 0 0 −4 1 1 0 0 0 0
M = −(D + L)−1 U =
−1
−8 0 0 0 1 1 − 81 0 0 0 1 1
= − 1 5 0 0 0 1 = − 1 1
0 0 0 1 =
40 5
1 1 −4 0 0 0 − 41 1
20 − 14 0 0 0
José Duque 72
4.5 Método de Newton-Rapson para Sistemas de Equações Matemática Computacional
1 1
0 8 8
= 1 9
0 − 40 − 40
1 1
0 40 − 40
− 18 0 0 1 − 81
c = (D + L)−1 b =
1 1 129
0 16 = 40
40 5
− 14 1
20 − 14 7 − 39
40
Então
1 1
0 8 8 0 − 18 − 18
x(1) = M x(0) + c =
1 9 129 129
0 − 40 − 40 0 + 40 = 40
1 1 39 39
0 40 − 40 0 − 40 − 40
1 1
0 8 8 − 18 − 18 5
32
x(2) = M x(1) + c =
1 9 129 + 129 = 2691
0 − 40 − 40 40 40 800
1 1
0 40 − 40 − 39
40 − 39
40
87
− 100
Uma aproximação do erro absoluto de x(2) é
0.15625 −0.125
(2) (1)
kx − x k =
3.36375
− 3.225
= 0.28125.
−0.87 −0.975
∞
...
fm (x1 , x2 , . . . , xn ) = 0
onde
∂f1 ∂f1 ∂f1
∂x1
(x(k) ) ∂x2
(x(k) ) ... ∂xn
(x(k) )
∂f2 ∂f2 ∂f2
(k)
∂x1
(x(k) ) ∂x2
(x(k) ) ... ∂xn
(x(k) )
J(x ) =
.. .. .. ..
. . . .
∂fm ∂fm ∂fm
∂x1
(x(k) ) ∂x2
(x(k) ) ... ∂xn
(x(k) )
73 José Duque
Matemática Computacional Resolução de sistemas
e
f1 (x(k) )
f2 (x(k) )
(k)
F (x ) =
...
fm (x(k) )
O erro pode ser estimado por kx(k) − x(k−1) k = kdk
Exemplo 39 O sistema
−x(x + 2) + 2y = 7
x2 + (y − 3)2 = 9
tem duas soluções. Localize-as graficamente e determine uma aproximação da solução de maior
abcissa usando o método de Newton e iterando duas vezes. Indique uma estimativa para o erro
cometido.
Resposta
Como só temos duas variáveis podemos representar graficamente as duas condições e procurar a inter-
secção. A primeira é uma parábola y = 12 (x + 1)2 + 3, e a segunda é uma circunferência de centro (0, 3)
e raio 3. Os gráficos ficam:
José Duque 74
4.6 Exercı́cios Matemática Computacional
O erro da primeira aproximação pode ser estimado por kx(1) − x(0) k = kdk = 0.02110519308
A segunda aproximação é então
" #" # " #
(1) (1) −4.642210386 2 d1 −0.00044542917
J(x )d = −F (x )⇔ =−
2.642210366 5.387083888 d2 0.00048713566
Pelo método de Gauss Simples calculamos
" # " #
d1 −0.00011137567
d= =
d2 −0.00003580002
Logo " # " # " #
(2) (1) 1.321105193 −0.00011137567 1.320993817
x =x +d= + =
5.693541944 −0.00003580002 5.693506144
A estimativa do erro é
kx(2) − x(1) k = kdk∞ = 0.00011137567
4.6 Exercı́cios
1. O sistema
3.03x − 12.1y + 14z = −119
−3.03x + 12.1y − 7z = 120
6.11x − 14.2y + 21z = −139
tem solução (0, 10, 1/7). Resolva-o, usando aritmética de ponto flutuante com 3 dı́gitos
significativos, recorrendo ao método de eliminação de Gauss (simples, com escolha parcial e
com escolha total de pivot).
75 José Duque
Matemática Computacional Resolução de sistemas
(c) Pretende-se diminuir o efeito da instabilidade induzida de que sofre o método utilizado.
Que outro método escolheria e em que fase da sua aplicação, para cada matriz, surgiria
a primeira alteração em relação à decomposição feita na primeira alı́nea?
O problema de calcular as constantes ixy pode ser traduzido pela solução do sistema
1 1 1 0 0 0 i21 0
0 −1 0 1 −1 0 i 0
52
0 0 −1 0 0 1 i32 0
=
0 0
0 0 1 −1 i65 0
0 10 −10 0 −15 −5 i54 0
5 −10 0 −20 0 0 i43 200
Resolva o sistema através de um método directo.
José Duque 76
4.6 Exercı́cios Matemática Computacional
6. Os três blocos da figura estão ligados por uma corda cujo peso é desprezável e situados num
plano inclinado, como mostra a figura.
(a) Calcule as normas ||.||1 , ||.||E e ||.||∞ de cada uma das matrizes.
(b) Indique se as matrizes são bem ou mal condicionadas relativamente à norma infinita.
77 José Duque
Matemática Computacional Resolução de sistemas
(c) Partindo da estimativa inicial (0, 0, 1), aplique três vezes o método referido.
(d) Defina uma estimativa do limite superior do erro relativo da melhor aproximação da
solução.
(a) Mostre que trocando duas linhas se obtém um sistema equivalente cuja matriz satisfaz
as condições de convergência do método de Jacobi.
(b) Usando o vector ~x(0) = [1, 1, 1]T como estimativa inicial, aplique duas vezes o método
ao sistema.
(c) Defina uma estimativa do limite superior do erro absoluto da última aproximação da
solução do sistema e compare com o valor exacto.
(d) Determine uma aproximação ~x(k) do vector solução, recorrendo ao método de Gauss-
(k)
Seidel, de modo que |xi − xi | < 10−5 , com i = 1, 2, 3.
10. A deflexão de uma placa rectangular suportada pelas extremidades e sujeita a uma carga
uniforme pode ser modelada pelo sistema seguinte
−4 1 0 1 0 0 x1 0.53
1 −4 1 0 1
0
x2
0.53
0 1 −4 1 0 1
x3
= 0.53
1 0 1 −4 1 0
x4
0.53
0 1 0 1 −4 1
x5
0.53
0 0 1 0 1 −4 x6 0.53
11. Sistemas de pesos e molas têm inúmeras aplicações na engenharia. A figura mostra um
conjunto de quatro molas em série a serem comprimidas por um peso de 2000 Kg.
José Duque 78
4.6 Exercı́cios Matemática Computacional
No estado de equilı́brio podem ser deduzidas alguma equações que traduzem a iteração entre
as molas e o peso da seguinte forma
k2 (x2 − x1 ) = k1 x1
k3 (x3 − x2 ) = k2 (x2 − x1 )
k4 (x4 − x3 ) = k3 (x3 − x2 )
F = k4 (x4 − x3 )
12. Aplicando 3 vezes o método iteractivo de Newton, resolva os seguintes sistemas e indique
estimativas para o erro da última aproximação:
x2 − y − 1 = 0
, com (x0 , y0 ) = (1, 1);
xy − 1 = 0
2x3 − y 2 − 1 = 0
, com (x0 , y0 ) = (1.2, 1.7).
xy 3 − y − 4 = 0
x + y 3 − 5y 2 − 2y = 10
13. Considere o sistema .
x + y 3 + y 2 − 14y = 29
(a) Use o método de Newton para calcular a solução do sistema com aproximação inicial
x(0) = 1.5 e y (0) = −2.
(b) Calcule a solução do sistema explicitando x na primeira equação e substituindo na
segunda.
79 José Duque
Matemática Computacional Resolução de sistemas
José Duque 80
Capı́tulo 5
Interpolação Polinomial
Antes do advento dos modernos computadores digitais, o cálculo de certas funções como ln(x),
sin(x), ex , etc., era feita através da consulta de tabelas. Estas tabelas, laboriosamente construı́das
e resultando, por vezes, do trabalho de uma vida inteira de matemáticos, só podiam conter, como é
obvio, um número finito de dados. Tal facto levanta de imediato a questão de como determinar os
valores da função quando o argumento x não coincide com nenhum dos valores tabelados. Utilizar
o valor mais próximo? Qual o erro cometido? Haverá melhores técnicas? Desenvolveu-se então
bastante estudo sobre a interpolação e aproximação de funções.
O aparecimento dos computadores veio retirar importância ao cálculo por meio de tabelas. No
entanto o interesse pela interpolação e aproximação não diminuiu. Em parte porque é um meio
relativamente simples de obter estimativas de funções difı́ceis de avaliar. Por outro lado também
existem dados experimentais que resultam apenas em tabelas e precisam ser relacionados por uma
função.
Os dois problemas básicos podem resumir-se em
Interpolação: Dado um conjunto de pares (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) encontrar uma função
que contém exactamente todos os pontos.
A interpolação, que iremos abordar primeiro, é bastante útil para conjuntos reduzidos de pontos.
O segundo, abordado mais tarde, torna-se mais útil quando o número de pontos é elevado.
Existem várias funções que podem ser utilizadas para este processo. No entanto as funções resul-
tantes devem ser fáceis de obter, avaliar e derivar, além de outras propriedades especı́ficas de cada
caso. Devido a estes factores as mais utilizadas são funções: polinomiais, trigonométricas e expo-
nenciais. Por causa de serem mais fáceis de tratar vamos utilizar exclusivamente os polinómios.
O problema geral da interpolação aqui estudada consiste em dados n+1 pontos distintos x0 , x1 , . . . , xn
e n + 1 valores y0 , y1 , . . . , yn ( geralmente de uma função yi = f (xi ) ), determinar um polinómio
pn (x) de grau menor ou igual a n tal que
pn (xi ) = yi
81
Matemática Computacional Interpolação Polinomial
pn (x) = a0 + a1 x + · · · + an xn
a0 + a1 x0 + · · · + an xn0 = y0
a0 + a1 x1 + · · · + an xn1 = y1
...
a0 + a1 xn + · · · + an xnn = y0
Prova-se que se os pontos x0 , . . . , xn forem todos distintos este sistema é possı́vel e determinado.
Resolvendo-o obtemos o polinómio desejado.
A observação anterior lembra-nos que ainda não provámos se o polinómio procurado existe e nesse
caso se existe mais que um. Os teoremas seguintes esclarecem essa questão.
Teorema 40 Se f é uma função contı́nua em [a, b] então para todo ε > 0 existe um polinómio
pn (x) tal que
|pn (x) − f (x)| < ε, ∀x ∈ [a, b]
José Duque 82
5.2 Polinómio Interpolador de Lagrange Matemática Computacional
p3 (x) = a0 + a1 x + a2 x2 + a3 x3
Podemos então afirmar que log(2.45) ≈ p3 (2.45) = 0.38916. Comparando este valor com o valor exacto
log(2.45) = 0.38916608... verifica-se que o erro cometido é inferior a 0.7 × 10−5
O facto do polinómio ser único não impede que haja mais que uma forma de o obter.
À matriz
1 x0 . . . xn0
. . .
. . ...
.. ..
n
1 xn . . . x n
chamamos matriz de Vandermond. Para um número muito elevado de pontos o sistema torna-
se bastante grande e além de ser trabalhoso também é mal condicionado, o que o torna pouco
utilizado em termos práticos.
83 José Duque
Matemática Computacional Interpolação Polinomial
cujo grau é n + 1 e que, como é óbvio, se anula em todos os nós. Por outro lado, o polinómio lk
dado por
n
Y
lk = (x − xi ) = (x − x0 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xn )
i=0,i6=k
anula-se em todos os nós excepto no nó xk . O seu valor neste nó pode determinar-se por conti-
nuidade pela expressão
Wn (x)
= Wn0 (xk )
lk (xk ) = lim
x→xk x − xk
lk (x) Wn (x)
Lk (x) = = 0
lk (xk ) Wn (xk )(x − xk )
anula-se em todos os nós excepto no nó xk , no qual assume o valor 1. Como iremos ver no desen-
volvimento, estes polinómios desempenham um papel de destaque na interpolação polinomial.
Definição 43 Os polinómios
n
Y x − xi
Lk (x) =
i=0,i6=k
xk − xi
Vamos ver que, recorrendo aos polinómios de Lagrange, a construção do polinómio interpolador
é uma tarefa trivial.
Demonstração
Atendendo à forma como foram construı́dos, resulta imediatamente que os polinómios Lk satisfazem a
relação (
0, j 6= k
Lk (xj ) = δkj =
1, j = k
em que δkj é o delta de Kronecker. Nestas condições
n
X n
X
pn (xj ) = Lk (xj )yk = δkj yk = yj , j = 0, 1, . . . , n
k=0 k=0
Este polinómio pn , cujo grau é evidente ser menor ou igual a n, interpola os valores dados e é, pelo
teorema 41 o único polinómio interpolador nestes pontos.
Apesar da sua simplicidade, a fórmula de Lagrange pode não ser a representação mais conve-
niente do polinómio interpolador. Uma das razões é a de que é possı́vel obter este polinómio com
menos operações aritméticas que as requeridas por esta fórmula. A outra razão advém do facto de
José Duque 84
5.2 Polinómio Interpolador de Lagrange Matemática Computacional
que os polinómios de Lagrange estão associados a um conjunto de nós, e uma mudança da posição
ou do número destes nós altera completamente estes polinómios. Ora, sucede frequentemente nas
aplicações que o número e a localização não são fixados a priori sendo estabelecidos por tentativas,
começando-se por utilizar poucos nós e aumentando-se progressivamente o seu número até se atin-
gir a precisão desejada. O polinómio interpolador construı́do numa tentativa não é aproveitado
nas tentativas seguintes.
Por definição, o polinómio interpolador coincide com a função num dado conjunto de pontos.
Interessa-nos saber, no entanto, se para os outros pontos do domı́nio da função, o polinómio
interpolador constitui uma boa ou má aproximação para a função. O teorema seguinte vai indicar
o caminho.
Teorema 45 Seja pn (x) o polinómio de grau menor ou igual a n interpolador de f (x) nos pontos
x0 , x1 , . . . , xn . Se f ∈ C n ([a, b]) e se f (n+1) for contı́nua em ]a, b[, então para cada x∗ ∈ [a, b]
existe ξ ∈ (a, b) tal que
f (n+1) (ξ)
f (x∗ ) − pn (x∗ ) = Wn (x∗ )
(n + 1)!
onde ξ pode depender de x∗ e Wn (x∗ ) o polinómio nodal.
Demonstração
Se x∗ = xi , i = 0, . . . , n o resultado é, obviamente, válido. Se x∗ 6= xi , definamos a função auxiliar
Wn (x)
F (x) = f (x) − pn (x) − (f (x∗ ) − pn (x∗ )) .
Wn (x∗ )
F (x) = 0 possui n + 2 raı́zes distintas em [a, b], pois F (xi ) = 0, i = 0, . . . , n e F (x∗ ) = 0. Por aplicação
do teorema de Rolle podemos concluir que F 0 (x) = 0 possui pelo menos n + 1 raı́zes distintas em ]a, b[,
F 00 (x) = 0 possui pelo menos n raı́zes distintas em ]a, b[ e, sucessivamente, F (n+1) (x) = 0 possui pelo
menos uma raiz em ]a, b[. Seja ξ essa raiz. Calculando as derivadas obtemos
(n + 1)!
F (n+1) (x) = f (n+1) (x) − (f (x∗ ) − pn (x∗ )) .
Wn (x∗ )
Substituindo x por ξ obtém-se
(n + 1)!
F (n+1) (ξ) = f (n+1) (ξ) − (f (x∗ ) − pn (x∗ )) = 0.
Wn (x∗ )
Logo
f (n+1) (ξ)
f (x∗ ) − pn (x∗ ) = Wn (x∗ )
(n + 1)!
Na prática um majorante do erro pode ser dado por
M
|f (x) − pn (x)| ≤ |(x − x0 ) . . . (x − xn )|
(n + 1)!
onde
M = max f (n+1) (x)
x∈[a,b]
85 José Duque
Matemática Computacional Interpolação Polinomial
Para se usar esta fórmula do erro é necessário conhecer a derivada de ordem n + 1 da função a
interpolar. No entanto, nem sempre a expressão da função é conhecida e mesmo quando o é a
obtenção de derivadas de ordem superior é muitas vezes trabalhosa.
José Duque 86
5.2 Polinómio Interpolador de Lagrange Matemática Computacional
(x − 0)(x − π2 )(x − 3π
4 )(x − π)
= π π π π 3π π
( 4 − 0)( 4 − 2 )( 4 − 4 )( 4 − π)
−sin(ξ) 105π 5 5
= × ≤ 1 × 105π = 0.00817160718344
120 32768 120 32768
Os valores exactos do erro são respectivamente 0.17387953251129 e 0.00733890102694
87 José Duque
Matemática Computacional Interpolação Polinomial
Definição 47 Seja f uma função definida em [a, b] e x0 , x1 , . . . , xn pontos distintos desse inter-
valo. A
f (xi+1 ) − f (xi )
f [xi , xi+1 ] =
xi+1 − xi
chama-se diferença dividida de primeira ordem de f relativamente a xi e xi+1 . As diferenças
divididas de ordem superior são definidas recursivamente. Assim a diferença dividida de ordem k
relativamente a xi , xi+1 , . . . , xi+k é definida por
f [xi+1 , xi+2 , . . . , xi+k ] − f [xi , xi+1 , . . . , xi+k−1 ]
f [xi , xi+1 , . . . , xi+k ] =
xi+k − xi
Por simplicidade vamos denotar frequentemente por fi,...,i+j a diferença dividida f [xi , xi+1 , . . . , xi+j ].
Usualmente as diferenças divididas são calculadas utilizando uma tabela, chamada tabela das di-
ferenças divididas que se pode esquematizar da seguinte forma
José Duque 88
5.3 Polinómio Interpolador de Newton Matemática Computacional
· · · + f0,...,n (x − x0 ) . . . (x − xn−1 )
ou seja
n
X
pn (x) = f (x0 ) + f0,...,k Wk−1 (x)
k=1
se f (x) é conhecida. No caso de não ser conhecida f ou de f (n+1) ser muito difı́cil de calcular ou
trabalhar ainda é possı́vel indicar um majorante para o erro pois prova-se que
f (n) (ξ)
f0,...,n =
n!
para algum ξ ∈ [a, b]. Assim se f (x) for desconhecida podemos considerar
|f (x) − pn (x)| ≤ M (x − x0 ) . . . (x − xn )
x 0 1 2 4
y 2 2 3 6
89 José Duque
Matemática Computacional Interpolação Polinomial
onde M é o maior módulo das diferenças divididas de ordem n + 1, logo temos de calcular as
diferenças divididas de ordem 3.
Como os 3 primeiros pontos são iguais ao anterior a tabela já está parcialmente construı́da, só
temos de aumentar os novos pontos.
f (x3 ) − f (x2 ) 6−3 3
f [x2 , x3 ] = = =
x3 − x2 4−2 2
3
f [x2 , x3 ] − f [x1 , x2 ] −1 1
f [x1 , x2 , x3 ] = = 2 =
x3 − x1 4−1 6
1
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] −1 1
f [x0 , . . . , x3 ] = = 6 2 =−
x3 − x0 4−0 12
Logo a tabela fica
Assim
1
|f (x) − p2 (x)| ≤
|(x − 0)(x − 1)(x − 2)|
12
Então temos de calcular o max[0;4] {|f (x)|} onde f (x) = x3 − 3x2 + 2x.
f 0 (x) = 3x2 − 6x + 2 os zeros de f 0 (x) são
√ √
3 3
x=1− = 0.4226497308 ∨ x = 1 + = 1.577350269
3 3
logo
max{|f (x)|} = max{|f (0)|, |f (0.4226497308)|, |f (1.577350269)|, |f (4)|} =
[0;4]
José Duque 90
5.4 Polinómio Interpolador de Hermite Matemática Computacional
Finalmente
1
|f (x) − p2 (x)| ≤ × 24 = 2
12
1 1
p3 (x) = 2 + 0 × (x − 0) + (x − 0)(x − 1) − (x − 0)(x − 1)(x − 2) =
2 12
1 1 1 1 3 2
= x2 − x + 2 − (x − 0)(x − 1)(x − 2) = − x3 − x2 − x + 2
2 2 12 12 4 3
Para a mudança de via ser suave o desvio deve ser um polinómio de grau 3. Utilizando o referencial
da figura 5.1 concluı́mos que o objectivo é calcular o polinómio de grau 3 que passa pelos pontos
(0, 0) e (4, 2).
Para ser um polinómio de grau 3 temos de utilizar mais 2 pontos. O problem é então como
obter esses dois pontos de forma a que a união entre as vias e o desvio seja suave. A única hipótese
até agora é por tentativa e erro.
Facilmente observamos que o facto de impormos apenas a condição de o polinómio ser de grau
3 não é suficiente pois as uniões entre as vários vias são quase sempre angulosas, como se pode
ver na imagem da esquerda da figura 5.1 . Para conseguirmos uma união perfeita temos de exigir
que o polinómio interpolador tenha a derivada igual a zero nos pontos de união, como mostra a
91 José Duque
Matemática Computacional Interpolação Polinomial
p3 (xi ) = f (xi ), e
A esta forma de interpolação vamos chamar interpolação de Hermite e vamos denotar o polinómio
resultante por H para distinguir da outra interpolação.
O objectivo da interpolação de Hermite é então o de interpolar uma função f por um polinómio
cuja derivada também seja um polinómio interpolador da derivada de f . Ou seja, calcular um
polinómio H de modo que
H(xi ) = f (xi )
H 0 (xi ) = f 0 (xi )
O cálculo do polinómio de Hermite pode ser feito utilizando um sistema, adaptando o polinómio
de Lagrange ou de Newton. Aqui vamos apresentá-lo como uma generalização do polinómio de
Newton.
Consideremos a mudança de variável
z0 = x0 , z1 = x0 , z2 = x1 , z3 = x1 , z4 = x2 , . . . , z2n = xn , z2n+1 = xn
z2i = z2i+1 = xi ,
f [xi , xi ] = f 0 (xi )
José Duque 92
5.5 Spline Cúbico Matemática Computacional
Assim podemos calcular a tabela das diferenças divididas como no polinómio de Newton e definir
Note-se que, uma vez que usamos mais informação sobre a função temos necessidade de menos
pontos, ou por outro lado, os mesmos pontos fornecem um polinómio de maior grau.
Da mesma forma como o polinómio de Newton o erro pode ser obtido da forma
(2n+2)
∗ ∗
f (ξ) ∗ 2 ∗ 2
|f (x ) − H2n+1 (x )| = (x − x0 ) . . . (x − xn )
(2n + 2)!
x 1 2 3 4
15 80 255
g(x) 0 2 3 4
g 0 (x) 4 49
4
244
9
769
16
93 José Duque
Matemática Computacional Interpolação Polinomial
verifica-se que isso nem sempre é verdade. Um exemplo disso é a função de Runge. A titulo de
exemplo vamos interpolar a função de Runge no intervalo [−1, 1], por polinómios de grau 4, 8, 16 e
32, utilizando nós igualmente espaçados. Os resultados podem ser vistos na figura 5.2. À medida
que vamos aumentando o número de pontos a interpolar o polinómio aproxima-se da função na
parte central do intervalo, mas junto aos extremos vai desenvolvendo cada vez mais oscilações
que o levam a afastar-se da função fora dos nós de interpolação. Este facto é consequência do
aumento do grau do polinómio que vai aumentar as oscilações. Para evitar estes inconvenientes
pensou-se em não procurar um polinómio, de grau elevado, que passe por todos os pontos, mas
sim procurar vários polinómios, de baixo grau, que passem cada um por um conjunto reduzido
de pontos. A esta técnica chamamos interpolação segmentada. No final obtemos uma função
definida por ramos, onde cada ramo é um polinómio interpolador nesse intervalo. É desejável que
esta função tenha boas propriedades tais como derivabilidade e continuidade das derivadas. O
método mais utilizado desta técnica é o spline cúbico. Dada uma função y = f (x) o spline cúbico
que interpola a função nos pontos {x0 , . . . , xn } é um polinómio da forma:
S0 (x) = a0 + b0 (x − x0 ) + c0 (x − x0 )2 + d0 (x − x0 )3 , x ∈ [x0 , x1 [
S (x) = a + b (x − x ) + c (x − x )2 + d (x − x )3 ,
x ∈ [x1 , x2 [
1 1 1 1 1 1 1 1
S(x) =
...
Sn−1 (x) = an−1 + bn−1 (x − xn−1 ) + cn−1 (x − xn−1 )2 + dn−1 (x − xn−1 )3 , x ∈ [xn−1 , xn ]
José Duque 94
5.5 Spline Cúbico Matemática Computacional
Como nem sempre sabemos as derivadas da função podemos considerar um spline natural que
satisfaz
S 00 (x0 ) = S 00 (xn ) = 0 (5.7)
por (5.3)
se definirmos
hj = xj+1 − xj (5.9)
fica
aj+1 = aj + bj hj + cj h2j + dj h3j , j = 0, 1, . . . , n − 2 (5.10)
logo
Sj0 (xj ) = bj , j = 0, 1, . . . , n − 1
Por (5.4)
bj+1 = bj + 2cj hj + 3dj h2j , j = 0, 1, . . . , n − 1 (5.11)
então
S 00 (xj ) = 2cj , j = 0, 1, . . . , n − 1
95 José Duque
Matemática Computacional Interpolação Polinomial
Atendendo a (5.5)
cj+1 = cj + 3dj hj , j = 0, 1, . . . , n − 1 (5.12)
donde
cj+1 − cj
dj = , j = 0, 1, . . . , n − 1 (5.13)
3hj
Por (5.10) e por (5.11) concluı́mos
h2j
aj+1 = aj + bj hj + (2cj + cj+1 ) (5.14)
3
e
bj+1 = bj + hj (cj + cj+1 ) (5.15)
de (5.14)
1 hj
bj = (aj+1 − aj ) − (2cj + cj+1 ), j = 0, 1, . . . , n − 1
hj 3
Recordando a definição de diferença dividida podemos afirmar que
hj
bj = fj,j+1 − (2cj + cj+1 ), j = 0, 1, . . . , n − 1 (5.16)
3
Então bj−1 é da forma
1 hj−1
bj−1 = (aj − aj−1 ) − (2cj−1 + cj )
hj−1 3
Aplicando (5.15) vem
3 3
hj−1 cj−1 + 2(hj−1 + hj )cj + hj cj−1 = (aj+1 − aj ) − (aj − aj−1 ), j = 1, . . . , n − 1
hj hj−1
onde as constantes são calculadas pelas equações (5.8), (5.9), (5.17), (5.16) e (5.13), ou seja
José Duque 96
5.5 Spline Cúbico Matemática Computacional
aj = f (xj ), j = 0, 1, . . . , n − 1
hj = xj+1 − xj
3 3
hj−1 cj−1 + 2(hj−1 + hj )cj + hj cj−1 = (aj+1 − aj ) − (aj − aj−1 ), j = 1, . . . , n − 1
hj hj−1
hj
bj = fj,j+1 − (2cj + cj+1 ), j = 0, 1, . . . , n − 1
3
cj+1 − cj
dj = , j = 0, 1, . . . , n − 1
3hj
Para obtermos o spline cúbico completo a construção é muito semelhante, a única diferença é
no cálculo dos cj , onde se obtém o sistema
0
2h0 h0 0 0 ... 0 0 c0 f0,1 − 3f (x0 )
h0 2(h0 + h1 )
h1 0 ... 0 0 c1
3f1,2 − 3f0,1
0 h1 2(h1 + h2 ) h2 ... 0 0 c2 3f2,3 − 3f1,2
=
.. .. .. .. ... .. .. .. ..
. . . . . . . .
n−1,n − 3fn−2,n−1
0 0 0 0 ... 2(hn−2 + hn−1 ) hn−1 c 3f
n−1
0 0 0 0 ... hn−1 2hn−1 cn 3f 0 (xn ) − fn,n−1
1. Determine o spline cúbico natural que interpola a função nos pontos dados.
Resposta
Da tabela podemos retirar que:
h0 = x1 − x0 = 0.5 − 0.0 = 0.5
h1 = x2 − x1 = 0.7 − 0.5 = 0.2
h2 = x3 − x2 = 1.0 − 0.7 = 0.3
a0 = f (x0 ) = 0.0
a1 = f (x1 ) = 0.6
97 José Duque
Matemática Computacional Interpolação Polinomial
a2 = f (x2 ) = 1.2
a3 = f (x3 ) = 2.2
0.6 − 0.0
f01 = = 1.2
0.5
1.2 − 0.6
f12 = =3
0.2
2.2 − 0.6 10
f23 = =
0.3 3
ou seja
1 0 0 0 c0 0
0.5 1.4 0.2 0 c1 5.4
=
0 0.2 1 0.3 c2
1
0 0 0 1 c3 0
0.5
b0 = 1.2 − (2 × 0 + 3.823529412) = 0.56274510
3
0.2
b1 = 3 − (2 × 3.823529412 + 0.2352941176) = 2.47450980
3
10 0.3
b2 = − (2 × 0.2352941176 + 0) = 3.28627451
3 3
Falta só calcular os dj
3.823529412 − 0
d0 = = 2.54901961
3 × 0.5
0.2352941176 − 3.823529412
d1 = = −5.98039216
3 × 0.2
0 − 0.2352941176
d2 = = −0.26143791
3 × 0.3
Finalmente calculámos todos os coeficientes e vamos construir o spline
José Duque 98
5.6 Exercı́cios Matemática Computacional
2 3
S0 (x) = 0 + 0.56274510(x − 0) + 0(x − 0) + 2.54901961(x − 0) , x ∈ [0, 0.5[
S1 (x) = 0.6 + 2.47450980(x − 0.5) + 3.823529412(x − 0.5)2 − 5.98039216(x − 0.5)3 , x ∈ [0.5, 0.7[
S (x) = 1.2 + 3.28627451(x − 0.7) + 0.2352941176(x − 0.7)2 − 0.26143791(x − 0.7)3 , x ∈ [0.7, 1.0]
2
ou seja
3 x ∈ [0, 0.5[
S0 (x) = 0.56274510x + 2.54901961x ,
S1 (x) = 1.066176473 − 5.834313732x + 12.794117652x2
− 5.98039216x3
, x ∈ [0.5, 0.7[
S (x) = −0.895424836 + 2.572549018x + 0.784313729x2 − 0.26143791x3 , x ∈ [0.7, 1.0]
2
5.6 Exercı́cios
1. Determine o polinómio de terceiro grau da forma y = ax3 + bx2 + cx + d que ”passa”pelos
pontos (1, 10), (2, 26), (−1, 2) e (0, 4), utilizando o método de eliminação de Gauss para o
resolver.
1
2. A seguinte tabela corresponde à função f (x) = x
x −2 −1 1 2 3
g(x) −16 0 2 0 4
4. Determine o polinómio de Lagrange, p(x), que passa pelos pontos (−3, 1), (−2, 2), (1, −1) e
(3, 10). Calcule p(0).
99 José Duque
Matemática Computacional Interpolação Polinomial
5. A seguinte tabela lista a população, em milhares de pessoas, de 1930 a 1980 num certo paı́s.
6. O tempo t que um automóvel leva a passar de uma velocidade inicial, de 30 Km/h, para
uma velocidade v, está descrito na seguinte tabela
v, Km/h 30 45 50 75
t, s 0.0 1.8 4.3 9.4
xi −2 0 2 4 6
f (xi ) 1 2 −1 2 3
10. Num teste para determinar a elongação dum material em função da temperatura obtiveram-
se os seguintes valores
0
Temperatura, C 70 78 83 90 95
Elongação, % 3 5 9 11 17
11. A diferença de voltagem V que atravessa uma resistência para vários valores de corrente I
foi medida e registada na tabela seguinte
12. Foi feito um teste para relacionar a tensão e a deformação numa barra de alumı́nio, tendo-se
obtido os seguintes valores
Tensão 1 2 3 4 5 6 7 8 9 10 11 12
Deformação 2 4 6 6 6 7 8 7.5 7 7.5 8 7.5
x −1 0 1
f (x) 0 1 0
0
f (x) 0 0 0
14. Pretende-se interpolar a função sin(πx) no intervalo [0, 1], por um spline cúbico natural,
numa malha uniforme.
1
Construa o spline cúbico natural que interpola a função nos nós x0 = 0, x1 = 4
, x2 =
1
2
, x3 = 34 , x4 = 1
15. Determine o spline cúbico natural que interpola a função f (x) = x(1 + x2 ), nos pontos
x0 = −1, x1 = 0, x2 = 1.
16. As funções de Bessel aparecem muitas vezes em engenharia e no estudo de campos eléctricos.
Estas funções são bastante complexas de avaliar directamente, por isso são muitas vezes
compilados em tabelas, por exemplo
Estime J0 (2.1)
Integração
6.1 Integrais
O conceito de integral definido pode ser motivado pela consideração da área delimitada pela curva
y = f (x), o eixo dos xx e as rectas x = a e x = b, como mostra a figura 6.1.
Pode-se, no entanto, formular a definição sem apelar para a geometria.
Geometricamente, esta soma representa a área total de todos os rectângulos na figura 6.1. Aumen-
temos, agora, o número n de subdivisões, de modo que cada ∆xk → 0. Se, como resultado disso,
103
Matemática Computacional Integração
a soma anterior tender para um limite que não dependa do modo de subdivisão, representaremos
esse limite por Z b
f (x) dx
a
que chamaremos integral definido de f (x) entre a e b; f (x) é a função integranda e [a, b] o intervalo
de integração. Às vezes, diz-se que a e b são os limites de integração, a limite inferior e b limite
superior.
O integral existe sempre que f (x) for contı́nua em [a, b]. Nesse caso dizemos que f (x) é integrável.
Teorema 51 Suponhamos que f é uma função contı́nua em I = [a, b] e seja F definida por
Z x
F (x) = f (t) dt
a
Deste teorema podemos deduzir que para calcularmos o valor de um integral basta conhecermos
uma primitiva de f
É fácil notar que se G(x) = F (x) + C, com C uma constante, então G0 (x) = F 0 (x). Logo se
F é primitiva de f também G o é. Podemos então concluir que quando uma função tem uma
primitiva então tem um infinidade de primitivas.
Disto pode surgir outra questão. Será que todas as primitivas são desta forma? O teorema seguinte
responde a essa pergunta.
Teorema 54 Se F (x) e G(x) são ambas primitivas de f , então F (x) − G(x) = C com C ∈ R
A constante C é chamada a constante de primitivação e F (x) + C a expressão geral das primitivas
de f .
R R
• Se k é uma constante não nula, então k × f (x) dx = k f (x) dx
R R R
• f (x) + g(x) dx = f (x) dx + g(x) dx
A pergunta agora é se toda a função tem primitiva. Consegue-se provar o seguinte teorema, que
dá alguma luz sobre esse problema.
O teorema afirma que a primitiva existe, mas não indica como a obter. O facto de sabermos que a
primitiva existe não significa que saibamos qual é explicitamente. No entanto algumas primitivas
podem-se deduzir directamente da definição de integral e das regras de derivação. A este tipo de
primitivas chamamos primitivas imediatas. Por exemplo
Z
cos(x) dx = sin(x) + C
f k+1
Z
f 0 f k dx = + C, k 6= −1
k+1
f0
Z
dx = ln(|f |) + C
f
Z
f 0 ef dx = ef + C
af
Z
f 0 af dx = + C, a ∈]0, +∞[\{−1}
ln(a)
Z
f 0 cos(f ) dx = sin(f ) + C
Z
f 0 sin(f ) dx = −cos(f ) + C
f0
Z
dx = tan(f ) + C
cos2 (f )
f0
Z
1
2
dx = − +C
sin (f ) tan(f )
Embora haja muitas primitivas que se encaixam nesta lista existem muitas outras que são um
pouco mais elaboradas. Vamos de seguida deduzir alguns métodos de primitivação.
(f g)0 = f 0 g + f g 0
donde se conclui
Z Z Z Z Z
f g + f g dx = f g ⇔ f g dx + f g dx = f g ⇔ f g dx = f g − f g 0 dx
0 0 0 0 0
função f g
u(x)×exponencial exponencial u(x)
u(x)×trigonométrica trigonométrica u(x)
u(x)×logaritmo u(x) logaritmo
Para simplificar o cálculo de certas primitivas, que envolvam repetidas vezes a mesma expressão
ou com funções irracionais não imediatas, é por vezes útil fazer uma mudança de variável, ou uma
substituição.
O método de substituição é uma consequência directa da regra de derivação de funções compostas.
Suponhamos que Z
F (x) = f (x) dx ou seja F 0 (x) = f (x)
logo Z Z
f (x) dx = f (g(t))g 0 (t) dt
P (x) A1 Ar 1 B1 Bn1
R(x) = = + ··· + + ··· + + ··· + + ...
Q(x) x − a1 x − ar 1 x − b1 (x − b1 )n1
C1 Cnr2 D1 x + E1 Dr3 x + Er3
+ +· · ·+ mr2
+· · ·+ 2 2
+· · ·+ +. . .
x − br2 (x − br2 ) (x − u1 ) + v1 (x − ur3 )2 + vr23
F1 x + G1 Fm1 x + Gm1
+ 2
+ · · · + + ...
(x − w1 )2 + z1 ((x − w1 )2 + z12 )m1
M 1 x + N1 Mmr4 x + Nmr4
+ + ··· +
2 2
(x − wr4 ) + zr4 ((x − wr4 )2 + zr24 )mr4
(6.1)
Notas
• Para cada par de raı́zes complexas u ± vi de multiplicidade 1 somamos uma parcela do tipo
Fx + G
.
(x − u)2 + v 2
• Se Q tem raı́zes complexas de multiplicidade p > 1, por cada par dessas raı́zes temos de
adicionar p parcelas da forma
M 1 x + N1 M 2 x + N2 M p x + Np
2 2
+ 2 2 2
+ ··· +
(x − u) + v ((x − u) + v ) ((x − u)2 + v 2 )p
• As constantes reais A’s, B’s, C’s, D’s, E’s, F ’s, G’s M ’ e N ’s têm de ser determinadas.
Para calcularmos as constantes basta reduzir o segundo membro a uma só fracção. Os denomina-
dores das duas fracções são idênticos, então os numeradores também devem ser iguais. Igualando
os coeficientes dos termos homólogos obtemos um sistema cujas incógnitas são as constantes A’s,
B’s, C’s, D’s, E’s, F ’s, G’s M ’ e N ’s. Resolvendo o sistema e substituindo na equação (6.1)
obtemos a expansão em fracções simples desejada.
Falta agora calcular a primitiva de cada uma das parcelas.
Recorrendo às regras anteriores obtemos
Z
A
dx = A ln(|x − a|) + C
x−a
Z
B B 1
p
dx = × +C
(x − b) 1 − p (x − b)p−1
x−u
Z
Dx + E D Du + E
2 2
dx = ln(x2 − 2 xu + u2 + v 2 ) + tan−1 +C
(x − u) + v 2 v v
Para que as duas fracções sejam iguais temos de igualar os coeficientes dos termos de igual grau.
Resulta o seguinte sistema
A+B =5
4A + 4B + C = 19
8A + 6B + 4C + D = 36
8A + 4B + 6C + 2D + E = 35
4A + 4C + 2E = 14
Finalmente a expansão é
P 4 x−1 2x + 1
= + 2 2
+
Q x + 2 (x + 1) + 1 ((x + 1)2 + 12 )2
Ax4 −4Ax3 +7Ax2 −6Ax+2A+Bx3 −3Bx2 +4Bx−2B+Cx2 −2Cx+2C+Dx4 −3Dx3 +3Dx2 −Dx+Ex3 −3Ex2 +3Ex−E
= (x−1)3 (x2 −2x+2)
(A + D)x4 + (−4A + B − 3D + E)x3 + (7A − 3B + C + 3D − 3E)x2 + (−6A + 4B − 2C − D + 3E)x + 2A − 2B + 2C − E
=
x5 − 5x4 + 11x3 − 13x2 + 8x − 2
O sistema resultante é
A+D =4
−4A + B − 3D + E = −9
7A − 3B + C + 3D − 3E = 5
−6A + 4B − 2C − D + 3E = 3
2A − 2B + 2C − E = −4
A expansão é
P 3 2 −1 x+4
= + + +
Q x − 1 (x − 1)2 (x − 1)3 (x − 1)2 + 12
Logo a primitiva é
−1
Z Z Z Z Z
P 3 2 x+4
dx = dx + 2
dx + 3
dx + dx
Q x−1 (x − 1) (x − 1) (x − 1)2 + 12
Utilizando as fórmulas dadas anteriormente
−1
Z
P 2 1 1 1
dx = 3 ln(|x−1|)+ 2−1
+ 3−1
+ ln(x2 −2x+2)+5 tan−1 (x−1)
Q 1 − 2 (x − 1) 1 − 3 (x − 1) 2
2 1 1
= 3 ln(|x − 1|) − − 2
+ ln(x2 − 2x + 2) + 5 tan−1 (x − 1)
x − 1 2(x − 1) 2
A grande maioria das fórmulas existentes baseia-se na ideia de substituir a função integranda por
uma aproximação geralmente fácil de integrar. Um processo de determinar essa aproximação pode
ser a interpolação. A este tipo de fórmulas costuma-se chamar fórmulas de Newton-Cotes e a este
processo de quadratura.
Seja f uma função conhecida em n + 1 pontos a = x0 < x1 < · · · < xn−1 < xn = b. Como é
sabido, existe um polinómio Pn de grau menor ou igual n interpolador de f nos pontos dados tal
que f (x) = Pn (x) + En (x), onde
f (n+1) (ξ)
En (x) = Wn (x), ξ ∈ [a, b]
(n + 1)!
Assim Z b Z b Z b
I= f (x) dx = Pn (x) dx + En (x) dx
a a a
Uma vez que n-ésima fórmula de newton-Cotes é obtida pela aproximação da função integranda
por um polinómio de grau n. Será de esperar que obtenha valores exactos para polinómios de grau
menor ou igual a n. Esta observação leva-nos ao conceito da ordem de precisão de uma fórmula
de quadratura numérica.
Definição 57 Dizemos que uma fórmula de quadratura numérica é de grau n se for n o maior
grau de um polinómio, para o qual a fórmula fornece o valor exacto do seu integral.
Por exemplo uma fórmula de grau 3 fornece o valor exacto para o integral de qualquer polinómio
de grau igual ou inferior 3, mas só fornece uma aproximação para o integral de polinómios de grau
superior a 3.
Vamos considerar o caso em que aproximamos a função f por um polinómio de grau 1 que
passa pelos pontos (a, f (a)) e (b, f (b)). A esta fórmula chamaremos regra ou quadratura dos
trapézios.
Integrando as funções de Lagrange obtemos
Z b
x−b b−a
a0 = dx =
a a−b 2
Z b
x−a b−a
a1 = dx =
a b−a 2
Então a aproximação do integral é
Z b
b−a b−a b−a
I= f (x) dx ≈ f (a) + f (b) = [f (a) + f (b)]
a 2 2 2
Para calcularmos o erro de integração vamos integrar o erro de interpolação
Z b 00
f 00 (ξ) b f 00 (ξ) 1
Z
f (ξ)
E= (x − a)(x − b) dx = (x − a)(x − b) dx = [− (b − a)3 ]
a 2 2 a 2 6
A este erro vamos chamar erro de truncatura
(b − a)3 00
ET = − f (ξ), ξ ∈ [a, b]
12
Note-se que esta expressão permite afirmar que a quadratura do trapézio tem ordem 1.
Fórmula de Simpson
Abordemos agora o caso em que a função integranda é interpolada pelo polinómio de grau 2
que passa pelos pontos (a, f (a)), ( a+b
2
, f ( a+b
2
)) e (b, f (b)). Da mesma forma que o método anterior
b−a
a0 = a2 =
6
4b − 4a
a1 =
6
Então podemos afirmar que
Z b
b−a a+b
f (x) dx ≈ f (a) + 4f + f (b) ,
a 6 2
(b − a)5 (4)
ET = − f (ξ), ξ ∈ [a, b]
2880
É de salientar que uma vez que utilizámos um polinómio interpolador de grau 2, seria de esperar
que a fórmula tivesse grau 2. Mas a expressão do erro indica-nos que a ordem do método é 3, o
que é melhor que o esperado.
Por vezes vezes considera-se h a distância entre os pontos de interpolação, então o erro pode ser
dado por
3
ET = − h12 f 00 (ξ) na fórmula de trapézio pois h = b − a e
5
ET = − h90 f (4) (ξ) na fórmula de Simpson pois h = b−a
2
Estas fórmulas estão incluı́das nas fórmulas de intervalo fechado pois os extremos do intervalo
são pontos de interpolação. Se considerarmos apenas como pontos de interpolação pontos interiores
do intervalo vamos obter fórmulas de intervalo aberto.
Resumindo, para o cálculo de integrais algumas das fórmulas mais conhecidas são:
Obtenha estimativas para o integral recorrendo às seguintes fórmulas de integração numérica:
4h 14h5 (4) (b − a)
I= [2f (x1 ) − f (x2 ) + 2f (x3 )] + f (ξ), h=
3 45 4
O valor de h é
1−0
h= = 0.25
4
logo x1 = 0 + 0.25 = 0.25, x2 = 0 + 0.25 × 2 = 0.5 e x3 = 0 + 0.25 × 3 = 0.75, então o integral é
aproximado
Z 1 por
4 × 0.25
x−1/4 sin(x)dx ≈ (2f (0.25) − f (0.5) + 2f (0.75))
0 3
= 13 (2 × 0.3498820346 − 0.5701362616 + 2 × 0.7324685159)
= 0.5315216131
1, . . . , n com xi = a + h × i.
Aplicando a fórmula dos trapézios a cada um dos subintervalos, temos
Z b n Z xi n
h3 00
X X h
f (x) dx = f (x) dx = [f (xi−1 ) + f (xi )] − f (ξi ) ,
a i=1 xi−1 i=1
2 12
com ξi ∈ [xi−1 , xi ], i = 1, . . . , n. Concluı́mos então que o integral pode ser dado aproximadamente
por Z b
h
f (x) dx ≈ [f (x0 ) + 2f (x1 ) + · · · + 2f (xn−1 ) + f (xn )]
a 2
sendo o erro dado por
n
h3 X 00
ET = − f (ξi )
12 i=1
Pelo teorema de Bolzano existe um ξ ∈ [a, b] tal que
n
X
f 00 (ξi ) = nf 00 (ξ).
i=1
Para obtermos a regra de Simpson composta os passos são os mesmos, só temos de garantir
que n é par.
A fórmula resultante é
Z b
h
f (x) dx ≈ [f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + · · · + 2f (xn−2 ) + 4f (xn−1 ) + f (xn )]
a 3
com erro
b − a 4 (4)
ET = − h f (ξ), ξ ∈ [a, b]
180
ou de uma forma compacta
Z b (n/2)−1 (n/2) o b−a
hn X X
f (x)dx = f (a) + 2 f (x2j ) + 4 f (x2j−1 ) + f (b) − h4 f (4) (ξ),
a 3 j=1 j=1
180
(b − a)
h=
n
xi = a + hi, ξ ∈ (a, b)
Resposta
Método do trapézio
f (x) = xln(x)
logo Z 2
0.25
f (x) dx ≈ (f (1) + 2f (1.25) + 2f (1.5) + 2f (1.75) + f (2))
1 2
1
= (0 + 0.5578588783 + 1.216395324 + 1.958655258 + 1.386294361) = 0.6399004777
8
A estimativa do erro é
2−1
Ea = 0.252 f 00 (ξ), ξ ∈ [0, 2]
12
f 0 (x) = ln(x) + x × x1 = ln(x) + 1 e f 00 (x) = x1 .
Como não sabemos o valor de ξ vamos calcular um majorante do erro calculando, visto que f 00 é decres-
cente
max f 00 (x) = 1
[1,2]
Assim
1
Ea ≤ 0.0625 = 0.0052
12
Método de Simpson
Mais uma vez como é pedido com 4 subitervalos
2−1
h= = 0.25
4
e
a = x0 = 1, x1 = 1.25, x2 = 1.5, x3 = 1.75, b = x4 = 2
logo Z 2
0.25
f (x) dx ≈ (f (1) + 4f (1.25) + 2f (1.5) + 4f (1.75) + f (2))
1 3
1
= (0 + 1.115717757 + 1.216395324 + 3.917310516 + 1.386294361) = 0.6363098298
12
A estimativa do erro é
2−1
Ea = 0.254 f (4) (ξ), ξ ∈ [0, 2]
180
f 0 (x) = ln(x) + x × x1 = ln(x) + 1, f 00 (x) = x1 , f 000 (x) = − x12 e f (4) (x) = x23
Como ainda não sabemos o valor de ξ vamos calcular um majorante do erro calculando
Eh (f ) = I(f ) − Ih (f ) = c2 h2 + c4 h4 + . . . ,
I = Rk+1,m+1 + O(h2m+2
k ).
A precisão do algoritmo de Romberg é, assim, limitada apenas pela regularidade da função inte-
granda e pelos erros de arredondamento. Os cálculos que realizam este processo podem dispor-se
no seguinte quadro triangular sugestivo:
EA ≈ |Rn,n − Rn−1,n−1 |
Exemplo 60 Utilize o método de Romberg três vezes para resolver o seguinte integral:
Z 1.6
2x
dx
1 x2 − 4
Resposta
2x
f (x) =
x2 −4
m=0
20 = 1 logo vamos aplicar o método de trapézio com 1 subintervalo, h = 1.6 − 1 = 0.6.
0.6
R1,1 = (f (1) + f (1.6)) = 0.3(−0.666666667 − 2.222222222) = −0.866666667
2
m=1
1.6−1
21 = 2, método de trapézio com 2 subintervalos, h = 2 = 0.3.
0.3
R2,1 = (f (1) + 2f (1.3) + f (1.6)) =
2
= 0.15(−0.666666667 + 2 × (−1.125541126) − 2.222222222) =
= −0.770995671
4R2,1 − R1,1 4 × (−0.770995671) − (−0.866666667)
R2,2 = = =
4−1 3
= −0.73910534
m=2
1.6−1
22 = 4 método de trapézio com 4 subintervalos, h = 4 = 0.15.
0.15
R3,1 = (f (1) + 2f (1.15) + 2f (1.3) + 2f (1.45) + f (1.6)) =
2
= 0.075(−0.666666667 + 2 × (−0.8590102708) + 2 × (−1.125541126)+
+2 × (−1.528326746) − 2.222222222) =
= −0.743598388
4R3,1 − R2,1 4 × (−0.743598388) − (−0.770995671)
R3,2 = = =
4−1 3
= −0.73446596
42 R3,2 − R2,2 16 × (−0.73446596) − (−0.73910534)
R3,3 = 2
= =
4 −1 15
= −0.73415667
m=3
1.6−1
23 = 8 temos de aplicar o método de trapézio com 8 subintervalos, h = 8 = 0.075.
0.075
R4,1 = (f (1) + 2f (1.075) + 2f (1.15) + 2f (1.225) + 2f (1.3) + 2f (1.375)+
2
+2f (1.45) + 2f (1.525) + f (1.6)) =
= −0.73640433
4R4,1 − R3,1 4 × (−0.73640433) − (−0.743598388)
R4,2 = = =
4−1 3
= −0.73400631
42 R4,2 − R3,2 16 × (−0.73400631) − (−0.73446596)
R4,3 = = =
42 − 1 15
= −0.73397567
43 R4,3 − R3,3 64 × (−0.73397567) − (−0.73415667)
R4,4 = 3
= =
4 −1 63
= −0.73397279
para um polinómio pn−1 (x) de grau não superior a n − 1, com x1 , . . . , xn n pontos igualmente
espaçados e previamente fixados.
Na quadratura de Gauss os pontos de integração xi e os pesos ai são determinados em simultâneo
de forma a que a igualdade
Z 1 n
X
pm (x) dx = ai pm (xi )
−1 i=1
para a, b ∈ R, a < b.
Para que a fórmula
Z 1 n
X
pm (x) dx = ai pm (xi )
−1 i=1
com 2n incógnitas (x1 , . . . , xn ; a1 , . . . , an ), pelo o que o sistema deverá ter 2n equações e portanto
m = 2n − 1.
Para n = 1 o sistema
n 1
1 − (−1)k+1
X Z
ai xki = xk dx = k = 0, 1, . . . , m
i=1 −1 k+1
obtemos o sistema: (
a1 = 2
a1 x 1 = 0
cuja solução é x1 = 0 e a1 = 2. Portanto a fórmula de integração
Z 1 n
X
pm (x) dx = ai pm (xi )
−1 i=1
que se chama a regra do ponto médio. Esta regra deve ser de grau 2-1=1.
Para n = 2 o sistema
n 1
1 − (−1)k+1
X Z
ai xki = x dx = k
k = 0, 1, . . . , m
i=1 −1 k+1
escreve-se:
a1 + a2 = 0
a x +a x =2
1 1 2 2
a1 x1 + a2 x22 = 23
2
a1 x31 + a2 x32 = 0
1 − x2i
ai = 2 , i = 1, . . . , n
[(n + 1)Pn (xi )]2
1 n
22n+1 (n!)4 g (2n) (ξ)
Z X
g(x) dx = ci g(wi ) +
−1 i=1
(2n + 1)[(2n)!]2 (2n)!
onde
n pesos ci nós wi
2 c1 = c2 = 1 w1 = −w2 = − √13
q
3 c1 = c3 = 59 , c2 = 8
9
w1 = −w3 = − 35 , w2 = 0
4 c1 = c4 = 0.347854845 w1 = −w4 = −0.861136312
c2 = c3 = 0.652145155 w2 = −w3 = −0.339981044
5 c1 = c5 = 0.236926885 w1 = −w5 = −0.906179846
c2 = c4 = 0.478628670, c3 = 0.568888889 w2 = −w4 = −0.538469310, w3 = 0
No caso do integral não ter limites de integração −1 e 1 temos de fazer uma mudança de variável
da forma b 1 1
b−a b+a b−a
Z Z Z
f (x) dx = f + w dw = g(w) dw
a −1 2 2 2 −1
Exemplo 61 Usando a fórmula de Gauss com três pontos, determine um valor aproximado de
Z π/2
sin(x)dx
0
Resposta
π
Z Z 1 π −0 π
+0 π
−0
Z 1
2
2 π π π
sin(x) dx = sin( 2 + 2
w) dw = sin( + w) dw =
0 −1 2 2 2 4
−1 | 4{z 4 }
=g(w)
6.7 Exercı́cios
1. Determine cada um dos seguintes integrais indefinidos
Z
x
(a) 2
dx
x +2
Z
(b) e2x dx
t3
Z
(c) √ dt
5t4 + 3
Z
x+1
(d) dx
(x2 + 2x)3
x3
Z
(e) dx
x4 + 1
Z
(f) sin(3x) dx
Z
x
(g) √ dx
ax + b
2. Calcule usando o método de primitivação por partes, as primitivas das seguintes funções.
Z e2
1
(e) dx
xln(x)
Ze π
(f) e2x sin(x) dx
0
Z 1
x
(g) √ dx
0 1 + x2
R1
6. Determine valores aproximados para 0
e−x dx, usando a regra de trapézios e a regra de
Simpson. Indique um limite superior para o erro cometido em cada um dos casos.
10. Utilize as regras compostas do trapézio e de Simpson com o 6 sub-intervalos para aproximar
o integral seguinte e determine um limite superior para o erro cometido.
Z 3
2
2
dx
0 x +4
11. Utilize uma regra composta, com 4 sub-intervalos, para aproximar o seguinte integral impróprio
Z 1
x−1/4 sin(x)dx.
0
13. Os valores tabelados referem-se à medida da taxa de fluxo de água (l/m) para um tanque
durante 10 minutos. Determine uma aproximação da quantidade de água que entrou no
tanque durante esse perı́odo, usando uma regra composta.
T empo, min 0 1 2 3 4 5 6 7 8 9 10
q, l/m 230 300 320 330 320 290 250 200 160 120 90
14. Utilize o método de Romberg três vezes para resolver o seguinte integral:
Z 1.5
x2 ln(x)dx
1
R1 1
15. Calcule 0
x 3 , com um erro inferior a 10−1 , utilizando o método de Romberg.
x 1 2 3 4 5
f (x) 2.4142 2.6734 2.8974 3.0976 3.2804
R5
Calcule a melhor aproximação possı́vel para 1
f (x) dx usando o método de Romberg.
18. Usando a fórmula de Gauss com três pontos, determine um valor aproximado de
Z 1
2
e−x dx
0
19. Determine Z 1
ex dx
−1
com um erro inferior ou igual a 0.2 × 10−3 , usando as fórmulas de Gauss.
20. Aproxime o seguinte integral utilizando o método do trapézio composto com 3 sub-intervalos.
Z 1 Z x3
x2 + y 2 dy dx
0 x+2
21. Calcule Z 1 Z x3
1
dy dx.
0 x+2 x2 + y2
22. Um fluı́do atravessa a secção dum tubo com a velocidade
1/7
r
v(r) = 3.0 1 −
r0
com r0 o raio da secção circular do tubo e r a distância radial ao centro da secção.
Determine a quantidade Q de fluı́do que atravessa esta secção por unidade de tempo, dada
por Z r0
Q= v(r)2πr dr
0
O objectivo deste capı́tulo é aproximar uma função por outra, geralmente, mais simples e com
melhores propriedades. De modo que seja mais fácil de trabalhar.
Dada uma função f vamos querer aproximá-la por uma função da forma
p(x) é então um elemento gerado pela combinação linear das funções {ϕ0 (x), ϕ1 (x), . . . , ϕn (x)}.
Costuma-se dizer que p(x) é um polinómio generalizado.
Para que p(x) exista e seja único vamos exigir que {ϕ0 (x), ϕ1 (x), . . . , ϕn (x)} sejam linearmente
independentes, num contexto apropriado.
O problema é então calcular o valor das constantes a0 , . . . , an .
125
Matemática Computacional Método dos Mı́nimos Quadrados
Recordemos que as incógnitas são a0 , . . . an , logo temos uma função I = I(a0 , . . . an ) para mini-
mizar.
Para obtermos
Z b o mı́nimo temos de calcular cada uma das derivadas parciais.
∂I
= 2((f (x) − a0 ϕ0 (x) + a1 ϕ1 (x) + · · · + an ϕn (x))ϕ0 (x) dx =
∂a0 aZ
b
=2 f (x)ϕ0 (x) − a0 ϕ0 (x)ϕ0 (x) − a1 ϕ1 (x)ϕ0 (x) − · · · − an ϕn (x)ϕ0 (x) dx
a
..
.
Z b
∂I
= 2((f (x) − a0 ϕ0 (x) + a1 ϕ1 (x) + · · · + an ϕn (x))ϕi (x) dx =
∂ai aZ
b
=2 f (x)ϕi (x) − a0 ϕ0 (x)ϕi (x) − a1 ϕ1 (x)ϕi (x) − · · · − an ϕn (x)ϕi (x) dx
a
..
.
Z b
∂I
= 2((f (x) − a0 ϕ0 (x) + a1 ϕ1 (x) + · · · + an ϕn (x))ϕ0 (x) dx =
∂an aZ
b
=2 f (x)ϕn (x) − a0 ϕ0 (x)ϕn (x) − a1 ϕ1 (x)ϕn (x) − · · · − an ϕn (x)ϕn (x) dx
a
Igualando as derivadas a zero e separando os integrais obtemos o sistema linear
Z b Z b Z b Z b
a0 ϕ0 (x)ϕ0 (x) dx + a1 ϕ1 (x)ϕ0 (x) dx + · · · + an ϕn (x)ϕ0 (x) dx = f (x)ϕ0 (x) dx
a a a a
..
.
Z b Z b Z b Z b
a0 ϕ0 (x)ϕi (x) dx + a1 ϕ1 (x)ϕi (x) dx + · · · + an ϕn (x)ϕi (x) dx = f (x)ϕi (x) dx
a a a a
..
.
Z b Z b Z b Z b
a0 ϕ0 (x)ϕn (x) dx + a1 ϕ1 (x)ϕn (x) dx + · · · + an ϕn (x)ϕn (x) dx = f (x)ϕn (x) dx
a a a a
ou escrito de uma forma compacta
Xn Z b Z b
ak ϕk (x)ϕi (x) dx = f (x)ϕi (x) dx, i = 0, 1, . . . , n
k=0 a a
Finalmente para encontrarmos o polinómio pretendido só temos de resolver o sistema linear de
n + 1 equações com n + 1 incógnitas. Como é um sistema linear só tem uma única solução que
pela construção do problema se vê facilmente que é o mı́nimo.
O segundo caso - o caso discreto - é aquele em que a função f é apenas conhecida num número
finito de pontos {x0 , . . . , xm }.
Neste caso o método dos mı́nimos quadrados tem uma formulação idêntica ao caso contı́nuo,
substituindo a função a minimizar por
k
X
min (f (xi ) − p(xi ))2 .
i=0
Neste método podemos definir o erro ( mais conhecido por erro padrão) da forma
m
! 21 21
Z b
1 X
2 1 2
(f (xj ) − pn (xj )) ou (f (x) − pn (x)) dx
m+1 j=0
b−a a
Caso contı́nuo
Rb Rb Rb 2 Rb Rb
a
1 dx a
x dx x dx ... xn dx a0 f (x) dx
Rb Rb 2 Rab 3 a
R b n+1 R ba
R a x dx x dx x dx ... x dx a1 f (x)x dx
b 2 Rab 3 Rab 4 Rab n+2 R ba
a x dx x dx x dx ... x dx a2 = f (x)x2 dx
a a a a
.
.. .
.. .. ... .. .. ..
. .
.
.
Rb n R b n+1 R b n+2 Rb Rb
a
x dx a x dx a x dx ... a
x2n dx an a
f (x)xn dx
1. Aproxime a função g por uma parábola, recorrendo ao método dos mı́nimos quadrados, e
defina uma estimativa de g(0.65).
Resposta
Como queremos um parábola ela tem o aspecto
P3 (x) = a2 x2 + a1 x + a0
Podemos então escolher a base {1, x, x2 }, logo para encontrarmos os coeficientes a0 , a1 e a2 temos
de resolver o sistema
P
P
6 P6 P6 2 6
i=0 1 i=0 xi i=0 xi a0 g(xi )
P6 6 6
P6 i=0
2 3
P P a1 =
i=0 xi i=0 xi i=0 xi i=0 xi g(xi )
P6 2
P6 3
P6 4
P6 2
i=0 xi i=0 xi i=0 xi a2 i=0 xi g(xi )
Antes de resolvermos o sistema temos de calcular os somatórios, para isso é melhor colocarmos
tudo numa tabela que facilita os cálculos e a visualização dos resultados.
então o erro é
1√
Ep = 0.00238095238095 = 0.00697071480678
7
ou seja
1 1
1 2 3 a0 0
1 1 1 a1 = − 22
2 3 4 π
1 1 1
3 4 5 a2 − π22
Resolvendo o sistema ficamos com a solução
a = 12
0 π2
a1 = − π242
a2 = 0
Às funções que satisfazem esta propriedade chamamos funções ortogonais em [a, b].
Assim a solução do sistema é da forma
Rb
f (x)ϕk (x) dx
ak = Ra b
a
(ϕk (x))2 dx
Um exemplo destes polinómios são os Polinómios de Legendre, que podem ser obtidos pela se-
guinte fórmula de recorrência
(
L0 (x) = 1 ; L1 (x) = x
2n+1 n
, x ∈ [−1, 1]
Ln+1 (x) = n+1
xLn (x) − L (x),
n+1 n−1
n≥1
Uma desvantagem destes polinómios é eles só serem ortogonais num determinado intervalo
fixo, neste caso [−1, 1]. Este problema resolve-se com uma mudança de variável nos polinómios.
A mudança pretendida é
[a, b] 7→ [−1, 1]
2z b+a
z → x= −
b−a b−a
Para obtermos outras famı́lias de polinómios ortogonais temos de definir ortogonalidade de
uma forma mais geral, assim
Definição 64 Uma famı́lia se funções {ϕ0 (x), . . . , ϕn (x)} diz-se ortogonal em [a, b] com a função
peso w(x) se
Z b
w(x)ϕi (x)ϕj (x) dx = 0, i 6= j
a
R
(
H0 (x) = 1 ; H1 (x) = 2x x∈
• Polinómios de Hermite ,
Hn+1 (x) = 2xHn (x) − Hn−1 (x), n ≥ 1 w(x) = e−x2
• Polinómios
( de Laguerre
P0 (x) = 1 ; P1 (x) = x x ∈ [0, ∞[
,
Pn+1 (x) = 1
(−x + 2n + α + 1)Pn (x) − n+α
P (x), n≥1 w(x) = xα e−x
n+1 n+1 n−1
À semelhança dos polinómios de Legendre, caso o intervalo seja [a, b] temos de procurar uma
mudança de variável apropriada.
1. Defina a parábola que melhor aproxima f no intervalo dado, recorrendo ao método dos
mı́nimos quadrados e usando polinómios de Legendre.
Resposta
Como o intervalo é [−1, 1], para definirmos uma parábola precisamos de utilizar os polinómios
3 1
P0 (x) = 1, P1 (x) = x, P2 (x) = x2 −
2 2
3 2
isto é, a base utilizada é {1, x, 2x − 21 }. Então o polinómio procurado é
3 1
p2 (x) = a0 × 1 + a1 × x + a2 × ( x2 − )
2 2
Devido ao facto de os polinómios serem ortogonais só é necessário calcular os elementos da diagonal
principal.
Logo o sistema fica
2 0 0 a0 e − e−1
0 2 −1
a1 = −2e
0
3
0 0 2
a2 e − 7e−1
5
e − e−1 5e − 35e−1 3 1
p2 (x) = × 1 + −3e−1 × x + a2 = × ( x2 − )
2 2 2 2
Exemplo 66 Pretende-se aproximar a função g(x) = sinh(x) por um polinómio de terceiro grau
no intervalo [0, 1]. Quais deverão ser os elementos da base do espaço a que pertence a aproximação
de g(x) que minimiza o trabalho relativo à resolução do sistema de equações que permite definir
os parâmetros do modelo matemático?
Resposta
Para minimizar o trabalho de resolução do sistema temos de utilizar polinómios ortogonais.
3 1 5 3
P0 (x) = 1, P1 (x) = x, P2 (x) = x2 − , P3 (x) = x3 − x
2 2 2 2
Os polinómios de Legendre só são ortogonais em [−1, 1], por isso temos e fazer uma mudança de variável
dos polinómios para o intervalo [0, 1].
essa mudança é
[0, 1] 7→ [−1, 1]
2z 1+0
z → x= − = 2z − 1
1−0 1−0
então os polinómios ficam
P0 (z) = 1,
P1 (z) = 2z − 1,
3 1
P2 (z) = (2z − 1)2 − = 6z 2 − 6z + 1,
2 2
5 3
P3 (z) = ( (2z − 1)3 − (2z − 1)) = 20z 3 − 30z 2 + 12z − 1
2 2
então a base terá de ser
Exemplo 67 Encontre a função do tipo z = 10c0 +c1 x que melhor se aproxima, segundo os mı́nimos
quadrados, dos dados da tabela seguinte
x 0 1 2 3
f (x) 0.01 0.1 10 100
Resposta
Para podermos aplicar o método dos mı́nimos quadrados temos de querer aproximar por um polinómio o
que não se verifica, logo temos de transformar a função que queremos obter num polinómio.
Uma vez que mudámos a função aproximada temos também de mudar a função a aproximar logo queremos
aproximar os pontos
x 0 1 2 3
g(x) = log(f (x)) −2 −1 1 2
z = 10−2.1+1.4x
7.4 Exercı́cios
1. Uma dada função só é conhecida através da tabela que se segue
x −2 −1 1 2
f (x) 1 −3 1 9
(a) Recorrendo ao método dos mı́nimos quadrados, determine a equação da recta que
melhor aproxima a função.
(b) Calcule uma estimativa de f (0.5).
2. A tabela diz respeito a alturas (em cm) e pesos (em kg) de 9 homens com idades compreen-
didas entre 25 e 29 anos.
1
5. Determine o polinómio minimax de grau um para f (x) = x+1
em [0, 1].
6. Mostre que os polinómios de Chebyshev são ortogonais no intervalo [−1, 1] para a função peso
1
w(x) = (1 − x2 )− 2 .( Nota:O polinómio de Chebyshev de grau n é Tn (x) = cos(n arccos(x))).
7. Aproxime a função f (x) = |x|, x ∈ [−1, 1], por um polinómio de grau 2, utilizando os
polinómios de Chebyshev.
8. Demonstre
Z 1 que se Pk é um polinómio de Legendre de grau k então
2
(Pk (x))2 dx = .
−1 2k + 1
9. Seja P0 (x), P1 (x) , ... uma sucessão de polinómios ortogonais sejam x0 , x1 , ...,xk zeros
k
Y x − xj
distintos de Pk+1 . Mostre que os polinómios de Lagrange, Li (x) = , i = 0, 1, . . . , k,
j=0
xi − xj
j6=i
para estes pontos são ortogonais.
(a) Demonstre que {1, 2x − 1, 6x2 − 6x + 1} é um conjunto de funções ortogonais em [0, 1].
(b) Determine a parábola que melhor aproxima a função h no intervalo [0, 1], usando o
método dos mı́nimos quadrados.
11. É sabido que a maleabilidade do plástico varia em função do tempo gasto no tratamento
térmico. A seguinte tabela foi obtida através de dados experimentais.
tempo 10 15 20 25 40 50 55 60 75
maleabilidade 4 20 18 50 30 48 80 60 78
Encontre a recta que melhor se adapta aos dados. Utilize a alı́nea anterior para estimar a
maleabilidade ao fim de 30 min.
12. Os dados seguintes foram recolhidos para determinar a relação entre a pressão e a tempera-
tura de uma quantidade fixa de 1 kg de nitrogénio.
Sabendo que o volume é 10 m3 aplique a lei para os gazes ideais pV = nRT e determine R
com base nos dados. ( note que T deve estar expresso em graus Kelvin)
Consideremos um corpo em queda livre. Podemos então deduzir que a velocidade, v(t), do corpo,
no instante t, satisfaz a equação
dv(t) c
= g − v(t)
dt m
em que g é a constante gravitacional, c o coeficiente de atrito e m a massa. Uma vez que g,
c e m são, geralmente, constantes, nesta equação existem 2 variáveis, a velocidade e o tempo.
Como a velocidade depende do tempo vamos chamar a t a variável independente e a v(t) a
variável dependente. No que se segue vamos considerar y(t) a variável dependente e t a variável
independente.
A este tipo de equações chamamos equações diferenciais. Como a maior derivada é a primeira,
chamamos equação diferencial de 1a ordem.
Para conhecermos completamente a velocidade do objecto é necessário conhecermos a velocidade
inicial v(t0 ), ou seja, uma condição inicial. De modo geral uma equação diferencial de primeira
ordem com condições iniciais é da forma
(
y 0 (t) = f (t, y)
, t ∈ [a, b]
y(a) = α
137
Matemática Computacional Equações Diferenciais com Condições Iniciais
Onde D é um convexo, então o problema tem uma solução única para t ∈ [a, b].
D = {(t, y) ∈ R2 : a ≤ t ≤ b, y ∈ R}
Exemplo 69 Mostre que o problema de valor inicial
y 0 = sin(y)
y(t ) = y
0 0
∂f
(t, y) = cos(y)
∂y
Seja D ⊂ R2 tal que D é um convexo e (t0, y) ∈ D.
Para (t, y) ∈ D
∂f
(t, y) = |cos(y)| ≤ 1
∂y
logo o problema de valores iniciais tem solução única para qualquer intervalo contendo t0 .
existe e é finito, então dizemos que L[y(t)] = Y (s) é a transformada de Laplace de y(t).
sen(t) + tcos(t) 1 sen(t) −1 1
Exemplo 71 Sabe-se que L = 2 2
e L = tg . Deter-
2 (s + 1) t s
sen(at)
mine L e L[−5tsin(t)], recorrendo às desigualdades anteriores.
bt
Resposta
sin(at) a sin(at) a sin(at) a 1 −1 1 1 −1 a
L =L = L = × tg s = tg
bt b at b at b a a b s
Z T
sin(u) + ucos(u) 1 sin(u) + ucos(u)
L[−5tsin(t)] = −5L[tsin(t)] = −5L 2 du = −5 × 2 × L =
0 2 s 2
10 1
=−
s (s2 + 1)2
s
Exemplo 72 Qual é a função f (t) que satisfaz a igualdade L[f (t)] = ?
(s2 + a2 )2
Resposta
−1 s 1 −1 −2as 1 −1 d a 1
L =− L = L − = tsin(at)
(s2 + a2 )2 2a (s2 + a2 )2 2a ds s2 + a2 2a
1
(s2 + 2s + 5)L[y] − 1 =
s2 + 2s + 2
s2 + 2s + 3
L[y] =
(s2 + 2s + 2)(s2 + 2s + 5)
s2 + 2s + 3 As + B Cs + D
2 2
= 2 + 2
(s + 2s + 2)(s + 2s + 5) (s + 2s + 2) (s + 2s + 5)
s2 + 2s + 3
=
(s2 + 2s + 2)(s2 + 2s + 5)
A solução do sistema é
A=0
B=1
2
C = 0
D=1
2
Logo
1 1
s2 + 2s + 3 2 2
= +
(s2 + 2s + 2)(s2 + 2s + 5) (s2 + 2s + 2) (s2 + 2s + 5)
1 1
= e−t sin(t) + e−t sin(2t)
2 2
Através do teorema 68 prova-se que quando n → ∞, yn (t) tende para a solução y(t) do problema,
se forem satisfeitas as condições do teorema.
Uma estimativa do erro pode ser obtida por
8.4 Exercı́cios
1. Considere o seguinte problema de condição inicial
y 0 = ty
, t ∈ [0, T ]
y(0) = 1
3. A solução de
(
u0 = 10u − 10x + 1
x ≤ 0,
u(0) = 0
é a função identidade. Estude a dependência do problema em relação às condições iniciais.
4. As funções f e g são contı́nuas no intervalo [a, b] que contém t0 . Prove que a equação
diferencial y 0 = f (t)y + g(t), sujeita a y(t0 ) = y0 , tem solução única em [a, b] se f for
limitada.
a
(a) L[sen(at)] = , s>0
s2 + a2
(b) L[f 00 (t)] = s2 L[f (t)] − sf (0) − f 0 (0)
(c) L[tn ] =
n!
sn+1
, s > 0, n ∈ N
(d) L[ebt f (t)] = F (s − b), onde F (s) = L[f (t)]
s
(e) L[cosh(at)] = 2 , s > |a|
s − a2
d2
(f) L[t2 f (t)] = 2 F (s), onde F (s) = L[f (t)]
ds
7. O movimento vertical de um peso P suspenso de uma mola é descrito pela equação diferencial
1 d2 x dx
+ +x=0
4 dt2 dt
Supondo que x(0) = 4 e x0 (0) = 2, determine o desenvolvimento vertical máximo recorrendo
ao operador transformada de Laplace.
8. Uma partı́cula move-se ao longo de uma linha, sendo o seu afastamento X de um ponto fixo
0 dado por X 00 (t) + 4X 0 (t) + 5X(t) = 80sin(5t).
Encontre o afastamento da partı́cula para t > 0, sabendo que inicialmente ela se encontrava
em repouso.
11. Recorra ao método de Picard, para estimar os valores y(0.05) e z(0.05) da solução particular
de (
dy
dx
=x+z
dz
dx
= x − y2
que satisfaz as condições y(0) = 2 e z(0) = 1.
que verifique as condições do teorema 68. Os métodos numéricos para resolver este problema são
métodos que determinam aproximações y0 , y1 , . . . , yn para a solução exacta y(t0 ), y(t1 ), . . . , y(tn )nos
pontos da malha
a = t0 < t1 < · · · < tn = b.
Se o erro diminuir à medida que o tamanho do passo diminui então podemos dizer que o método
é consistente.
Definição 76 Se
Ti+1
lim max =0
h→0 0≤i≤n−1 h
145
Matemática Computacional Métodos numéricos para problemas de condição inicial
A rapidez com que o erro de truncatura tende para zero, comparada com a velocidade com que o
passo se aproxima de zero indica-nos a ordem do método.
|Ti+1 | ≤ Chp+1 , i = 0, . . . , n − 1.
e(ti ) = y(ti ) − yi
O métodos numéricos para problemas de condição inicial pode dividir-se em dois grandes
grupos: Métodos de passo simples, que se podem escrever da forma yi+1 = hΦ(ti , yi , h) e métodos
de passo múltiplo, que têm a forma yi+1 = yi + hΦ(ti , . . . , ti−k , yi , . . . , yi−k , h).
(t − t0 )2 00
y(t) = y(t0 ) + (t − t0 )y 0 (t0 ) + y (t0 ) + . . .
2!
Não é possı́vel calcular as derivadas de y explicitamente, uma vez que a solução não é conhecida,
mas podemos definir
y 0 (t) = f (t, y)
y 00 (t) = f 0 (t, y) = fy (t, y) + fy (t, y)f (t, y)
..
.
Como é obvio só podemos calcular um no finito de termos. O que nos vai limitar a precisão das
aproximações.
Se truncarmos a série de Taylor no termo de ordem k, obtemos para t = t1 = t0 + h
h2 0 hk
y(t1 ) ≈ y1 = y0 + hf (t0 , y0 ) + f (t0 , y0 ) + · · · + f (k−1) (t0 , y0 )
2 k!
José Duque 146
9.1 Métodos de passo simples Matemática Computacional
y0 = y(t0 ) = α
yn+1 = yn + hf (tn , yn )
h2 00
|y(tn ) − yn | = y (ξ)
2
em virtude do erro de truncatura da série de Taylor.
O erro cometido até ao passo n, ou seja o erro global, pode ser majorado por
hM (tn −t0 )L
|y(tn ) − yn | ≤ e −1
2L
onde L e M são calculados de forma a
∂f
|y 00 (t)| < M
(t, y) < L,
∂y
Calcule uma aproximação para a solução no ponto t = 0.5, usando o método de Euler, com passo
h = 0.1. Estime o erro global.
Resposta
t0 = 0
y0 = y(t0 ) = y(0) = 1
y(0.1) ≈ y1 = y0 + hf (t0 , y0 ) = 1 + 0.1 × f (0, 1) = 1 + 0.1 × (−0 × 1) = 1
y(0.2) ≈ y2 = y1 + hf (t1 , y1 ) = 1 + 0.1 × f (0.1, 1) = 1 + 0.1 × (−0.1 × 1) = 0.99
y(0.3) ≈ y3 = y2 + hf (t2 , y2 ) = 0.99 + 0.1 × f (0.2, 0.99) = 0.99 + 0.1 × (−0.2 × 0.99) = 0.9702
y(0.4) ≈ y4 = 0.9702 + 0.1 × f (0.3, 0.9702) = 0.9702 + 0.1 × (−0.3 × 0.9702) = 0.941094
y(0.5) ≈ y5 = 0.941094 + 0.1 × f (0.4, 0.941094) = 0.941094 + 0.1 × (−0.4 × 0.941094) = 0.90345024
Logo a aproximação pretendida é y(0.5) ≈ 0.90345024
Vamos agora calcular o erro global.
∂f
(t, y) = −t
∂y
logo para t ∈ [0, 0.5]
∂f
(t, y) ≤ 0.5 = L
∂y
Se
y 0 = −ty
então
y 00 = −y − ty 0 = −y − t(−ty) = y(t2 − 1)
|y 00 | = |y||t2 − 1| ≤ |y| ≤ M
Desta forma
0.1M h (0.5−0)0.5 i
|y(0.5) − y5 | ≤ e −1
2 × 0.5
≤ 0.02840254167M
Use o método de Taylor de ordem dois para determinar um valor aproximado y5 de y(1).
Resposta
O método de Taylor de ordem 2 tem a fórmula:
h2 0
yi+1 = yi + hf (ti , yi ) + f (ti , yi )
2
Uma vez que t0 = 0 e para ser y(1) ≈ y5 temos de dividir o intervalo [0, 1] em 5 intervalos iguais, logo
1−0
h= = 0.2
5
Dado que
y
f (t, y) =
1 + t2
y 0 × (1 + t2 ) − y × (1 + t2 )0
f 0 (t, y) =
(1 + t2 )2
1 y × 2t
= y0 2
−
1+t (1 + t2 )2
y y × 2t
= 2 2
−
(1 + t ) (1 + t2 )2
y(1 − 2t)
=
(1 + t2 )2
t0 = 0, y0 = 1
h2 0 0.22 0
y(0.2) ≈ y1 = y0 + hf (t0 , y0 ) + 2 f (t0 , y0 ) = 1 + 0.2f (0, 1) + 2 f (0, 1) =
1 1(1 − 2 × 0)
= 1 + 0.2 + 0.02 = 1.22
1 + 02 (1 + 02 )2
h2 0
y(0.4) ≈ y2 = y1 + hf (t1 , y1 ) + 2 f (t1 , y1 ) =
yi+1 = yi + hΦ(ti , yi , h)
Φ = a1 k 1 + a2 k 2 + · · · + an k n
h2
∂f ∂f
= yi + hf (ti , yi ) + (ti , yi ) + (ti , yi ) × f (ti , yi )
2 ∂t ∂y
Podemos aproximar
∂f ∂f
f (ti + p1 h, yi + q11 ki h) ≈ f (ti , yi ) + p1 h (ti , yi ) + q11 ki h (ti , yi )
∂t ∂y
1.2
k2 = f (t0 + h, y0 + hk2 ) = f (0 + 0.2, 1 + 0.2 × 1) = f (0.2, 1.2) = 1+0.22
= 1.153846154
0.2
y1 = 1 + 2 (1 + 1.153846154) = 1.215384615
h
y(0.4) ≈ y2 = y1 + (k1 + k2 )
2
onde
k1 = f (t1 , y1 ) = f (0.2, 1.215384615) = 1.168639053
k2 = f (t1 +h, y1 +hk2 ) = f (0.2+0.2, 1.215384615+0.2×1.168639053) = f (0.4, 1.449112426) = 1.24923485
0.2
y2 = 1.215384615 + 2 (1.168639053 + 1.24923485) = 1.457172006
h
y(0.6) ≈ y3 = y2 + (k1 + k2 )
2
onde
k1 = 1.256182764
k2 = 1.256182764
0.2
y2 = 1.457172006 + 2 (1.256182764 + 1.256182764) = 1.708408558
y(0.8) ≈ y4 = 1.95351739
onde
k1 = 1.256182764
k2 = 1.19490556
y(1.0) ≈ y5 = 2.182221865
onde
k1 = 1.19116914
k2 = 1.095875609
em que os αj e os βj são constantes apropriadas. Vamos supor sempre que αm 6= 0, e uma vez que,
multiplicando todos os coeficientes por uma constante, não nula, não altera a equação podemos
também supor que βm + · · · + β0 = 1.
Se βm = 0 diz-se que o método é explicito pois determina explicitamente yi+m . Se βm 6= 0 então
o método diz-se implı́cito uma vez que yi+m não pode ser obtido explicitamente. Neste caso yi+m
é solução de uma equação, geralmente não linear, da forma
1
yi+m = [h(βm fi+m + · · · + β0 fi ) − (αm−1 yi+m−1 + · · · + α0 yi )]
αm
para resolvermos esta equação o mais usual é utilizarmos o método do ponto fixo da forma
(k+1) (k)
yi+m = ϕ(yi+m )
(k)
em que ϕ(yi+m ) é definida por
(k) 1 h (k)
i
ϕ(yi+m ) = h(βm fi+m + · · · + β0 fi ) − (αm−1 yi+m−1 + · · · + α0 yi )
αm
(0)
neste caso é necessária uma estimativa inicial yi+m , que deve estar suficientemente perto da solução
para se obter uma convergência rápida. Geralmente utiliza-se um método explicito para obter essa
estimativa. Este caso vai ser estudado no capı́tulo seguinte.
Aos métodos de passo múltiplo lineares é costume associar os polinómios
ρ(x) = αm xm + · · · + α1 x + α0
σ(x) = βm xm + · · · + β1 x + β0
...
1 1
Ck = k!
(α1 + 2k α2 + · · · + mk αm − (k−1)!
(β1 + 2k−1 β2 + · · · + mk−1 βm ), k = 2, 3, . . .
C0 = C1 = · · · = Cp = 0, Cp+1 6= 0
Nas condições do teorema anterior o erro de truncatura pode ser expresso por
(x − xi )2 00 (x − xi )3 000
y(x) = y(xi ) + (x − xi )y 0 (xi ) + y (xi ) + y (ξ)
2 6
Substituindo por xi + h e xi − h vêm os polinómios
h2 00 h3
y(xi + h) = y(xi ) + hy 0 (xi ) + y (xi ) + y 000 (ξ1 ) (9.2)
2 6
h2 00 h3
y(xi − h) = y(xi ) − hy 0 (xi ) + y (xi ) − y 000 (ξ2 ) (9.3)
2 6
A (9.2) subtraı́mos (9.3) e fica
h3 000
y(xi + h) − y(xi − h) = 2hy 0 (xi ) + (y (ξ1 ) + y 000 (ξ2 ))
6
que é equivalente a
h3 000
y(xi + h) = y(xi − h) + 2hy 0 (xi ) +
(y (ξ1 ) + y 000 (ξ2 )).
6
Se retirarmos o termo do resto e considerarmos y(xi − h) ≈ yi−1 e y 0 (xi ) = f (xi , yi ) obtemos
como querı́amos. Para verificarmos que é de ordem 2 basta pegar no resto e verificar que
h3 000
Th = (y (ξ1 ) + y 000 (ξ2 ))
6
pelo teorema de Bolzano existe ξ tal que
1
y 000 (ξ) = (y 000 (ξ1 ) + y 000 (ξ2 ))
2
logo
h3 000
Th =y (ξ)
3
Admitindo que y 000 é continua podemos afirmar que
ky 000 (ξ)k 3
kTh k = h ≤ Ch3
3
Então o método tem ordem 2.
Resposta
i.
Os dados do problema são
h
y(1.2) ≈ y1 = y0 + (k1 + 2k2 + 2k3 + k4 )
6
onde
k1 = f (t0 , y0 ) = f (1, 2) = −1 × 22 = −4
k2 = f (t0 + h2 , y0 + h2 k1 ) = f (1 + 0.1, 2 + 0.1 × (−4)) = f (1.1, 1.6) = −1.1 × 1.62 = −2.816
k3 = f (t0 + h2 , y0 + h2 k2 ) = f (1 + 0.1, 2 + 0.1 × (−2.816)) = f (1.1, 1.7184) = −3.2481884
k4 = f (t0 + h, y0 + hk3 ) = f (1 + 0.2, 2 + 0.2 × (−3.2481884)) = f (1.2, 1.35036232) = −2.1881741
0.2
y1 = 2 + 6 (−4 + 2 × (−2.816) + 2 × (−3.2481884) − 2.1881741) = 1.3894483
As restantes iterações estão resumidas na seguinte tabela
ti yi k1 k2 k3 k4
1.000 2.0000000
1.200 1.3894483 −4.0000000 −2.8160000 −3.2481884 −2.1881741
1.400 1.0208911 −2.3166799 −1.7425918 −1.9196900 −1.4154714
1.600 0.7816008 −1.4591062 −1.1483864 −1.2313967 −0.9600375
1.800 0.6175314 −0.9774397 −0.7950223 −0.8380021 −0.6785937
2.000 0.5001755 −0.6864211 −0.5724310 −0.5964537 −0.4964875
2
A solução exacta é y(t) = t2
, então o erro em t = 2 é
Resposta
ii.
Para aplicarmos o método de Adams-Bashforth temos de saber y0 , y1 , y2 e y3 .
Como h = 0.2,y0 ≈ y(1), y1 ≈ y(1.2), y2 ≈ y(1.4) e y3 ≈ y(1.6).
Pela alı́nea anterior podemos afirmar que y0 = 2, y1 = 1.3894483, y2 = 1.0208911 e y3 = 0.7816008.
Então a primeira estimativa é
h
y4 = y 3 + (55f (t3 , y3 ) − 59f (t2 , y2 ) + 37f (t1 , y1 ) − 9f (t0 , y0 ))
24
f (t0 , y0 ) = f (1, 2) = −1 × 22 = −4
f (t1 , y1 ) = f (1.2, 1.3894483) = −1.2 × 1.38944832 = −2.316679894
f (t2 , y2 ) = f (1.4, 1.0208911) = −1.4 × 1.02089112 = −1.459106093
f (t3 , y3 ) = f (1.6, 0.7816008) = −1.6 × 0.78160082 = −0.9774397469
0.2
y4 = 0.7816008 + 24 (55 × (−0.9774397469) − 59 × (−1.459106093)+
+ 37 × (−2.316679894) − 9 × (−4)) = 0.6366919
h
y5 = y4 + (55f (t4 , y4 ) − 59f (t3 , y3 ) + 37f (t2 , y2 ) − 9f (t1 , y1 ))
24
os valores de f (t1 , y1 ), f (t2 , y2 ), f (t3 , y3 ) já foram calculados falta só o de
f (t4 , y4 ) = f (1.8, 0.6366919) = −0.72967784
Logo
0.2
y5 = 0.6366919 + 24 (55 × (−0.72967784) − 59 × (−0.9774397469)+
+ 37 × (−1.459106093) − 9 × (−2.316679894)) = 0.5066906716
2
Uma vez que a solução exacta é y(t) = t2
, o erro em t = 2 é
Podemos observar que é algo superior ao erro do método de Runge-Kutta. Para melhorarmos este valor
costuma utilizar-se outro método em conjunto com este.
Resposta
iii.
(1) h (0)
y4 = y3 + (9f (t4 , y4 ) + 19f (t3 , y3 ) − 5f (t2 , y2 ) + f (t1 , y1 ))
24
Já calculámos f (t1 , y1 ), f (t2 , y2 ), f (t3 , y3 ) e
(0)
f (t4 , y4 ) = f (1.8, 0.6366919) = −0.72967784
(1) h
y4 = 0.7816008 + 24 (9 × (−0.72967784) + 19 × (−0.9774397469) − 5 × (−1.459106093)+
+ (−2.316679894)) = 0.6136041
O erro desta nova estimativa é
(1) (0)
|y4 − y4 | = |0.6136041 − 0.6366919| = 0.0230878
Como não é dita nenhuma tolerância podemos considerar que este valor é bom e passamos ao seguinte
considerando y4 = 0.6136041.
h
y5 = y4 + (55f (t4 , t4 ) − 59f (t3 , y3 ) + 37f (t2 , y2 ) − 9f (t1 , y1 ))
24
Só nos falta calcular
f (t4 , t4 ) = f (1.8, 0.6136041) = −0.677718
0.2
y5 = 0.6136041 + 24 (55 × (−0.677718) − 59 × (−0.9774397469) + 37 × (−1.459106093)−
− 9 × (−2.316679894)) = 0.5074178
Aplicando o corrector
(1) h (0)
y5 = y4 + (9f (t5 , y5 ) + 19f (t4 , y4 ) − 5f (t3 , y3 ) + f (t2 , y2 ))
24
(0)
f (t5 , y5 ) = f (2.0, 0.5074178) = −0.51494565
(1) h
y5 = 0.6136041 + 24 (9 × (−0.51494565) + 19 × (−0.677718) − 5 × (−0.9774397469)+
+ (−1.459106093)) = 0.4962453
O erro é estimado por
(1) (0)
|y5 − y5 | = |0.4962453 − 0.5074178| = 0.0111725
Mais uma vez como não é dita nenhuma tolerância podemos considerar que este valor é bom. Logo
y(2) ≈ 0.4962453
2
Já sabemos que a solução exacta é y(t) = t2
, então o erro em t = 2 é
Exemplo 86 O sistema
x0 (t) = 2x(t) − 3y(t)
y 0 (t) = y(t) − 2x(t), x(0) = 8, y(0) = 3
2. Defina uma terceira estimativa da solução em t = 0.1, recorrendo às aproximações já conhe-
cidas, obtidas na alı́nea anterior.
Resposta
Para melhorarmos a estimativa podemos utilizar a fórmula
2v yi,h − yi/2,2h
yi∗ =
2v − 1
21 × 8.8325 − 8.7
x∗ = = 8.965
21 − 1
21 × 1.6325 − 1.7
y∗ = = 1.565
21 − 1
Então x(0.1) ≈ 8.965 e y(0.1) ≈ 1.565.
3. Calcule o erro absoluto da estimativa da solução em t = 0.1 obtida com o passo h = 0.05.
Resposta
A fórmula para o erro que podemos utilizar é semelhante á fórmula utilizada na alı́nea anterior.
yi/2,2h − yi,h
Ea (yi,h ) ≈
1 − 2v
Logo
8.7 − 8.8325 1.7 − 1.6325
Ea (8.8325) ≈ = 0.1325 , e Ea (1.6325) ≈ = 0.0675
1 − 21 1 − 21
Exemplo 87 Use o método de Runge-Kutta de 2a ordem, com h = 0.05 para estimar os valores
y(0.1) e x(0.1) da solução particular de
x0 (t) = 2t − 3y
y 0 (t) = t − x2 , x(0) = 2, y(0) = 1
Resposta
O método de Runge-Kutta de 2a ordem adaptado a este problema fica
(
xi+1 = xi + h2 (k11 + k21 ), k11 = f1 (ti , xi , yi ), k21 = f1 (ti + h, xi + hk11 , yi + hk12 )
yi+1 = yi + h2 (k12 + k22 ), k12 = f2 (ti , xi , yi ), k22 = f2 (ti + h, xi + hk11 , yi + hk12 )
(
x1 = x0 + h2 (k11 + k21 )
y1 = y0 + h2 (k12 + k22 )
k11 = f1 (t0 , x0 , y0 ) = f1 (0, 2, 1) = 2 × 0 − 3 × 1 = −3
k12 = f2 (t0 , x0 , y0 ) = f2 (0, 2, 1) = 0 − 22 = −4
k21 = f1 (t0 + h, x0 + hk11 , y0 + hk12 ) = f1 (0 + 0.05, 2 + 0.05 × (−3), 1 + 0.05 × (−4)) =
= f1 (0.05, 1.85, 0.8) = 2 × 0.05 − 3 × 0.8 = −2.3
k22 = f2 (t0 + h, x0 + hk11 , y0 + hk12 ) = f2 (0 + 0.05, 2 + 0.05 × (−3), 1 + 0.05 × (−4)) =
= f2 (0.05, 1.85, 0.8) = 0.05 − 1.852 = −3.3725
(
0.05
x1 = 2 + 2 (−3 − 2.3) = 1.8675
0.05
y1 = 1 + 2 (−4 − 3.3725) = 0.8156875
(
x2 = x1 + h2 (k11 + k21 )
y2 = y1 + h2 (k12 + k22 )
k11 = f1 (t1 , x1 , y1 ) = f1 (0.05, 1.8675, 0.8156875) = 2 × 0.05 − 3 × 0.8156875 = −2.3470625
k12 = f2 (t1 , x1 , y1 ) = f2 (0.05, 1.8675, 0.8156875) = 0.05 − 1.86752 = −3.43755625
k21 = f1 (t1 + h, x1 + hk11 , y1 + hk12 ) =
= f1 (0.05 + 0.05, 1.8675 + 0.05 × (−0.19470625), 0.8156875 + 0.05 × (−2.755625)) =
= f1 (0.1, 1.857764688, 0.67790625) = 2 × 0.1 − 3 × 0.67790625 = −1.731429063
k22 = f2 (t1 + h, x1 + hk11 , y1 + hk12 ) =
= f2 (0.05 + 0.05, 1.8675 + 0.05 × (−0.19470625), 0.8156875 + 0.05 × (−2.755625)) =
= f2 (0.1, 1.857764688, 0.67790625) = 0.1 − 1.8577646882 = −2.963614084
(
0.05
x2 = 1.8675 + 2 (−0.19470625 − 1.83371875) = 1.779499865
y2 = 0.8156875 + 0.05
2 (−2.755625 − 3.351289636) = 0.6556582417
Seja
y (n) (t) = f (t, y, y 0 (t), y 00 (t), . . . , y (n−1) )
Podemos ir assumindo como novas variáveis as diversas derivadas de y e obter o seguinte sistema
de equações diferenciais de 1a ordem
0
y (t) = y1 (t)
y 0 (t) = f1 (t, y, y1 , y2 , . . . , yn−2 )
y 00 (t) = y 0 (t) = y2 (t)
y 0 (t) = f2 (t, y, y1 , y2 , . . . , yn−2 )
1 1
. ⇔ .
..
..
y (n) = y 0 = f (t, y, y , y , . . . , y )
y 0 = f (t, y, y , y , . . . , y )
n−1 1 2 n−2 n−1 1 2 n−2
h2 0
Y (i+1) = Y (i) + hF (ti , Y (i) ) + F (ti , Y (i) )
2
então neste caso
yi+1 = yi + hf1 (ti , yi , xi ) + h2 f 0 (ti , yi , xi )
2 1
x h2 0
i+1 = xi + hf2 (ti , yi , xi ) + 2 f2 (ti , yi , xi )
9.6 Exercı́cios
1. Considere o problema de condição inicial
y 0 = −2y
.
y(0) = 1
2. Seja
y 0 = ex y 2 + x
, 1 ≤ x ≤ 4.
y(1) = 3
(b) Obtenha um limite superior para o erro cometido sabendo que |y(x)| ≤ M, ∀x ∈ [1, 4].
(c) Aplique o método de Euler regressivo ( ou implicito ) para obter outra estimativa do
mesmo valor.
(a) Calcule o valor de h que garante kx(2) − xh k ≤ 0.005, onde xh representa a estimativa
de x(2) obtida com o método de Euler com passo h.
h
11. Determine a ordem do método yi+4 = yi+3 + 24
(55fi+3 − 59fi+2 + 37fi+1 − 9fi ) e comente
sobre a sua estabilidade zero.
12. Deduza um método linear com dois passos, explı́cito e com ordem máxima.
13. Considere o método yi+2 − (1 − a)yi+1 + ayi = 0.5h((3 − a)fi+1 − (1 + a)fi ). Ilustre o efeito da
estabilidade zero quando se usa o método com (i) a = 0, (ii) a = −5, no cálculo numérico
√
da solução do problema de condição inicial y 0 = 4x y, com 0 ≤ x ≤ 2 e y(0) = 1.
em t = 2 com h = 0.1.
17. Repita o exercı́cio anterior usando o método estimador-corrector de Adams de quarta ordem,
sabendo que y(0) = 1, y(0.1) = 1.1055, y(0.2) = 1.2242 e y(0.3) = 1.3596.
Use os métodos indicados para calcular a sua solução numérica em t = 0.5 com h = 0.1.
(a) Estimador: Euler; Corrector: Euler regressivo; critério de paragem Er < 0.1.
(b) Estimador: Euler; Corrector: trapézio; critério de paragem Er < 0.05.
(c) Estimador: Runge-Kutta de 2a ordem; Corrector: Simpson; critério de paragem Er <
0.01.
(d) Estimador: Adams-Bashforth de 3a ordem, sabemdo que y(0.1) = 1.11, y(0.2) = 1.22
e y(0.3) = 1.36; Corrector: Adams-Moulton de 3a ordem.
Sabendo que y(1.25) = 2.298, y(1.5) = 2.827 e y(1.75) = 3.609, calcule uma aproximação
de y(2.25) aplicando o método estimador corrector de Adams de 4a ordem, com critério de
paragem Ea < 0.5.
20. A variação de massa para um determinado quı́mico num reactor pode ser escrita por
dc
V = F − Qc − KV c2
dt
onde V =volume (10m2 ), c =concentração, F = taxa de alimentação (200g/min), Q =taxa
de fluxo (1m3 /min) e K =razão da reacção de 2a ordem (0.1m3 /g/min).
se c(0) = 0 resolva a equação até a concentração atingir um nı́vel estável.
23. Num determinado habitat a iteração predador/presa pode ser modelada por
(
dx
dt
= ax − bxy
dy
dt
= −cy + dxy
onde x e y são o no de predadores e presas respectivamente, a é taxa de crescimento das
presas, c é a taxa de mortalidade dos predadores, b e d representam a capacidade dos
predadores caçarem e das presas de escapar.
Supondo que os parâmetros são a = 1.2, b = 0.6, c = 0.8, d = 0.3 e que inicialmente havia
20 predadores e 100 presas, calcule o no de predadores ao fim de 10 anos.
ca = 500, cb = 0, cc = 500
26. Para os problemas de condições iniciais seguintes determine um valor aproximado de y(0.5)
aplicando os métodos de Euler e Taylor de ordem 2.
[2] R.I. Burden & J.D. Faires , ”Numerical Analysis 7e”, PWS-Kent, Boston, 2001.
[3] J.C. Butcher , ”The Numerical Analysis of Ordinary Differential Equations”, John Wiley &
Sons, Auckland, 1987.
[4] S. C. Chapra & R. P. Canale. ”Numerical Methods for Engineers 3a Ed”, Mc Graw-Hill, NY.
[5] S.D. Conte & C. de Boor , ”Elementary Numerical Analysis”, Mc Graw-Hill, NY, 1980.
[7] E. Hairer , S.P. Nørsett & G. Wanner , ”Solving Ordinary Differential Equations I ”, Springer
Series in Comput. Mathematics, Vol. 8, Springer-Verlag, Heidelberg, 1987.
[8] E. Hairer & G. Wanner , ”Solving Ordinary Differential Equations II ”, Springer Series in
Comput. Mathematics, Vol. 14, Springer-Verlag, Heidelberg, 1991.
[9] J.D. Lambert, ”Numerical Methods for Ordinary Differential Systems”, John Wiley & Sons,
Chichester, 1991.
165
Matemática Computacional BIBLIOGRAFIA
Anexos
A.1 Formulário
• Mudança para a Base Decimal
k
X
n = ∗(ck ck−1 . . . c0 , c−1 . . . c−p )b = ∗ c i bi , ci ∈ {0, 1, ..., b − 1}
i=−p
|x − x̄|
Ea (x̄) = |x − x̄| e Er (x̄) =
|x|
• Polinómio de Taylor
(x − x0 )2 00 (x − x0 )3 (3) (x − x0 )n (n)
Pn (x) = f (x0 )+(x−x0 )f 0 (x0 )+ f (x0 )+ f (x0 )+· · ·+ f (x0 )
2 3! n!
(x − x0 )(n+1) (n+1)
Rn (x) = f (ξ) ξ ∈ (x, x0 )
(n + 1)!
• Diferenciação numérica
f 0 (xi ) = f 00 (xi ) =
1
h
[f (xi+1 ) − f (xi )] − h2 f 00 (ξ) 1
h2
[f (xi ) − 2f (xi+1 ) + f (xi+2 )] − hf 000 (ξ)
h2 (4)
1
h
[f (xi ) − f (xi−1 )] + h2 f 00 (ξ) 1
h2
[f (xi−1 ) − 2f (xi ) + f (xi+1 )] − 12
f (ξ)
2
1
2h
[−3f (xi ) + 4f (xi+1 ) − f (xi+2 )] + h3 f 000 (ξ) 1
h2
[f (xi−2 ) 000
− 2f (xi−1 ) + f (xi )] + hf (ξ)
2
1
2h
[−f (xi−1 ) + f (xi+1 )] − h6 f 000 (ξ)
2
1
2h
[f (xi−2 ) − 4f (xi−1 ) + 3f (xi )] + h3 f 000 (ξ)
xi − xi−1 = h > 0, i = 1, 2, . . .
167
Matemática Computacional Anexos
• Condicionamento
af 0 (a)
Cond(f, a) = , cond(A) = kAk.kA−1 k
f (a)
– Ponto fixo x = G(x) xk+1 = G(xk ), |G0 (x)| < 1, ∀x ∈ [a, b], k = 0, 1, . . .
– Muller
2f (xk )
xk+1 = xk − p , w = fk−1,k +fk−2,k −fk−2,k−1 , k = 2, 3, . . .
w ±∗ 2
w − 4fk−2,k−1,k f (xk )
• Extremos de Funções
√
5−1
– Razão de ouro φ =
2
Ik = [ak , bk ], ck = bk − φ(bk − ak ) , dk = ak + φ(bk − ak ), k = 0, 1, . . .
M aximizar M inimizar
f (ck ) < f (dk ) ⇒ Ik+1 = [ck , bk ] f (ck ) < f (dk ) ⇒ Ik+1 = [ak , dk ]
f (ck ) > f (dk ) ⇒ Ik+1 = [ak , dk ] f (ck ) > f (dk ) ⇒ Ik+1 = [ck , bk ]
Ea (xk ) ≤ (1 − φ)(bk − ak )
– Interpolação quadrática
f (xk−2 )(x2k−1 − x2k ) + f (xk−1 )(x2k − x2k−2 ) + f (xk )(x2k−2 − x2k−1 )
xk+1 = k = 2, 3, . . .
2f (xk−2 )(xk−1 − xk ) + 2f (xk−1 )(xk − xk−2 ) + 2f (xk )(xk−2 − xk−1 )
• Sistemas de equações lineares Ax = b
– Cholesky A = U T U
v
u j−1
√ a1j u X
u11 = a11 , u1j = , ujj = tajj − u2kj , j = 2, . . . , n
u11 k=1
i−1
!
1 X
uij = aij − uki ukj , i = 2, . . . , n, j = i + 1, . . . , n uij = 0, i > j
uii k=1
– Normas
p
kxk1 = |x1 |+· · ·+|xn |, kxk2 = |x1 |2 + · · · + |xn |2 , kxk∞ = max {|x1 |, . . . , |xn |}
i=1,...,n
v
n n
u n 2
X X uX
kAk1 = max |aij |; kAk∞ = max |aij |; kAkE = t aij
j=1,...,n i=1,...,n
i=1 j=1 i,j=1
– Jacobi A = D + L + U
n
(k+1) bi X aij (k)
xi = − x , i = 1, . . . , n k = 0, 1, . . .
aii j=1
aii j
j6=i
– Gauss-Seidel A = D + L + U
i−1 n
(k+1) bi X aij (k+1) X aij (k)
xi = − xj − x , i = 1, . . . n k = 0, 1, . . .
aii j=1 aii a j
j=i+1 ii
– Newton
(k) (k) (k+1) (k) k ∂fi (k)
JF (x )d = −F (x ), x =x + d, JF (x ) = (x ) , k = 0, 1, . . .
∂xj
– Polinómio de Lagrange
n n
X Y x − xi
Pn (x) = f (xk )Lk (x), Lk (x) =
k=0 i=0,i6=k
xk − xi
– Polinómio de Newton
Diferenças Divididas
f (xj ) − f (xi )
* ordem 1 : fi,j = f [xi , xj ] =
xj − xi
fi+1,...,i+j − fi,...,i+j−1
* ordem j : fi,...,i+j = f [xi , . . . , xi+j ] =
xi+j − xi
n
X
Pn (x) = f (x0 ) + f0,...,k (x − x0 ) . . . (x − xk−1 ),
k=1
Se f (x) é desconhecida:
|f (x) − Pn (x)| ≤ M |(x − x0 ) . . . (x − xn )| onde M é o maior módulo das diferenças
divididas de ordem n + 1 e x ∈ (x0 , xn ).
– Polinómio de Hermite
· · · + f0,0,...,n,n (x − x0 )2 . . . (x − xn−1 )2 (x − xn )
fi,i = f 0 (xi )
hj = xj+1 − xj , aj = f (xj )
cj+1 − cj
bj = fj,j+1 − (2cj + cj+1 )hj /3, dj =
3hj
1 0 0 0 ... 0 0 c0 0
h0 2(h0 + h1 ) h1 0 ... 0 0 c1
3(f21 − f10 )
0 h1 2(h1 + h2 ) h2 . . . 0 0 c2 3(f32 − f21 )
=
.. .. .. .. . . .. .. .. ..
. . . . . . . .
.
0 0 0 0 ... 2(hn−2 + hn−1 ) hn−1 n,n−1 − fn−1,n−2 )
c 3(f
n−1
0 0 0 0 ... 0 1 cn 0
m
! 12 12
Z b
1 X
2 1 2
– Erro padrão (f (xj ) − pn (xj )) ou (f (x) − pn (x)) dx
m j=1
b−a a
• Derivadas • Integrais
f e g são funções e k é uma constante real. Z Z Z
0 0 0
(f + g) = f + g f + g dx = f dx + g dx
(f g)0 = f 0 g + f g 0
Z Z
kf dx = k f dx
0 0 0
(g(f )) = g (f )f Z Z
0
f g dx = f g − f g 0 dx
(kf )0 = kf 0
0
f 0g − f g0
Z Z
f
= f (x) dx = f (g(t))g 0 (t) dt
g g2
k0 = 0
Z
k dx = kx + C
x0 = 1
f k+1
Z
0 k
f f dx = + C, k 6= −1
(f k )0 = kf k−1 f 0 k+1
f0
Z
f 0 f 0
(e ) = e f dx = ln(|f |) + C
f
(af )0 = af ln(a)f 0 Z
f 0 ef dx = ef + C
(f g )0 = gf g−1 f 0 + f g ln(f )g 0
af
Z
f 0
0
f 0 af dx = + C, a ∈]0, +∞[\{−1}
(ln(f )) = ln(a)
f Z
0
f f 0 cos(f ) dx = sin(f ) + C
(loga (f ))0 =
f ln(a) Z
0 0
(sin(f )) = cos(f )f f 0 sin(f ) dx = −cos(f ) + C
(b − a)
– Regras compostas de intervalo fechado h= , xi = a + hi, ξ ∈ (a, b)
n
n−1 i b−a
hh X
∗ Trapézio I = f (a) + 2 f (xj ) + f (b) − h2 f 00 (ξ),
2 j=1
12
(n/2)−1 (n/2) i b−a
hh X X
∗ Simpson I = f (a) + 2 f (x2j ) + 4 f (x2j−1 ) + f (b) − h4 f (4) (ξ)
3 j=1 j=1
180
– Regras de Newton-Cotes de intervalo aberto
3h 3h3 00 b−a
∗ I= [f (x1 ) + f (x2 )] + f (ξ), h =
2 4 3
4h 14h5 (4) (b − a)
∗ I= [2f (x1 ) − f (x2 ) + 2f (x3 )] + f (ξ), h=
3 45 4
– Romberg I ≈ Rn,n
Rm,1 é obtido utilizando o método do trapézio com 2m−1 sub-intervalos e
4j Rm+1,j − Rm,j
Rm+1,j+1 = , j = 1, . . . , m , m = 1, . . . , n−1 , e Ea ≈ |Rn−1,n−1 −Rn,n |
4j − 1
– Gauss com n pontos
Z 1 n
X 22n+1 (n!)4 g (2n) (ξ)
g(x) dx = ci g(wi ) +
−1 i=1
(2n + 1)[(2n)!]2 (2n)!
onde
n pesos ci nós wi
2 c1 = c2 = 1 w1 = −w2 = − √13
q
3 c1 = c3 = 95 , c2 = 8
9
w1 = −w3 = − 35 , w2 = 0
4 c1 = c4 = 0.347854845 w1 = −w4 = −0.861136312
c2 = c3 = 0.652145155 w2 = −w3 = −0.339981044
5 c1 = c5 = 0.236926885 w1 = −w5 = −0.906179846
c2 = c4 = 0.478628670, c3 = 0.568888889 w2 = −w4 = −0.538469310, w3 = 0
• Transformada de Laplace
→ Transformada de Laplace → Transformada de Laplace
Z ∞
1
1 → , s>0 f (x) → L[f (x)] = F (s) = e−sx f (x) dx
s 0
xk
k!
→ k+1 , s > 0, k ∈
s
N xk f (x)
dk
→ (−1)k k F (s)
ds
1 s F (s) − sk−1 f (0) − sk−2 f 0 (0) − . . .
k
eax → , s>a f (k) (x) →
s−a · · · − f (k−1) (0)
s Rx 1
cos(ax) → 2 , s>0 0 f (u) du → s F (s)
s + a2
a 1 s
sin(ax) → 2 , s>0 f (ax) → F
s + a2 a a
s
cosh(ax) → 2 , s > |a| eax f (x) → F (s − a)
s − a2
a
sinh(ax) → 2 , s > |a| →
s − a2