Você está na página 1de 122

2021/2022 Programação e Métodos Numéricos

Licenciatura em Engenharia Química


Departamento de Engenharia Química
Faculdade de Engenharia
Universidade do Porto
Métodos Numéricos
Quando?
Equações Não-Lineares
Determinar a solução de
Exemplo:

Exemplo:

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 2


Métodos Numéricos
Quando?
Sistemas Lineares
Determinar a solução de

Exemplo:
Regra de Cramer
n muito grande ??
Exemplo:
Método de Gauss

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 3


Métodos Numéricos
Quando?
Integração
Determinar

Exemplo:

Exemplo:

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 4


Métodos Numéricos

São usados quando não existe solução analítica (ou é complicada de obter)

Problemas matemáticos são formulados de modo a poderem ser resolvidos recorrendo apenas a operações aritméticas

Instrumentos eficientes e poderosos de resolução de problemas

Envolvem um grande número de cálculos repetitivos

Dão origem a soluções aproximadas

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 5


Aproximações e Erros
Série de Taylor
Aproximação da função f(x) centrada no ponto a

em que

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 6


Aproximações e Erros
Série de Taylor
Aproximação da função f(x) centrada no ponto a

em que

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 7


Aproximações e Erros
Série de Taylor
Exemplo: calcular exp(x) usando a respectiva Série de Taylor centrada em 0.

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 8


Aproximações e Erros
Erros
Erro verdadeiro (true)
diferença entre o valor verdadeiro, , e o valor aproximado,

erro absoluto verdadeiro

erro relativo verdadeiro

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 9


Aproximações e Erros
Erros
Erro verdadeiro (true)
diferença entre o valor verdadeiro, , e o valor aproximado,

erro absoluto verdadeiro

erro relativo verdadeiro

Erro aproximado
diferença entre dois valores sucessivos aproximados

erro absoluto verdadeiro

erro relativo verdadeiro

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 10


Aproximações e Erros
Série de Taylor
Exemplo: calcular exp(x) usando a respectiva Série de Taylor centrada em 0.

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 11


Aproximações e Erros
Série de Taylor
Exemplo: calcular exp(x) usando a respectiva Série de Taylor centrada em 0.

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 12


Aproximações e Erros
Erros
Erros de truncatura
resultam do uso de fórmulas aproximadas
Erro de arredondamento
resultam do uso de aproximações aritméticas de precisão finita
Exemplo: Para n =100 000 determinar

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 13


Aproximações e Erros
Erros
Erro numérico total
erros de truncatura + erros de arredondamento
erros de truncatura diminuem com n e/ou passo
erros de arredondamento aumentam com n e/ou passo

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 14


Aproximações e Erros
Algarismos significativos
Número de algarismos exactos mais um estimado
Como determinar?

Seja

Os n primeiros algarismos são exactos se

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 15


Aproximações e Erros
Algarismos significativos
Número de algarismos exactos mais um estimado
Como determinar?

Seja
Os n primeiros algarismos são exactos se

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 16


Aproximações e Erros
Algarismos significativos
Número de algarismos exactos mais um estimado
Como determinar?

Seja
Os n primeiros algarismos são exactos se
Cálculo de n de ns

Cálculo de m

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 17


Aproximações e Erros
Algarismos significativos
Número de algarismos exactos mais um estimado
Como determinar?

Seja
Os n primeiros algarismos são exactos se

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 18


Aproximações e Erros
Algarismos significativos
Escrever um valor x com ns algarismos significativos usando a função Round

x = Round(x,ns)

x = Round(x,ns)

y = Round(y,ns)

y = Round(y,ns)

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 19


Aproximações e Erros
Algarismos significativos
Escrever um valor x com ns algarismos significativos usando a função Round

y = Round(y,ns)

Algoritmo

y = Round(y,ns)

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 20


Aproximações e Erros
Algarismos significativos
Escrever um valor x com ns algarismos significativos usando a função Round
Function x_ap(x As Double, erro As Double) As Double
' Dado um valor aproximado, x, e o respectivo erro relativo, erro
' devolver o valor de x arredondado com o número de algarismos significativos apropriados

Dim m As Integer, ns As Integer

' maior expoente de 10 de x


m = Int(log10(Abs(x)))

' número de algarismos significativos


ns = Int(1 + m - log10(2 * erro * Abs(x))) + 1

