Você está na página 1de 18

métodos

computacionaIS
APLICADOS A
ENG.qUÍMICA
ufrn 2022.2
métodos
computacionaIS
APLICADOS A
ENG.qUÍMICA
ufrn 2022.2
Métodos para Equações Algébrícas
Resumo desenvolvido por Gabriel Oliveira Costa

Graduando do curso de Engenharia Química.

Natal, 2022.
Métodos Computacionais Aplicados a Engenharia Química

Introdução .......................................................... 2

Propagação de erros ................................... 2

Classe de Problemas....................................... 3

Métodos para equações algébricas .................... 3

Métodos Computacionais para Equações


Algebrícas .......................................................... 3

Método da Bisseção ....................................... 3

Algoritmo ................................................... 5

Método das cordas ......................................... 5

Algoritmo ................................................... 7

Método de Newton-Rapshon ......................... 8

Algoritmo ................................................... 8

Método da secante ......................................... 9

Algoritmo ................................................. 10

Referências .......................................................11

Anexos ............................................................. 12

Método da Bisseção ..................................... 12

Métodos das cordas ......................................13

Método de newton-raphson ......................... 14

Método da secante ....................................... 14


Métodos Computacionais Aplicados a Engenharia Química
que, muitas vezes, a aproximação
numérica substitui um procedimento
Os métodos computacionais são técnicas
matemático infinito (séries) por um
que aplicam uma sequência de operações
processo finito (truncado);
(aritméticas/lógicas) em busca da resolução de
▪ Isso ocorre, pois os métodos
um problema (físico/matemático).
computacionais são utilizados para
A resolução de problemas pode ser realizada resolver problemas muito grandes e
de duas formas: Analítica e Numérica. complexos;

• Analítica: Matemática Clássica ▪ Esses métodos são aplicados,

▪ Na resolução analítica, as soluções normalmente, em simuladores, como de

encontradas são matematicamente fluídos, trocador de calor, destiladores,

exatas; etc.

▪ Todavia, não é possível resolver


problemas com grande complexidade,
É sempre desejável, durante a resolução
pois, torna-se fisicamente inviável.
numérica de um problema, manter um controle
• Numérica: Métodos Computacionais.
adequado dos erros de arredondamento e
▪ Os métodos numéricos surgem como
truncamento. Isto porque, numa sequência de
ferramentas importantes para resolver
operações, o erro pode propagar ao longo das
problemas cujas soluções analíticas são
operações subsequentes.
complicadas e, principalmente, quando
tais soluções analíticas não são possíveis Problema estável numericamente.

de serem obtidas.
Problema instável numericamente.
▪ Na resolução numérica, as soluções não
são exatas, são aproximadas, uma vez que A escolha do método numérico mais

contém diversos erros; eficiente para resolução de um problema físico

▪ Os erros encontrados nas soluções são de deve levar em conta os seguintes aspectos:

arredondamento (arredondamento dos • Capacidade de resolução: o método converge


resultados dos números) e truncamento
para o resultado desejado?
(redução das equações aplicadas nos
• Precisão dos resultados: qual o método que
métodos);
fornece o menor erro?
▪ Os erros de truncamento são inerentes ao
• Desempenho de resolução: método demanda
método numérico e ocorrem pelo fato de
grande esforço computacional?
Métodos Computacionais Aplicados a Engenharia Química
𝑓 (𝑥 ) = 𝑥 2 − 3𝑥 + 2

1. Equação Algébrica 𝑥 2 − 3𝑥 + 2 = 0
2. Sistema de Equações Algébricas
−𝑏 ± √𝑏2 − 4𝑎𝑐
3. Regressão 𝑥=
2𝑎
4. Intepretação de dados
5. Derivadas −(−3) + √(−3)2 − 4 ∗ 3
𝑥1 = =2
2
6. Integrais
7. Equação Diferencial de 1° Ordem −(−3) − √(−3)2 − 4 ∗ 3
𝑥2 = =1
8. Sistemas de EDOs de 1° Ordem 2

9. EDOs de 2° Ordem Figura – Gráfico da equação de 2° Grau


10. Equações Diferenciais Parciais

As equações algébricas são equações em


que as incógnitas são submetidas apenas às
operações conhecidas como operações
algébricas.

Normalmente, o interesse em equações


desse tipo é encontrar a raiz ou o valor que zera a Exemplo 3: 𝑓 (𝑥 ) = ln(𝑥 ) + 𝑥 − 2

equação. ln(𝑥 ) + 𝑥 − 2 = 0

