Buscar

Aula 02 - Modelos Matemáticos

Prévia do material em texto

Métodos Computacionais
em Engenharia
UNIGRANRIO
U N I V E R S I D A D E
Vá além da sala de aula !
Modelos Matemáticos
Núcleo de Educação a Distância 
www.unigranrio.com.br
Rua Prof. José de Souza Herdy, 1.160 
25 de Agosto – Duque de Caxias - RJ
Reitor
Arody Cordeiro Herdy
Pró-Reitor de Administração Acadêmica
Carlos de Oliveira Varella
Pró-Reitor de Pesquisa e Pós-graduação
Emilio Antonio Francischetti
Pró-Reitora Comunitária
Sônia Regina Mendes
Direção geral: Jeferson Pandolfo
Revisão: Camila Andrade, Laís Sá e Mariana Baptista
Produção editoração gráfica: Magno Dal Magro
Desenvolvimento do material: Leonardo Tunala
Desenvolvimento instrucional: Josane Mittmann
Copyright © 2018, Unigranrio
Nenhuma parte deste material poderá ser reproduzida, transmitida e gravada, por qualquer meio eletrônico, 
mecânico, por fotocópia e outros, sem a prévia autorização, por escrito, da Unigranrio.
UNIGRANRIO
U N I V E R S I D A D E
Vá além da sala de aula !
Sumário
Modelos Matemáticos
Objetivos .......................................................................................... 04
Introdução ........................................................................................ 05
1. Equações Diferenciais e Algébricas: Série de Taylor ................... 06
1.1 Encontrando a Solução por meio do Cálculo Diferencial ............ 06
1.2 Série de Taylor ................................................................... 09
2. Simulações Computacionais .................................................. 11
Síntese ............................................................................................ 17
Referências Bibliográficas ................................................................... 18
Objetivos
Ao final desta unidade de aprendizagem, você será capaz de:
 ▪ Usar a série de Taylor para desenvolver problemas numéricos, a 
partir de modelos matemáticos;
 ▪ Executar simulação computacional do problema numérico.