' x arredondado
x_ap = Round(x * 10 ^ -(m + 1), ns) * 10 ^ (m + 1)

End Function

Function log10(x As Double) As Double


' Determina o logaritmo decimal de x
log10 = Log(x) / Log(10)
End Function

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 21


Equações Não-Lineares
Determinar a solução de
f(x) = 0
em que f(x) é qualquer função não-linear em x
raízes da equação - valores de x que satisfazem a igualdade
as funções podem ser de dois tipos
transcendentais f(x) = ex - x f(x) = tan x - tanh x
funções polinomiais f(x) = anxn + an-1xn-1 + ... + a1x + a0

Métodos:
gráfico
fechados - Bissecção, Falsa Posição
abertos - Newton, Secante, Ponto Fixo

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 22


Equações Não-Lineares
Método Gráfico
Fazer o gráfico da função e por inspecção visual obter o valor xr para o qual a função corta o eixo dos xx

xr = 0.17

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 23


Equações Não-Lineares
Método Gráfico
Impreciso; muitos cálculos
Pode ser útil para:
obter uma primeira aproximação
previsão e prevenção de eventuais problemas
escolha do método numérico
r=0 r=1 r=2

r=3 múltipla

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 24


Equações Não-Lineares
Métodos Fechados
Seja f(x) uma função contínua no intervalo I = [xl, xu].

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 25


Equações Não-Lineares
Métodos Fechados
Seja f(x) uma função contínua no intervalo I = [xl, xu].

f(xl)

xl xu xu
xl
f(xu)
nenhuma raiz no intervalo f(xl) f(xu) uma raiz no intervalo
f(xl) f(xu) > 0 f(xl) f(xu) < 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 26


Equações Não-Lineares
Métodos Fechados
Seja f(x) uma função contínua no intervalo I = [xl, xu].

xl xu

duas raízes no intervalo


f(xl)
f(xu) f(xl) f(xu) > 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 27


Equações Não-Lineares
Métodos Fechados
Seja f(x) uma função contínua no intervalo I = [xl, xu].

f(xl)

xu
xl
três raízes no intervalo
f(xu) f(x ) f(x ) < 0
l u

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 28


Equações Não-Lineares
Métodos Fechados
Seja f(x) uma função contínua no intervalo I = [xl, xu].

Se os sinais de f(xl) e f(xu) forem diferentes, isto é

f(xl) f(xu) < 0

então existe pelo menos uma raiz nesse intervalo.

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 29


Equações Não-Lineares
Métodos Fechados

Método da Bissecção
Dividir o intervalo a meio sucessivamente até encontrar a solução

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 30


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Dada a função f(x)
1. escolher um intervalo I = [xl, xu]
em que a função seja contínua
e tal que f(xl) f(xu) < 0
1. determinar xr = 0.5(xl + xu)
2. determinar f(xr)
3. definir um novo intervalo
4. se f(xl) f(xr) > 0
pôr xl = xr xu = xu
xl xr

f(xl)

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 31


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Dada a função f(x)
1. escolher um intervalo I = [xl, xu]
em que a função seja contínua
e tal que f(xl) f(xu) < 0
1. determinar xr = 0.5(xl + xu)
2. determinar f(xr)
3. definir um novo intervalo
4. se f(xl) f(xr) > 0
pôr xl = xr xu = xu
xl xr

f(xl)

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 32


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Dada a função f(x)
1. escolher um intervalo I = [xl, xu]
em que a função seja contínua
e tal que f(xl) f(xu) < 0
1. determinar xr = 0.5(xl + xu)
2. determinar f(xr)
3. definir um novo intervalo
4. se f(xl) f(xr) > 0
pôr xl = xr xu = xu
xI

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 33


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Dada a função f(x)
1. escolher um intervalo I = [xl, xu]
em que a função seja contínua
e tal que f(xl) f(xu) < 0
1. determinar xr = 0.5(xl + xu)
2. determinar f(xr)
3. definir um novo intervalo
4. se f(xl) f(xr) > 0
pôr xl = xr xu = xu
se f(xl) f(xr) < 0 xI
pôr xu = xr xl = xl
5. repetir xr

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 34


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Dada a função f(x)
1. escolher um intervalo I = [xl, xu]
em que a função seja contínua
e tal que f(xl) f(xu) < 0
1. determinar xr = 0.5(xl + xu)
2. determinar f(xr)
3. definir um novo intervalo
4. se f(xl) f(xr) > 0
pôr xl = xr xu = xu
se f(xl) f(xr) < 0 xI
pôr xu = xr xl = xl
5. repetir xu

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 35


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Dada a função f(x)
1. escolher um intervalo I = [xl, xu]
em que a função seja contínua
e tal que f(xl) f(xu) < 0
1. determinar xr = 0.5(xl + xu)
2. determinar f(xr)
3. definir um novo intervalo
4. se f(xl) f(xr) > 0
pôr xl = xr xu = xu
se f(xl) f(xr) < 0 xI xr
pôr xu = xr xl = xl
5. Repetir até que xu
f(xr) ≈ 0
xr é a raiz

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 36