( )
{𝑓 𝑥 = 0 Não há solução analítica, normalmente,
𝑥 =?
chamada de equações transcendentais.
Exemplos de equações algébricas:

Exemplo 1:

𝑓(𝑥 ) = 2𝑥 − 3
O método da bisseção explora o fato de
2𝑥 − 3 = 0
que uma função contínua 𝑓: [𝑎, 𝑏] → ℝ com
𝑥 = 3/2 𝑓 (𝑎) ∗ 𝑓(𝑏) < 0 tem um zero no intervalo (𝑎, 𝑏).

Exemplo 2: Assim, a ideia para aproximar o zero uma tal


função 𝑓(𝑥) é tomar como referência o ponto
Métodos Computacionais Aplicados a Engenharia Química
médio do intervalo [𝑎, 𝑏] até encontrar o zero da Caso o teste 𝑓(𝑥𝑚 ) não for solução, será
função. realizado o teste das opções abaixo. Isso ocorre,
pois, no gráfico, observar-se que em um
Passo a passo do método:
determinado momento ocorre a mudança de
1) Definir o intervalo inicial de busca sinal.

{ 𝑀í𝑛𝑖𝑚𝑜
𝑀á𝑥𝑖𝑚𝑜 𝑀𝑢𝑑𝑎𝑛ç𝑎 𝑑𝑒 𝑠𝑖𝑛𝑎𝑙
2) Testar se 𝑓 (min) 𝑜𝑢 𝑓(𝑚𝑎𝑥) é solução da
(+)(+) = (+)
equação.
▪ Se for solução, a execução é encerrada. (−)(−) = (+)

▪ Se não for solução, continuar o


(+)(−) = (−)
algoritmo.
3) Estrutura de Repetição Logo, o método procura o espaço que

I. Encontrar o ponto médio dos máximos ocorre essa mudança de sinal até chegar no

e mínimo. resultado correto.

𝑚𝑖𝑛 + 𝑚𝑎𝑥 ▪ Testar se a mudança de sinal está do lado


𝑥𝑚 =
2 esquerdo. → máximo recebe o ponto

Figura – Teste no gráfico de uma função. médio(𝑚𝑎𝑥 ← 𝑥𝑚 );