4 Métodos Computacionais em Engenharia
Introdução
Como sabemos, os processos, transformações químicas e/ou 
fenômenos físicos são representados por modelos matemáticos. Os modelos 
numéricos, juntamente com simulações computacionais, podem substituir, 
com algum grau de precisão, um método matemático, para que possamos 
encontrar a solução de um modelo matemático. 
Você, como conhecedor de cálculo diferencial, com certeza já percebeu 
que o cálculo de uma velocidade terminal, como no caso de um saltador em 
queda livre, é, na verdade, o cálculo de sua velocidade máxima. Então, imagine 
que essa velocidade pode ser determinada facilmente por meio do conceito de 
inclinação da curva em um ponto (que é essencialmente o significado gráfico 
da derivada de uma função), sem que seja necessário um método matemático 
ou simulação.
Para entendermos essa técnica, vamos relembrar, por meio do exemplo 
do saltador, a relação entre derivada e inclinação da curva, resolvendo, ainda 
o problema por meio do conceito de diferenças finitas. Em seguida, vamos 
construir o mesmo problema utilizando a série de Taylor, uma série infinita, 
para, então, simular o problema numérico.
5Métodos Computacionais em Engenharia
1. Equações Diferenciais e Algébricas: Série de Taylor
1.1 Encontrando a Solução por meio do Cálculo Diferencial 
Vamos iniciar esse tópico observando o Gráfico 1. Perceba a curva 
construída a partir da função, que é a solução exata do modelo que 
iremos estudar.
Gráfico 1 - Curva diminuindo de inclinação desde o ponto A até o ponto D.
Fonte: Do autor.
Nesse curva de variável dependente versus variável independente, 
existem quatro retas que tocam (tangentes) a curva em quatro pontos: A, B, 
C e D. Essas quatro retas representam a inclinação da curva nesses pontos. 
Podemos perceber que a inclinação das retas diminui desde o ponto A até o 
ponto D. Além disso, o ângulo que elas têm com o eixo horizontal diminui. 
A diminuição das inclinações das retas nestes pontos indica que toda a curva 
está diminuindo de inclinação ao longo do tempo, ou seja, a curva está ficando 
cada vez mais horizontal. Quando a curva estiver totalmente horizontal, a 
partir de um determinado instante de tempo, seu ângulo de inclinação será 
zero. Se a inclinação de uma curva for zero, a partir de um ponto em diante, 
a sua derivada também será zero. Portanto, não existirão mais variações no 
processo a partir desse mesmo ponto. Vamos, agora, aplicar essa ideia em um 
exemplo prático.
O modelo matemático a seguir, segundo Chapra (2013), é uma equação 
diferencial ordinária (EDO) e pertence ao exemplo do saltador em queda livre.
0
0 2 4 6 8 10 12 14 16
10
20
30
40
50
60
6 Métodos Computacionais em Engenharia
Onde a gravidade g = 9,81 m/s2, o coeficiente de arraste CD = 0,25 e a 
massa do saltador é m = 68,1 kg. Nesse exemplo, o saltador, ao cair em queda 
livre, descreve uma trajetória semelhante a do Gráfico 1. Do mesmo modo, 
quando a inclinação da curva for zero, a partir de um instante de tempo, a 
derivada será zero; isso significa que a variação de velocidade também será zero 
(nula) a partir desse instante. Então, não ocorrerão mais variações no “processo” 
a partir desse instante, ou seja, o saltador terá atingido sua velocidade terminal 
ou máxima. Utilizando o cálculo diferencial, você pode determinar a velocidade 
máxima do saltador. Veja como:
Quando a derivada é zero, então . Assim, substituindo na 
equação, temos:
Levando o termo -(0,25/68,1)v2 para o lado esquerdo da equação, 
isolando a velocidade e resolvendo, temos:
Logo, a velocidade terminal é v=51,6938 m/s.
O conceito de velocidade máxima que estudamos é exatamente igual ao estudado na 
otimização de funções. As funções algébricas possuem pontos máximos (ou mínimos), em 
que a primeira derivada da função é igual a zero, ou seja, no ponto onde a curva possui 
²DCdv g v
dt m
= −
0dv
dt
=
20, 25 0,259,81 ² 0 9,81
68,1 68,1
dv v v
dt
= − ⇒ = −
2 9,81 9,81 = = 
(0,25 / 68,1) (0,25 / 68,1)
v v⇒
Importante
7Métodos Computacionais em Engenharia
inclinação nula. O modelo matemático está para sua solução exata do mesmo modo como 
a derivada de uma função está para essa função de origem. Portanto, derivando a solução 
exata, chegamos ao modelo matemático.
Nesse exemplo, o próprio modelo matemático é a derivada da função. 
Então, basta zerar o termo de derivada e isolar a variável dependente (v) 
para encontrarmos a velocidade terminal. Entretanto, você não conseguiria 
determinar o instante de tempo em que o saltador atinge a velocidade terminal 
com essa estratégia, pois, para isso, precisaria de mais uma equação, ou seja, da 
solução exata, e, assim, “voltaria à estaca zero”. 
Se você foi um bom aprendiz de cálculo diferencial, pode se aprimorar 
nos métodos computacionais para determinar todas as informações pertinentes 
ao processo, sem deixar de lado seu aprendizado. Veja como os métodos 
computacionais podem auxiliar na determinação do tempo:
Primeiramente, precisamos construir o problema numérico e, para isso, 
vamos recorrer novamente à definição de derivada do cálculo diferencial. De 
acordo com esse cálculo, a derivada é também o limite da relação entre duas 
diferenças finitas quando a diferença no denominador tende a zero, ou seja:
A aproximação acima mostra que o termo diferencial pode ser substituído 
pela relação entre diferenças finitas no modelo, por isso é chamada de aproximação 
por diferenças finitas. Os índices ti e ti+1 significam o instante de tempo anterior 
e tempo posterior, respectivamente, que é uma nomenclatura importante do 
problema numérico. Vamos substituir esse resultado no modelo matemático:
Onde v(t) do lado direito deve se tornar v(ti). Levando o denominador 
para o lado direito da equação e rearranjando o modelo, este fica na forma 
numérica final:
1
0
1
( ) ( ) = lim = 
( )
i i
t
i i
v t v tdv v v
dt t t t t
+
∆ →
+
−∆ ∆
∆ ∆ −