Equações Não-Lineares
Métodos Fechados Exemplo: determinar uma raiz de x(x - 2) = 0 xverdadeiro = 2
Método da Bissecção
xl f(xl) xu f(xu) xr f(xr) erro
1 -1 2.5 1.25 1.75 -0.4375 0.25
1.75 -0.4375 2.5 1.25 2.125 0.2656 -0.13
1.75 -0.4375 2.125 0.2656 1.9375 -0.1211 0.063
1.9375 -0.1211 2.125 0.2656 2.0313 0.0635 -0.031
1.9375 -0.1211 2.0313 0.0635 1.9844 -0.031 0.016
1.9844 -0.031 2.0313 0.0635 2.0078 0.0157 -0.008
1.9844 -0.031 2.0078 0.0157 1.9961 -0.0078 0.004
1.9961 -0.0078 2.0078 0.0157 2.002 0.0039 -0.002
1.9961 -0.0078 2.002 0.0039 1.999 -0.002 0.001

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 37


Equações Não-Lineares Erro relativo verdadeiro

Métodos Fechados Exemplo: determinar uma raiz de x(x - 2) = 0


Método da Bissecção
xl f(xl) xu f(xu) xr f(xr) εt xt = 2

1 -1 2.5 1.25 1.75 -0.4375 0.1


1.75 -0.4375 2.5 1.25 2.125 0.2656 0.06
1.75 -0.4375 2.125 0.2656 1.9375 -0.1211 0.03
1.9375 -0.1211 2.125 0.2656 2.0313 0.0635 0.06
1.9375 -0.1211 2.0313 0.0635 1.9844 -0.031 0.008
1.9844 -0.031 2.0313 0.0635 2.0078 0.0157 0.004
1.9844 -0.031 2.0078 0.0157 1.9961 -0.0078 0.002
1.9961 -0.0078 2.0078 0.0157 2.002 0.0039 0.001
1.9961 -0.0078 2.002 0.0039 1.999 -0.002 0.0005

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 38


Equações Não-Lineares
Métodos Fechados Exemplo: determinar uma raiz de x - exp(-x)= 0
Método da Bissecção
k xl f(xl) xu f(xu) xr f(xr)
0 0 -1 1 0.63212 0.5 -0.10653
1 0.5 -0.10653 1 0.63212 0.75 0.27763
2 0.5 -0.10653 0.75 0.27763 0.625 0.08974
3 0.5 -0.10653 0.625 0.08974 0.5625 -0.00728
4 0.5625 -0.00728 0.625 0.08974 0.59375 0.0415
5 0.5625 -0.00728 0.59375 0.0415 0.57813 0.01718
6 0.5625 -0.00728 0.57813 0.01718 0.57031 0.00496
7 0.5625 -0.00728 0.57031 0.00496 0.56641 -0.00116
8 0.56641 -0.00116 0.57031 0.00496 0.56836 0.00191

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 39


Equações Não-Lineares Erro relativo aproximado

Métodos Fechados Exemplo: determinar uma raiz de x - exp(-x)= 0