▪ Testar se a mudança de sinal está do lado
direito → mínimo recebe o ponto médio
(𝑚𝑖𝑛 ← 𝑥𝑚 );
▪ Testar se a mudança de sinal está em
ambos os lados ((𝑚𝑎𝑥 ← 𝑥𝑚 ) 𝑜𝑢 (𝑚𝑖𝑛 ←
𝑥𝑚 );
▪ Testar se não há mudança de sinal;
o Parar execução;

Aplica-se um teste de convergência do


II. Testar se 𝑓 (𝑥𝑚 ) é solução.
seguinte modelo no método:
▪ Se sim, encerrar execução;
▪ Se não, escolhe novo intervalo de Se |𝑓(𝑥𝑚 )| ≤ 𝑇𝑜𝑙 então
busca (direita ou esquerda do gráfico
Convergiu
em relação ao ponto médio);
Fim Se
Métodos Computacionais Aplicados a Engenharia Química
Fim Se
1. Declaração das variáveis Mudança de sinal no lado esquerdo:
𝐼𝑛𝑡𝑒𝑖𝑟𝑎: 𝑖, 𝑁𝑖𝑡 Se 𝑓(𝑚𝑖𝑛) ∗ 𝑓(𝑥𝑛 ) ≤ 0 𝑒 𝑓(𝑥𝑛 ) ∗
𝑅𝑒𝑎𝑙: 𝑀𝑖𝑛, 𝑀𝑎𝑥, 𝑥𝑚 , 𝑡𝑜𝑙, 𝑓, 𝑓𝑚𝑖𝑛, 𝑓𝑚𝑎𝑥, 𝑓(𝑚𝑖𝑛) > 0 𝑒𝑛𝑡ã𝑜
2. Leitura e atribuição de valores iniciais 𝑚𝑎𝑥 = 𝑥𝑀
𝐿𝑒𝑖𝑎: 𝑀𝑖𝑛, 𝑀𝑎𝑥 Fim Se
𝑁𝑖𝑡 = 1000 Mudança de sinal em ambos os lados:
𝑇𝑜𝑙 = 0.00001 Se 𝑓(𝑚𝑖𝑛) ∗ 𝑓(𝑥𝑚 ) ≤ 0 𝑒 𝑓(𝑥𝑚 ) ∗
3. Testar se min ou max são solução. 𝑓(𝑚𝑖𝑛) < 0 𝑒𝑛𝑡ã𝑜
𝑡𝑜𝑙 é a tolerância permitida para o valor da 𝑚𝑎𝑥 = 𝑥𝑚 𝑜𝑢 𝑚𝑖𝑛 = 𝑥𝑚
função. Fim Se
Se |𝑓(𝑚𝑖𝑛)| ≤ 𝑡𝑜𝑙 então Não há mudanças de sinal em nenhum
Imprimir “A solução é”, min dos dois lados:
Parar o programa Se 𝑓(𝑚𝑖𝑛) ∗ 𝑓(𝑥𝑚 ) > 0 𝑒 𝑓(𝑥𝑚 ) ∗
Fim Se 𝑓(𝑚𝑖𝑛) > 0 𝑒𝑛𝑡ã𝑜
Se |𝑓(𝑚𝑎𝑥)| ≤ 𝑡𝑜𝑙 então Imprimir
Imprimir “A solução é”, min Fim Se
Parar o programa
Fim Se
O método das cordas é semelhante ao
4. Estrutura de repetição
método da bisseção. O método também explora
Faça 𝑖 = 1 até 𝑛𝑖𝑡
o fato de que uma função contínua 𝑓: [𝑎, 𝑏] → ℝ
(utilizado para evitar loop infinito)
𝑚𝑖𝑛 + 𝑚𝑎𝑥 com 𝑓(𝑎) ∗ 𝑓 (𝑏) < 0 tem um zero no intervalo
𝑥𝑚 =
2 (𝑎, 𝑏). Assim, a ideia para aproximar o zero uma
Se |𝑓(𝑥𝑚 )| ≤ 𝑡𝑜𝑙 então tal função 𝑓(𝑥) é tomar como referência o ponto
Imprimir “A solução é”, 𝑥𝑀 médio do intervalo [𝑎, 𝑏] até encontrar o zero da
Parar o programa função.
Se não
Entretanto, o cálculo para 𝑥𝑚 é diferente
Encontrar um novo intervalo de busca.
nesse método. Após a definição dos intervalos, é
Mudança de sinal no lado direito:
traçado uma reta do ponto mínimo ao ponto
Se 𝑓 (𝑚𝑖𝑛) ∗ 𝑓 (𝑥𝑚 ) > 0 𝑒 𝑓(𝑥𝑚 ) ∗
máximo, o ponto médio será o ponto que está reta
𝑓 (𝑚𝑎𝑥 ) ≤ 0 𝑒𝑛𝑡ã𝑜
toca o gráfico, sendo 𝑅(𝑥 ) = 𝑎𝑥 + 𝑏 a equação
𝑚𝑖𝑛 = 𝑥𝑚
que representa a reta.
Métodos Computacionais Aplicados a Engenharia Química
Figura – Processo de cálculo de 𝑥𝑚 . Passo a passo do método:

1) Definir o intervalo inicial de busca