21
1
( ) ( ) 0, 259,81 ( )
( ) 63,1
i i
i
i iv t v t v t
t t
+
+
−
= −
−
8 Métodos Computacionais em Engenharia
Esse modelo ou problema numérico, assim indexado, mostra que os 
valores posteriores de velocidade são sempre calculados a partir dos valores 
anteriores. Dessa forma, os valores de velocidade são determinados, passo 
a passo, por meio de cálculos repetidos. Dessa abordagem é formalmente 
chamada de método de Euler. O computador saberá parar quando os valores 
de velocidade estiverem variando abaixo de um desvio (erro) mínimo entre 
v(ti+1) e v(ti), que chamamos de tolerância; é assim que usamos o chamado 
critério de parada. 
Nesta unidade curricular, podemos fazer os cálculos computacionais 
à mão, utilizando uma simples calculadora científica; entretanto, também 
podemos fazê-los utilizando a linguagem computacional gratuita GNU Octave 
para desenvolver simulações computacionais. Essa linguagem é muito similar 
ao MATLABⓇ, o qual está entre as linguagens mais profissionais para esse 
tipo de tarefa. A simulação computacional também pode ser executada em 
softwares de planilhas como o ExcelⓇ (QUARTERONI; SALERI, 2007).
A derivada de uma função consiste no limite da função quando a 
variação da variável independente tende a zero. Saiba mais sobre a 
relação entre limite e derivada, assistindo ao vídeo proposto. 
1.2 Série de Taylor 
O mesmo problema numérico encontrado na seção anterior também 
pode ser facilmente encontrado a partir de uma série infinita: a série de Taylor. 
A série é infinita porque possui uma infinidade de termos que são usados para 
elevar a precisão do problema numérico, elevando, em contrapartida, o esforço 
computacional para encontrar a solução. Veja a forma geral da série de Taylor:
1 1
0, 25( ) ( ) 9,81 ( )² ( )
63,1i i i i i
v t v t v t t t+ +
 = + − −  
Vídeo
Assista agora
9Métodos Computacionais em Engenharia
Observe que, no segundo termo da série de Taylor, usa-se a primeira 
derivada f ’(xi); no terceiro termo, usa-se a segunda derivada f ”(xi), e assim por 
diante. O objetivo da série de Taylor é aumentar a precisão da aproximação e 
essa precisão é aumentada quanto mais termos são usados do lado direito da 
igualdade. O termo Rn está associado ao erro de truncatura (ou truncamento). 
Em alguns casos, reduzir o erro de truncatura pode elevar o erro de 
arredondamento.
A série de Taylor truncada no segundo termo ao lado direito da 
igualdade fica assim:
 