Método da Bissecção
k xl f(xl) xu f(xu) xr f(xr) εa
0 0 -1 1 0.63212 0.5 -0.10653
1 0.5 -0.10653 1 0.63212 0.75 0.27763 3.3E-01
2 0.5 -0.10653 0.75 0.27763 0.625 0.08974 2.0E-01
3 0.5 -0.10653 0.625 0.08974 0.5625 -0.00728 1.1E-01
4 0.5625 -0.00728 0.625 0.08974 0.59375 0.0415 5.3E-02
5 0.5625 -0.00728 0.59375 0.0415 0.57813 0.01718 2.7E-02
6 0.5625 -0.00728 0.57813 0.01718 0.57031 0.00496 1.4E-02
7 0.5625 -0.00728 0.57031 0.00496 0.56641 -0.00116 6.9E-03
8 0.56641 -0.00116 0.57031 0.00496 0.56836 0.00191 3.4E-03
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 40
Equações Não-Lineares
Métodos Fechados Exemplo: determinar uma raiz de x - exp(-x)= 0
Método da Bissecção

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 41


Equações Não-Lineares
Métodos Fechados Exemplo: determinar uma raiz de x - exp(-x)= 0
Método da Bissecção

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 42


Equações Não-Lineares
Métodos Fechados Exemplo: determinar uma raiz de x - exp(-x)= 0
Método da Bissecção

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 43


Equações Não-Lineares
Métodos Abertos

Método de Newton
usa a derivada analítica

Método da Secante
usa uma aproximação numérica da derivada

Método do Ponto Fixo

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 44


Equações Não-Lineares
Método de Newton
Dada a função f(x) e a sua derivada f’(x)
1. escolher a estimativa inicial x0
2. determinar f(x0) e f’(x0)
3. determinar
f(x0)
4. repetir
f’(x0)

5. parar se f(xk) ≈ 0

x3 x2 x1 x0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 45


Equações Não-Lineares
Método de Newton
Exemplo: determinar a raiz de x - exp(-x) = 0

k x f(x) f’(x) εa

0 0 -1 2

1 0.5 -1.07E-01 1.61E+00 1E+00

2 0.56631 -1.3E-03 1.57E+00 1.17E-01

3 0.56714 -1.96E-07 1.57E+00 1.47E-03

4 0.56714 -4.44E-15 1.57E+00 2.21E-07

5 0.56714 0E+00 1.57E+00 5.09E-15

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 46


Equações Não-Lineares
Método de Newton
Exemplo: determinar a raiz de x - exp(-x) = 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 47


Equações Não-Lineares
Método de Newton
Exemplo: determinar a raiz de x - exp(-x) = 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 48


Equações Não-Lineares
Método de Newton
Convergência
diverge se f’(xk) = 0
pode divergir em zonas perto de f’(xk) = 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 49


Equações Não-Lineares
Método da Secante
Quando a derivada analítica não existe ou é difícil de obter estima-se a derivada numéricamente

Dada a função f(x)


1. estimar x0 e x1 f(x)
2. determinar f(x0) e f(x1) f(x0)
3. determinar
f(x1)

4. repetir
f(x2)

5. parar se f(xk) ≈ 0 x4 x3 x2 x1 x0 x

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 50


Equações Não-Lineares
Método da Secante
Exemplo: determinar a raiz de x - exp(-x) = 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 51


Equações Não-Lineares
Método do Ponto Fixo
Dada a função f(x) separar em duas partes tal que
x = g(x) y
1. escolher a estimativa inicial x0
2. determinar g(x0) g(x1)
x2
3. fazer x1 = g(x0)
g(x0)
4. repetir xk+1 = g(xk) x1
5. parar se xk+1 ≈ xk

x0 x

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 52


Equações Não-Lineares
Método do Ponto Fixo
Exemplo: determinar a raiz de x - exp(-x) = 0

k x g(x) εa
0 0 1
1 1 0.367879 2
2 0.367879 0.692200 0.5
3 0.692200 0.500473 0.4
4 0.500473 0.606243 0.2
5 0.606243 0.545396 0.1
6 0.545396 0.579612 0.06
7 0.579612 0.560115 0.03
8 0.560115 0.571143 0.02
9 0.571143 0.564879 0.01

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 53


Equações Não-Lineares
Método do Ponto Fixo
Exemplo: determinar a raiz de x - exp(-x) = 0

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 54


Equações Não-Lineares
Comparação de Métodos - Estimativa de Erros
Método de Newton
expansão em Série de Taylor

truncando no termo de primeira ordem e resolvendo

convergência quadrática

Método da Bissecção
dado o intervalo inicial

então

... convergência linear

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 55


Equações Não-Lineares
Métodos Fechados
Método da Bissecção
Método da Falsa Posição
necessitam de dois pontos iniciais para definir o intervalo fechado onde
está a raiz.
convergência lenta
convergem sempre para uma solução