{ 𝑀í𝑛𝑖𝑚𝑜
𝑀á𝑥𝑖𝑚𝑜
2) Testar se 𝑓(min) 𝑜𝑢 𝑓(𝑚𝑎𝑥) é solução da
equação.
▪ Se for solução, a execução é encerrada.
▪ Se não for solução, continuar o
algoritmo.
3) Estrutura de Repetição
Para encontrar 𝑅(𝑥) é necessário realizar Encontrar o valor de a, b e 𝑥𝑚 .
o seguinte procedimento:
𝑓 (𝑚𝑎𝑥 ) − 𝑓(min)
𝑎=
𝑅(min) = 𝑎 ∗ 𝑚𝑖𝑛 + 𝑏 𝑚𝑎𝑥 − 𝑚𝑖𝑛
{
𝑅 (𝑚𝑎𝑥) = 𝑎 ∗ 𝑚𝑎𝑥 + 𝑏
𝑏 = 𝑓(𝑚𝑖𝑛) − 𝑎 ∗ 𝑚𝑖𝑛
Trocando para função aplicada em um 𝑏
𝑥𝑚 = −
𝑎
problema qualquer:
4) Testar se 𝑓 (𝑥𝑚 ) é solução.
𝑓 (min) = 𝑎 ∗ 𝑚𝑖𝑛 + 𝑏 ▪ Se sim, encerrar execução;
{
𝑓(𝑚𝑎𝑥) = 𝑎 ∗ 𝑚𝑎𝑥 + 𝑏
▪ Se não, escolhe novo intervalo de
Subtraindo a 𝑓(𝑚𝑎𝑥 ) − 𝑓(𝑚𝑖𝑛): busca (direita ou esquerda do gráfico
em relação ao ponto médio);
𝑓(𝑚𝑎𝑥) − 𝑓(min) = 𝑎 ∗ 𝑚𝑎𝑥 + 𝑏 − 𝑎 ∗ 𝑚𝑖𝑛 − 𝑏

Caso o teste 𝑓(𝑥𝑚 ) não for solução, será


𝑓 (𝑚𝑎𝑥 ) − 𝑓(min) = 𝑎(𝑚𝑎𝑥 − 𝑚𝑖𝑛)
realizado o teste das opções abaixo. Isso ocorre,
𝑓 (𝑚𝑎𝑥 ) − 𝑓(min)
𝑎=
𝑚𝑎𝑥 − 𝑚𝑖𝑛 pois, no gráfico, observar-se que em um
Para encontrar b: determinado momento ocorre a mudança de
𝑏 = 𝑓 (𝑚𝑖𝑛) − 𝑎 ∗ 𝑚𝑖𝑛 sinal.

Para encontrar o 𝑥𝑚 , basta igualar a 𝑀𝑢𝑑𝑎𝑛ç𝑎 𝑑𝑒 𝑠𝑖𝑛𝑎𝑙


função a 0.
(+)(+) = (+)
𝑅 (𝑥 𝑚 ) = 0 → 𝑎 ∗ 𝑥 𝑚 + 𝑏 = 0
(−)(−) = (+)
𝑏
𝑥𝑚 = −
𝑎 (+)(−) = (−)
Métodos Computacionais Aplicados a Engenharia Química
Logo, o método procura o espaço que Parar o programa
ocorre essa mudança de sinal até chegar no Fim Se
resultado correto. Se |𝑓(𝑚𝑎𝑥)| ≤ 𝑡𝑜𝑙 então
Imprimir “A solução é”, min
▪ Testar se a mudança de sinal está do lado
Parar o programa
esquerdo. → máximo recebe o ponto
Fim Se
médio(𝑚𝑎𝑥 ← 𝑥𝑚 );
4. Estrutura de repetição
▪ Testar se a mudança de sinal está do lado
Faça 𝑖 = 1 até 𝑁𝑖𝑡 = 1000
direito → mínimo recebe o ponto médio
(utilizado para evitar loop infinito)
(𝑚𝑖𝑛 ← 𝑥𝑚 );
▪ Testar se a mudança de sinal está em 𝑓 (𝑚𝑎𝑥 ) − 𝑓(min)
𝑎=
ambos os lados ((𝑚𝑎𝑥 ← 𝑥𝑚 ) 𝑜𝑢 (𝑚𝑖𝑛 ← 𝑚𝑎𝑥 − 𝑚𝑖𝑛

𝑥𝑚 ); 𝑏 = 𝑓(𝑚𝑖𝑛) − 𝑎 ∗ 𝑚𝑖𝑛
▪ Testar se não há mudança de sinal; 𝑏
𝑥𝑚 = −
𝑎
o Parar execução;
Se |𝑓(𝑥𝑀 )| ≤ 𝑡𝑜𝑙 então
Aplica-se um teste de convergência do Imprimir “A solução é”, 𝑥𝑚
seguinte modelo no método: Parar o programa
Se não
Se |𝑓(𝑥𝑚 )| ≤ 𝑇𝑂𝐿 então
Encontrar um novo intervalo de busca.
Convergiu Mudança de sinal no lado direito:

Fim Se Se 𝑓(𝑚𝑖𝑛) ∗ 𝑓(𝑥𝑚 ) > 0 𝑒 𝑓(𝑥𝑚 ) ∗


𝑓(𝑚𝑎𝑥 ) ≤ 0 𝑒𝑛𝑡ã𝑜
𝑚𝑖𝑛 = 𝑥𝑚
1. Declaração das variáveis Fim Se
𝐼𝑛𝑡𝑒𝑖𝑟𝑎: 𝑖, 𝑁𝑖𝑡 Mudança de sinal no lado esquerdo:
𝑅𝑒𝑎𝑙: 𝑀𝑖𝑛, 𝑀𝑎𝑥, 𝑥𝑚 , 𝑡𝑜𝑙, 𝑓, 𝑓𝑚𝑖𝑛, 𝑓𝑚𝑎𝑥, 𝑎, 𝑏 Se 𝑓(𝑚𝑖𝑛) ∗ 𝑓(𝑥𝑚 ) ≤ 0 𝑒 𝑓(𝑥𝑚 ) ∗
2. Leitura e atribuição de valores iniciais 𝑓(𝑚𝑖𝑛) > 0 𝑒𝑛𝑡ã𝑜
𝐿𝑒𝑖𝑎: 𝑀𝑖𝑛, 𝑀𝑎𝑥 𝑚𝑎𝑥 = 𝑥𝑚
𝑁𝑖𝑡 = 1000 Fim Se
𝑇𝑜𝑙 = 0.00001 Mudança de sinal em ambos os lados:
3. Testar se min ou max é solução. Se 𝑓(𝑚𝑖𝑛) ∗ 𝑓(𝑥𝑛 ) ≤ 0 𝑒 𝑓(𝑥𝑛 ) ∗
Se |𝑓(𝑚𝑖𝑛)| ≤ 𝑡𝑜𝑙 então 𝑓(𝑚𝑖𝑛) < 0 𝑒𝑛𝑡ã𝑜
Imprimir “A solução é”, min 𝑚𝑎𝑥 = 𝑥𝑚 𝑜𝑢 𝑚𝑖𝑛 = 𝑥𝑚
Métodos Computacionais Aplicados a Engenharia Química
Fim Se (𝑥 − 𝑥0 ) ∗ 𝑓 ′ (𝑥0 ) = −𝑓(𝑥0 )
Não há mudanças de sinal em nenhum
−𝑓(𝑥0 )
dos dois lados: 𝑥 − 𝑥0 =
𝑓 ′ (𝑥0 )
Se 𝑓 (𝑚𝑖𝑛) ∗ 𝑓 (𝑥𝑚 ) > 0 𝑒 𝑓(𝑥𝑚 ) ∗
𝑓(𝑥0 )
𝑓 (𝑚𝑖𝑛) > 0 𝑒𝑛𝑡ã𝑜 𝑥 = 𝑥0 −
𝑓′(𝑥0 )
Imprimir
Equação de Newton-Raphson
Fim Se
A única dificuldade de realizar o método
Fim Faça
numérico de Newton-Raphson é encontrar a
derivada da função necessária para a divisão na
equação.
O método de Newton-Rapshon consiste
em estimar a raiz de uma função usando o Passo a passo:
processo iterativo com apenas um chute inicial.
1) Definir a função e sua derivada
Essa aplicação aproxima uma função a uma série
𝑓(𝑥 ) 𝑒 𝑓′(𝑥)
matemática denominada série de Taylor.
2) Definir o chute
(𝑥 − 𝑥0 )1 ′
(𝑥 − 𝑥 0 ) 2 𝐶ℎ𝑢𝑡𝑒 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 = 𝑥0
𝑓 (𝑥 ) ≈ 𝑓 ( 𝑥 0 ) + ∗ 𝑓 (𝑥0 ) +
1! 2! 3) Estrutura de Repetição
(𝑥 − 𝑥 0 ) 3
∗ 𝑓 ′′ (𝑥0 ) + ∗ 𝑓 ′′′ (𝑥0 ) Testar se 𝑥0 é solução.
3!
+⋯ Se 𝑥0 solução, então termine o programa.
Senão
A série de Taylor segue esse padrão
𝑥0 = 𝑥
infinitamente, no entanto, no método numérico é
Fim Se
realizado o truncamento dessa série no segundo
Fim Faça
termo, logo apenas é utilizado:
4) Caso a solução não seja encontrada