Onde f(xi+1) é o valor da função no tempo posterior; f(xi) é o valor da 
função no tempo anterior; f’(xi) é o valor da primeira derivada da função no 
tempo anterior; e h é o valor do passo ou intervalo de tempo. 
A série de Taylor pode ser adaptada ao problema do saltador, ficando 
da seguinte forma:
Substituindo o termo dv/dt pela equação do modelo matemático, 
teremos:
Assim, temos o problema numérico de diferenças finitas obtido a 
partir da série de Taylor truncada no segundo termo. Observe que, do lado 
direito da igualdade, as variáveis dependentes e/ou independentes ganham o 
índice numérico do tempo anterior, e os outros valores constantes não ganham 
índices numéricos, tais como g, Cd e m. A vantagem da série de Taylor em 
relação à aproximação por diferenças finitas é que podemos usar mais termos 
( )(3)
21 1
1 1
''( ) ( )( ) ( ) '( ) ³ ...
2! 3! !
n
n
i i n
f x f xff x f x f x h h h h R
n+
= + + + + + +
1 1( ) ( ) '( )i if x f x f x h+ = +
1( ) ( ) .i i
dvv t v t passo
dt+
= +
1( ) ( ) . ²( ) .i i i
cdv t v t g v t passo
m+
 = + −  
da série para elevar a precisão do problema numérico. Por exemplo, para o 
mesmo problema numérico formulado a partir da série de Taylor truncada no 
terceiro membro, temos:
2. Simulações Computacionais
Para simularmos o problema numérico, precisamos adaptá-lo à 
linguagem computacional que usaremos. Nesse caso, usaremos o GNU 
Octave, suprimindo os termos ti+1 e ti e substituindo simplesmente por i. 
Desse modo, temos:
A equação acima deve ser uma linha de código digitada dentro de 
um laço de repetição de cálculos (laço for). Uma versão mais simples desse 
código usado para a simulação está representado abaixo. Nele, o critério de 
parada não está inserido, ou seja, o que define a parada é o valor do laço de 
repetição. 
Quadro 1: Código escrito em GNU Octave para simular o problema do saltador. 
Fonte: Do autor.
1
1( ) ( ) . ²( ) . 2 . ( ) . ²
2i i i i
cd cdv t v t g v t passo v t passo
m m+
   = + − + −      
( 1) ( ) . ²( ) .i
cdv t v i g v i passo
m
 + = + −  
1. %%% simulação numérica do saltador
2. clear all %% limpa todas as variáveis antes de começar
3. passo = 2; %% esse é o valor do passo
4. v(1) = 0; %% condição inicial da velocidade
5. for i=1:15 %% início do laço de repetição (for)
6. v(i+1) = v(i) + (9.81 - (0.25/68.1)*(v(i))^2)*passo
7. end %% fim do laço de repetição (for)
8. disp(v); %% mostra os resultados na linha de comando
11Métodos Computacionais em Engenharia
Esse código e outros serão mais exercitados, mas observe que o 
comando for i=1:15 na linha 7, força a simulação a repetir 15 vezes os cálculos 
entre as linhas 8 e 10. Na linha 9, está nosso problema numérico, que é função 
do valor do passo, ou seja, da diferença entre o instante de tempo posterior 
e anterior que nós mesmos podemos definir como sendo igual a 2s (dois 
segundos), na linha 4. As frases na cor verde, precedidas de %%, são apenas 
comentários explicativos e não são executados pelo GNU Octave na simulação. 
O resultado da simulação acima é mostrado na linha de comando, por causa 
da função nativa disp() inserida no código, na linha 12. A saída ou retorno da 
função está abaixo: 
Quadro 2: Saída da simulação na linha de comando do Octave.
Fonte: Do autor.
Observe que a velocidade (v) atinge um valor constante de 51,6938 
somente a partir da 12ª (décima segunda) repetição do laço for. Esse valor 
corresponde a 24 segundos, pois o valor do passo é igual a 2s (dois segundos). 
Assim, podemos concluir que o saltador atingirá a velocidade terminal em 
24 segundos. Inserindo o critério de parada no código, a simulação não se 
estenderia além da 12ª (décima segunda) repetição, economizando, assim, 
tempo de esforço computacional; por isso o critério de parada é tão importante. 
Para inserir o critério de parada, usamos o cálculo de um valor de desvio entre 
uma repetição e outra, que pode ser o erro relativo. A tolerância é um valor 
que nós definimos e que o erro relativo deve atingir para que a simulação seja 
encerrada e retorne o resultado. Abaixo, temos o erro relativo calculado para 
cada uma das três primeiras repetições (iterações):
>> simulacao 
Columns 1 through 9:
 0.00000 19.62000 36.41368 46.29832 50.18018 