Métodos Abertos

necessitam de apenas uma estimativa inicial


convergência (em geral) mais rápida
nem sempre convergem para a solução

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 56


Sistemas de Equações
Sistemas de n equações a n incógnitas
Determinar os valores x1, x2,..., xn tais que

Existência - a solução pode ou não existir

Unicidade - a solução pode ou não ser única

O sistema é linear se as funções fi forem lineares

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 57


Sistemas de Equações
Sistemas de n equações a n incógnitas
Determinar os valores x1, x2,..., xn tais que

Existência - a solução pode ou não existir

Unicidade - a solução pode ou não ser única

O sistema é linear se as funções fi forem lineares

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 58


Sistemas de Equações
Sistemas de n equações a n incógnitas
Podem ser escritos na forma

ou na forma matricial Ax = b

A - matriz dos coeficientes, dimensão n×n; x - vector solução e b - vector dos termos independentes, dimensão n
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 59
Sistemas de Equações
Matriz

matriz de dimensão m×n : m linhas, n colunas


elemento yij : linha i, coluna j

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 60


Sistemas de Equações
Vectores - matrizes unidimensionais

matriz de dimensão m×1 vector coluna de dimensão m

matriz de dimensão 1×n vector linha de dimensão n

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 61


Sistemas de Equações
Matriz Quadradas

diagonal principal
Matrizes Especiais

matriz simétrica

matriz diagonal matriz tridiagonal matriz triangular inferior matriz triangular superior

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 62


Sistemas de Equações
Solução: Existência e Unicidade
sem solução

infinidade de soluções

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 63


Sistemas de Equações
Solução: Existência e Unicidade
sem solução

infinidade de soluções

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 64


Sistemas de Equações
Solução
Métodos Directos
Através de operações elementares de matrizes obter sistemas equivalentes com solução imediata
Solução obtida é exacta a menos de erros de arredondamento
n = 2 ou n = 3
Método de substituição
Regra de Cramer
n≥3
Eliminação de Gauss e substituição inversa
Decomposição LU

Métodos Iterativos
Soluções aproximadas
Métodos de Jacobi e Gauss-Seidel

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 65


Sistemas de Equações
Método de Gauss
Resolver o sistema Ax=b

matriz aumentada

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 66


Sistemas de Equações
Método de Gauss

eliminação

substituição inversa

solução

determinante

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 67


Sistemas de Equações
Método de Gauss
Resolver o sistema Ax=b

matriz aumentada matriz triangular superior

eliminação

- pivot

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 68


Sistemas de Equações
Método de Gauss
Resolver o sistema Ax=b

matriz aumentada matriz triangular superior

eliminação

- pivot

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 69


Sistemas de Equações
Método de Gauss
Resolver o sistema Ax=b

matriz aumentada matriz triangular superior

eliminação

- pivot

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 70


Sistemas de Equações
Método de Gauss
Resolver o sistema Ax=b

substituição inversa

determinante

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 71


Sistemas de Equações
Método de Gauss
' Eliminação
Resolver o sistema Ax=b For k = 1 To n - 1
For i = k + 1 To n
factor = a(i, k) / a(k, k)
For j = k + 1 To n
a(i, j) = a(i, j) - factor * a(k, j)
Next
b(i) = b(i) - factor * b(k)
Next
Next

' Substituição
x(n) = b(n) / a(n, n)
For i = n - 1 To 1 Step -1
soma = 0
For j = i + 1 To n
soma = soma + a(i, j) * x(j)
Next
x(i) = (b(i) - soma) / a(i, i)
Next

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 72


Sistemas de Equações
Subrotina Gauss
Sub Gauss(n, a, b, x, tol, aviso)
' Resolução de um Sistema de Equações Lineares
' usando o Método de Gauss com pivotagem e normalização
'
' Argumentos
' variável tipo dimensão I/O descrição
' n Integer entrada número de equações
' a Double (1 To n,1 To n) entrada/saída matriz dos coeficientes
' b Double (1 To n) entrada/saída vector dos termos
' independentes
' x Double (1 To n) saída vector solução
' tol Double entrada tolerância para matriz
' não ser singular
' aviso Integer saída = 0 a solução foi obtida
' = 1 a matriz é singular
'
' Subrotinas necessárias
' Sub Normalizar(n,a,s)
' Sub Eliminar(n, a, b, s, tol, aviso)
' Sub Substituir(n, a, b, x)
' Sub Pivot(k, n, a, b, s)
' Sub Swap(a, b)

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 73