(𝑥 − 𝑥0 )1 Imprimir “A solução não foi encontrada”


𝑓 (𝑥 ) ≈ 𝑓 (𝑥 0 ) + ∗ 𝑓′(𝑥0 )
1!

Dessa forma, a equação é aproximada a


1. Declaração das variáveis
uma reta. Calculando a raiz da equação acima,
𝐼𝑛𝑡𝑒𝑖𝑟𝑎: 𝑖, 𝑁𝑖𝑡
tem-se que:
𝑅𝑒𝑎𝑙: 𝑥, 𝑥0 , 𝑇𝑜𝑙, 𝑑𝑓, 𝑓
(𝑥 − 𝑥0 )1 2. Leitura e atribuições de valores iniciais
𝑓 (𝑥0 ) + ∗ 𝑓 ′ (𝑥0 ) = 0
1! 𝐿𝑒𝑖𝑎: 𝑥0
Métodos Computacionais Aplicados a Engenharia Química
𝑁𝑖𝑡 = 1000 encontrar o coeficiente angular da equação da
𝑇𝑜𝑙 = 0.00001 secante.
3. Estrutura de repetição de cálculos
Assim, a única diferença entre os métodos
𝐹𝑎ç𝑎 𝑖 = 1 𝑎𝑡é 𝑁𝑖𝑡 = 100
é a necessidade de dois chutes no método da
𝑓(𝑥0 )
𝑥 = 𝑥0 − secante, sendo melhor, quando estão mais
𝑑𝑓(𝑥0 )
𝑆𝑒 |𝑓(𝑥)| ≤ 𝑇𝑜𝑙 𝑒𝑛𝑡ã𝑜 próximos.
𝐸𝑠𝑐𝑟𝑒𝑣𝑎 "A solução é:", 𝑥
Figura – Aplicação da secante em uma função.
𝐸𝑠𝑐𝑟𝑒𝑣𝑎 "𝑂𝑏𝑡𝑖𝑑𝑎 𝑛𝑎 𝑖𝑡𝑒𝑟𝑎çã𝑜: ", 𝑖
𝑃𝑎𝑟𝑒
𝑆𝑒𝑛ã𝑜
𝑥0 = 𝑥
𝐹𝑖𝑚 𝑆𝑒
𝐹𝑖𝑚 𝐹𝑎ç𝑎
𝐸𝑠𝑐𝑟𝑒𝑣𝑎 "𝐴 𝑠𝑜𝑙𝑢çã𝑜 𝑛ã𝑜 𝑓𝑜𝑖 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎𝑑𝑎"
𝐹𝑖𝑚 𝐴𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜

Para encontrar o coeficiente angular da


O método da secante possui o mesmo secante, aplica-se:
intuito do método de Newton-Raphson, consiste
𝑆 (𝑥 ) = 𝑎𝑥 + 𝑏
em estimar a raiz de uma função usando o
processo iterativo com apenas um chute inicial. 𝑆 (𝑥 0 ) = 𝑎 ∗ 𝑥 0 + 𝑏
{
Essa aplicação pode-se dizer que resolver a 𝑆(𝑥1 ) = 𝑎 ∗ 𝑥1 + 𝑏

dificuldade presente em Newton-Raphson, que é 𝑓 (𝑥 0 ) = 𝑎 ∗ 𝑥 0 + 𝑏


{
a utilização da derivada da função. 𝑓(𝑥1 ) = 𝑎 ∗ 𝑥1 + 𝑏

Por conceito, sabe-se que a derivada de Subtraindo 𝑓(𝑥1 ) − 𝑓(𝑥0 )

uma função em um determinado ponto é igual ao


𝑓(𝑥1 ) − 𝑓(𝑥0 ) = 𝑎 ∗ 𝑥1 + 𝑏 − 𝑎 ∗ 𝑥0 − 𝑏
coeficiente angular daquela função naquele
𝑓(𝑥0 ) − 𝑓(𝑥0 ) = 𝑎(𝑥1 − 𝑥0 )
ponto. A reta formada pela derivada é tangente a
esse ponto. 𝑓 (𝑥1 ) − 𝑓(𝑥0 )
𝑎=
(𝑥1 − 𝑥0 )
O método da secante, em vez de utilizar a
reta tangente, utiliza a reta secante, na qual passa O coeficiente angular da secante é igual ao

por dois pontos da função. Dessa forma, pode-se coeficiente angular da tangente, portanto, essa
Métodos Computacionais Aplicados a Engenharia Química
equação pode ser aplicada na equação de 𝐸𝑠𝑐𝑟𝑒𝑣𝑎 "𝑂𝑏𝑡𝑖𝑑𝑎 𝑛𝑎 𝑖𝑡𝑒𝑟𝑎çã𝑜", 𝑖
Newton-Raphson. 𝑃𝑎𝑟𝑒
𝑆𝑒𝑛ã𝑜
Passo a Passo:
𝑥0 = 𝑥1
1) Definir a função 𝑥1 = 𝑥
𝑓 (𝑥 ) 𝐹𝑖𝑚 𝑆𝑒
2) Definir o chute 𝐹𝑖𝑚 𝐹𝑎ç𝑎

𝐶ℎ𝑢𝑡𝑒 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 = 𝑥0 𝑒 𝑥1 𝐸𝑠𝑐𝑟𝑒𝑣𝑎: "𝐴 𝑠𝑜𝑙𝑢çã𝑜 𝑛ã𝑜 𝑓𝑜𝑖 𝑒𝑛𝑐𝑜𝑛𝑡𝑎𝑟𝑑𝑎"

3) Estrutura de Repetição 𝐹𝑖𝑚 𝐴𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜

Testar se 𝑥0 é solução.
Se 𝑥0 solução, então termine o programa.
Senão
𝑥0 = 𝑥1
𝑥1 = 𝑥
Fim Se
Fim Faça
4) Caso a solução não seja encontrada
Imprimir “A solução não foi encontrada”

1. Declaração das variáveis:


𝐼𝑛𝑡𝑒𝑖𝑟𝑎: 𝑖, 𝑁𝑖𝑡
𝑅𝑒𝑎𝑙: 𝑥, 𝑥0 , 𝑥1 , 𝑡𝑜𝑙, 𝑓
2. Leitura e atribuição de valores iniciais
𝐿𝑒𝑖𝑎: 𝑥0 , 𝑥1
𝑁𝑖𝑡 = 1000
𝑇𝑜𝑙 = 0.00001
3. Estrutura de repetição de cálculos
𝐹𝑎ç𝑎 𝑖 = 1 𝑎𝑡é 𝑁𝑖𝑡 = 1000
𝑓(𝑥0 )
𝑥 = 𝑥0 −
𝑓 (𝑥1 ) − 𝑓(𝑥0 )
( )
𝑥1 − 𝑥0
𝑆𝑒 |𝑓(𝑥)| ≤ 𝑇𝑜𝑙 𝑒𝑛𝑡ã𝑜
𝐸𝑠𝑐𝑟𝑒𝑣𝑎 "A solução é:", 𝑥
Métodos Computacionais Aplicados a Engenharia Química

OLIVEIRA, Jackson Araujo de. Métodos


Computacionais Aplicados à Engenharia
Química. Natal: UFRN. Color.
Métodos Computacionais Aplicados a Engenharia Química
If Abs(f) <= tol Then

Cells(1, 8).Value = "a solução é: " + CStr(xm)

Sub Metodo_da_Bisseção() Cells(2, 8).Value = "obtida na iteração: " +