51.31229 51.60078 51.67129 51.68834 
 Columns 10 through 16:
 51.69245 51.69344 51.69368 51.69373 51.69375 
51.69375 51.69375
12 Métodos Computacionais em Engenharia
Observe que o erro relativo diminui ao longo da simulação. Com 
o critério de parada, se a tolerância for de 0,01% (quarta casa decimal), a 
simulação não tardará em parar e retornará um resultado com 4 (quatro) casas 
decimais de precisão.
A prática e habilidade vêm com o exercício, por isso, não perca tempo. 
Instale o OCTAVE em seu computador ou use os computadores da 
universidade para executar o código acima e gerar os resultados. Durante 
os estudos, você irá confrontar-se com dificuldades que são essenciais ao 
aprendizado, tais como os erros de digitação, por exemplo. Observe a 
presença de vários parênteses “()” no código, que costumam ser a causa 
mais comum dos erros de digitação, tanto no OCTAVE, como no EXCELⓇ 
ou em qualquer linguagem de programação. Fique atento, pois o código 
deve ser digitado exatamente como está no quadro.
 
Os cálculos realizados pelo computador também podem ser feitos 
manualmente, utilizando uma calculadora científica. Vamos realizar esses 
cálculos, e, para isso, vamos montar a expressão da primeira iteração:
Observe que as constantes e o valor de passo jáforam substituídos, 
pois não mudarão durante a simulação. Substituindo o valor de velocidade 
inicial (v(1) = 0), temos:
1
1
( ) ( ) 19,62 0iteração (1): (1) 100% 100% 100%
( ) 19,62
36,4137 19,62iteração (2): (2) 100% 46,12%
36,4137
46,2983 36,4137iteração (3): (3) 100% 21,35%
46,2983
i i
i
v t v terro x x
v t
erro x
erro x
+
+
− −
= = =
−
= =
−
= =
Importante
Baixe agora
0,25(2) (1) 9,81 . ²(1) .2
68,1
v v v = + −  
0,25(2) 0 9,81 .0² .2
68,1
v  = + −  
13Métodos Computacionais em Engenharia
Onde v(2) é o valor da velocidade no segundo intervalo de tempo; logo, 
v(2)=9,812=19,62 m/s. Esses cálculos podem ser feitos com uma calculadora 
científica, mas, se você quiser executar esses cálculos na linha de comando do 
GNU Octave, use os seguintes comandos:
Quadro 3: Comandos para executar a primeira iteração no Octave. 
Fonte: Do autor.
Para continuar executando no Octave, basta recuperar o último 
comando com a tecla direcional para cima (Figura 1), substituir os índices da 
velocidade (i) e clicar em Enter novamente. 
Figura 1: Tecla direcional para cima recupera os comandos.
Vamos para a segunda iteração:
Onde v(3) é o valor da velocidade no terceiro intervalo de tempo, v(2) 
será a velocidade calculada na iteração anterior. Substituindo, temos:
E assim sucessivamente:
>> v(1) = 0;
>> v(2) = v(1) + ((9.81 - (0.25/68.1)*(v(1))^2))*2
20,25v(3) = v(2) + 9,81 - . v (2) . 2
68,1
 
  
2 0,25v(3) = 19,62 + 9,81 - . 19,62 . 2 = 36,4137 m/s
68,1
 
  
20,25v(4) = 36,4137 + 9,81 - . 36,4137 . 2 = 46,2983 m/s
68,1
 
  
20,25v(5) = 46,2983 + 9,81 - . 46,2983 . 2 = 50,1802 m/s
68,1
 
  
14 Métodos Computacionais em Engenharia
Como sabemos, esse cálculos também podem ser feitos em outras 
linguagens computacionais, tais como o C, ExcelⓇ etc. Existem casos 
em que o modelo matemático consiste em mais de uma equação 
diferencial. Nesse caso, é um sistema de equações diferenciais que deve 
ser solucionado por meio de técnicas e ferramentas computacionais mais 
avançadas. Essas técnicas e ferramentas fazem parte do escopo de uma 
disciplina mais avançada em métodos computacionais. 
Abaixo, temos um código escrito em GNU Octave (daqui por diante 
referido apenas como Octave) mais completo para a execução desses cálculos com 
critério de parada. Esse código ainda “plota” um gráfico semelhante ao Gráfico 1:
Vídeo
Assista agora
 1. %%% simulação numérica do exercício
 2. clear all %% limpa todas as variáveis antes de começar
 3. 
 4. g = 9.8;
 5. Cd = 0.25;
 6. m = 68.1;
 7. 
 8. passo = 2; %% este é o valor do passo
 9. tol = 0.0001; %% valor de tolerância admitido