Sistemas de Equações
Método de Gauss
Tempo de execução
proporcional ao número de operações em floating-point, flops
o tempo necessário para multiplicações/divisões é muito maior que para adições/subtracções

número de multiplicações/divisões no Método de Gauss

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 74


Sistemas de Equações
Métodos de Eliminação (Gauss, Decomposição LU)
sistemas de dimensão relativamente pequena n ≤ 1000
matriz dos coeficientes compacta (poucos coeficientes nulos)

Métodos para matrizes especiais


matrizes simétricas - decomposição de Cholesky
matrizes tridiagonais - algoritmo de Thomas

coeficientes e, f e g
são guardados como
vectores

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 75


Sistemas de Equações
Método de Thomas

coeficientes e, f e g
são guardados como
vectores

decomposição substituição inversa

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 76


Sistemas de Equações
Subrotina Thomas

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 77


Sistemas de Equações
Subrotina Thomas

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 78


Sistemas de Equações
Sub TesteThomas()
' resolver um sistema tridiagonal pelo método de Thomas
' declarar variáveis
Dim n As Integer, i As Integer
Dim e() As Double, f() As Double, g() As Double, b() As Double, x() As Double
Dim msg As String
' introduzir número de equações
n = InputBox("número de equações", , 9)
' dimensionar vectores
ReDim e(1 To n), f(1 To n), g(1 To n), b(1 To n), x(1 To n)
' introduzir vectores e, f, g e b
For i = 1 To n
e(i) = -1 : f(i) = 2 : g(i) = -1 : b(i) = 1
Next
' método de Thomas
Call Thomas(n, e, f, g, b, x)
' apresentar resultados
msg = "solução do sistema para n = " & n & vbCr
For i = 1 To n
msg = msg & "x(" & i & ") = " & x(i) & vbCr
Next
MsgBox msg
End Sub

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 79


Sistemas de Equações
Sub TesteThomas()
' resolver um sistema tridiagonal pelo método de Thomas
' declarar variáveis
Dim n As Integer, i As Integer
Dim e() As Double, f() As Double, g() As Double, b() As Double, x() As Double
Dim msg As String
' introduzir número de equações
n = InputBox("número de equações", , 9)
' dimensionar vectores
ReDim e(1 To n), f(1 To n), g(1 To n), b(1 To n), x(1 To n)
' introduzir vectores e, f, g e b
For i = 1 To n
e(i) = -1 : f(i) = 2 : g(i) = -1 : b(i) = 1
Next
' método de Thomas
Call Thomas(n, e, f, g, b, x)
' apresentar resultados
msg = "solução do sistema para n = " & n & vbCr
For i = 1 To n
msg = msg & "x(" & i & ") = " & x(i) & vbCr
Next
MsgBox msg
End Sub

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 80


Sistemas de Equações
Sistemas de dimensão grande e com matrizes dos coeficientes esparsas
Método de Jacobi
Método de Gauss-Seidel
Convergência
Métodos SOR e UR

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 81


Sistemas de Equações
Sistemas de dimensão grande e com matrizes dos coeficientes esparsas
Método de Jacobi
Método de Gauss-Seidel
Convergência
Métodos SOR e UR

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 82


Sistemas de Equações
Dado o sistema de 2 equações

escrever na forma

estimativa inicial

iteração de Jacobi

...

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 83


Sistemas de Equações
Dado o sistema de 2 equações

escrever na forma

estimativa inicial

iteração de Gauss-Seidel

...

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 84


Sistemas de Equações

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 85


Sistemas de Equações

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 86


Sistemas de Equações

Dado o sistema

escrever na forma

estimativa inicial

iteração de Jacobi

iteração de Gauss-Seidel

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 87


Sistemas de Equações

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 88


Sistemas de Equações
Convergência

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 89


Sistemas de Equações
Convergência

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 90


Sistemas de Equações
Convergência

0.6 0.7

Condição suficiente para convergência


Matriz diagonal dominante

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 91


Sistemas de Equações
Convergência

0.6 0.7

Condição suficiente para convergência


Matriz diagonal dominante

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 92