CStr(i)
' declaração de variáveis
End
Dim min, max, tol, f, fmin, fmax, xm As Double
Else
Dim i, Nit As Integer
If fmin * f > 0 And f * fmax < 0 Then
' Lendo informações
min = xm
min = Cells(1, 2).Value
fmin = f
max = Cells(2, 2).Value
End If
tol = Cells(3, 2).Value
If fmin * f < 0 And f * fmax > 0 Then
Nit = Cells(4, 2).Value
max = xm
' Testando se min ou max é solução
fmax = f
Cells(2, 6).Value = min
End If
fmin = Cells(1, 6).Value
If fmin * f < 0 And f * fmax < 0 Then
If Abs(fmin) <= tol Then
max = xm
MsgBox ("o mínimo é solução: " + CStr(min))
fmax = f
End
End If
End If
If fmin * f > 0 And f * fmax > 0 Then
Cells(2, 6).Value = max
MsgBox ("No intervalo dado pode não
fmax = Cells(1, 6).Value haver solução. Tente outro intervalo")

If Abs(fmax) <= tol Then End

MsgBox ("o máximo é solução: " + CStr(max)) End If

End End If

End If Next

' Estrutura de repetição para calcular a solução ' Caso todas as iterações sejam rodadas

For i = 1 To Nit Step 1 'MsgBox ("Todas as iterações foram rodadas e


nenhuma solução encontrada")
xm = (min + max) / 2#
End Sub
Cells(2, 6).Value = xm

f = Cells(1, 6).Value
Métodos Computacionais Aplicados a Engenharia Química
Cells(2, 6).Value = xm

Sub Metodo_das_Cordas() f = Cells(1, 6).Value

' declaração de variáveis If Abs(f) <= tol Then

Dim min, max, tol, f, fmin, fmax, xm, a, b As Cells(1, 8).Value = "a solução é: " + CStr(xm)
Double
Cells(2, 8).Value = "obtida na iteração: " +
Dim i, Nit As Integer CStr(i)

' Lendo informações End

min = Cells(1, 2).Value Else

max = Cells(2, 2).Value If fmin * f > 0 And f * fmax < 0 Then

tol = Cells(3, 2).Value min = xm

Nit = Cells(4, 2).Value fmin = f

' Testando se min ou max é solução End If

Cells(2, 6).Value = min If fmin * f < 0 And f * fmax > 0 Then

fmin = Cells(1, 6).Value max = xm

If Abs(fmin) <= tol Then fmax = f End If

MsgBox ("o mínimo é solução: " + CStr(min)) If fmin * f < 0 And f * fmax < 0 Then

End max = xm

End If fmax = f

Cells(2, 6).Value = max End If

fmax = Cells(1, 6).Value If fmin * f > 0 And f * fmax > 0 Then

If Abs(fmax) <= tol Then MsgBox ("No intervalo dado pode não
haver solução. Tente outro intervalo")
MsgBox ("o máximo é solução: " + CStr(max))
End
End
End If
End If
End If
' Estrutura de repetição para calcular a solução
Next
For i = 1 To Nit Step 1
' Caso todas as iterações sejam rodadas
a = (fmax - fmin) / (max - min)
MsgBox ("Todas as iterações foram rodadas e
b = fmin - a * min nenhuma solução encontrada")
xm = -b / a End Sub
Métodos Computacionais Aplicados a Engenharia Química

Sub Newton_Raphson() Sub Secante()

' Declaração de variáveis ' Declaração de variáveis

Dim x, x0, f, df, tol As Double Dim x, x0, x1, f0, f1, f, tol As Double

Dim i, Nit As Integer Dim i, Nit As Integer

' Lendo Informações ' Lendo Informações

x0 = Cells(1, 2).Value x0 = Cells(1, 2).Value

Nit = Cells(2, 2).Value x1 = Cells(2, 2).Value

tol = Cells(3, 2).Value Nit = Cells(3, 2).Value

' Loop de cálculo tol = Cells(4, 2).Value

For i = 1 To Nit Step 1 ' Loop de cálculo

Cells(1, 6).Value = x0 For i = 1 To Nit Step 1

f = Cells(2, 6).Value Cells(1, 6).Value = x0

df = Cells(3, 6).Value f0 = Cells(2, 6).Value

x = x0 - (f / df) Cells(1, 6).Value = x1

If Abs(f) <= tol Then f1 = Cells(2, 6).Value

Cells(1, 8).Value = "a solução é: " + CStr(x) x = x0 - (f0 / ((f1 - f0) / (x1 - x0)))

Cells(2, 8).Value = "obtida na iteração: " + Cells(1, 6).Value = x


CStr(i)
f = Cells(2, 6).Value
End
If Abs(f) <= tol Then
Else
Cells(1, 8).Value = "a solução é: " + CStr(x)
x0 = x
Cells(2, 8).Value = "obtida na iteração: " +
End If CStr(i)

Next End

' Se rodar todas as iterações sem encontrar Else


solução
x0 = x1
MsgBox ("todas as iterações foram rodadas e
nenhuma solução foi encontrada") x1 = x

End Sub End If

Next
Métodos Computacionais Aplicados a Engenharia Química

' Se rodar todas as iterações sem encontrar


solução

MsgBox ("todas as iterações foram rodadas e


nenhuma solução foi encontrada")

End Sub
Derivadas

Notação: f 0 (x) = d
dx
f(x)

Regras de Derivação Funções Trigonométricas


• (cf(x)) 0 = cf 0 (x) • d
sen x = cos x
dx

• Derivada da Soma d
• dx
cos x = −sen x,
0 0 0
(f(x) + g(x)) = f (x) + g (x)
d
• dx
tg x = sec2 x
• Derivada do Produto
(f(x)g(x)) 0 = f 0 (x)g(x) + f(x)g 0 (x) • d
dx
sec x = tg x sec x

• Derivada do Quociente • d
cotg x = −cossec 2 x
dx
0
f 0 (x)g(x) − f(x)g 0 (x)

f(x)
= • d
cossec x = −cossec x cotg x
g(x) g(x)2 dx

• Regra da Cadeia
Funções Trigonométricas Inversas
(f(g(x)) 0 = (f 0 (g(x))g 0 (x)
d √ 1
• dx
arcsen x = 1−x2
Funções Simples
d √ −1
• d
c =0 • dx
arccos x = 1−x2
dx
d
• dx
x =1 • d
arctg x = 1
dx 1+x2
d
• dx
cx =c
d c
• dx
x= cxc−1 Funções Hiperbólicas
d 1 d
= −x−2 = − x12
 −1

• dx = x d ex +e−x
x dx • dx
senh x = cosh x = 2
d 1 d c

• dx xc
= dx (x−c ) = − xc+1 d ex −e−x
• cosh x = senh x =
d
√ d 12 1
dx 2
• dx x = dx x = 12 x− 2 = 2√1 x ,
• d
dx
tgh x = sech2 x
Funções Exponenciais e Logarı́tmicas d
d x
• dx
sech x = − tgh x sech x
x
• dx
e =e
• d
ln(x) = 1 • d
dx
cotgh x = − cossech2 x
dx x
d x
• dx
a = ax ln(a) • d
csch x = − coth x cossech x
dx

Você também pode gostar