10. 
11. v(1) = 0; %% condição inicial da velocidade (0 metros por segundo)
12. t(1) = 0; %% valor de tempo inicial (0 segundos)
13. 
14. for i=1:1000 %% início do laço de repetição (for) para muitos valores de i
15. t(i+1) = t(i) + passo; %% cria o vetor tempo para o gráfico
16. v(i+1) = v(i) + (g - (Cd/m)*(v(i))^2)*passo;
17. 
18. erro = (abs(( v(i+1) - v(i))/( v(i+1)))); %% calcula o erro iterativo
19. 
20. if erro <= tol %% compara o erro com a tolerância
21. break %% comando que encerra os cálculos, caso seja verdadeiro
15Métodos Computacionais em Engenharia
Quadro 4: Código escrito em Octave para os cálculos com critério de parada baseado em erro iterativo.
Fonte: Do autor.
22. else
23. end
24. 
25. end %% fim do laço de repetição (for)
26. disp(v); %% mostra os resultados na linha de comando
27. figure(1), plot(t, v);
16 Métodos Computacionais em Engenharia
Síntese
As condições de máximo ou mínimo dos modelos matemáticos 
podem ser, até certo ponto, determinados por meio do cálculo diferencial. 
Entretanto, as simulações computacionais podem oferecer informações 
mais abrangentes sobre os processos representados por esse modelos.
Por meio de uma série infinita, um modelo matemático pode ser 
aproximado a um problema numérico e simulado computacionalmente. 
Essa simulação tanto pode determinar condições de máximo ou mínimo 
como também outras informações pertinentes ao processo. Ao longo da 
simulação, pode-se calcular o erro entre os valores determinados pela 
solução numérica, e esses desvios são usados no critério de parada para 
encerrar a simulação. 
Os cálculos da simulação podem ser realizados tanto manualmente, 
com uma calculadora científica, como com a ajuda de uma linguagem 
computacional específica para esse fim.
17Métodos Computacionais em Engenharia
Referências Bibliográficas
CHAPRA, Steven C. Métodos numéricos aplicados com Matlab para 
engenheiros e cientistas. 3 ed. São Paulo: Mcgraw Hill, 2013.
FERRETTO MATEMÁTICA. Derivada de uma Função (Aula 3). 
Disponível em: https://www.youtube.com/watch?v=OHi7owgHqcU. 
Acesso em: 29 jan. 2018.
QUARTERONI, A.; SALERI, F. Cálculo científico com MATLAB e 
Octave. Milano: Springer, 2007.
SIMULTECH. Solução de sistema de EDOs com a rotina ode45 do Matlab 
- Ex.: Pêndulo. Disponível em: https://www.youtube.com/watch?v=F_
F0g91Jfbg. Acesso em: 29 jan. 2018.
18 Métodos Computacionais em Engenharia

Continue navegando