Sistemas de Equações
Dado o sistema

escrever na forma

estimativa inicial

iteração de Gauss-Seidel

Método de Relaxação

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 93


Sistemas de Equações
Método de Sub-Relaxação (UR)

usado para obter convergência em sistemas que não convergem com Gauss-Seidel

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 94


Sistemas de Equações
Método de Sobre-Relaxação (SOR)

usado para acelerar a convergência

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 95


Sistemas de Equações
Comparação entre Métodos Directos e Iterativos

Método n Operações Precisão Comentários

erros
Gauss ≤1000 n3/3
arredondamento

erros
LU ≤1000 n3/3 vários B’s
arredondamento

Gauss-
>1000 k p boa convergência
Seidel
k - no iterações
p - no. coeficientes não nulos
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 96
Sistemas Não-Lineares
Métodos Iterativos
Método de Newton
Método do Ponto Fixo

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 97


Sistemas Não-Lineares
Método do Ponto Fixo

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 98


Sistemas Não-Lineares
Método do Ponto Fixo

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 99


Integração
Dada uma função
f
determinar

a b x
Integração Numérica
Substituir a função por outra
com primitiva analítica

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 100


Integração
Dada uma função
f
determinar

a b x
Integração Numérica
Substituir a função por outra
com primitiva analítica

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 101


Integração
Fórmulas de Newton-Cotes
substituir a função por um polinómio

f f

a b x a b x

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 102


Integração
Polinómios Interpoladores de Lagrange
Polinómio de primeiro grau
re-escrever na forma
determinar e
de modo que o polinómio passe pelos pontos e

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 103


Integração
Polinómios Interpoladores de Lagrange
Polinómio de segundo grau
re-escrever na forma
determinar , e
de modo que o polinómio passe pelos pontos , e

Polinómio de grau n

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 104


Integração
Fórmulas de Newton-Cotes
substituir a função por um polinómio

f f

a b x a b x

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 105


Integração
Regra do Trapézio
Usar um polinómio de primeiro grau

pôr

integrar
f

˜
I

a=x0 b=x1 x
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 106
Integração
Regra do Trapézio
Usar um polinómio de primeiro grau

pôr

integrar
f

˜
I

a=x0 b=x1 x
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 107
Integração
Regra de Simpson 1/3
Usar um polinómio de segundo grau

pôr
f
integrar

˜
I

a=x0 x1 b=x2 x
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 108
Integração
Regra de Simpson 3/8
Usar um polinómio de terceiro grau

pôr
f
integrar

a=x0 x1 x2 b=x3 x
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 109
Integração
Fórmulas de Newton-Cotes
determinar o integral e comparar com o valor analítico

a b x

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 110


Integração
Fórmulas de Newton-Cotes
determinar o integral e comparar com o valor analítico

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 111


Integração
Fórmulas Compostas
Aplicar as fórmulas de Newton-Cotes em subintervalos
Dividir o intervalo em segmentos de igual amplitude
definir os pontos

então

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 112


Integração
Regra dos Trapézios Compostas

n=2
f n=3
n=4

a =x0 x1 x1 x2 b =x32 x
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 113
Integração
Regra de Simpson 1/3 Compostas
para um número par de subintervalos

n=4
f

a b x
L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 114
Integração
Regra de Simpson 1/3 + Simpson 3/8 Composta
para um número impar de subintervalos

n=5

f f

a b x a b x

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 115


Integração
Fórmulas de Compostas
determinar o integral e comparar com o valor analítico

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 116


Integração
Fórmulas de Compostas
determinar o integral e comparar com o valor analítico

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 117


Integração
Fórmulas de Compostas
determinar o integral e comparar com o valor analítico

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 118


Integração
Fórmulas de Compostas
As fórmulas de Newton-Cotes podem ser aplicadas em subintervalos de irregulares
Regra dos Trapézios
Regras de Simpson
podem ser aplicadas em subconjuntos de 3 ou 4 pontos adjacentes com intervalos iguais

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 119


Integração
Fórmulas de Compostas
determinar o integral e comparar com o valor analítico

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 120


Integração
Fórmulas Compostas
As fórmulas de Newton-Cotes podem ser aplicadas a pontos discretos

f I

L.EQ. - DEQ/FEUP, Porto, Portugal 2021/2022 121

Você também pode gostar