• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia de Produção ·

Introdução à Lógica e Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Lista de Exercícios - Métodos Numéricos e Modelagem Matemática

7

Lista de Exercícios - Métodos Numéricos e Modelagem Matemática

Introdução à Lógica e Programação

UNIGRANRIO

Ajuste de Funções: Métodos Computacionais em Engenharia

19

Ajuste de Funções: Métodos Computacionais em Engenharia

Introdução à Lógica e Programação

UNIGRANRIO

Relatorio AP3 Metodos Computacionais Resumo das Unidades 5-8

8

Relatorio AP3 Metodos Computacionais Resumo das Unidades 5-8

Introdução à Lógica e Programação

UNIGRANRIO

Métodos Computacionais em Engenharia: Interpolação

18

Métodos Computacionais em Engenharia: Interpolação

Introdução à Lógica e Programação

UNIGRANRIO

Integração Numérica: Métodos e Aplicações em Engenharia

17

Integração Numérica: Métodos e Aplicações em Engenharia

Introdução à Lógica e Programação

UNIGRANRIO

Sistemas Não Lineares: Métodos Numéricos e Aplicações

19

Sistemas Não Lineares: Métodos Numéricos e Aplicações

Introdução à Lógica e Programação

UNIGRANRIO

Erros em Métodos Numéricos e Modelagem Matemática - Exercícios Resolvidos

6

Erros em Métodos Numéricos e Modelagem Matemática - Exercícios Resolvidos

Introdução à Lógica e Programação

UNIGRANRIO

Lista de Exercícios Resolvidos - Algoritmos e Lógica de Programação em C - Bondinho e Pneu

5

Lista de Exercícios Resolvidos - Algoritmos e Lógica de Programação em C - Bondinho e Pneu

Introdução à Lógica e Programação

UNIGRANRIO

AP3 Algoritmos e Programação em C - Resolução de Problemas OBI

4

AP3 Algoritmos e Programação em C - Resolução de Problemas OBI

Introdução à Lógica e Programação

UNIGRANRIO

Texto de pré-visualização

NÚCLEO DE EDUCAÇÃO A DISTÂNCIA NEAD Entrega de relatório AP1 APLICAÇÃO PRÁTICA REFERENTE AS ATIVIDADES DE METODOS COMPUTACIONAIS TurmaENG15060 Professor Marlon Demauir Semestre 2 Contextualização Este trabalho tem por objetivo explicitar em textos dissertativos as atividades de Metodos Computacionais realizadas pelo aluno Proposta de Trabalho Escrever um resumo das unidades 1 2 3 e 4 disponíveis para estudo na disciplina Contextualizar as unidades com artigos ou temas literários citados durante texto do resumo Orientações O aluno deverá ler e resumir as 4 primeiras unidades da disciplina assim como referenciar o conteúdo adquirido com os artigos e temas disponíveis na literatra Critérios de avaliação Indicadores Pontuação Construções dissertativas 10 UNIGRANRIO U N I V E R S I D A D E Vá além da sala de aula Sistemas Lineares Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduação Emilio Antonio Francischetti PróReitora Comunitária Sônia Regina Mendes Direção geral Jeferson Pandolfo Revisão Laís Sá 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 Sistemas Lineares Objetivos 04 Introdução 05 1 Sistemas Lineares 06 11 Métodos Diretos para Sistemas Lineares Eliminação Gaussiana 09 12 Método Iterativo de GaussSeidel 19 Síntese 24 Referências Bibliográficas 25 Objetivos Ao final desta unidade de aprendizagem você será capaz de Transcrever problemas numéricos em sistemas de equações e matrizes Solucionar sistemas de equações lineares através de métodos numéricos 4 Métodos Computacionais em Engenharia Introdução Os modelos matemáticos de processos reais são constituídos em sua maioria não de apenas uma equação diferencial isolada mas de muitas equações acopladas entre si ou seja compartilham entre elas muitas variáveis dependentes e independentes bem como condições iniciais e de contorno Como a solução dos modelos matemáticos através de métodos matemáticos pode ser complicada entram em cena os métodos computacionais Como no exemplo do saltador visto na Unidade 1 existe um intervalo de tempo anterior a 24 segundos em que este apresenta variação de sua velocidade de queda livre essa fase ou período é chamado de regime transiente ou transitório Nesse período transiente a derivada da função inclinação da curva é diferente de zero pois ainda existem variações ocorrendo no processo A partir de 24 segundos em diante o saltador atinge sua velocidade terminal alcançando assim o período estacionário no qual esse processo queda livre não apresenta mais nenhuma variação de condições com o tempo No período estacionário o termo diferencial da equação pode ser zerado e a equação diferencial transformase em uma simples equação algébrica O mesmo se aplica a um sistema de equações diferenciais que no estado estacionário transformam se em um sistema de equações algébricas Nesta unidade aprenderemos a resolver um sistema de equações algébricas lineares que podem representar processos no regime ou estado estacionário Iniciaremos falando sobre processos estacionários em seguida estudaremos o método de eliminação de Gauss e finalizaremos esta unidade estudando o método iterativo de GaussSeidel 1 Sistemas Lineares Iniciaremos esta unidade falando sobre como surgem os sistemas de equações Vamos lá No exemplo do saltador você percebeu sem levar em consideração a simulação computacional que o problema de determinar a velocidade terminal no regime estacionário era muito mais simples que usar um método matemático no regime transiente Isso porque no regime transiente você não podia fazer dvdt 0 e resolver a equação algebricamente mas deveria manter o termo diferencial e usar um método matemático Pois bem a solução de modelos matemáticos no período estacionário é mais simples do que a solução destes no período transiente pois no período estacionário os termos diferenciais podem ser zerados Vejamos um exemplo Imagine um processo de fluxo de produtos por exemplo constituído de duas equações diferenciais lineares acopladas através das variáveis x1 e x2 fluxo do produto 1 e fluxo do produto 2 respectivamente Essas variáveis podem por exemplo ser função da capacidade de um veículo ou o diâmetro de uma tubulação caracterizando a presença de relações algébricas no modelo O sistema de equações diferenciais para esse processo hipotético é o seguinte Observe que as duas variáveis dependentes aparecem em ambas as equações diferenciais por isso dizemos que as equações estão acopladas Em razão da presença dos termos diferenciais essas equações também representam o período transiente que é o período em que ainda ocorrem variações de fluxo de produto por exemplo no caso hipotético em que esperamos uma tubulação encher completamente Em algumas aplicações de engenharia nem sempre estamos interessados nesse período e temos sim maior interesse em determinar o valor dos fluxos somente quando o processo atingir o período ou estado estacionário ou seja quando os termos diferenciais estiverem zerados Nesse período as equações ficam 1 1 2 2 9 t dx x x d 2 1 2 5 5 t dx x x d 6 Métodos Computacionais em Engenharia Observe que agora as equações se tornaram um simples sistema de equações lineares A solução desse modelo no período ou regime estacionário pode ser obtida facilmente através do método gráfico Esse método consiste basicamente na construção das retas que representam essas equações em um gráfico e posterior determinação do ponto de cruzamento entre elas O ponto de cruzamento então é a solução do sistema ou seja esse é o ponto onde os valores de x1 e x2 satisfazem as duas equações ao mesmo tempo As retas lineares que representam essas equações ficam na forma y ax b Para representar as equações nessa forma basta simplesmente isolar uma das variáveis nas duas equações nesse caso podemos isolar x2 assim ficamos com O Gráfico 1 contém as duas retas acima e a solução do sistema Gráfico 1 Gráfico das funções em que a solução dos sistemas é em x1 2 e x2 5 Fonte Do autor 1 2 1 2 1 2 1 2 0 2 9 2 9 0 5 5 5 5 x x ou x x x x x x 2 1 2 1 2 9 5 5 x x x x 1 0 1 2 3 4 5 X1 0 5 10 15 20 5 10 X2 7 Métodos Computacionais em Engenharia A solução sem a construção do gráfico também é possível bastando igualar uma equação com a outra e resolvendo para uma das variáveis do seguinte modo Tão logo conhecemos x1 podemos levar esse valor a qualquer uma das equações de origem para determinarmos x2 do seguinte modo Observe que substituindo os valores de x1 e x2 nas duas equações originais podemos verificar a prova real de que esses valores são a solução do sistema pois satisfazem as duas equações ao mesmo tempo O Octave possui funções nativas para a solução de sistemas de equações lineares No Octave podemos resolver o sistema acima por meio das seguintes etapas Primeiramente criamos a matriz de coeficientes A e a matriz de cargas B como mostrado no Quadro 1 depois usamos o comando com barra invertida logo abaixo Quadro 1 Matriz de coeficientes e de cargas do sistema linear em questão Fonte Do autor 1 1 1 1 14 2 9 5 5 7 14 2 7 x x x x 2 1 2 2 2 9 22 9 5 x x x x 22 5 9 52 5 5 2 1 5 1 9 5 2 5 A B X A B X 8 Métodos Computacionais em Engenharia Observe que os coeficientes são os valores que multiplicam as variáveis nas duas equações e as cargas são os valores que estão do lado direito da igualdade Nesse caso a barra invertida é o comando do Octave para resolver o sistema Perceba que a resposta x1 2 e x2 5 é de cima para baixo pois os coeficientes foram inseridos nas matrizes da esquerda para a direita e são relacionadas ao x1 e x2 respectivamente No MATLAB os comandos são os mesmos para resolver esse sistema de equações 11 Métodos Diretos para Sistemas Lineares Eliminação Gaussiana A Eliminação de Gauss é um método computacional para a solução de um sistema de equações lineares Esse método é dividido em duas etapas a eliminação progressiva e a substituição progressiva Antes de estudarmos o método vamos analisar a forma geral de um sistema de equações lineares como o representado a seguir Esse sistema de n equações e n incógnitas pode ser escrito na forma de uma matriz contendo n linhas e n1 colunas com todos os coeficientes a e b As variáveis x não entram nessa matriz e é a partir dela que iniciamos a etapa de eliminação progressiva O objetivo da etapa de eliminação progressiva é criar uma matriz triangular superior ou seja uma matriz que contenha 11 1 12 2 13 3 1 1 21 1 22 2 23 3 2 2 1 1 2 2 3 3 n n n n n n n nn n n a x a x a x a x b a x a x a x a x b a x a x a x a x b 11 12 13 1 1 21 22 23 2 2 1 2 3 n n n n n nn n a a a a b a a a a b a a a a b 9 Métodos Computacionais em Engenharia valores diferentes de zero somente nos elementos da diagonal principal e nos elementos acima desta Isso é feito por meio de operações matemáticas específicas entre todas as equações com a equação de pivô de modo a eliminar variáveis Vejamos agora como funciona o método A etapa de eliminação é iniciada com a seleção da equação de pivô que normalmente é a primeira equação Logo depois selecionamos o coeficiente de pivô que é simplesmente a razão entre o primeiro coeficiente de qualquer uma das equações e o primeiro coeficiente da equação de pivô Por exemplo vamos eliminar a variável x1 da segunda equação para isso fazemos o coeficiente de pivô entre o primeiro elemento da segunda equação e o primeiro elemento da equação de pivô assim o coeficiente fica a21a11 Logo depois multiplicamos esse coeficiente por todos os elementos da equação de pivô e assim temos Posteriormente subtraímos essa equação da segunda equação e assim teremos Observe que o primeiro termo contendo x1 foi eliminado cortado da segunda equação Observe também que a operação matemática entre os coeficientes originais ligados a x2 até xn produzem novos coeficientes por exemplo a22 a21a11a12 a22 A segunda equação fica agora desta forma Essa operação é repetida para todas as equações em relação à primeira equação a equação de pivô cancelando a variável x1 de todas elas O próximo passo da eliminação progressiva é eliminar a variável x2 Nesse próximo passo a equação de pivô tornase a segunda equação e a mesma operação 21 21 21 21 21 11 1 12 2 13 3 1 1 11 11 11 11 11 n n a a a a a a x a x a x a x b a a a a a 21 21 21 22 12 2 2 1 2 1 11 11 11 n n n a a a a a x a a x b b a a a 22 2 23 3 2 2 n n a x a x a x b 10 Métodos Computacionais em Engenharia matemática deve ser feita entre todas as equações com relação à segunda equação a nova equação de pivô Esse novo procedimento elimina a variável x2 de todas as equações produzindo novos coeficientes O resultado é o conjunto de equações abaixo representado na forma geral O mesmo conjunto de equações pode ser representado pela matriz triangular superior abaixo Observe que a última equação está com todas as variáveis eliminadas com exceção de xn Agora é possível iniciar a etapa de substituição progressiva que começa pela determinação da variável xn até a determinação da primeira x1 O valor de xn pode ser facilmente obtido pela simples divisão dos coeficientes Acompanhe na equação abaixo Após a determinação de xn iniciase a determinação das outras variáveis por meio da seguinte fórmula 22 2 23 3 2 2 3 11 1 12 2 13 3 3 3 3 1 1 1 3 1 n n n n n n nn n n n n a x a x a x a x b a x a x a x b a x a x b a x b 23 2 33 3 22 2 3 11 1 1 1 2 13 1 1 0 0 0 0 0 0 n n n n n nn n a a a a a a a b a a b a b b 1 1 n n n n nn b x a 1 1 1 1 1 2 1 n i i i ij j i i i ii b a xj x para i n n a 11 Métodos Computacionais em Engenharia Observe que o índice i começa por n1 ou seja para o caso de 10 variáveis x10 essa fórmula inicia os cálculos pela variável x9 Fique atento à substituição correta dos índices i e j para usar a fórmula da substituição progressiva Para o cálculo da variável x1 o índice i 1 e o índice j vão desde j i 1 2 até n Vejamos como fica a fórmula de x1 para 3 equações n 3 Observe que b11 não significa que b1 esteja elevado a zero e sim que este é o coeficiente b1 da primeira equação de pivô que não sofreu modificação pela eliminação progressiva A fórmula para x2 fica Pratique para outros valores de n Bem depois de toda essa demonstração teórica nada como um exemplo prático para entendermos melhor as etapas da eliminação de Gauss Vamos considerar como exemplo o sistema de equações abaixo Nossa equação de pivô será a primeira equação Iniciaremos a eliminação da variável x1 da segunda equação o coeficiente de pivô é 31 e a Importante 3 3 11 11 1 1 1 1 1 1 2 1 12 2 13 3 1 11 11 11 11 j j j j b a xj b a xj b a x a x x a a a 3 3 21 21 2 2 2 2 2 1 3 2 23 3 2 21 22 22 22 j j j j b a xj b a xj b a x x a a a 1 2 3 1 2 3 1 2 3 3 2 13 3 2 18 4 3 5 x x x x x x x x x 12 Métodos Computacionais em Engenharia primeira equação equação de pivô deve ser multiplicada por esse coeficiente dessa forma substituindo e resolvendo temos Subtraindo essa equação da segunda equação e a resolvendo teremos Portanto a segunda equação está agora com a variável x1 eliminada Vamos agora eliminar a variável x1 da terceira equação então o coeficiente de pivô é agora 41 Para isso repetimos a mesma operação matemática para a terceira equação em relação à primeira e resolvendo ficamos com Portanto a terceira equação está agora com a variável x1 eliminada Para finalizarmos precisamos eliminar a variável x2 da terceira equação para que a segunda equação se torne a equação de pivô Então nesse caso o coeficiente de pivô para a terceira equação em relação à segunda é 11111 Subtraindo a segunda equação multiplicada por esse novo coeficiente de pivô da terceira equação ficamos com a equação abaixo 1 2 3 1 2 3 3 3 3 3 312 13 1 1 1 3 9 6 39 1 1 1 1 x x x x x x 1 2 3 2 3 3 9 6 39 3 2 1 18 1 1 1 1 11 7 57 x x x x x 1 2 1 2 3 1 2 3 2 3 4 4 4 4 3 2 3 13 1 1 1 1 4 12 8 52 1 1 1 1 4 12 8 52 4 1 3 5 1 1 1 1 11 5 47 x x x x x x x x x x x 3 2x 10 13 Métodos Computacionais em Engenharia A matriz triangular superior obtida para esse exemplo fica da seguinte forma Dessa forma a primeira substituição já pode ser executada assim Devemos proceder agora a substituição progressiva para as outras variáveis desde a segunda x2 até a primeira x1 De acordo com a fórmula a segunda variável fica E finalmente a primeira variável fica Observe que os valores das variáveis são obtidos em apenas duas etapas É claro que para tornarse um expert em eliminação de Gauss é preciso muito treino O estudante que quiser se aperfeiçoar pode criar seus próprios problemas e treinar usando para isso as funções nativas do Octave para saber previamente as respostas corretas Um procedimento passo a passo da eliminação de Gauss encontrase no Quadro 2 1 3 2 13 0 11 7 57 0 0 2 10 3 3 2x 10 x 5 2 23 3 2 22 57 75 2 1 1 b a x x a 1 12 2 13 3 1 11 1332 25 3 1 b a x a x x a 1 3 2 3 2 1 4 1 3 13 18 5 3 3 31 11 1 2 2 21 11 1 3 3 32 22 2 a b ab a b ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab 14 Métodos Computacionais em Engenharia Quadro 2 Eliminação de Gauss detalhada no modo calculadora do Octave Fonte Do autor Com algum esforço você pode perceber no Quadro 2 que os índices se alternam de forma padronizada A habilidade de identificar esses padrões é muito conveniente aos programadores de métodos computacionais Os programadores podem identificando esses padrões criar códigos que automatizam as etapas do método Um exemplo desse tipo de código está no Quadro 3 1 3 2 13 0 11 7 57 0 0 2 10 13 4 1 0 0 0 3 3 33 0 0 a ab b ab x zeros n x x b a x 5 2 2 23 3 22 0 2 5 1 1 12 2 13 3 11 3 2 5 x b a x a x x b a x a x a x 1 Eliminação de Gauss ingenua 2 clear all limpa todas as variáveis antes de começar 3 4 a 1 3 2 3 2 1 4 1 3 cria a matriz de coeficientes 5 b 13 18 5 cria o vetor de cargas 6 n sizea1 calcula o número de linhas na matriz a 15 Métodos Computacionais em Engenharia Quadro 3 Código para a eliminação de Gauss ingênua Fonte Do autor O estudante atento percebeu que a eliminação de Gauss possui uma limitação Esse método da forma como foi mostrado não previne eventuais divisões por zero sendo por isso chamado de eliminação de Gauss ingênua Por exemplo observe o sistema de equações abaixo O que há de diferente nele A diferença em relação ao primeiro exemplo é que nesse caso o coeficiente a11 da primeira equação é zero ou seja o coeficiente de pivô já na 2 3 1 2 3 1 2 3 2 3 10 4 6 7 22 2 3 6 33 x x x x x x x x 7 ab a b junta as matrizes a b 8 9 etapa de eliminação progressiva 10 for j1n1 11 for in11 12 if i j 13 abi abi abijabjjabj 14 end 15 end 16 end 17 ab mostra a matriz ab na linha de comando 18 19 a ab 1n separa a matriz ab em duas matrizes novamente 20 b ab n1 21 22 x zerosn1 inicia o vetor solução x 23 24 etapa de substituição progressiva 25 for in11 26 xi bi sumaixaii 27 end 28 x mostra a resposta na linha de comando 29 16 Métodos Computacionais em Engenharia primeira etapa inviabiliza completamente o método pois qualquer número dividido por zero é igual a infinito e assim o sistema fica sem solução O mesmo problema também ocorre para coeficientes muito próximos de zero gerando erros de arredondamento CHAPRA 2013 A solução para esse inconveniente é simples e eficaz consistindo na mera troca da primeira equação equação de pivô por outra equação dentro do mesmo sistema cujo primeiro coeficiente seja o maior de todos em módulo no sistema em questão QUARTERONI SALERI 2007 Assim o sistema de equações deve ficar da seguinte forma Esse sistema pode agora ser resolvido normalmente por meio da eliminação de Gauss pois a nova equação de pivô não possui seu coeficiente a11 zerado e é agora 4 quatro o maior dos valores Essa técnica é chamada de pivotamento parcial e é eficaz para a grande maioria dos casos O código abaixo Quadro 4 possui um controlador de fluxo if que faz o pivotamento parcial entre as linhas 10 e 15 caso seja necessário 1 2 3 2 3 1 2 3 4 6 7 22 2 3 10 2 3 6 33 x x x x x x x x 1 Eliminação de Gauss com pivotamento parcial 2 clear all limpa todas as variáveis antes de começar 3 4 a 0 2 3 4 6 7 2 3 6 cria a matriz de coeficientes 5 b 10 22 33 6 n sizea1 calcula o número de linhas na matriz a 7 ab a b junta as matrizes a b 8 9 pivotamento parcial 10 if ab11 0 verifica se a11 é igual a zero 11 ag ab cria uma matriz temporária ag para a troca de linhas 12 valor indx maxabsag1 encontra o valor máximo 13 ab1 agindx faz a troca de linhas 17 Métodos Computacionais em Engenharia Quadro 4 Eliminação de Gauss com pivotamento parcial Fonte Do autor Automatizar o pivotamento parcial bem como qualquer outro método é mais simples quando dispomos de experiência com a linguagem computacional com a qual trabalhamos A construção de códigos de procedimentos automatizados para qualquer método deve ser realizada com perspicácia e paciência executandose vários testes na linha de comando inicialmente com problemas simplificados para o desenvolvimento do código e posteriormente realizando testes para problemas mais complexos 14 abindx ag1 15 else 16 end 17 18 etapa de eliminação progressiva 19 for j1n1 20 for in11 21 if i j 22 abi abi abijabjjabj 23 end 24 end 25 end 26 ab mostra a matriz ab na linha de comando 27 28 a ab 1n separa a matriz ab em duas matrizes novamente 29 b ab n1 30 31 x zerosn1 inicia o vetor solução x 32 33 etapa de substituição progressiva 34 for in11 35 xi bi sumaixaii 36 end 37 x mostra a resposta na linha de comando 18 Métodos Computacionais em Engenharia Além da eliminação de Gauss como vimos esse método ainda pode ser abordado por diferentes estratégias Aprenda mais sobre a solução de sistemas de equações lineares lendo esta monografia A eliminação de Gauss como percebemos é um procedimento que envolve apenas cálculos aritméticos na etapa de eliminação progressiva bem como na etapa de substituição progressiva O próximo método a ser estudado é o método iterativo de GaussSeidel que requer alguma habilidade de manipulação algébrica para isolar as variáveis ainda que seja de desenvolvimento mais simples Vamos estudálo 12 Método Iterativo de GaussSeidel O método de GaussSeidel é iterativo ou seja envolve repetição dos cálculos com a necessidade do cálculo de erros iterativos e um critério de parada baseado em um valor de tolerância Vamos direto a um exemplo Dado o sistema de equações lineares abaixo Vamos determinar os valores de x1 x2 e x3 Em primeiro lugar isole as três variáveis das três equações e formule as equações abaixo Depois atribua valores iniciais nulos a x2 e x3 ou quaisquer valores iniciais Depois inicie os cálculos de x1 x2 e x3 a partir das equações acima e simplesmente repita os cálculos com os novos valores de x1 x2 e x3 obtidos Saiba Mais Assista agora 1 2 3 1 2 3 1 2 3 3 2 15 45 2 5 2 21 15 3 4 32 x x x x x x x x x 2 3 1 1 2 1 2 3 45 2 15 3 21 2 2 3 5 32 15 3 4 x x x x x x x x x 19 Métodos Computacionais em Engenharia Fazendo x2 0 e x3 0 vamos à primeira iteração Em seguida vamos à segunda iteração Vamos para à terceira iteração E finalmente vamos para a quarta iteração 1 2 3 45 20 150 15 3 21 215 20 48 5 32 1515 48 38375 4 x x x 1 2 3 45 248 1538375 02188 3 21 202188 238375 27525 5 32 1502188 27525 58536 4 x x x 1 2 3 45 2 27525 15 58536 25918 3 21 2 25918 2 58536 28953 5 32 15 25918 28953 48566 4 x x x 1 2 3 45 2 28953 15 48566 19981 3 21 2 19981 2 48566 30566 5 32 15 19981 30566 49583 4 x x x 20 Métodos Computacionais em Engenharia Observe que na quarta iteração os valores já se aproximam da resposta que é x12 x23 e x35 O Quadro 5 contém os comandos para o método iterativo de GaussSeidel no Octave execute os comandos na ordem em que estão mostrados Quadro 5 Comandos para executar o método de GaussSeidel no Octave Fonte do autor Depois da primeira execução das linhas de comando acima recupere os três últimos comandos com a tecla direcional para cima do teclado seta um de cada vez teclando enter após cada vez ou seja recupere primeiro a equação de x1 e tecle enter depois a equação de x2 e tecle enter e depois a equação de x3 e tecle enter Repita esSe procedimento e observe que os valores vão se aproximando de x12 x23 e x35 Isolar uma variável de uma equação algébrica não é difícil desde que tenhamos o conhecimento de algumas regras básicas Por exemplo vamos isolar x da equação abaixo Considere a b e c como sendo constantes nessa equação Para isolar x precisamos manter o termo contendo x do lado esquerdo da equação e passarmos todos os outros termos para o lado direito lembrando que eLes terão seus sinais invertidos assim Logo depois devemos passar o coeficiente de x2 nesse caso a constante a para o lado direito mas devemos estar atentos ao fato de que esse coeficiente passa para o outro lado dividindo todos os termos da seguinte forma 2 0 3 0 1 45 2 2 15 3 3 2 21 2 1 2 3 5 3 32 15 1 3 2 4 x x x x x x x x x x x Importante 2 0 ax aby c 2 ax aby c 2 aby c x a 21 Métodos Computacionais em Engenharia A expressão acima é equivalente a Sendo assim podemos desenvolvêla ainda mais pois aa 1 Assim resolvendo temos O expoente de x 2 deve igualmente passar para o lado direito lembrando que este deve operar sobre todos os termos e também que passa invertido da seguinte forma A expressão acima é equivalente a que é a solução O método iterativo de GaussSeidel implementado no Octave está entre os códigos mais simples Veja o Quadro 6 Quadro 6 Código em Octave para o método de GaussSeidel Fonte Do autor 2 aby c x a a 2 c x by a 1 2 c x by a 2 c x by a 1 método iterativo de GaussSeidel 2 clear all limpa todas as variáveis antes de começar 3 4 x 0 0 0 5 6 for i1100 7 8 x1 45 2x2 15x33 9 x2 21 2x1 2x35 10 x3 32 15x1 3x24 11 12 end 13 x mostra a resposta na linha de comando 14 22 Métodos Computacionais em Engenharia Observe o código acima O que está faltando Isso mesmo está faltando o critério de parada Insira você mesmo o critério de parada usando qualquer uma das variáveis para o cálculo dos erros iterativos Modifique ou melhore o código se você julgar necessário Faça do seu jeito O método de GaussSeidel possui aprimoramentos que o tornam mais eficiente para solucionar sistemas de equações lineares Acesse o link indicado e aprenda mais sobre métodos iterativos de solução de sistemas lineares Assim finalizamos o método iterativo de GaussSeidel E então o que achou Saiba Mais Assista agora 23 Métodos Computacionais em Engenharia Síntese Nesta unidade aprendemos que um sistema de equações diferenciais no estado estacionário gera um sistema de equações algébricas Os sistemas de equações podem ser lineares ou não lineares Existem dois métodos muito usados para a solução de um sistema de equações lineares a eliminação de Gauss e o método iterativo de GaussSeidel A eliminação de Gauss pode encontrar a resposta em duas etapas as quais são a eliminação progressiva e a posterior substituição progressiva podendo ainda ser complementada por um pivotamento parcial para evitar divisões por zero já o método iterativo de GaussSeidel é executado por um simples rearranjo algébrico inicial e posterior substituição iterativa dos novos valores obtidos nas equações geradas sendo um método mais simples que a eliminação de Gauss e mais fácil de ser implementado em uma linguagem computacional E então o que você achou desses métodos Faça sua própria análise e discorra sobre as vantagens e desvantagens de cada um deles pois ainda há muito o que discutir 24 Mé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 LIMA Carlos Cleoton Xaxá Da Silva Estudo dos métodos numéricos que realizam fatoração LU na matriz dos coeficientes para resolução de sistemas de equações lineares Disponível em www2ufersaedubrportal viewuploadssetores232TCC20CARLOS2020final3pdf Acesso em 11 mar 2018 QUARTERONI A SALERI F Cálculo científico com MATLAB e Octave Milano Springer 2007 SOUZA Luiz Fernando Spillere Estudo de métodos iterativos não estacionários de resolução de grandes sistemas lineares esparsos Disponível em httpsprojetosinfufscbrarquivosprojetosprojeto287 TCCLuizFernandopdf Acesso em 11 mar 2018 25 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 Zeros de Funções e Otimização Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduação Emilio Antonio Francischetti PróReitora Comunitária Sônia Regina Mendes Direção geral Jeferson Pandolfo Revisão 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 Zeros de Funções e Otimização Objetivos 4 Introdução 5 1 Zeros de Funções e Otimização 6 11 Métodos Intervalares para se Obter Zeros Reais de Funções Método da Bisseção 10 12 Métodos Abertos para se Obter Zeros Reais de Funções Método de NewtonRaphson 12 Síntese 16 Referências Bibliográficas 17 Objetivos Ao final desta unidade de aprendizagem você será capaz de Converter modelos matemáticos e físicos em problemas numéricos Resolver equações numéricas por meio de métodos intervalares e abertos 4 Métodos Computacionais em Engenharia Introdução Nesta unidade aprenderemos como determinar os zeros e ótimos de funções A determinação dos zeros de uma função consiste na determinação de suas raízes e a otimização de uma função consiste na definição de seus valores máximos eou mínimos Os ótimos também são chamados de extremos e podem ser determinados simplesmente pelos zeros do modelo matemático equação diferencial ou seja o valor da variável independente quando a primeira derivada é zero Existem dois tipos principais de métodos numéricos para determinação de zeros e ótimos de funções os métodos numéricos intervalares e os métodos numéricos abertos A determinação desses valores tem importantes aplicações na engenharia Por exemplo quando o objetivo é reduzir os custos de produção de um processo devemos minimizar a função custo ou seja definir seu valor mínimo Um processo também possui sua função lucro que nada mais é que a função custo multiplicada por 1 menos um nesse caso devemos determinar seu valor máximo ou seja maximizar a função As funções custo e lucro são chamadas de funções objetivo Primeiramente aprenderemos a determinar os zeros e ótimos de uma função simples entretanto os métodos numéricos são importantes para aplicações com funções mais complexas por isso os cálculos iterativos estudados anteriormente também serão necessários aqui Na segunda parte desta unidade estudaremos um método intervalar método da Bisseção e por fim estudaremos um método aberto o método de NewtonRaphson 5 Métodos Computacionais em Engenharia 1 Zeros de Funções e Otimização Vamos iniciar esta unidade aprendendo como determinar zeros e ótimos de uma função simples A função abaixo possui uma variável dependente f à esquerda da igualdade que é função da variável independente x que está no lado direito da equação Para determinarmos os zeros dessa função basta fazermos fx 0 e procedermos o cálculo de suas raízes Substituindo na função temos Como sabemos as raízes de uma função são os valores de x em que fx é zero e por isso elas são chamadas de zeros Os zeros dessa função são 0 e 8 Para determinarmos o valor de f máximo primeiro precisamos determinar o valor de x em que f é máximo Para isso basta derivarmos a função e igualarmos a derivada a zero e assim teremos o ponto em que a curva é totalmente horizontal correspondendo ao ponto máximo A derivada da função em relação à variável independente é Em seguida igualando a derivada a zero levando 2x para o lado esquerdo da equação e resolvendoa temos Portanto o valor de x em que f é máximo é 4 exatamente o ponto médio entre 0 e 8 Dessa forma determinamos o valor de x no ponto máximo determinando o zero da primeira derivada ou seja os ótimos são os zeros da derivada à primeira Para determinarmos o valor de f máximo basta levarmos x 4 à função original fazendo 2 8 f x x x 2 2 8 0 8 0 8 0 8 f x x x x x x x x e x 8 2 df x x dx 8 8 2 0 8 2 2 8 4 2 df x x x x x dx 2 2 8 4 84 4 4 16 f x x x f f 6 Métodos Computacionais em Engenharia Sendo assim o valor de f máximo é 16 portanto o ponto máximo é Pxfx 416 A Figura 1 nos mostra o gráfico dessa função bem como o valor do máximo ótimo e zeros raízes indicados Figura 1 Gráfico da função fx 8x x2 contendo os zeros e o máximo indicado Fonte Do autor Observe que essa função possui somente duas raízes zeros pois tratase de uma função de segunda ordem ou grau Como sua derivada é uma equação diferencial de primeira ordem ela possui apenas um ótimo Para determinarmos se o valor ótimo é máximo ou mínimo devemos calcular a segunda derivada da função em que x é ótimo e verificarmos seu sinal Vejamos a segunda derivada da função Um sinal negativo de derivada à segunda para x 4 indica que a concavidade da curva está direcionada para baixo e que o valor ótimo obtido está acima ou seja tratase de um valor de ponto máximo Já um sinal positivo de segunda derivada indicaria uma curva com concavidade para cima e o ótimo 0 5 10 15 20 5 10 15 20 fx 0 Máximo X 4 e fx16 dfx0 dx Zero x 0 Zero x 8 1 0 1 2 3 4 5 6 7 8 9 X fX 2 2 2 2 4 2 2 d f x d f dx dx 7 Métodos Computacionais em Engenharia seria um valor ponto mínimo Funções de ordem maior que dois apresentam mais de um valor ótimo ou seja vários máximos e mínimos No exemplo estudado a derivada à primeira corresponde ao que seria o modelo matemático no exemplo do saltador e a função original corresponde ao que seria a solução exata No exemplo do saltador visto na unidade 1 a simulação computacional era obrigatória para determinarmos o valor máximo Ptvt do modelo matemático pois não dispunhamos da solução exata antes dos cálculos Para funções originais mais complicadas o problema de determinar zeros e ótimos analiticamente manualmente por meio do cálculo diferencial tornase mais complicado e em alguns casos praticamente impossível Vejamos um exemplo de uma função original mais complicada Dê uma pausa nesta leitura e tente isolar a variável F dessa equação Achou difícil A presença de F dentro da função logarítmica deixa o procedimento relativamente complicado A equação acima é chamada de equação de Colebrook e é usada na determinação do fator de atrito F em problemas de escoamento de fluidos Esse é um importante exemplo da necessidade de determinação de um zero nesse caso F por meio de um método computacional Para usar um método computacional precisamos representar a equação de Colebrook na forma de uma função objetivo bastando simplesmente rearranjála Sendoε D e Re constantes determinase o fator de atrito pela determinação do zero dessa função objetivo fF O Octave possui funções nativas funções prontas incluídas no pacote que permitem a determinação de zeros e ótimos mas essas funções serão mostradas aqui apenas brevemente A função nativa e especializada do Octave para determinar zeros é a função fsolve e a função nativa similar do MATLAB é fzero Dentro dos parênteses informamse os argumentos 1 251 20 37 F D log F Re F ε 1 251 20 37 D f F log F Re F ε 8 Métodos Computacionais em Engenharia ou entradas da função que são a expressão algébrica que representa a função original handle function e um valor arbitrário inicial ou chute inicial Antes de usarmos a função fsolve precisamos informar a função original handle function Vejamos Quadro 1 Função original de acordo com a sintaxe exigida pelo GNU OCTAVE O comando acima cria a expressão algébrica que corresponde à função original da forma fx 8x x2 Observe que o Octave tem uma sintaxe específica e caso algum caractere seja equivocadamente digitado o Octave retorna um erro Para determinar o zero a função fsolve deve ser usada logo depois como abaixo Quadro 2 Uso da função fsolve contendo suas entradas necessárias Perceba que o valor 5 é o valor inicial arbitrário Observe que a função só retorna o zero mais próximo do valor inicial no caso 8 Se o valor inicial for 2 a função retorna o zero mais próximo de 2 no caso 0 zero E quanto ao valor de máximo Para determinarmos o valor máximo basta inserirmos a derivada da função original como argumento entrada da função nativa fsolve pois o valor do máximo nada mais é do que o zero da função derivada Vejamos Quadro 3 Derivada da função original de acordo com a sintaxe do GNU OCTAVE O retorno do zero mais próximo é uma característica dos métodos computacionais para determinação de raízes que aprenderemos ao longo do 8 2 f x x x 5 80000 zero fsolve f zero 8 2 max 2 max 40000 df x x fsolve df 9 Métodos Computacionais em Engenharia nosso estudo Vamos determinar nesta unidade os zeros e ótimos de funções usando métodos numéricos 11 Métodos Intervalares para se Obter Zeros Reais de Funções Método da Bisseção Neste tópico vamos abordar o método da Bisseção um método intervalar que determina a raiz da função dentro de um intervalo arbitrário Essa é justamente uma limitação do método pois para determinar a raiz da função é necessário que se conheça o intervalo certo antes dos cálculos Vejamos o método aplicado à função abaixo Vamos determinar a raiz dessa função entre os valores 1 e 2 para x Caso a raiz não esteja dentro desse intervalo o método vai retornar 1 ou 2 como resultado indicando que a verdadeira raiz está mais próxima de um desses valores De acordo com esse método o valor de x inferior é xl1 e o valor superior é xu2 A primeira etapa é determinar o ponto médio desse intervalo Agora temos dois intervalos candidatos a substituir o primeiro intervalo de xl1 e xu2 são eles xl1 xr15 e xr15 xu2 A raiz da função estará entre um desses novos intervalos Para saber em qual deles precisamos fazer um teste substituindo os valores dos dois intervalos nas funções e fazer as multiplicações usamos fxlfxr e fxrfxu O novo intervalo será aquele que produzir um valor negativo no teste Veja a seguir o resultado do primeiro teste 2 5 3 f x x x 1 2 15 2 2 l u r x x x 2 2 1 51 31 2 15 515 315 075 f f 10 Métodos Computacionais em Engenharia O produto f1f15 2 075 15 é positivo logo ele não será o novo intervalo Sabemos que o novo intervalo é o intervalo superior mas vamos confirmar fazendo os cálculos O produto f15f2 0752 15 é negativo confirmando que esse é o novo intervalo e que o zero da função está entre xl15 e xu2 Precisamos então dividir o novo intervalo novamente e recomeçar todo o procedimento Vamos repetir o procedimento A vantagem para a solução manual é que já calculamos dois valores de intervalo Veja O produto f15f175 03281 é negativo Logo já sabemos que o novo intervalo é x l15 e xu175 e que o zero está entre esses dois valores Devemos prosseguir até determinarmos o zero positivo dessa função que é 16667 a outra raiz é zero Observe que como o resultado é uma dízima periódica para parar os cálculos precisamos de um critério de parada ou prosseguiremos infinitamente Para o critério de parada podemos calcular os erros relativos percentuais entre os valores de xr determinados em cada etapa Vejamos Vamos considerar por exemplo uma tolerância de 001 Nesse caso os cálculos não tardariam em parar e nos dariam o resultado com uma precisão de quatro casas decimais Observe que a vantagem do método é sua 15 515 315 075 2 52 32 2 f f 1 15 2 175 2 2 u r x x x 15 515 3152 075 175 5175 31752 04375 2 52 322 2 f f f 1 1 175 15 iteração 1 1 100 100 1429 175 i i i x r x r erro x r 11 Métodos Computacionais em Engenharia simplicidade entretanto sua desvantagem está no fato de que ele precisa de uma estimativa precisa de intervalo inicial Além disso seria necessário refazer todo o procedimento para a determinação de outras raízes de funções de ordem igual ou superior a dois Na análise numérica de problemas reais é comum o uso de vários métodos numéricos combinados antes de qualquer decisão Não se pode afirmar com certeza qual é o melhor método pois a desvantagem de um pode ser compensada pela vantagem de outro Por exemplo um método aberto pode gerar um resultado que pode ser usado como valor inicial de outro método assim a concordância entre vários métodos pode ser um indício de que a resposta alcançada está correta O uso de métodos combinados é possível graças ao avanço da computação moderna que concebeu computadores com capacidade de processamento cada vez maior 12 Métodos Abertos para se Obter Zeros Reais de Funções Método de NewtonRaphson O método de NewtonRaphson é um método aberto ou seja não é necessário definir um intervalo inicial mas apenas um valor inicial Vamos usar esse método para determinar a raiz da função anterior definindo um valor inicial arbitrário para x como sendo x1 1 Para usarmos o método de NewtonRaphson precisamos da derivada da função nesse caso fx56x Com a função original e a derivada usamos a fórmula abaixo Vamos a primeira etapa substituir o valor inicial x1 1 na função e na derivada Depois substituímos na fórmula Importante 1 i i i i f x x x f x 2 1 5 1 3 1 2 1 5 6 1 1 f f 1 2 1 1 2 3 1 ix 12 Métodos Computacionais em Engenharia Já podemos passar para a segunda etapa Na fórmula do método para encontrarmos o novo valor temos E assim por diante Observe que uma vantagem foi a convergência mais rápida a partir de um valor inicial qualquer isto é a raiz foi determinada em poucos passos Uma desvantagem desse método é que ele precisa obrigatoriamente da derivada da função e algumas funções mais complexas são difíceis de derivar Para o critério de parada podemos calcular os erros relativos entre os valores de x determinados em cada passo Vejamos 2 3 5 3 3 3 12 f 3 5 6 3 13 f 1 12 3 208 13 ix 1 1 1 256 207 1734 746 035 1734 1669 54 00127 1669 16667 5015 i i i x x x 3 1 1 iteração 1 1 06667 1 3 1 208 3 iteração 2 2 04493 1 208 1 1734 208 iteração 3 3 01938 1 1734 1 iteração 4 4 x i x i erro x i x i x i erro x i x i x i erro x i x i x i erro x i 1669 1734 00389 1 1669 1 16667 1669 iteração 5 5 000138 1 16667 1 166667 16667 iteração 6 6 0000018 1 166667 x i x i erro x i x i x i erro x i 13 Métodos Computacionais em Engenharia Para calcularmos o valor ótimo pelo método de NewtonRaphson precisamos da segunda derivada que é fx 6 Nesse caso o valor da segunda derivada não mudará na fórmula ao longo das iterações pois não é função de x A fórmula para determinar o valor ótimo é A derivada à segunda deve ser diferente de zero pois ela fica no denominador Podemos iniciar o procedimento com o valor inicial 1 Já na primeira iteração o método encontra o valor ótimo A convergência rápida é uma importante característica dos melhores métodos computacionais O valor ótimo encontrado é um máximo pois a segunda derivada da função produz um valor negativo O método de NewtonRaphson é baseado na busca da raiz pela inclinação da curva no ponto xi Esse ponto fornece uma estimativa melhor de xi1 Aprenda mais sobre esse método assistindo ao vídeo indicado Para determinar a raiz da função pelo método de NewtonRaphson na linha de comando do Octave digite os comandos abaixo na ordem que aparecem Quadro 4 Comandos para executar o método de NewtonRaphson 1 i i i i f x f x x x 1 1 08333 6 1 i f x Saiba Mais Assista agora 5 3 2 5 6 1 f x x x df x x x x x f x df x 14 Métodos Computacionais em Engenharia Recupere o último comando fórmula de NewtonRaphson com a seta direcional para cima do teclado e tecle enter novamente e assim por diante Você verá os valores de x se alterando desde x 1 até a raiz zero 16667 Abaixo temos um código escrito Octave para o método de NewtonRaphson Quadro 5 Código escrito em Octave para o método de NewtonRaphson 1 método de NewtonRaphson 2 clear all limpa todas as variáveis antes de começar 3 4 f x 5x 3x2 função original 5 df x 5 6x primeira derivada da função original 6 7 tol 00001 valor de tolerância admitido 8 10 x1 1 condição inicial de x 11 for i11000 início do laço de repetição for para muitos valores de i 12 13 xi1 xi fxidfxi fórmula do método de NewtonRaphson 14 15 erro absxi1 xixi1 calcula o erro 16 17 if erro tol compara o erro com a tolerância 18 break comando que encerra os cálculos caso seja verdadeiro 19 else 20 end 21 22 end fim do laço de repetição for 23 dispxi1 mostra o valor da raiz na linha de comando 24 15 Métodos Computacionais em Engenharia Síntese As funções algébricas possuem zeros e ótimos máximos e mínimos Essas funções possuem raízes zeros tocando no eixo das abscissas horizontal exatamente onde seu valor no eixo das coordenadas vertical é zero ou seja onde fx 0 A derivada à primeira de equações algébricas fornece os valores ótimos nos pontos em que a derivada for igual a zero no ponto máximo ou no mínimo Existem dois tipos de métodos numéricos com esse objetivo os métodos intervalares e os métodos abertos Os métodos numéricos para determinação de zeros e ótimos são usados normalmente em conjunto antes da tomada de qualquer decisão Conhecendo os valores ótimos os engenheiros podem determinar as condições operacionais que otimizam os processos ou seja que minimizam os custos e maximizam os lucros obviamente dentro de todas as restrições ambientais e de segurança exigidas pela legislação As funções algébricas que representam os custos ou os lucros de um processo são comumente chamadas de funções objetivo 16 Mé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 CANALE R P Métodos numéricos para engenharia 5 ed São Paulo Mcgraw Hill 2011 MATEMÁTICA BASE Método de NewtonRaphson Vídeo 01 Demonstração e Exemplo Disponível em httpswwwyoutubecom watchvYx90nD1qonU Acesso em 06 fev 2018 QUARTERONI A SALERI F Cálculo científico com MATLAB e Octave Milano Springer 2007 17 Métodos Computacionais em Engenharia 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 wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduaçã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 11 Encontrando a Solução por meio do Cálculo Diferencial 06 12 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 eou 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 5 Métodos Computacionais em Engenharia 1 Equações Diferenciais e Algébricas Série de Taylor 11 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 981 ms2 o coeficiente de arraste CD 025 e a massa do saltador é m 681 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 025681v2 para o lado esquerdo da equação isolando a velocidade e resolvendo temos Logo a velocidade terminal é v516938 ms 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 ² CD dv g v dt m 0 dv dt 2 025 025 981 ² 0 981 681 681 dv v v dt 2 981 981 025 681 025 681 v v Importante 7 Mé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 ti1 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 vt do lado direito deve se tornar vti 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 t dv v v dt t t t t 2 1 1 025 981 631 i i i i i v 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 vti1 e vti 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 12 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 025 981 ² 631 i i i i i v t v t v t t t Vídeo Assista agora 9 Métodos Computacionais em Engenharia Observe que no segundo termo da série de Taylor usase a primeira derivada fxi no terceiro termo usase a segunda derivada fxi 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 fxi1 é o valor da função no tempo posterior fxi é o valor da função no tempo anterior fxi é 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 dvdt 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 eou 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 2 1 1 1 1 ³ 2 3 n n i i n f x f x f f x f x f x h h h h R n 1 1 i i f x f x f x h 1 i i dv v t v t passo dt 1 ² i i i cd v 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 ti1 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 ² 2 i i i i cd cd v t v t g v t passo v t passo m m 1 ² i cd v 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 v1 0 condição inicial da velocidade 5 for i115 início do laço de repetição for 6 vi1 vi 981 025681vi2passo 7 end fim do laço de repetição for 8 dispv mostra os resultados na linha de comando 11 Métodos Computacionais em Engenharia Esse código e outros serão mais exercitados mas observe que o comando for i115 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 516938 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 000000 1962000 3641368 4629832 5018018 5131229 5160078 5167129 5168834 Columns 10 through 16 5169245 5169344 5169368 5169373 5169375 5169375 5169375 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 001 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á confrontarse 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 v1 0 temos 1 1 1962 0 iteração 1 1 100 100 100 1962 364137 1962 iteração 2 2 100 4612 364137 462983 364137 iteração 3 3 100 2135 462983 i i i v t v t erro x x v t erro x erro x Importante Baixe agora 025 2 1 981 681 ²1 2 v v v 025 2 0 981 681 0² 2 v 13 Métodos Computacionais em Engenharia Onde v2 é o valor da velocidade no segundo intervalo de tempo logo v298121962 ms 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 v3 é o valor da velocidade no terceiro intervalo de tempo v2 será a velocidade calculada na iteração anterior Substituindo temos E assim sucessivamente v1 0 v2 v1 981 025681v122 2 v3 v2 981 025 v 2 2 681 2 v3 1962 981 025 1962 2 364137 ms 681 2 v4 364137 981 025 364137 2 462983 ms 681 2 v5 462983 981 025 462983 2 501802 ms 681 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 98 5 Cd 025 6 m 681 7 8 passo 2 este é o valor do passo 9 tol 00001 valor de tolerância admitido 10 11 v1 0 condição inicial da velocidade 0 metros por segundo 12 t1 0 valor de tempo inicial 0 segundos 13 14 for i11000 início do laço de repetição for para muitos valores de i 15 ti1 ti passo cria o vetor tempo para o gráfico 16 vi1 vi g Cdmvi2passo 17 18 erro abs vi1 vi vi1 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 15 Mé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 dispv mostra os resultados na linha de comando 27 figure1 plott 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 podese 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 17 Mé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 httpswwwyoutubecomwatchvOHi7owgHqcU 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 httpswwwyoutubecomwatchvF F0g91Jfbg Acesso em 29 jan 2018 18 Métodos Computacionais em Engenharia UNIGRANRIO U N I V E R S I D A D E Vá além da sala da aula Problemas Numéricos e Erros Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduação Emilio Antonio Francischetti PróReitora Comunitária Sônia Regina Mendes Direção geral Jeferson Pandolfo Revisão Camila Andrade e Laís Sá Produção editoração gráfica Beatriz Serva 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 da aula Sumário Problemas Numéricos e Erros Objetivos 04 Introdução 05 1 Problemas Numéricos e Erros 07 11 Conceitos Básicos e Representação de Problemas 07 12 Tipos de Erros 10 Síntese 14 Referências Bibliográficas 15 Objetivos Ao final desta unidade de aprendizagem você será capaz de Entender o que são problemas numéricos Determinar diferentes tipos de erros numéricos 4 Métodos Computacionais em Engenharia Introdução Os problemas numéricos são representações de modelos matemáticos aproximados que produzem soluções numéricas ou seja na forma de números um conjunto de valores solução Os problemas são formulados a partir de equações que representam fenômenos físicos eou químicos associados a vários tipos de processos Essas equações são chamadas de modelos matemáticos e são baseadas nas leis da física e química que descrevem a relação entre grandezas que se conservam tais como massa energia e momento Os modelos matemáticos baseados nessas leis são chamados de modelos matemáticos analíticos já os modelos formulados a partir de dados experimentais são chamados de modelos empíricos Os modelos matemáticos precisam ser adaptados à linguagem numérica para serem resolvidos pelos computadores principalmente quando esses modelos são difíceis de solucionar por meio dos métodos matemáticos convencionais A etapa de adaptação de um modelo à linguagem computacional é chamada de aproximação e é nela que erros são inseridos de forma indesejada aos modelos Essa etapa é assim chamada porque a solução de um modelo por meio de um método computacional leva a uma solução aproximada em razão da existência de erros de vários tipos já o método matemático convencional leva a uma solução exata que não possui erro e satisfaz perfeitamente o modelo matemático original Qual das soluções você prefere A exata ou a aproximada A resposta para essa pergunta depende do nível de precisão que o engenheiro deseja Em grande parte dos problemas de engenharia a exatidão matemática desejada não é tão grande e um resultado aproximado já é suficiente sendo perfeitamente alcançado pelos computadores digitais de nossa época que fazem 5 Métodos Computacionais em Engenharia todo o trabalho braçal É claro que quanto maior for o modelo e a precisão desejada mais tempo os computadores levarão para encontrar a solução A grande vantagem dos métodos computacionais é a facilidade de aproximar e adaptar os modelos em relação à dificuldade de resolvêlos por meio dos métodos matemáticos Alguns problemas de engenharia são tão complicados que não possuem solução exata até hoje ainda desafiam matemáticos de todo o mundo e só possuem uma solução conhecida os métodos computacionais 6 Métodos Computacionais em Engenharia 1 Problemas Numéricos e Erros 11 Conceitos Básicos e Representação de Problemas Vamos iniciar os estudos tratando da diferença entre métodos matemáticos e os métodos numéricos Um modelo matemático pode ser constituído por uma ou mais equações de dois tipos equações diferenciais eou relações algébricas As relações algébricas podem ser equações igualdades quando descrevem a relação entre variáveis dependentes independentes e parâmetros ou ainda inequações desigualdades quando definem intervalos faixas de operação das variáveis A modelagem de processos é a primeira etapa necessária para a formulação de um problema ou descrição de um processo Essa etapa iniciase com o balanço de grandezas conservativas fundamentais associadas a leis da física e da química Para saber mais leia o capítulo 1 do livro Métodos numéricos aplicados com Matlab para engenheiros e cientistas As relações algébricas já são conhecidas por nós há mais tempo Entretanto as equações diferenciais uma novidade da graduação em Ciências Exatas são as mais importantes na maioria dos processos de engenharia Como o próprio nome diz essas equações descrevem a relação entre diferenças ou variações A velocidade de um automóvel por exemplo pode ser escrita como uma equação diferencial ou seja a sua velocidade é a variação de espaço percorrido em relação à variação de seu tempo de percurso Dessa forma para ser uma equação diferencial basta que a equação tenha um termo diferencial utilizando a letra d que aqui significa diferença infinitesimal A equação então pode ser escrita da seguinte forma ds dt Saiba Mais v Leia Mais 7 Métodos Computacionais em Engenharia Onde s espaço m t tempo s v velocidade ms Podemos utilizar um método matemático simples tal como a integração para encontrar a solução exata ou analítica da equação diferencial v Utilizando a integral indefinida e considerando a velocidade constante podemos separar as variáveis e aplicar o operador integral da seguinte forma ds v dt ds v dt st v t c O termo st significa espaço em função do tempo e indica que o espaço é a variável dependente do tempo e o tempo é a variável independente Por meio da solução exata podemos saber o espaço percorrido por um automóvel em qualquer instante de tempo conhecendo sua velocidade constante Nessa solução exata c é uma constante que acompanha a solução exata geral da equação diferencial Para encontrar o valor dessa constante precisaríamos de uma condição inicial que é um tipo de relação algébrica que sempre vem acompanhando o modelo matemático Determinando o valor de c teríamos a solução exata específica que nesse caso poderia ser st v t com c 0 Além da condição inicial um modelo matemático pode ainda vir acompanhado de condições de contorno É claro que existem equações diferenciais muito mais complexas e estas são classificadas em diferentes tipos cada uma possuindo o seu próprio método matemático específico de solução Agora vejamos uma equação diferencial modelo matemático de difícil solução por meio de uma simples integração segundo Chapra 2013 981 v2 ou 981 vt2 O modelo matemático usado descreve a variação de velocidade de queda livre de um saltador em relação ao tempo e é uma Equação Diferencial ds dt ds dt v dv dt 025 681 dvt dt 025 681 8 Métodos Computacionais em Engenharia Ordinária EDO O objetivo desse modelo é prever a velocidade terminal ou máxima do saltador e o instante de tempo em que ele atinge essa velocidade Dê uma pausa nessa leitura e tente resolver essa equação por meio da integração Difícil não Pois bem é justamente dessa forma que os métodos computacionais podem nos auxiliar pois são aplicados a modelos de difícil solução analítica Depois de algum tempo pesquisando em livros especializados em equações diferenciais você vai concluir que para solucionar uma equação desse tipo vai ter que se dedicar relativamente à matemática para encontrar a seguinte solução exata vt 516938 tanh 018977 t Em que tanh significa tangente hiperbólica Substituindo valores de t cada vez maiores na solução exata acima você observa que o termo tanh018977 t se aproxima cada vez mais do valor 1 um indicando que a velocidade terminal ou máxima será de 516938 ms No entanto você também pode perceber que essa velocidade não podia ser conhecida antes que se encontrasse a solução exata da equação Imagine então que você use o computador para substituir valores de intervalo de tempo gradativos passos na equação diferencial sem a necessidade de usar um método matemático complicado ou conhecer a solução exata e mesmo assim determinar a velocidade terminal Nós chamamos esse processo de simulação computacional e para isso você precisa adaptar o modelo matemático para que o computador realize tal feito ou seja você precisa construir um modelo numérico ou problema numérico Um exemplo de problema numérico para modelo matemático é o seguinte v ti1 v ti 981 v2 ti twi1 ti Esse modelo pode ser usado para uma simulação computacional Durante a simulação comp utacional o computador realiza os mesmos cálculos repetidas vezes e vai se aproximando gradativamente da solução ou seja da velocidade máxima Para que o computador não execute esses cálculos infinitamente devemos estabelecer um critério de parada que é baseado nos erros ou desvios de valores calculados que ocorrem ao longo das repetições A simulação deve ser escrita em uma determinada linguagem computacional com 025 681 9 Métodos Computacionais em Engenharia a qual o computador interpreta compila e executa os cálculos e o critério de parada retornando como resposta à solução numérica O conhecimento de uma linguagem computacional é um importante atributo de profissionais de engenharia pois é assim que o engenheiro pode simular e otimizar processos Aqui usaremos exemplos simplificados com o objetivo de inserirmos os princípios de programação de computadores pertinentes aos métodos computacionais Lembrese de que é importante estudar também a bibliografia básica proposta para esta unidade curricular pois esta é mais detalhada no assunto 12 Tipos de Erros Agora que já tratamos da diferença entre métodos matemáticos e numéricos e de sua importância vamos estudar os tipos de erros associados a cada método O fato de usarmos um computador para representar números reais já introduz erros aos resultados QUARTERONI SALERI 2007 principalmente quando os números reais são irracionais ou seja quando possuem uma infinidade de valores depois do separador decimal no Brasil a vírgula Por isso o mais importante para um engenheiro não é eliminar os erros já que são praticamente inevitáveis mas sim controlar os seus efeitos Existem vários níveis de erros que ocorrem na aproximação de um problema real O primeiro deles é o erro de modelagem em que resulta das idealizações ou simplificações atribuídas a um problema real com o objetivo de desenvolver modelos matemáticos mais simples quanto melhor o modelo matemático descrever a realidade menos simplificado ele é e isso significa um maior esforço dos computadores para encontrar a solução numérica O segundo é o erro de arredondamento ea que se propaga a partir da solução de modelos matemáticos por meio de algoritmos numéricos desenvolvidos a partir dos métodos numéricos ou computacionais Importante 10 Métodos Computacionais em Engenharia O terceiro é o erro de truncamento et introduzido ao modelo matemático durante a aproximação por meio de uma série infinita tal como a série de Taylor na qual procedese um truncamento conveniente para a definição do problema numérico ou modelo discretizado O desenvolvimento de funções em séries de Taylor são ferramentas frequentemente utilizadas em áreas como Cálculo e Análise Numérica Expressar funções como a soma de termos infinitos é uma estratégia muito útil Utilizase tal ferramenta para aproximar funções ao redor de um ponto bem como encontrar seus pontos máximos e mínimos Além disso podemos aplicar os conceitos da série de Taylor para estudar convergência de métodos iterativos e ainda para buscar soluções de equações diferenciais ordinárias O quarto é o erro computacional ec que nada mais é do que a soma do erro de arredondamento mais o erro de truncamento O erro computacional é subdividido em absoluto e relativo O erro computacional absoluto eca é a diferença entre um valor obtido da solução exata e um valor obtido da solução numérica para um mesmo valor de variável independente É importante mencionar que essa diferença deve ser dada em módulo ou seja deve ter sempre sinal positivo O erro computacional relativo ecr é também a diferença em módulo entre um valor obtido da solução exata e um valor obtido da solução numérica para um mesmo valor de variável independente Esse resultado porém é dividido pelo valor obtido da solução exata de modo que possa ser encarado como um erro em relação à solução exata Por exemplo para um valor de solução exata xe 523 e um valor de solução numérica xn 586 o erro absoluto é eca 523 586 063 063 Onde o símbolo significa módulo do valor O erro relativo é ecr 01205 Importante 523 586 523 063 523 11 Métodos Computacionais em Engenharia O erro computacional relativo também pode ser representado na forma percentual ecr x 100 1205 Os métodos numéricos usam uma abordagem iterativa método de Euler para encontrar a solução numérica na qual os erros entre as iterações repetições são calculados e usados no critério de parada Por exemplo considere que um valor de x atual calculado em uma iteração é xi 2294 e o valor prévio de x calculado em uma iteração anterior é xi 1 2472 O erro iterativo é calculado da seguinte forma erroi 007759 007759 O erro iterativo também pode ser representado na forma percentual erroi x 100 x 100 7759 Considere agora a solução numérica abaixo para quatro iterações de um determinado método numérico Iterações Valor de x na iteração Erro 0 1925 1 2384 01925 2 2537 00603 3 2657 00452 4 2662 00019 Use a formulação para o erro iterativo e encontre os resultados obtidos na tabela acima Observe que o valor dos erros diminui ao longo da solução numérica coluna do meio 523 586 523 xi xi1 xi 2294 2472 2294 178 2294 xi xi1 xi 2294 2472 2294 12 Métodos Computacionais em Engenharia A estimativa de erros é muito importante para a tomada de decisões sobre os processos Em alguns casos os esforços para diminuir os erros de truncatura ou truncamento podem aumentar os erros de arredondamento Para saber mais leia o capítulo 4 do livro Métodos numéricos aplicados com Matlab para engenheiros e cientistas Saiba Mais Leia Mais 13 Métodos Computacionais em Engenharia Síntese Os modelos matemáticos representam processos e podem ser solucionados de duas formas por meio de métodos matemáticos para encontrarmos a solução exata ou de métodos computacionais para encontrarmos a solução numérica Obviamente existe um desvio entre a solução exata e a solução numérica que chamamos de erro Dependendo da precisão desejada o engenheiro pode estabelecer um valor de tolerância admitida para o erro e fazer previsão dos processos utilizando simulações computacionais dos problemas ou modelos numéricos Os problemas numéricos podem ser construídos a partir dos modelos matemáticos utilizando métodos de aproximação e é dessa forma que os modelos podem ser simulados em computadores contudo esse método também introduz erros aos modelos A simulação computacional requer o conhecimento de uma linguagem de programação por parte do engenheiro que pode fazer previsões importantes para os processos a partir da solução numérica obtida 14 Mé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 QUARTERONI A SALERI F Cálculo científico com MATLAB e Octave Milano Springer 2007 15 Métodos Computacionais em Engenharia RESUMO MODELOS MATEMÁTICOS Os modelos numéricos e as simulações computacionais podem substituir um método matemático para encontrar a solução de um modelo matemático Tendo o gráfico abaixo como modelo para interpretas as explicações a curva construída a partir da função é a solução exata do modelo estudado Nessa curva de variável dependente x variável independente há quatro retas que tocam tangentes a curva em quatro pontos A B C e D Essas retas representam a inclinação da curva nesses pontos Assim a inclinação das retas diminui desde o ponto A até o ponto D O ângulo que elas têm com o eixo horizontal diminui e assim a diminuição das inclinações das retas nestes pontos indica que toda a curva está diminuindo de inclinação ao longo do tempo tendendo a ficar 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 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 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 chegará no modelo matemático Assim sendo os métodos computacionais podem auxiliar na determinação do tempo Primeiramente devese construir o problema numérico e para isso recorrer à derivada do cálculo diferencial que também será o limite da relação entre duas diferenças finitas quando a diferença no denominador tende a zero ou seja Pela aproximação acima o termo diferencial pode ser substituído pela relação entre diferenças finitas no modelo sendo conhecida como aproximação por diferenças finitas Os índices ti e ti1 significam o instante de tempo anterior e tempo posterior respectivamente Desse modo ao substituir esse resultado no modelo matemático Sendo vt do lado direito deve se tornar vti Levando o denominador para o lado direito da equação e rearranjando o modelo este fica na forma numérica final Esse modelo ou problema numérico mostra que os valores posteriores de velocidade são calculados a partir dos valores anteriores Dessa forma os valores de velocidade são determinados por meio de cálculos repetidos sendo chamada de método de Euler O computador irá parar quando os valores de velocidade estiverem variando abaixo de um desvio erro mínimo entre vti1 e vti chamados de tolerância e o chamado critério de parada Podese aplicar estes cálculos na linguagem computacional gratuita GNU Octave para desenvolver simulações computacionais similar ao MATLAB A simulação computacional também pode ser executada em softwares de planilhas como o Excel O mesmo problema numérico pode ser encontrado a partir da série infinita de Taylor que conta com uma infinidade de termos usados para elevar a precisão do problema numérico elevando em contrapartida o esforço computacional para encontrar a solução A forma geral da série de Taylor é 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 pode reduzir o erro de truncatura elevando o erro de arredondamento A série de Taylor truncada no segundo termo ao lado direito da igualdade fica Onde fxi1 é o valor da função no tempo posterior fxi é o valor da função no tempo anterior fxi é o valor da primeira derivada da função no tempo anterior e h é o valor do passo ou intervalo de tempo Para simular o problema numérico devese adaptálo à linguagem computacional suprimindo os termos ti1 e ti e substituindo simplesmente por i Desse modo fica A equação deve ser uma linha de código digitada sobre um laço de repetição de cálculos laço for Uma versão simples desse código não conta com o critério de parada ou seja o que define a parada é o valor do laço de repetição As frases na cor verde precedidas de são comentários explicativos e não são executados pelo Octave na simulação O resultado da simulação é mostrado na linha de comando por causa da função nativa disp inserida no código na linha 12 Para a saída ou retorno da função Os cálculos realizados pelo computador também podem ser feitos manualmente utilizando uma calculadora científica As condições de máximo ou mínimo dos modelos matemáticos podem ser até certo ponto determinadas por meio do cálculo diferencial Porém através das simulações computacionais podese obter informações abrangentes sobre os processos representados por esses modelos Por meio de uma série infinita um modelo matemático pode ser aproximado a um problema numérico e simulado computacionalmente podendo determinar condições de máximo ou mínimo como também outras informações pertinentes ao processo Através da simulação podese calcular o erro entre os valores determinados pela solução numérica utilizando os desvios no critério de parada para encerrar a simulação RESUMO PROBLEMAS NUMÉRICOS E ERROS Os problemas numéricos são representações de modelos matemáticos aproximados que produzem soluções numéricas Os problemas são formulados a partir de equações que representam fenômenos físicos eou químicos associados a vários tipos de processos ou seja são chamados de de modelos matemáticos como também são baseadas nas leis da física e química que descrevem a relação entre grandezas que se conservam Os modelos matemáticos baseados nessas leis são chamados de modelos matemáticos analíticos os modelos formulados a partir de dados experimentais são os modelos empíricos Os modelos matemáticos precisam ser adaptados à linguagem numérica para serem resolvidos pelos computadores principalmente quando são difíceis de solucionar por métodos matemáticos convencionais A etapa de adaptação de um modelo à linguagem computacional é por aproximação e é nela que erros são inseridos de forma indesejada aos modelos Essa etapa envolve a solução de um modelo por meio de um método computacional que leva a uma solução aproximada em razão da existência de erros de vários tipos já o método matemático convencional leva a uma solução exata que não possui erro e satisfaz o modelo matemático original Um modelo matemático pode ser constituído por uma ou mais equações de dois tipos equações diferenciais eou relações algébricas As relações algébricas podem ser equações igualdades que descrevem a relação entre variáveis dependentes independentes e parâmetros ou inequações desigualdades que definem intervalos faixas de operação das variáveis As relações algébricas já são conhecidas entretanto as equações diferenciais são as mais importantes nos processos de engenharia descrevendo a relação entre diferenças ou variações Podese utilizar um método matemático simples como a integração para encontrar a solução exata ou analítica da equação diferencial Através das equações diferenciais poderá solucionar cálculos de nível fácil e difícil para solucionar uma equação tendo que se dedicar relativamente à matemática para encontrar a solução exata Como exemplo podese utilizar o computador para substituir valores de intervalo de tempo gradativos passos na equação diferencial sem a necessidade de usar um método matemático e determinar a velocidade terminal Esse processo é chamado de simulação computacional e para isso devese adaptar o modelo matemático para que o computador realize tal feito através da construção de um modelo numérico ou problema numérico Um exemplo de problema numérico para modelo matemático é o seguinte Esse modelo pode ser usado para uma simulação computacional onde o computador realizará os mesmos cálculos diversas vezes se aproximando gradativamente da solução Para que o computador não execute esses cálculos infinitamente devese estabelecer um critério de parada que é baseado nos erros ou desvios de valores calculados que ocorrem ao longo das repetições A simulação deverá ser escrita em uma determinada linguagem computacional com a qual o computador interpreta compila e executa os cálculos e o critério de parada retornando como resposta à solução numérica Ao utilizar um computador para representar números reais já introduz erros aos resultados principalmente quando os números reais são irracionais ou seja quando possuem uma infinidade de valores depois do separador decimal Por isso é essencial controlar os efeitos dos erros divididos em diferentes tipos e níveis que ocorrem na aproximação de um problema real O primeiro erro é conhecido como erro de modelagem que resulta das idealizações ou simplificações atribuídas a um problema real com o objetivo de desenvolver modelos matemáticos mais simples isto é quanto melhor o modelo matemático descrever a realidade menos simplificado ele é e um maior esforço dos computadores será necessário para encontrar a solução numérica O segundo é o erro de arredondamento que se propaga pela solução de modelos matemáticos através de algoritmos numéricos desenvolvidos a partir dos métodos numéricos ou computacionais O terceiro erro é o de truncamento introduzido ao modelo matemático durante a aproximação através de uma série infinita como a série de Taylor onde precede um truncamento conveniente para a definição do problema numérico ou modelo discretizado O quarto é o erro computacional ou seja a soma do erro de arredondamento mais o erro de truncamento podendo ser absoluto e relativo onde o resultado é dividido pelo valor obtido da solução exata se tornando um erro em relação à solução exata Assim sendo os métodos numéricos usam uma abordagem iterativa método de Euler para encontrar a solução numérica na qual os erros entre as iterações repetições são calculados e usados no critério de parada Logo a simulação computacional requer o conhecimento de uma linguagem de programação por parte do engenheiro que pode fazer previsões importantes para os processos a partir da solução numérica obtida RESUMO ZEROS DE FUNÇÕES E OTIMIZAÇÃO Neste módulo aprendeuse como determinar os zeros e ótimos de funções A determinação dos zeros de uma função consiste na determinação de suas raízes e a otimização de uma função consiste na definição de seus valores máximos eou mínimos Os ótimos extremos podem ser determinados simplesmente pelos zeros do modelo matemático equação diferencial ou seja o valor da variável independente quando a primeira derivada é zero Existem dois tipos principais de métodos numéricos para determinação de zeros e ótimos de funções os métodos numéricos intervalares e os métodos numéricos abertos Para determinar zeros e ótimos de uma função simples a função com uma variável dependente f à esquerda da igualdade é função da variável independente x que está no lado direito da equação Para determinar os zeros dessa função basta fazer fx 0 e proceder o cálculo de suas raízes Substituindo na função As raízes de uma função são os valores de x em que fx é zero Os zeros dessa função são 0 e 8 Para determinar o valor de f máximo primeiro necessita determinar o valor de x em que f é máximo Para isso basta derivar a função e igualar a derivada a zero e assim terá o ponto em que a curva é totalmente horizontal correspondendo ao ponto máximo Para funções originais mais complicadas o problema de determinar zeros e ótimos analiticamente por meio do cálculo diferencial tornase mais complicado sendo essencial aplicar o método computacional precisamos representar a equação de Colebrook na forma de uma função objetivo deve rearranjála Sendo ε D e Re constantes determinase o fator de atrito pela determinação do zero dessa função objetivo fF O Octave possui funções nativas que permitem a determinação de zeros e ótimos A função nativa e especializada do Octave para determinar zeros é a função fsolve e a função nativa similar do MATLAB é fzero Dentro dos parênteses informamse os argumentos ou entradas da função que são a expressão algébrica que representa a função original handle function e um valor arbitrário inicial ou chute inicial Antes de aplicar a função fsolve é necessário informar a função original handle function O Octave atua com uma sintaxe específica e caso haja erro em algum caractere o Octave retorna um erro Para determinar o zero a função fsolve deve ser usada logo depois como abaixo O valor máximo será adquirido ao inserir a derivada da função original como argumento entrada da função nativa fsolve pois o valor do máximo é o zero da função derivada O retorno do zero mais próximo é uma característica dos métodos computacionais para determinação de raízes O método da Bisseção consistem em intervalar que determina a raiz da função dentro de um intervalo arbitrário sendo uma limitação do método pois para determinar a raiz da função é necessário que se conheça o intervalo certo antes dos cálculos Devese primeiramente determinar a raiz dessa função entre os valores para x Caso a raiz não esteja dentro desse intervalo o método vai retornar um dos valores como resultado indicando que a verdadeira raiz está próxima de um desses números Se o resultado é uma dízima periódica para parar os cálculos adotase de um critério de parada ou prossegue com tendência ao infinito calculando os erros relativos percentuais entre os valores de xr determinados em cada etapa Na análise numérica de problemas reais é comum o uso de vários métodos numéricos combinados porém não se pode afirmar qual é o melhor método pois a desvantagem de um pode ser compensada pela vantagem de outro O uso de métodos combinados é possível por meio da computação Desse modo o método de NewtonRaphson é um método aberto precisando definir apenas um valor inicial Sua vantagem está na convergência mais rápida a partir de um valor inicial qualquer isto é a raiz foi determinada em poucos passos Uma desvantagem desse método é que ele precisa da derivada da função sendo que algumas funções complexas são difíceis de derivar Para o critério de parada devese calcular os erros relativos entre os valores de x determinados em cada passo Para calcular o valor ótimo pelo método de NewtonRaphson utilizase a segunda derivada onde seu valor não mudará na fórmula ao longo das iterações pois não é função de x O método de NewtonRaphson é baseado na busca da raiz pela inclinação da curva no ponto xi Esse ponto fornece uma estimativa melhor de xi 1 Para processar no Octave deve recuperar o último comando da fórmula de Newton Raphson com a seta direcional para cima do teclado e tecle enter novamente Assim verá os valores de x se alterando desde x 1 até a raiz zero 16667 Abaixo há um código escrito Octave para o método de NewtonRaphson Assim as funções algébricas possuem zeros e ótimos máximos e mínimos Essas funções possuem raízes zeros tocando no eixo das abscissas horizontal onde seu valor no eixo das coordenadas vertical é zero ou seja onde fx 0 A derivada à primeira de equações algébricas fornece os valores ótimos nos pontos em que a derivada for igual a zero no ponto máximo ou no mínimo Existem dois tipos de métodos numéricos com esse objetivo os métodos intervalares e os métodos abertos Conhecendo os valores ótimos pode se determinar as condições operacionais que otimizam os processos ou seja que minimizam os custos e maximizam os lucros dentro de todas as restrições ambientais e de segurança exigidas pela legislação RESUMO LIVRO MATERIAL SISTEMAS LINEARES Quando duas variáveis dependentes aparecem em ambas as equações diferenciais são chamadas de equações acopladas Em razão da presença dos termos diferenciais essas equações também representam o período transiente que é o período em que ainda ocorrem variações de fluxo de produto Em algumas aplicações de engenharia nem sempre há interesse nesse período e sim maior interesse em determinar o valor dos fluxos somente quando o processo atingir o período ou estado estacionário ou seja quando os termos diferenciais estiverem zerados Nesse período as equações ficam Desse modo as equações se tornaram um simples sistema de equações lineares com solução no período ou regime estacionário obtida através do método gráfico isto é na construção das retas que representam essas equações em um gráfico e posterior determinação do ponto de cruzamento entre elas O ponto de cruzamento será a solução do sistema onde os valores de x1 e x2 satisfazem as duas equações ao mesmo tempo As retas lineares que representam essas equações ficam na forma y ax b A solução sem a construção do gráfico também é possível bastando igualar uma equação com a outra e resolvendo para uma das variáveis ao obter o x1 pode aplicar este valor a qualquer uma das equações de origem para determinar x2 O Octave possui funções nativas para a solução de sistemas de equações lineares podendo resolver o sistema por meio das seguintes etapas 1 criando a matriz de coeficientes A e a matriz de cargas B 2 usar o comando com barra invertida logo abaixo Neste processo os coeficientes são os valores que multiplicam as variáveis nas duas equações e as cargas são os valores que estão do lado direito da igualdade Nesse caso a barra invertida é o comando do Octave para resolver o sistema a resposta é de cima para baixo pois os coeficientes foram inseridos nas matrizes da esquerda para a direita e são relacionadas ao x1 e x2 respectivamente No MATLAB os comandos são os mesmos para resolver esse sistema de equações A Eliminação de Gauss é um método computacional para a solução de um sistema de equações lineares dividido em duas etapas eliminação progressiva e substituição progressiva e sistema de n equações e n incógnitas na forma de uma matriz contendo n linhas e n1 colunas com todos os coeficientes a e b As variáveis x não entram nessa matriz e é a partir dela que inicia a eliminação progressiva de modo a criar uma matriz triangular superior que possua valores diferentes de zero somente nos elementos da diagonal principal e nos elementos acima desta O processo é realizado por meio de operações matemáticas específicas entre todas as equações com a equação de pivô de modo a eliminar variáveis A etapa de eliminação é iniciada com a seleção da equação de pivô que normalmente é a primeira equação Após selecionase o coeficiente de pivô que é simplesmente a razão entre o primeiro coeficiente de qualquer uma das equações e o primeiro coeficiente da equação de pivô Essa operação é repetida para todas as equações em relação à primeira equação a equação de pivô cancelando a variável x1 de todas Após aplicase a eliminação progressiva ao eliminar a variável x2 Nesse próximo passo a equação de pivô tornase a segunda equação e a mesma operação matemática deve ser feita entre todas as equações com relação à segunda equação a nova equação de pivô Por meio deste novo procedimento ao eliminar a variável x2 de todas as equações produzindo novos coeficientes O resultado é o conjunto de equações abaixo representado na forma geral Ao obter essa equação tornase possível iniciar a etapa de substituição progressiva que começa pela determinação da variável xn até a determinação da primeira x1 O valor de xn pode ser obtido pela simples divisão dos coeficientes Devese atentar à substituição correta dos índices i e j para usar a fórmula da substituição progressiva Para o cálculo da variável x1 o índice i 1 e o índice j vão desde j i 1 2 até n Na eliminação de Gauss existe uma limitação onde não se previne eventuais divisões por zero sendo por isso chamado de eliminação de Gauss ingênua Para solucionar essa questão devese trocar a primeira equação equação de pivô por outra equação dentro do mesmo sistema cujo primeiro coeficiente seja o maior de todos em módulo no sistema em questão Logo esse sistema poderá ser agora resolvido por meio da eliminação de Gauss Automatizar o pivotamento parcial e outros métodos tornase simples ao aplicar a linguagem computacional A construção de códigos de procedimentos automatizados para qualquer método deve ser realizada com perspicácia e paciência executandose vários testes na linha de comando inicialmente com problemas simplificados para o desenvolvimento do código e posteriormente realizando testes para problemas mais complexos A eliminação de Gauss como visto é um procedimento que envolve apenas cálculos aritméticos na etapa de eliminação progressiva bem como na etapa de substituição progressiva O próximo método a ser estudado é o método iterativo de GaussSeidel que requer alguma habilidade de manipulação algébrica para isolar as variáveis ainda que seja de desenvolvimento mais simples O método de GaussSeidel é iterativo envolvendo repetição dos cálculos com a necessidade do cálculo de erros iterativos e um critério de parada baseado em um valor de tolerância No código acima está faltando o critério de parada Devese inserilo critério de parada usando qualquer uma das variáveis para o cálculo dos erros iterativos Modificando ou melhorando o código conforme necessário Portanto os sistemas de equações podem ser lineares ou não lineares Existem dois métodos usados para a solução de um sistema de equações lineares a eliminação de Gauss resposta em duas etapas eliminação progressiva e a posterior substituição progressiva podendo ainda ser complementada por um pivotamento parcial para evitar divisões por zero e o método iterativo de GaussSeidel executado por um simples rearranjo algébrico inicial e posterior substituição iterativa dos novos valores obtidos nas equações geradas método mais simples que a eliminação de Gauss e mais fácil de aplicar na linguagem computacional

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Lista de Exercícios - Métodos Numéricos e Modelagem Matemática

7

Lista de Exercícios - Métodos Numéricos e Modelagem Matemática

Introdução à Lógica e Programação

UNIGRANRIO

Ajuste de Funções: Métodos Computacionais em Engenharia

19

Ajuste de Funções: Métodos Computacionais em Engenharia

Introdução à Lógica e Programação

UNIGRANRIO

Relatorio AP3 Metodos Computacionais Resumo das Unidades 5-8

8

Relatorio AP3 Metodos Computacionais Resumo das Unidades 5-8

Introdução à Lógica e Programação

UNIGRANRIO

Métodos Computacionais em Engenharia: Interpolação

18

Métodos Computacionais em Engenharia: Interpolação

Introdução à Lógica e Programação

UNIGRANRIO

Integração Numérica: Métodos e Aplicações em Engenharia

17

Integração Numérica: Métodos e Aplicações em Engenharia

Introdução à Lógica e Programação

UNIGRANRIO

Sistemas Não Lineares: Métodos Numéricos e Aplicações

19

Sistemas Não Lineares: Métodos Numéricos e Aplicações

Introdução à Lógica e Programação

UNIGRANRIO

Erros em Métodos Numéricos e Modelagem Matemática - Exercícios Resolvidos

6

Erros em Métodos Numéricos e Modelagem Matemática - Exercícios Resolvidos

Introdução à Lógica e Programação

UNIGRANRIO

Lista de Exercícios Resolvidos - Algoritmos e Lógica de Programação em C - Bondinho e Pneu

5

Lista de Exercícios Resolvidos - Algoritmos e Lógica de Programação em C - Bondinho e Pneu

Introdução à Lógica e Programação

UNIGRANRIO

AP3 Algoritmos e Programação em C - Resolução de Problemas OBI

4

AP3 Algoritmos e Programação em C - Resolução de Problemas OBI

Introdução à Lógica e Programação

UNIGRANRIO

Texto de pré-visualização

NÚCLEO DE EDUCAÇÃO A DISTÂNCIA NEAD Entrega de relatório AP1 APLICAÇÃO PRÁTICA REFERENTE AS ATIVIDADES DE METODOS COMPUTACIONAIS TurmaENG15060 Professor Marlon Demauir Semestre 2 Contextualização Este trabalho tem por objetivo explicitar em textos dissertativos as atividades de Metodos Computacionais realizadas pelo aluno Proposta de Trabalho Escrever um resumo das unidades 1 2 3 e 4 disponíveis para estudo na disciplina Contextualizar as unidades com artigos ou temas literários citados durante texto do resumo Orientações O aluno deverá ler e resumir as 4 primeiras unidades da disciplina assim como referenciar o conteúdo adquirido com os artigos e temas disponíveis na literatra Critérios de avaliação Indicadores Pontuação Construções dissertativas 10 UNIGRANRIO U N I V E R S I D A D E Vá além da sala de aula Sistemas Lineares Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduação Emilio Antonio Francischetti PróReitora Comunitária Sônia Regina Mendes Direção geral Jeferson Pandolfo Revisão Laís Sá 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 Sistemas Lineares Objetivos 04 Introdução 05 1 Sistemas Lineares 06 11 Métodos Diretos para Sistemas Lineares Eliminação Gaussiana 09 12 Método Iterativo de GaussSeidel 19 Síntese 24 Referências Bibliográficas 25 Objetivos Ao final desta unidade de aprendizagem você será capaz de Transcrever problemas numéricos em sistemas de equações e matrizes Solucionar sistemas de equações lineares através de métodos numéricos 4 Métodos Computacionais em Engenharia Introdução Os modelos matemáticos de processos reais são constituídos em sua maioria não de apenas uma equação diferencial isolada mas de muitas equações acopladas entre si ou seja compartilham entre elas muitas variáveis dependentes e independentes bem como condições iniciais e de contorno Como a solução dos modelos matemáticos através de métodos matemáticos pode ser complicada entram em cena os métodos computacionais Como no exemplo do saltador visto na Unidade 1 existe um intervalo de tempo anterior a 24 segundos em que este apresenta variação de sua velocidade de queda livre essa fase ou período é chamado de regime transiente ou transitório Nesse período transiente a derivada da função inclinação da curva é diferente de zero pois ainda existem variações ocorrendo no processo A partir de 24 segundos em diante o saltador atinge sua velocidade terminal alcançando assim o período estacionário no qual esse processo queda livre não apresenta mais nenhuma variação de condições com o tempo No período estacionário o termo diferencial da equação pode ser zerado e a equação diferencial transformase em uma simples equação algébrica O mesmo se aplica a um sistema de equações diferenciais que no estado estacionário transformam se em um sistema de equações algébricas Nesta unidade aprenderemos a resolver um sistema de equações algébricas lineares que podem representar processos no regime ou estado estacionário Iniciaremos falando sobre processos estacionários em seguida estudaremos o método de eliminação de Gauss e finalizaremos esta unidade estudando o método iterativo de GaussSeidel 1 Sistemas Lineares Iniciaremos esta unidade falando sobre como surgem os sistemas de equações Vamos lá No exemplo do saltador você percebeu sem levar em consideração a simulação computacional que o problema de determinar a velocidade terminal no regime estacionário era muito mais simples que usar um método matemático no regime transiente Isso porque no regime transiente você não podia fazer dvdt 0 e resolver a equação algebricamente mas deveria manter o termo diferencial e usar um método matemático Pois bem a solução de modelos matemáticos no período estacionário é mais simples do que a solução destes no período transiente pois no período estacionário os termos diferenciais podem ser zerados Vejamos um exemplo Imagine um processo de fluxo de produtos por exemplo constituído de duas equações diferenciais lineares acopladas através das variáveis x1 e x2 fluxo do produto 1 e fluxo do produto 2 respectivamente Essas variáveis podem por exemplo ser função da capacidade de um veículo ou o diâmetro de uma tubulação caracterizando a presença de relações algébricas no modelo O sistema de equações diferenciais para esse processo hipotético é o seguinte Observe que as duas variáveis dependentes aparecem em ambas as equações diferenciais por isso dizemos que as equações estão acopladas Em razão da presença dos termos diferenciais essas equações também representam o período transiente que é o período em que ainda ocorrem variações de fluxo de produto por exemplo no caso hipotético em que esperamos uma tubulação encher completamente Em algumas aplicações de engenharia nem sempre estamos interessados nesse período e temos sim maior interesse em determinar o valor dos fluxos somente quando o processo atingir o período ou estado estacionário ou seja quando os termos diferenciais estiverem zerados Nesse período as equações ficam 1 1 2 2 9 t dx x x d 2 1 2 5 5 t dx x x d 6 Métodos Computacionais em Engenharia Observe que agora as equações se tornaram um simples sistema de equações lineares A solução desse modelo no período ou regime estacionário pode ser obtida facilmente através do método gráfico Esse método consiste basicamente na construção das retas que representam essas equações em um gráfico e posterior determinação do ponto de cruzamento entre elas O ponto de cruzamento então é a solução do sistema ou seja esse é o ponto onde os valores de x1 e x2 satisfazem as duas equações ao mesmo tempo As retas lineares que representam essas equações ficam na forma y ax b Para representar as equações nessa forma basta simplesmente isolar uma das variáveis nas duas equações nesse caso podemos isolar x2 assim ficamos com O Gráfico 1 contém as duas retas acima e a solução do sistema Gráfico 1 Gráfico das funções em que a solução dos sistemas é em x1 2 e x2 5 Fonte Do autor 1 2 1 2 1 2 1 2 0 2 9 2 9 0 5 5 5 5 x x ou x x x x x x 2 1 2 1 2 9 5 5 x x x x 1 0 1 2 3 4 5 X1 0 5 10 15 20 5 10 X2 7 Métodos Computacionais em Engenharia A solução sem a construção do gráfico também é possível bastando igualar uma equação com a outra e resolvendo para uma das variáveis do seguinte modo Tão logo conhecemos x1 podemos levar esse valor a qualquer uma das equações de origem para determinarmos x2 do seguinte modo Observe que substituindo os valores de x1 e x2 nas duas equações originais podemos verificar a prova real de que esses valores são a solução do sistema pois satisfazem as duas equações ao mesmo tempo O Octave possui funções nativas para a solução de sistemas de equações lineares No Octave podemos resolver o sistema acima por meio das seguintes etapas Primeiramente criamos a matriz de coeficientes A e a matriz de cargas B como mostrado no Quadro 1 depois usamos o comando com barra invertida logo abaixo Quadro 1 Matriz de coeficientes e de cargas do sistema linear em questão Fonte Do autor 1 1 1 1 14 2 9 5 5 7 14 2 7 x x x x 2 1 2 2 2 9 22 9 5 x x x x 22 5 9 52 5 5 2 1 5 1 9 5 2 5 A B X A B X 8 Métodos Computacionais em Engenharia Observe que os coeficientes são os valores que multiplicam as variáveis nas duas equações e as cargas são os valores que estão do lado direito da igualdade Nesse caso a barra invertida é o comando do Octave para resolver o sistema Perceba que a resposta x1 2 e x2 5 é de cima para baixo pois os coeficientes foram inseridos nas matrizes da esquerda para a direita e são relacionadas ao x1 e x2 respectivamente No MATLAB os comandos são os mesmos para resolver esse sistema de equações 11 Métodos Diretos para Sistemas Lineares Eliminação Gaussiana A Eliminação de Gauss é um método computacional para a solução de um sistema de equações lineares Esse método é dividido em duas etapas a eliminação progressiva e a substituição progressiva Antes de estudarmos o método vamos analisar a forma geral de um sistema de equações lineares como o representado a seguir Esse sistema de n equações e n incógnitas pode ser escrito na forma de uma matriz contendo n linhas e n1 colunas com todos os coeficientes a e b As variáveis x não entram nessa matriz e é a partir dela que iniciamos a etapa de eliminação progressiva O objetivo da etapa de eliminação progressiva é criar uma matriz triangular superior ou seja uma matriz que contenha 11 1 12 2 13 3 1 1 21 1 22 2 23 3 2 2 1 1 2 2 3 3 n n n n n n n nn n n a x a x a x a x b a x a x a x a x b a x a x a x a x b 11 12 13 1 1 21 22 23 2 2 1 2 3 n n n n n nn n a a a a b a a a a b a a a a b 9 Métodos Computacionais em Engenharia valores diferentes de zero somente nos elementos da diagonal principal e nos elementos acima desta Isso é feito por meio de operações matemáticas específicas entre todas as equações com a equação de pivô de modo a eliminar variáveis Vejamos agora como funciona o método A etapa de eliminação é iniciada com a seleção da equação de pivô que normalmente é a primeira equação Logo depois selecionamos o coeficiente de pivô que é simplesmente a razão entre o primeiro coeficiente de qualquer uma das equações e o primeiro coeficiente da equação de pivô Por exemplo vamos eliminar a variável x1 da segunda equação para isso fazemos o coeficiente de pivô entre o primeiro elemento da segunda equação e o primeiro elemento da equação de pivô assim o coeficiente fica a21a11 Logo depois multiplicamos esse coeficiente por todos os elementos da equação de pivô e assim temos Posteriormente subtraímos essa equação da segunda equação e assim teremos Observe que o primeiro termo contendo x1 foi eliminado cortado da segunda equação Observe também que a operação matemática entre os coeficientes originais ligados a x2 até xn produzem novos coeficientes por exemplo a22 a21a11a12 a22 A segunda equação fica agora desta forma Essa operação é repetida para todas as equações em relação à primeira equação a equação de pivô cancelando a variável x1 de todas elas O próximo passo da eliminação progressiva é eliminar a variável x2 Nesse próximo passo a equação de pivô tornase a segunda equação e a mesma operação 21 21 21 21 21 11 1 12 2 13 3 1 1 11 11 11 11 11 n n a a a a a a x a x a x a x b a a a a a 21 21 21 22 12 2 2 1 2 1 11 11 11 n n n a a a a a x a a x b b a a a 22 2 23 3 2 2 n n a x a x a x b 10 Métodos Computacionais em Engenharia matemática deve ser feita entre todas as equações com relação à segunda equação a nova equação de pivô Esse novo procedimento elimina a variável x2 de todas as equações produzindo novos coeficientes O resultado é o conjunto de equações abaixo representado na forma geral O mesmo conjunto de equações pode ser representado pela matriz triangular superior abaixo Observe que a última equação está com todas as variáveis eliminadas com exceção de xn Agora é possível iniciar a etapa de substituição progressiva que começa pela determinação da variável xn até a determinação da primeira x1 O valor de xn pode ser facilmente obtido pela simples divisão dos coeficientes Acompanhe na equação abaixo Após a determinação de xn iniciase a determinação das outras variáveis por meio da seguinte fórmula 22 2 23 3 2 2 3 11 1 12 2 13 3 3 3 3 1 1 1 3 1 n n n n n n nn n n n n a x a x a x a x b a x a x a x b a x a x b a x b 23 2 33 3 22 2 3 11 1 1 1 2 13 1 1 0 0 0 0 0 0 n n n n n nn n a a a a a a a b a a b a b b 1 1 n n n n nn b x a 1 1 1 1 1 2 1 n i i i ij j i i i ii b a xj x para i n n a 11 Métodos Computacionais em Engenharia Observe que o índice i começa por n1 ou seja para o caso de 10 variáveis x10 essa fórmula inicia os cálculos pela variável x9 Fique atento à substituição correta dos índices i e j para usar a fórmula da substituição progressiva Para o cálculo da variável x1 o índice i 1 e o índice j vão desde j i 1 2 até n Vejamos como fica a fórmula de x1 para 3 equações n 3 Observe que b11 não significa que b1 esteja elevado a zero e sim que este é o coeficiente b1 da primeira equação de pivô que não sofreu modificação pela eliminação progressiva A fórmula para x2 fica Pratique para outros valores de n Bem depois de toda essa demonstração teórica nada como um exemplo prático para entendermos melhor as etapas da eliminação de Gauss Vamos considerar como exemplo o sistema de equações abaixo Nossa equação de pivô será a primeira equação Iniciaremos a eliminação da variável x1 da segunda equação o coeficiente de pivô é 31 e a Importante 3 3 11 11 1 1 1 1 1 1 2 1 12 2 13 3 1 11 11 11 11 j j j j b a xj b a xj b a x a x x a a a 3 3 21 21 2 2 2 2 2 1 3 2 23 3 2 21 22 22 22 j j j j b a xj b a xj b a x x a a a 1 2 3 1 2 3 1 2 3 3 2 13 3 2 18 4 3 5 x x x x x x x x x 12 Métodos Computacionais em Engenharia primeira equação equação de pivô deve ser multiplicada por esse coeficiente dessa forma substituindo e resolvendo temos Subtraindo essa equação da segunda equação e a resolvendo teremos Portanto a segunda equação está agora com a variável x1 eliminada Vamos agora eliminar a variável x1 da terceira equação então o coeficiente de pivô é agora 41 Para isso repetimos a mesma operação matemática para a terceira equação em relação à primeira e resolvendo ficamos com Portanto a terceira equação está agora com a variável x1 eliminada Para finalizarmos precisamos eliminar a variável x2 da terceira equação para que a segunda equação se torne a equação de pivô Então nesse caso o coeficiente de pivô para a terceira equação em relação à segunda é 11111 Subtraindo a segunda equação multiplicada por esse novo coeficiente de pivô da terceira equação ficamos com a equação abaixo 1 2 3 1 2 3 3 3 3 3 312 13 1 1 1 3 9 6 39 1 1 1 1 x x x x x x 1 2 3 2 3 3 9 6 39 3 2 1 18 1 1 1 1 11 7 57 x x x x x 1 2 1 2 3 1 2 3 2 3 4 4 4 4 3 2 3 13 1 1 1 1 4 12 8 52 1 1 1 1 4 12 8 52 4 1 3 5 1 1 1 1 11 5 47 x x x x x x x x x x x 3 2x 10 13 Métodos Computacionais em Engenharia A matriz triangular superior obtida para esse exemplo fica da seguinte forma Dessa forma a primeira substituição já pode ser executada assim Devemos proceder agora a substituição progressiva para as outras variáveis desde a segunda x2 até a primeira x1 De acordo com a fórmula a segunda variável fica E finalmente a primeira variável fica Observe que os valores das variáveis são obtidos em apenas duas etapas É claro que para tornarse um expert em eliminação de Gauss é preciso muito treino O estudante que quiser se aperfeiçoar pode criar seus próprios problemas e treinar usando para isso as funções nativas do Octave para saber previamente as respostas corretas Um procedimento passo a passo da eliminação de Gauss encontrase no Quadro 2 1 3 2 13 0 11 7 57 0 0 2 10 3 3 2x 10 x 5 2 23 3 2 22 57 75 2 1 1 b a x x a 1 12 2 13 3 1 11 1332 25 3 1 b a x a x x a 1 3 2 3 2 1 4 1 3 13 18 5 3 3 31 11 1 2 2 21 11 1 3 3 32 22 2 a b ab a b ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab 14 Métodos Computacionais em Engenharia Quadro 2 Eliminação de Gauss detalhada no modo calculadora do Octave Fonte Do autor Com algum esforço você pode perceber no Quadro 2 que os índices se alternam de forma padronizada A habilidade de identificar esses padrões é muito conveniente aos programadores de métodos computacionais Os programadores podem identificando esses padrões criar códigos que automatizam as etapas do método Um exemplo desse tipo de código está no Quadro 3 1 3 2 13 0 11 7 57 0 0 2 10 13 4 1 0 0 0 3 3 33 0 0 a ab b ab x zeros n x x b a x 5 2 2 23 3 22 0 2 5 1 1 12 2 13 3 11 3 2 5 x b a x a x x b a x a x a x 1 Eliminação de Gauss ingenua 2 clear all limpa todas as variáveis antes de começar 3 4 a 1 3 2 3 2 1 4 1 3 cria a matriz de coeficientes 5 b 13 18 5 cria o vetor de cargas 6 n sizea1 calcula o número de linhas na matriz a 15 Métodos Computacionais em Engenharia Quadro 3 Código para a eliminação de Gauss ingênua Fonte Do autor O estudante atento percebeu que a eliminação de Gauss possui uma limitação Esse método da forma como foi mostrado não previne eventuais divisões por zero sendo por isso chamado de eliminação de Gauss ingênua Por exemplo observe o sistema de equações abaixo O que há de diferente nele A diferença em relação ao primeiro exemplo é que nesse caso o coeficiente a11 da primeira equação é zero ou seja o coeficiente de pivô já na 2 3 1 2 3 1 2 3 2 3 10 4 6 7 22 2 3 6 33 x x x x x x x x 7 ab a b junta as matrizes a b 8 9 etapa de eliminação progressiva 10 for j1n1 11 for in11 12 if i j 13 abi abi abijabjjabj 14 end 15 end 16 end 17 ab mostra a matriz ab na linha de comando 18 19 a ab 1n separa a matriz ab em duas matrizes novamente 20 b ab n1 21 22 x zerosn1 inicia o vetor solução x 23 24 etapa de substituição progressiva 25 for in11 26 xi bi sumaixaii 27 end 28 x mostra a resposta na linha de comando 29 16 Métodos Computacionais em Engenharia primeira etapa inviabiliza completamente o método pois qualquer número dividido por zero é igual a infinito e assim o sistema fica sem solução O mesmo problema também ocorre para coeficientes muito próximos de zero gerando erros de arredondamento CHAPRA 2013 A solução para esse inconveniente é simples e eficaz consistindo na mera troca da primeira equação equação de pivô por outra equação dentro do mesmo sistema cujo primeiro coeficiente seja o maior de todos em módulo no sistema em questão QUARTERONI SALERI 2007 Assim o sistema de equações deve ficar da seguinte forma Esse sistema pode agora ser resolvido normalmente por meio da eliminação de Gauss pois a nova equação de pivô não possui seu coeficiente a11 zerado e é agora 4 quatro o maior dos valores Essa técnica é chamada de pivotamento parcial e é eficaz para a grande maioria dos casos O código abaixo Quadro 4 possui um controlador de fluxo if que faz o pivotamento parcial entre as linhas 10 e 15 caso seja necessário 1 2 3 2 3 1 2 3 4 6 7 22 2 3 10 2 3 6 33 x x x x x x x x 1 Eliminação de Gauss com pivotamento parcial 2 clear all limpa todas as variáveis antes de começar 3 4 a 0 2 3 4 6 7 2 3 6 cria a matriz de coeficientes 5 b 10 22 33 6 n sizea1 calcula o número de linhas na matriz a 7 ab a b junta as matrizes a b 8 9 pivotamento parcial 10 if ab11 0 verifica se a11 é igual a zero 11 ag ab cria uma matriz temporária ag para a troca de linhas 12 valor indx maxabsag1 encontra o valor máximo 13 ab1 agindx faz a troca de linhas 17 Métodos Computacionais em Engenharia Quadro 4 Eliminação de Gauss com pivotamento parcial Fonte Do autor Automatizar o pivotamento parcial bem como qualquer outro método é mais simples quando dispomos de experiência com a linguagem computacional com a qual trabalhamos A construção de códigos de procedimentos automatizados para qualquer método deve ser realizada com perspicácia e paciência executandose vários testes na linha de comando inicialmente com problemas simplificados para o desenvolvimento do código e posteriormente realizando testes para problemas mais complexos 14 abindx ag1 15 else 16 end 17 18 etapa de eliminação progressiva 19 for j1n1 20 for in11 21 if i j 22 abi abi abijabjjabj 23 end 24 end 25 end 26 ab mostra a matriz ab na linha de comando 27 28 a ab 1n separa a matriz ab em duas matrizes novamente 29 b ab n1 30 31 x zerosn1 inicia o vetor solução x 32 33 etapa de substituição progressiva 34 for in11 35 xi bi sumaixaii 36 end 37 x mostra a resposta na linha de comando 18 Métodos Computacionais em Engenharia Além da eliminação de Gauss como vimos esse método ainda pode ser abordado por diferentes estratégias Aprenda mais sobre a solução de sistemas de equações lineares lendo esta monografia A eliminação de Gauss como percebemos é um procedimento que envolve apenas cálculos aritméticos na etapa de eliminação progressiva bem como na etapa de substituição progressiva O próximo método a ser estudado é o método iterativo de GaussSeidel que requer alguma habilidade de manipulação algébrica para isolar as variáveis ainda que seja de desenvolvimento mais simples Vamos estudálo 12 Método Iterativo de GaussSeidel O método de GaussSeidel é iterativo ou seja envolve repetição dos cálculos com a necessidade do cálculo de erros iterativos e um critério de parada baseado em um valor de tolerância Vamos direto a um exemplo Dado o sistema de equações lineares abaixo Vamos determinar os valores de x1 x2 e x3 Em primeiro lugar isole as três variáveis das três equações e formule as equações abaixo Depois atribua valores iniciais nulos a x2 e x3 ou quaisquer valores iniciais Depois inicie os cálculos de x1 x2 e x3 a partir das equações acima e simplesmente repita os cálculos com os novos valores de x1 x2 e x3 obtidos Saiba Mais Assista agora 1 2 3 1 2 3 1 2 3 3 2 15 45 2 5 2 21 15 3 4 32 x x x x x x x x x 2 3 1 1 2 1 2 3 45 2 15 3 21 2 2 3 5 32 15 3 4 x x x x x x x x x 19 Métodos Computacionais em Engenharia Fazendo x2 0 e x3 0 vamos à primeira iteração Em seguida vamos à segunda iteração Vamos para à terceira iteração E finalmente vamos para a quarta iteração 1 2 3 45 20 150 15 3 21 215 20 48 5 32 1515 48 38375 4 x x x 1 2 3 45 248 1538375 02188 3 21 202188 238375 27525 5 32 1502188 27525 58536 4 x x x 1 2 3 45 2 27525 15 58536 25918 3 21 2 25918 2 58536 28953 5 32 15 25918 28953 48566 4 x x x 1 2 3 45 2 28953 15 48566 19981 3 21 2 19981 2 48566 30566 5 32 15 19981 30566 49583 4 x x x 20 Métodos Computacionais em Engenharia Observe que na quarta iteração os valores já se aproximam da resposta que é x12 x23 e x35 O Quadro 5 contém os comandos para o método iterativo de GaussSeidel no Octave execute os comandos na ordem em que estão mostrados Quadro 5 Comandos para executar o método de GaussSeidel no Octave Fonte do autor Depois da primeira execução das linhas de comando acima recupere os três últimos comandos com a tecla direcional para cima do teclado seta um de cada vez teclando enter após cada vez ou seja recupere primeiro a equação de x1 e tecle enter depois a equação de x2 e tecle enter e depois a equação de x3 e tecle enter Repita esSe procedimento e observe que os valores vão se aproximando de x12 x23 e x35 Isolar uma variável de uma equação algébrica não é difícil desde que tenhamos o conhecimento de algumas regras básicas Por exemplo vamos isolar x da equação abaixo Considere a b e c como sendo constantes nessa equação Para isolar x precisamos manter o termo contendo x do lado esquerdo da equação e passarmos todos os outros termos para o lado direito lembrando que eLes terão seus sinais invertidos assim Logo depois devemos passar o coeficiente de x2 nesse caso a constante a para o lado direito mas devemos estar atentos ao fato de que esse coeficiente passa para o outro lado dividindo todos os termos da seguinte forma 2 0 3 0 1 45 2 2 15 3 3 2 21 2 1 2 3 5 3 32 15 1 3 2 4 x x x x x x x x x x x Importante 2 0 ax aby c 2 ax aby c 2 aby c x a 21 Métodos Computacionais em Engenharia A expressão acima é equivalente a Sendo assim podemos desenvolvêla ainda mais pois aa 1 Assim resolvendo temos O expoente de x 2 deve igualmente passar para o lado direito lembrando que este deve operar sobre todos os termos e também que passa invertido da seguinte forma A expressão acima é equivalente a que é a solução O método iterativo de GaussSeidel implementado no Octave está entre os códigos mais simples Veja o Quadro 6 Quadro 6 Código em Octave para o método de GaussSeidel Fonte Do autor 2 aby c x a a 2 c x by a 1 2 c x by a 2 c x by a 1 método iterativo de GaussSeidel 2 clear all limpa todas as variáveis antes de começar 3 4 x 0 0 0 5 6 for i1100 7 8 x1 45 2x2 15x33 9 x2 21 2x1 2x35 10 x3 32 15x1 3x24 11 12 end 13 x mostra a resposta na linha de comando 14 22 Métodos Computacionais em Engenharia Observe o código acima O que está faltando Isso mesmo está faltando o critério de parada Insira você mesmo o critério de parada usando qualquer uma das variáveis para o cálculo dos erros iterativos Modifique ou melhore o código se você julgar necessário Faça do seu jeito O método de GaussSeidel possui aprimoramentos que o tornam mais eficiente para solucionar sistemas de equações lineares Acesse o link indicado e aprenda mais sobre métodos iterativos de solução de sistemas lineares Assim finalizamos o método iterativo de GaussSeidel E então o que achou Saiba Mais Assista agora 23 Métodos Computacionais em Engenharia Síntese Nesta unidade aprendemos que um sistema de equações diferenciais no estado estacionário gera um sistema de equações algébricas Os sistemas de equações podem ser lineares ou não lineares Existem dois métodos muito usados para a solução de um sistema de equações lineares a eliminação de Gauss e o método iterativo de GaussSeidel A eliminação de Gauss pode encontrar a resposta em duas etapas as quais são a eliminação progressiva e a posterior substituição progressiva podendo ainda ser complementada por um pivotamento parcial para evitar divisões por zero já o método iterativo de GaussSeidel é executado por um simples rearranjo algébrico inicial e posterior substituição iterativa dos novos valores obtidos nas equações geradas sendo um método mais simples que a eliminação de Gauss e mais fácil de ser implementado em uma linguagem computacional E então o que você achou desses métodos Faça sua própria análise e discorra sobre as vantagens e desvantagens de cada um deles pois ainda há muito o que discutir 24 Mé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 LIMA Carlos Cleoton Xaxá Da Silva Estudo dos métodos numéricos que realizam fatoração LU na matriz dos coeficientes para resolução de sistemas de equações lineares Disponível em www2ufersaedubrportal viewuploadssetores232TCC20CARLOS2020final3pdf Acesso em 11 mar 2018 QUARTERONI A SALERI F Cálculo científico com MATLAB e Octave Milano Springer 2007 SOUZA Luiz Fernando Spillere Estudo de métodos iterativos não estacionários de resolução de grandes sistemas lineares esparsos Disponível em httpsprojetosinfufscbrarquivosprojetosprojeto287 TCCLuizFernandopdf Acesso em 11 mar 2018 25 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 Zeros de Funções e Otimização Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduação Emilio Antonio Francischetti PróReitora Comunitária Sônia Regina Mendes Direção geral Jeferson Pandolfo Revisão 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 Zeros de Funções e Otimização Objetivos 4 Introdução 5 1 Zeros de Funções e Otimização 6 11 Métodos Intervalares para se Obter Zeros Reais de Funções Método da Bisseção 10 12 Métodos Abertos para se Obter Zeros Reais de Funções Método de NewtonRaphson 12 Síntese 16 Referências Bibliográficas 17 Objetivos Ao final desta unidade de aprendizagem você será capaz de Converter modelos matemáticos e físicos em problemas numéricos Resolver equações numéricas por meio de métodos intervalares e abertos 4 Métodos Computacionais em Engenharia Introdução Nesta unidade aprenderemos como determinar os zeros e ótimos de funções A determinação dos zeros de uma função consiste na determinação de suas raízes e a otimização de uma função consiste na definição de seus valores máximos eou mínimos Os ótimos também são chamados de extremos e podem ser determinados simplesmente pelos zeros do modelo matemático equação diferencial ou seja o valor da variável independente quando a primeira derivada é zero Existem dois tipos principais de métodos numéricos para determinação de zeros e ótimos de funções os métodos numéricos intervalares e os métodos numéricos abertos A determinação desses valores tem importantes aplicações na engenharia Por exemplo quando o objetivo é reduzir os custos de produção de um processo devemos minimizar a função custo ou seja definir seu valor mínimo Um processo também possui sua função lucro que nada mais é que a função custo multiplicada por 1 menos um nesse caso devemos determinar seu valor máximo ou seja maximizar a função As funções custo e lucro são chamadas de funções objetivo Primeiramente aprenderemos a determinar os zeros e ótimos de uma função simples entretanto os métodos numéricos são importantes para aplicações com funções mais complexas por isso os cálculos iterativos estudados anteriormente também serão necessários aqui Na segunda parte desta unidade estudaremos um método intervalar método da Bisseção e por fim estudaremos um método aberto o método de NewtonRaphson 5 Métodos Computacionais em Engenharia 1 Zeros de Funções e Otimização Vamos iniciar esta unidade aprendendo como determinar zeros e ótimos de uma função simples A função abaixo possui uma variável dependente f à esquerda da igualdade que é função da variável independente x que está no lado direito da equação Para determinarmos os zeros dessa função basta fazermos fx 0 e procedermos o cálculo de suas raízes Substituindo na função temos Como sabemos as raízes de uma função são os valores de x em que fx é zero e por isso elas são chamadas de zeros Os zeros dessa função são 0 e 8 Para determinarmos o valor de f máximo primeiro precisamos determinar o valor de x em que f é máximo Para isso basta derivarmos a função e igualarmos a derivada a zero e assim teremos o ponto em que a curva é totalmente horizontal correspondendo ao ponto máximo A derivada da função em relação à variável independente é Em seguida igualando a derivada a zero levando 2x para o lado esquerdo da equação e resolvendoa temos Portanto o valor de x em que f é máximo é 4 exatamente o ponto médio entre 0 e 8 Dessa forma determinamos o valor de x no ponto máximo determinando o zero da primeira derivada ou seja os ótimos são os zeros da derivada à primeira Para determinarmos o valor de f máximo basta levarmos x 4 à função original fazendo 2 8 f x x x 2 2 8 0 8 0 8 0 8 f x x x x x x x x e x 8 2 df x x dx 8 8 2 0 8 2 2 8 4 2 df x x x x x dx 2 2 8 4 84 4 4 16 f x x x f f 6 Métodos Computacionais em Engenharia Sendo assim o valor de f máximo é 16 portanto o ponto máximo é Pxfx 416 A Figura 1 nos mostra o gráfico dessa função bem como o valor do máximo ótimo e zeros raízes indicados Figura 1 Gráfico da função fx 8x x2 contendo os zeros e o máximo indicado Fonte Do autor Observe que essa função possui somente duas raízes zeros pois tratase de uma função de segunda ordem ou grau Como sua derivada é uma equação diferencial de primeira ordem ela possui apenas um ótimo Para determinarmos se o valor ótimo é máximo ou mínimo devemos calcular a segunda derivada da função em que x é ótimo e verificarmos seu sinal Vejamos a segunda derivada da função Um sinal negativo de derivada à segunda para x 4 indica que a concavidade da curva está direcionada para baixo e que o valor ótimo obtido está acima ou seja tratase de um valor de ponto máximo Já um sinal positivo de segunda derivada indicaria uma curva com concavidade para cima e o ótimo 0 5 10 15 20 5 10 15 20 fx 0 Máximo X 4 e fx16 dfx0 dx Zero x 0 Zero x 8 1 0 1 2 3 4 5 6 7 8 9 X fX 2 2 2 2 4 2 2 d f x d f dx dx 7 Métodos Computacionais em Engenharia seria um valor ponto mínimo Funções de ordem maior que dois apresentam mais de um valor ótimo ou seja vários máximos e mínimos No exemplo estudado a derivada à primeira corresponde ao que seria o modelo matemático no exemplo do saltador e a função original corresponde ao que seria a solução exata No exemplo do saltador visto na unidade 1 a simulação computacional era obrigatória para determinarmos o valor máximo Ptvt do modelo matemático pois não dispunhamos da solução exata antes dos cálculos Para funções originais mais complicadas o problema de determinar zeros e ótimos analiticamente manualmente por meio do cálculo diferencial tornase mais complicado e em alguns casos praticamente impossível Vejamos um exemplo de uma função original mais complicada Dê uma pausa nesta leitura e tente isolar a variável F dessa equação Achou difícil A presença de F dentro da função logarítmica deixa o procedimento relativamente complicado A equação acima é chamada de equação de Colebrook e é usada na determinação do fator de atrito F em problemas de escoamento de fluidos Esse é um importante exemplo da necessidade de determinação de um zero nesse caso F por meio de um método computacional Para usar um método computacional precisamos representar a equação de Colebrook na forma de uma função objetivo bastando simplesmente rearranjála Sendoε D e Re constantes determinase o fator de atrito pela determinação do zero dessa função objetivo fF O Octave possui funções nativas funções prontas incluídas no pacote que permitem a determinação de zeros e ótimos mas essas funções serão mostradas aqui apenas brevemente A função nativa e especializada do Octave para determinar zeros é a função fsolve e a função nativa similar do MATLAB é fzero Dentro dos parênteses informamse os argumentos 1 251 20 37 F D log F Re F ε 1 251 20 37 D f F log F Re F ε 8 Métodos Computacionais em Engenharia ou entradas da função que são a expressão algébrica que representa a função original handle function e um valor arbitrário inicial ou chute inicial Antes de usarmos a função fsolve precisamos informar a função original handle function Vejamos Quadro 1 Função original de acordo com a sintaxe exigida pelo GNU OCTAVE O comando acima cria a expressão algébrica que corresponde à função original da forma fx 8x x2 Observe que o Octave tem uma sintaxe específica e caso algum caractere seja equivocadamente digitado o Octave retorna um erro Para determinar o zero a função fsolve deve ser usada logo depois como abaixo Quadro 2 Uso da função fsolve contendo suas entradas necessárias Perceba que o valor 5 é o valor inicial arbitrário Observe que a função só retorna o zero mais próximo do valor inicial no caso 8 Se o valor inicial for 2 a função retorna o zero mais próximo de 2 no caso 0 zero E quanto ao valor de máximo Para determinarmos o valor máximo basta inserirmos a derivada da função original como argumento entrada da função nativa fsolve pois o valor do máximo nada mais é do que o zero da função derivada Vejamos Quadro 3 Derivada da função original de acordo com a sintaxe do GNU OCTAVE O retorno do zero mais próximo é uma característica dos métodos computacionais para determinação de raízes que aprenderemos ao longo do 8 2 f x x x 5 80000 zero fsolve f zero 8 2 max 2 max 40000 df x x fsolve df 9 Métodos Computacionais em Engenharia nosso estudo Vamos determinar nesta unidade os zeros e ótimos de funções usando métodos numéricos 11 Métodos Intervalares para se Obter Zeros Reais de Funções Método da Bisseção Neste tópico vamos abordar o método da Bisseção um método intervalar que determina a raiz da função dentro de um intervalo arbitrário Essa é justamente uma limitação do método pois para determinar a raiz da função é necessário que se conheça o intervalo certo antes dos cálculos Vejamos o método aplicado à função abaixo Vamos determinar a raiz dessa função entre os valores 1 e 2 para x Caso a raiz não esteja dentro desse intervalo o método vai retornar 1 ou 2 como resultado indicando que a verdadeira raiz está mais próxima de um desses valores De acordo com esse método o valor de x inferior é xl1 e o valor superior é xu2 A primeira etapa é determinar o ponto médio desse intervalo Agora temos dois intervalos candidatos a substituir o primeiro intervalo de xl1 e xu2 são eles xl1 xr15 e xr15 xu2 A raiz da função estará entre um desses novos intervalos Para saber em qual deles precisamos fazer um teste substituindo os valores dos dois intervalos nas funções e fazer as multiplicações usamos fxlfxr e fxrfxu O novo intervalo será aquele que produzir um valor negativo no teste Veja a seguir o resultado do primeiro teste 2 5 3 f x x x 1 2 15 2 2 l u r x x x 2 2 1 51 31 2 15 515 315 075 f f 10 Métodos Computacionais em Engenharia O produto f1f15 2 075 15 é positivo logo ele não será o novo intervalo Sabemos que o novo intervalo é o intervalo superior mas vamos confirmar fazendo os cálculos O produto f15f2 0752 15 é negativo confirmando que esse é o novo intervalo e que o zero da função está entre xl15 e xu2 Precisamos então dividir o novo intervalo novamente e recomeçar todo o procedimento Vamos repetir o procedimento A vantagem para a solução manual é que já calculamos dois valores de intervalo Veja O produto f15f175 03281 é negativo Logo já sabemos que o novo intervalo é x l15 e xu175 e que o zero está entre esses dois valores Devemos prosseguir até determinarmos o zero positivo dessa função que é 16667 a outra raiz é zero Observe que como o resultado é uma dízima periódica para parar os cálculos precisamos de um critério de parada ou prosseguiremos infinitamente Para o critério de parada podemos calcular os erros relativos percentuais entre os valores de xr determinados em cada etapa Vejamos Vamos considerar por exemplo uma tolerância de 001 Nesse caso os cálculos não tardariam em parar e nos dariam o resultado com uma precisão de quatro casas decimais Observe que a vantagem do método é sua 15 515 315 075 2 52 32 2 f f 1 15 2 175 2 2 u r x x x 15 515 3152 075 175 5175 31752 04375 2 52 322 2 f f f 1 1 175 15 iteração 1 1 100 100 1429 175 i i i x r x r erro x r 11 Métodos Computacionais em Engenharia simplicidade entretanto sua desvantagem está no fato de que ele precisa de uma estimativa precisa de intervalo inicial Além disso seria necessário refazer todo o procedimento para a determinação de outras raízes de funções de ordem igual ou superior a dois Na análise numérica de problemas reais é comum o uso de vários métodos numéricos combinados antes de qualquer decisão Não se pode afirmar com certeza qual é o melhor método pois a desvantagem de um pode ser compensada pela vantagem de outro Por exemplo um método aberto pode gerar um resultado que pode ser usado como valor inicial de outro método assim a concordância entre vários métodos pode ser um indício de que a resposta alcançada está correta O uso de métodos combinados é possível graças ao avanço da computação moderna que concebeu computadores com capacidade de processamento cada vez maior 12 Métodos Abertos para se Obter Zeros Reais de Funções Método de NewtonRaphson O método de NewtonRaphson é um método aberto ou seja não é necessário definir um intervalo inicial mas apenas um valor inicial Vamos usar esse método para determinar a raiz da função anterior definindo um valor inicial arbitrário para x como sendo x1 1 Para usarmos o método de NewtonRaphson precisamos da derivada da função nesse caso fx56x Com a função original e a derivada usamos a fórmula abaixo Vamos a primeira etapa substituir o valor inicial x1 1 na função e na derivada Depois substituímos na fórmula Importante 1 i i i i f x x x f x 2 1 5 1 3 1 2 1 5 6 1 1 f f 1 2 1 1 2 3 1 ix 12 Métodos Computacionais em Engenharia Já podemos passar para a segunda etapa Na fórmula do método para encontrarmos o novo valor temos E assim por diante Observe que uma vantagem foi a convergência mais rápida a partir de um valor inicial qualquer isto é a raiz foi determinada em poucos passos Uma desvantagem desse método é que ele precisa obrigatoriamente da derivada da função e algumas funções mais complexas são difíceis de derivar Para o critério de parada podemos calcular os erros relativos entre os valores de x determinados em cada passo Vejamos 2 3 5 3 3 3 12 f 3 5 6 3 13 f 1 12 3 208 13 ix 1 1 1 256 207 1734 746 035 1734 1669 54 00127 1669 16667 5015 i i i x x x 3 1 1 iteração 1 1 06667 1 3 1 208 3 iteração 2 2 04493 1 208 1 1734 208 iteração 3 3 01938 1 1734 1 iteração 4 4 x i x i erro x i x i x i erro x i x i x i erro x i x i x i erro x i 1669 1734 00389 1 1669 1 16667 1669 iteração 5 5 000138 1 16667 1 166667 16667 iteração 6 6 0000018 1 166667 x i x i erro x i x i x i erro x i 13 Métodos Computacionais em Engenharia Para calcularmos o valor ótimo pelo método de NewtonRaphson precisamos da segunda derivada que é fx 6 Nesse caso o valor da segunda derivada não mudará na fórmula ao longo das iterações pois não é função de x A fórmula para determinar o valor ótimo é A derivada à segunda deve ser diferente de zero pois ela fica no denominador Podemos iniciar o procedimento com o valor inicial 1 Já na primeira iteração o método encontra o valor ótimo A convergência rápida é uma importante característica dos melhores métodos computacionais O valor ótimo encontrado é um máximo pois a segunda derivada da função produz um valor negativo O método de NewtonRaphson é baseado na busca da raiz pela inclinação da curva no ponto xi Esse ponto fornece uma estimativa melhor de xi1 Aprenda mais sobre esse método assistindo ao vídeo indicado Para determinar a raiz da função pelo método de NewtonRaphson na linha de comando do Octave digite os comandos abaixo na ordem que aparecem Quadro 4 Comandos para executar o método de NewtonRaphson 1 i i i i f x f x x x 1 1 08333 6 1 i f x Saiba Mais Assista agora 5 3 2 5 6 1 f x x x df x x x x x f x df x 14 Métodos Computacionais em Engenharia Recupere o último comando fórmula de NewtonRaphson com a seta direcional para cima do teclado e tecle enter novamente e assim por diante Você verá os valores de x se alterando desde x 1 até a raiz zero 16667 Abaixo temos um código escrito Octave para o método de NewtonRaphson Quadro 5 Código escrito em Octave para o método de NewtonRaphson 1 método de NewtonRaphson 2 clear all limpa todas as variáveis antes de começar 3 4 f x 5x 3x2 função original 5 df x 5 6x primeira derivada da função original 6 7 tol 00001 valor de tolerância admitido 8 10 x1 1 condição inicial de x 11 for i11000 início do laço de repetição for para muitos valores de i 12 13 xi1 xi fxidfxi fórmula do método de NewtonRaphson 14 15 erro absxi1 xixi1 calcula o erro 16 17 if erro tol compara o erro com a tolerância 18 break comando que encerra os cálculos caso seja verdadeiro 19 else 20 end 21 22 end fim do laço de repetição for 23 dispxi1 mostra o valor da raiz na linha de comando 24 15 Métodos Computacionais em Engenharia Síntese As funções algébricas possuem zeros e ótimos máximos e mínimos Essas funções possuem raízes zeros tocando no eixo das abscissas horizontal exatamente onde seu valor no eixo das coordenadas vertical é zero ou seja onde fx 0 A derivada à primeira de equações algébricas fornece os valores ótimos nos pontos em que a derivada for igual a zero no ponto máximo ou no mínimo Existem dois tipos de métodos numéricos com esse objetivo os métodos intervalares e os métodos abertos Os métodos numéricos para determinação de zeros e ótimos são usados normalmente em conjunto antes da tomada de qualquer decisão Conhecendo os valores ótimos os engenheiros podem determinar as condições operacionais que otimizam os processos ou seja que minimizam os custos e maximizam os lucros obviamente dentro de todas as restrições ambientais e de segurança exigidas pela legislação As funções algébricas que representam os custos ou os lucros de um processo são comumente chamadas de funções objetivo 16 Mé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 CANALE R P Métodos numéricos para engenharia 5 ed São Paulo Mcgraw Hill 2011 MATEMÁTICA BASE Método de NewtonRaphson Vídeo 01 Demonstração e Exemplo Disponível em httpswwwyoutubecom watchvYx90nD1qonU Acesso em 06 fev 2018 QUARTERONI A SALERI F Cálculo científico com MATLAB e Octave Milano Springer 2007 17 Métodos Computacionais em Engenharia 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 wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduaçã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 11 Encontrando a Solução por meio do Cálculo Diferencial 06 12 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 eou 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 5 Métodos Computacionais em Engenharia 1 Equações Diferenciais e Algébricas Série de Taylor 11 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 981 ms2 o coeficiente de arraste CD 025 e a massa do saltador é m 681 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 025681v2 para o lado esquerdo da equação isolando a velocidade e resolvendo temos Logo a velocidade terminal é v516938 ms 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 ² CD dv g v dt m 0 dv dt 2 025 025 981 ² 0 981 681 681 dv v v dt 2 981 981 025 681 025 681 v v Importante 7 Mé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 ti1 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 vt do lado direito deve se tornar vti 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 t dv v v dt t t t t 2 1 1 025 981 631 i i i i i v 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 vti1 e vti 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 12 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 025 981 ² 631 i i i i i v t v t v t t t Vídeo Assista agora 9 Métodos Computacionais em Engenharia Observe que no segundo termo da série de Taylor usase a primeira derivada fxi no terceiro termo usase a segunda derivada fxi 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 fxi1 é o valor da função no tempo posterior fxi é o valor da função no tempo anterior fxi é 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 dvdt 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 eou 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 2 1 1 1 1 ³ 2 3 n n i i n f x f x f f x f x f x h h h h R n 1 1 i i f x f x f x h 1 i i dv v t v t passo dt 1 ² i i i cd v 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 ti1 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 ² 2 i i i i cd cd v t v t g v t passo v t passo m m 1 ² i cd v 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 v1 0 condição inicial da velocidade 5 for i115 início do laço de repetição for 6 vi1 vi 981 025681vi2passo 7 end fim do laço de repetição for 8 dispv mostra os resultados na linha de comando 11 Métodos Computacionais em Engenharia Esse código e outros serão mais exercitados mas observe que o comando for i115 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 516938 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 000000 1962000 3641368 4629832 5018018 5131229 5160078 5167129 5168834 Columns 10 through 16 5169245 5169344 5169368 5169373 5169375 5169375 5169375 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 001 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á confrontarse 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 v1 0 temos 1 1 1962 0 iteração 1 1 100 100 100 1962 364137 1962 iteração 2 2 100 4612 364137 462983 364137 iteração 3 3 100 2135 462983 i i i v t v t erro x x v t erro x erro x Importante Baixe agora 025 2 1 981 681 ²1 2 v v v 025 2 0 981 681 0² 2 v 13 Métodos Computacionais em Engenharia Onde v2 é o valor da velocidade no segundo intervalo de tempo logo v298121962 ms 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 v3 é o valor da velocidade no terceiro intervalo de tempo v2 será a velocidade calculada na iteração anterior Substituindo temos E assim sucessivamente v1 0 v2 v1 981 025681v122 2 v3 v2 981 025 v 2 2 681 2 v3 1962 981 025 1962 2 364137 ms 681 2 v4 364137 981 025 364137 2 462983 ms 681 2 v5 462983 981 025 462983 2 501802 ms 681 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 98 5 Cd 025 6 m 681 7 8 passo 2 este é o valor do passo 9 tol 00001 valor de tolerância admitido 10 11 v1 0 condição inicial da velocidade 0 metros por segundo 12 t1 0 valor de tempo inicial 0 segundos 13 14 for i11000 início do laço de repetição for para muitos valores de i 15 ti1 ti passo cria o vetor tempo para o gráfico 16 vi1 vi g Cdmvi2passo 17 18 erro abs vi1 vi vi1 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 15 Mé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 dispv mostra os resultados na linha de comando 27 figure1 plott 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 podese 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 17 Mé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 httpswwwyoutubecomwatchvOHi7owgHqcU 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 httpswwwyoutubecomwatchvF F0g91Jfbg Acesso em 29 jan 2018 18 Métodos Computacionais em Engenharia UNIGRANRIO U N I V E R S I D A D E Vá além da sala da aula Problemas Numéricos e Erros Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 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ósgraduação Emilio Antonio Francischetti PróReitora Comunitária Sônia Regina Mendes Direção geral Jeferson Pandolfo Revisão Camila Andrade e Laís Sá Produção editoração gráfica Beatriz Serva 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 da aula Sumário Problemas Numéricos e Erros Objetivos 04 Introdução 05 1 Problemas Numéricos e Erros 07 11 Conceitos Básicos e Representação de Problemas 07 12 Tipos de Erros 10 Síntese 14 Referências Bibliográficas 15 Objetivos Ao final desta unidade de aprendizagem você será capaz de Entender o que são problemas numéricos Determinar diferentes tipos de erros numéricos 4 Métodos Computacionais em Engenharia Introdução Os problemas numéricos são representações de modelos matemáticos aproximados que produzem soluções numéricas ou seja na forma de números um conjunto de valores solução Os problemas são formulados a partir de equações que representam fenômenos físicos eou químicos associados a vários tipos de processos Essas equações são chamadas de modelos matemáticos e são baseadas nas leis da física e química que descrevem a relação entre grandezas que se conservam tais como massa energia e momento Os modelos matemáticos baseados nessas leis são chamados de modelos matemáticos analíticos já os modelos formulados a partir de dados experimentais são chamados de modelos empíricos Os modelos matemáticos precisam ser adaptados à linguagem numérica para serem resolvidos pelos computadores principalmente quando esses modelos são difíceis de solucionar por meio dos métodos matemáticos convencionais A etapa de adaptação de um modelo à linguagem computacional é chamada de aproximação e é nela que erros são inseridos de forma indesejada aos modelos Essa etapa é assim chamada porque a solução de um modelo por meio de um método computacional leva a uma solução aproximada em razão da existência de erros de vários tipos já o método matemático convencional leva a uma solução exata que não possui erro e satisfaz perfeitamente o modelo matemático original Qual das soluções você prefere A exata ou a aproximada A resposta para essa pergunta depende do nível de precisão que o engenheiro deseja Em grande parte dos problemas de engenharia a exatidão matemática desejada não é tão grande e um resultado aproximado já é suficiente sendo perfeitamente alcançado pelos computadores digitais de nossa época que fazem 5 Métodos Computacionais em Engenharia todo o trabalho braçal É claro que quanto maior for o modelo e a precisão desejada mais tempo os computadores levarão para encontrar a solução A grande vantagem dos métodos computacionais é a facilidade de aproximar e adaptar os modelos em relação à dificuldade de resolvêlos por meio dos métodos matemáticos Alguns problemas de engenharia são tão complicados que não possuem solução exata até hoje ainda desafiam matemáticos de todo o mundo e só possuem uma solução conhecida os métodos computacionais 6 Métodos Computacionais em Engenharia 1 Problemas Numéricos e Erros 11 Conceitos Básicos e Representação de Problemas Vamos iniciar os estudos tratando da diferença entre métodos matemáticos e os métodos numéricos Um modelo matemático pode ser constituído por uma ou mais equações de dois tipos equações diferenciais eou relações algébricas As relações algébricas podem ser equações igualdades quando descrevem a relação entre variáveis dependentes independentes e parâmetros ou ainda inequações desigualdades quando definem intervalos faixas de operação das variáveis A modelagem de processos é a primeira etapa necessária para a formulação de um problema ou descrição de um processo Essa etapa iniciase com o balanço de grandezas conservativas fundamentais associadas a leis da física e da química Para saber mais leia o capítulo 1 do livro Métodos numéricos aplicados com Matlab para engenheiros e cientistas As relações algébricas já são conhecidas por nós há mais tempo Entretanto as equações diferenciais uma novidade da graduação em Ciências Exatas são as mais importantes na maioria dos processos de engenharia Como o próprio nome diz essas equações descrevem a relação entre diferenças ou variações A velocidade de um automóvel por exemplo pode ser escrita como uma equação diferencial ou seja a sua velocidade é a variação de espaço percorrido em relação à variação de seu tempo de percurso Dessa forma para ser uma equação diferencial basta que a equação tenha um termo diferencial utilizando a letra d que aqui significa diferença infinitesimal A equação então pode ser escrita da seguinte forma ds dt Saiba Mais v Leia Mais 7 Métodos Computacionais em Engenharia Onde s espaço m t tempo s v velocidade ms Podemos utilizar um método matemático simples tal como a integração para encontrar a solução exata ou analítica da equação diferencial v Utilizando a integral indefinida e considerando a velocidade constante podemos separar as variáveis e aplicar o operador integral da seguinte forma ds v dt ds v dt st v t c O termo st significa espaço em função do tempo e indica que o espaço é a variável dependente do tempo e o tempo é a variável independente Por meio da solução exata podemos saber o espaço percorrido por um automóvel em qualquer instante de tempo conhecendo sua velocidade constante Nessa solução exata c é uma constante que acompanha a solução exata geral da equação diferencial Para encontrar o valor dessa constante precisaríamos de uma condição inicial que é um tipo de relação algébrica que sempre vem acompanhando o modelo matemático Determinando o valor de c teríamos a solução exata específica que nesse caso poderia ser st v t com c 0 Além da condição inicial um modelo matemático pode ainda vir acompanhado de condições de contorno É claro que existem equações diferenciais muito mais complexas e estas são classificadas em diferentes tipos cada uma possuindo o seu próprio método matemático específico de solução Agora vejamos uma equação diferencial modelo matemático de difícil solução por meio de uma simples integração segundo Chapra 2013 981 v2 ou 981 vt2 O modelo matemático usado descreve a variação de velocidade de queda livre de um saltador em relação ao tempo e é uma Equação Diferencial ds dt ds dt v dv dt 025 681 dvt dt 025 681 8 Métodos Computacionais em Engenharia Ordinária EDO O objetivo desse modelo é prever a velocidade terminal ou máxima do saltador e o instante de tempo em que ele atinge essa velocidade Dê uma pausa nessa leitura e tente resolver essa equação por meio da integração Difícil não Pois bem é justamente dessa forma que os métodos computacionais podem nos auxiliar pois são aplicados a modelos de difícil solução analítica Depois de algum tempo pesquisando em livros especializados em equações diferenciais você vai concluir que para solucionar uma equação desse tipo vai ter que se dedicar relativamente à matemática para encontrar a seguinte solução exata vt 516938 tanh 018977 t Em que tanh significa tangente hiperbólica Substituindo valores de t cada vez maiores na solução exata acima você observa que o termo tanh018977 t se aproxima cada vez mais do valor 1 um indicando que a velocidade terminal ou máxima será de 516938 ms No entanto você também pode perceber que essa velocidade não podia ser conhecida antes que se encontrasse a solução exata da equação Imagine então que você use o computador para substituir valores de intervalo de tempo gradativos passos na equação diferencial sem a necessidade de usar um método matemático complicado ou conhecer a solução exata e mesmo assim determinar a velocidade terminal Nós chamamos esse processo de simulação computacional e para isso você precisa adaptar o modelo matemático para que o computador realize tal feito ou seja você precisa construir um modelo numérico ou problema numérico Um exemplo de problema numérico para modelo matemático é o seguinte v ti1 v ti 981 v2 ti twi1 ti Esse modelo pode ser usado para uma simulação computacional Durante a simulação comp utacional o computador realiza os mesmos cálculos repetidas vezes e vai se aproximando gradativamente da solução ou seja da velocidade máxima Para que o computador não execute esses cálculos infinitamente devemos estabelecer um critério de parada que é baseado nos erros ou desvios de valores calculados que ocorrem ao longo das repetições A simulação deve ser escrita em uma determinada linguagem computacional com 025 681 9 Métodos Computacionais em Engenharia a qual o computador interpreta compila e executa os cálculos e o critério de parada retornando como resposta à solução numérica O conhecimento de uma linguagem computacional é um importante atributo de profissionais de engenharia pois é assim que o engenheiro pode simular e otimizar processos Aqui usaremos exemplos simplificados com o objetivo de inserirmos os princípios de programação de computadores pertinentes aos métodos computacionais Lembrese de que é importante estudar também a bibliografia básica proposta para esta unidade curricular pois esta é mais detalhada no assunto 12 Tipos de Erros Agora que já tratamos da diferença entre métodos matemáticos e numéricos e de sua importância vamos estudar os tipos de erros associados a cada método O fato de usarmos um computador para representar números reais já introduz erros aos resultados QUARTERONI SALERI 2007 principalmente quando os números reais são irracionais ou seja quando possuem uma infinidade de valores depois do separador decimal no Brasil a vírgula Por isso o mais importante para um engenheiro não é eliminar os erros já que são praticamente inevitáveis mas sim controlar os seus efeitos Existem vários níveis de erros que ocorrem na aproximação de um problema real O primeiro deles é o erro de modelagem em que resulta das idealizações ou simplificações atribuídas a um problema real com o objetivo de desenvolver modelos matemáticos mais simples quanto melhor o modelo matemático descrever a realidade menos simplificado ele é e isso significa um maior esforço dos computadores para encontrar a solução numérica O segundo é o erro de arredondamento ea que se propaga a partir da solução de modelos matemáticos por meio de algoritmos numéricos desenvolvidos a partir dos métodos numéricos ou computacionais Importante 10 Métodos Computacionais em Engenharia O terceiro é o erro de truncamento et introduzido ao modelo matemático durante a aproximação por meio de uma série infinita tal como a série de Taylor na qual procedese um truncamento conveniente para a definição do problema numérico ou modelo discretizado O desenvolvimento de funções em séries de Taylor são ferramentas frequentemente utilizadas em áreas como Cálculo e Análise Numérica Expressar funções como a soma de termos infinitos é uma estratégia muito útil Utilizase tal ferramenta para aproximar funções ao redor de um ponto bem como encontrar seus pontos máximos e mínimos Além disso podemos aplicar os conceitos da série de Taylor para estudar convergência de métodos iterativos e ainda para buscar soluções de equações diferenciais ordinárias O quarto é o erro computacional ec que nada mais é do que a soma do erro de arredondamento mais o erro de truncamento O erro computacional é subdividido em absoluto e relativo O erro computacional absoluto eca é a diferença entre um valor obtido da solução exata e um valor obtido da solução numérica para um mesmo valor de variável independente É importante mencionar que essa diferença deve ser dada em módulo ou seja deve ter sempre sinal positivo O erro computacional relativo ecr é também a diferença em módulo entre um valor obtido da solução exata e um valor obtido da solução numérica para um mesmo valor de variável independente Esse resultado porém é dividido pelo valor obtido da solução exata de modo que possa ser encarado como um erro em relação à solução exata Por exemplo para um valor de solução exata xe 523 e um valor de solução numérica xn 586 o erro absoluto é eca 523 586 063 063 Onde o símbolo significa módulo do valor O erro relativo é ecr 01205 Importante 523 586 523 063 523 11 Métodos Computacionais em Engenharia O erro computacional relativo também pode ser representado na forma percentual ecr x 100 1205 Os métodos numéricos usam uma abordagem iterativa método de Euler para encontrar a solução numérica na qual os erros entre as iterações repetições são calculados e usados no critério de parada Por exemplo considere que um valor de x atual calculado em uma iteração é xi 2294 e o valor prévio de x calculado em uma iteração anterior é xi 1 2472 O erro iterativo é calculado da seguinte forma erroi 007759 007759 O erro iterativo também pode ser representado na forma percentual erroi x 100 x 100 7759 Considere agora a solução numérica abaixo para quatro iterações de um determinado método numérico Iterações Valor de x na iteração Erro 0 1925 1 2384 01925 2 2537 00603 3 2657 00452 4 2662 00019 Use a formulação para o erro iterativo e encontre os resultados obtidos na tabela acima Observe que o valor dos erros diminui ao longo da solução numérica coluna do meio 523 586 523 xi xi1 xi 2294 2472 2294 178 2294 xi xi1 xi 2294 2472 2294 12 Métodos Computacionais em Engenharia A estimativa de erros é muito importante para a tomada de decisões sobre os processos Em alguns casos os esforços para diminuir os erros de truncatura ou truncamento podem aumentar os erros de arredondamento Para saber mais leia o capítulo 4 do livro Métodos numéricos aplicados com Matlab para engenheiros e cientistas Saiba Mais Leia Mais 13 Métodos Computacionais em Engenharia Síntese Os modelos matemáticos representam processos e podem ser solucionados de duas formas por meio de métodos matemáticos para encontrarmos a solução exata ou de métodos computacionais para encontrarmos a solução numérica Obviamente existe um desvio entre a solução exata e a solução numérica que chamamos de erro Dependendo da precisão desejada o engenheiro pode estabelecer um valor de tolerância admitida para o erro e fazer previsão dos processos utilizando simulações computacionais dos problemas ou modelos numéricos Os problemas numéricos podem ser construídos a partir dos modelos matemáticos utilizando métodos de aproximação e é dessa forma que os modelos podem ser simulados em computadores contudo esse método também introduz erros aos modelos A simulação computacional requer o conhecimento de uma linguagem de programação por parte do engenheiro que pode fazer previsões importantes para os processos a partir da solução numérica obtida 14 Mé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 QUARTERONI A SALERI F Cálculo científico com MATLAB e Octave Milano Springer 2007 15 Métodos Computacionais em Engenharia RESUMO MODELOS MATEMÁTICOS Os modelos numéricos e as simulações computacionais podem substituir um método matemático para encontrar a solução de um modelo matemático Tendo o gráfico abaixo como modelo para interpretas as explicações a curva construída a partir da função é a solução exata do modelo estudado Nessa curva de variável dependente x variável independente há quatro retas que tocam tangentes a curva em quatro pontos A B C e D Essas retas representam a inclinação da curva nesses pontos Assim a inclinação das retas diminui desde o ponto A até o ponto D O ângulo que elas têm com o eixo horizontal diminui e assim a diminuição das inclinações das retas nestes pontos indica que toda a curva está diminuindo de inclinação ao longo do tempo tendendo a ficar 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 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 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 chegará no modelo matemático Assim sendo os métodos computacionais podem auxiliar na determinação do tempo Primeiramente devese construir o problema numérico e para isso recorrer à derivada do cálculo diferencial que também será o limite da relação entre duas diferenças finitas quando a diferença no denominador tende a zero ou seja Pela aproximação acima o termo diferencial pode ser substituído pela relação entre diferenças finitas no modelo sendo conhecida como aproximação por diferenças finitas Os índices ti e ti1 significam o instante de tempo anterior e tempo posterior respectivamente Desse modo ao substituir esse resultado no modelo matemático Sendo vt do lado direito deve se tornar vti Levando o denominador para o lado direito da equação e rearranjando o modelo este fica na forma numérica final Esse modelo ou problema numérico mostra que os valores posteriores de velocidade são calculados a partir dos valores anteriores Dessa forma os valores de velocidade são determinados por meio de cálculos repetidos sendo chamada de método de Euler O computador irá parar quando os valores de velocidade estiverem variando abaixo de um desvio erro mínimo entre vti1 e vti chamados de tolerância e o chamado critério de parada Podese aplicar estes cálculos na linguagem computacional gratuita GNU Octave para desenvolver simulações computacionais similar ao MATLAB A simulação computacional também pode ser executada em softwares de planilhas como o Excel O mesmo problema numérico pode ser encontrado a partir da série infinita de Taylor que conta com uma infinidade de termos usados para elevar a precisão do problema numérico elevando em contrapartida o esforço computacional para encontrar a solução A forma geral da série de Taylor é 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 pode reduzir o erro de truncatura elevando o erro de arredondamento A série de Taylor truncada no segundo termo ao lado direito da igualdade fica Onde fxi1 é o valor da função no tempo posterior fxi é o valor da função no tempo anterior fxi é o valor da primeira derivada da função no tempo anterior e h é o valor do passo ou intervalo de tempo Para simular o problema numérico devese adaptálo à linguagem computacional suprimindo os termos ti1 e ti e substituindo simplesmente por i Desse modo fica A equação deve ser uma linha de código digitada sobre um laço de repetição de cálculos laço for Uma versão simples desse código não conta com o critério de parada ou seja o que define a parada é o valor do laço de repetição As frases na cor verde precedidas de são comentários explicativos e não são executados pelo Octave na simulação O resultado da simulação é mostrado na linha de comando por causa da função nativa disp inserida no código na linha 12 Para a saída ou retorno da função Os cálculos realizados pelo computador também podem ser feitos manualmente utilizando uma calculadora científica As condições de máximo ou mínimo dos modelos matemáticos podem ser até certo ponto determinadas por meio do cálculo diferencial Porém através das simulações computacionais podese obter informações abrangentes sobre os processos representados por esses modelos Por meio de uma série infinita um modelo matemático pode ser aproximado a um problema numérico e simulado computacionalmente podendo determinar condições de máximo ou mínimo como também outras informações pertinentes ao processo Através da simulação podese calcular o erro entre os valores determinados pela solução numérica utilizando os desvios no critério de parada para encerrar a simulação RESUMO PROBLEMAS NUMÉRICOS E ERROS Os problemas numéricos são representações de modelos matemáticos aproximados que produzem soluções numéricas Os problemas são formulados a partir de equações que representam fenômenos físicos eou químicos associados a vários tipos de processos ou seja são chamados de de modelos matemáticos como também são baseadas nas leis da física e química que descrevem a relação entre grandezas que se conservam Os modelos matemáticos baseados nessas leis são chamados de modelos matemáticos analíticos os modelos formulados a partir de dados experimentais são os modelos empíricos Os modelos matemáticos precisam ser adaptados à linguagem numérica para serem resolvidos pelos computadores principalmente quando são difíceis de solucionar por métodos matemáticos convencionais A etapa de adaptação de um modelo à linguagem computacional é por aproximação e é nela que erros são inseridos de forma indesejada aos modelos Essa etapa envolve a solução de um modelo por meio de um método computacional que leva a uma solução aproximada em razão da existência de erros de vários tipos já o método matemático convencional leva a uma solução exata que não possui erro e satisfaz o modelo matemático original Um modelo matemático pode ser constituído por uma ou mais equações de dois tipos equações diferenciais eou relações algébricas As relações algébricas podem ser equações igualdades que descrevem a relação entre variáveis dependentes independentes e parâmetros ou inequações desigualdades que definem intervalos faixas de operação das variáveis As relações algébricas já são conhecidas entretanto as equações diferenciais são as mais importantes nos processos de engenharia descrevendo a relação entre diferenças ou variações Podese utilizar um método matemático simples como a integração para encontrar a solução exata ou analítica da equação diferencial Através das equações diferenciais poderá solucionar cálculos de nível fácil e difícil para solucionar uma equação tendo que se dedicar relativamente à matemática para encontrar a solução exata Como exemplo podese utilizar o computador para substituir valores de intervalo de tempo gradativos passos na equação diferencial sem a necessidade de usar um método matemático e determinar a velocidade terminal Esse processo é chamado de simulação computacional e para isso devese adaptar o modelo matemático para que o computador realize tal feito através da construção de um modelo numérico ou problema numérico Um exemplo de problema numérico para modelo matemático é o seguinte Esse modelo pode ser usado para uma simulação computacional onde o computador realizará os mesmos cálculos diversas vezes se aproximando gradativamente da solução Para que o computador não execute esses cálculos infinitamente devese estabelecer um critério de parada que é baseado nos erros ou desvios de valores calculados que ocorrem ao longo das repetições A simulação deverá ser escrita em uma determinada linguagem computacional com a qual o computador interpreta compila e executa os cálculos e o critério de parada retornando como resposta à solução numérica Ao utilizar um computador para representar números reais já introduz erros aos resultados principalmente quando os números reais são irracionais ou seja quando possuem uma infinidade de valores depois do separador decimal Por isso é essencial controlar os efeitos dos erros divididos em diferentes tipos e níveis que ocorrem na aproximação de um problema real O primeiro erro é conhecido como erro de modelagem que resulta das idealizações ou simplificações atribuídas a um problema real com o objetivo de desenvolver modelos matemáticos mais simples isto é quanto melhor o modelo matemático descrever a realidade menos simplificado ele é e um maior esforço dos computadores será necessário para encontrar a solução numérica O segundo é o erro de arredondamento que se propaga pela solução de modelos matemáticos através de algoritmos numéricos desenvolvidos a partir dos métodos numéricos ou computacionais O terceiro erro é o de truncamento introduzido ao modelo matemático durante a aproximação através de uma série infinita como a série de Taylor onde precede um truncamento conveniente para a definição do problema numérico ou modelo discretizado O quarto é o erro computacional ou seja a soma do erro de arredondamento mais o erro de truncamento podendo ser absoluto e relativo onde o resultado é dividido pelo valor obtido da solução exata se tornando um erro em relação à solução exata Assim sendo os métodos numéricos usam uma abordagem iterativa método de Euler para encontrar a solução numérica na qual os erros entre as iterações repetições são calculados e usados no critério de parada Logo a simulação computacional requer o conhecimento de uma linguagem de programação por parte do engenheiro que pode fazer previsões importantes para os processos a partir da solução numérica obtida RESUMO ZEROS DE FUNÇÕES E OTIMIZAÇÃO Neste módulo aprendeuse como determinar os zeros e ótimos de funções A determinação dos zeros de uma função consiste na determinação de suas raízes e a otimização de uma função consiste na definição de seus valores máximos eou mínimos Os ótimos extremos podem ser determinados simplesmente pelos zeros do modelo matemático equação diferencial ou seja o valor da variável independente quando a primeira derivada é zero Existem dois tipos principais de métodos numéricos para determinação de zeros e ótimos de funções os métodos numéricos intervalares e os métodos numéricos abertos Para determinar zeros e ótimos de uma função simples a função com uma variável dependente f à esquerda da igualdade é função da variável independente x que está no lado direito da equação Para determinar os zeros dessa função basta fazer fx 0 e proceder o cálculo de suas raízes Substituindo na função As raízes de uma função são os valores de x em que fx é zero Os zeros dessa função são 0 e 8 Para determinar o valor de f máximo primeiro necessita determinar o valor de x em que f é máximo Para isso basta derivar a função e igualar a derivada a zero e assim terá o ponto em que a curva é totalmente horizontal correspondendo ao ponto máximo Para funções originais mais complicadas o problema de determinar zeros e ótimos analiticamente por meio do cálculo diferencial tornase mais complicado sendo essencial aplicar o método computacional precisamos representar a equação de Colebrook na forma de uma função objetivo deve rearranjála Sendo ε D e Re constantes determinase o fator de atrito pela determinação do zero dessa função objetivo fF O Octave possui funções nativas que permitem a determinação de zeros e ótimos A função nativa e especializada do Octave para determinar zeros é a função fsolve e a função nativa similar do MATLAB é fzero Dentro dos parênteses informamse os argumentos ou entradas da função que são a expressão algébrica que representa a função original handle function e um valor arbitrário inicial ou chute inicial Antes de aplicar a função fsolve é necessário informar a função original handle function O Octave atua com uma sintaxe específica e caso haja erro em algum caractere o Octave retorna um erro Para determinar o zero a função fsolve deve ser usada logo depois como abaixo O valor máximo será adquirido ao inserir a derivada da função original como argumento entrada da função nativa fsolve pois o valor do máximo é o zero da função derivada O retorno do zero mais próximo é uma característica dos métodos computacionais para determinação de raízes O método da Bisseção consistem em intervalar que determina a raiz da função dentro de um intervalo arbitrário sendo uma limitação do método pois para determinar a raiz da função é necessário que se conheça o intervalo certo antes dos cálculos Devese primeiramente determinar a raiz dessa função entre os valores para x Caso a raiz não esteja dentro desse intervalo o método vai retornar um dos valores como resultado indicando que a verdadeira raiz está próxima de um desses números Se o resultado é uma dízima periódica para parar os cálculos adotase de um critério de parada ou prossegue com tendência ao infinito calculando os erros relativos percentuais entre os valores de xr determinados em cada etapa Na análise numérica de problemas reais é comum o uso de vários métodos numéricos combinados porém não se pode afirmar qual é o melhor método pois a desvantagem de um pode ser compensada pela vantagem de outro O uso de métodos combinados é possível por meio da computação Desse modo o método de NewtonRaphson é um método aberto precisando definir apenas um valor inicial Sua vantagem está na convergência mais rápida a partir de um valor inicial qualquer isto é a raiz foi determinada em poucos passos Uma desvantagem desse método é que ele precisa da derivada da função sendo que algumas funções complexas são difíceis de derivar Para o critério de parada devese calcular os erros relativos entre os valores de x determinados em cada passo Para calcular o valor ótimo pelo método de NewtonRaphson utilizase a segunda derivada onde seu valor não mudará na fórmula ao longo das iterações pois não é função de x O método de NewtonRaphson é baseado na busca da raiz pela inclinação da curva no ponto xi Esse ponto fornece uma estimativa melhor de xi 1 Para processar no Octave deve recuperar o último comando da fórmula de Newton Raphson com a seta direcional para cima do teclado e tecle enter novamente Assim verá os valores de x se alterando desde x 1 até a raiz zero 16667 Abaixo há um código escrito Octave para o método de NewtonRaphson Assim as funções algébricas possuem zeros e ótimos máximos e mínimos Essas funções possuem raízes zeros tocando no eixo das abscissas horizontal onde seu valor no eixo das coordenadas vertical é zero ou seja onde fx 0 A derivada à primeira de equações algébricas fornece os valores ótimos nos pontos em que a derivada for igual a zero no ponto máximo ou no mínimo Existem dois tipos de métodos numéricos com esse objetivo os métodos intervalares e os métodos abertos Conhecendo os valores ótimos pode se determinar as condições operacionais que otimizam os processos ou seja que minimizam os custos e maximizam os lucros dentro de todas as restrições ambientais e de segurança exigidas pela legislação RESUMO LIVRO MATERIAL SISTEMAS LINEARES Quando duas variáveis dependentes aparecem em ambas as equações diferenciais são chamadas de equações acopladas Em razão da presença dos termos diferenciais essas equações também representam o período transiente que é o período em que ainda ocorrem variações de fluxo de produto Em algumas aplicações de engenharia nem sempre há interesse nesse período e sim maior interesse em determinar o valor dos fluxos somente quando o processo atingir o período ou estado estacionário ou seja quando os termos diferenciais estiverem zerados Nesse período as equações ficam Desse modo as equações se tornaram um simples sistema de equações lineares com solução no período ou regime estacionário obtida através do método gráfico isto é na construção das retas que representam essas equações em um gráfico e posterior determinação do ponto de cruzamento entre elas O ponto de cruzamento será a solução do sistema onde os valores de x1 e x2 satisfazem as duas equações ao mesmo tempo As retas lineares que representam essas equações ficam na forma y ax b A solução sem a construção do gráfico também é possível bastando igualar uma equação com a outra e resolvendo para uma das variáveis ao obter o x1 pode aplicar este valor a qualquer uma das equações de origem para determinar x2 O Octave possui funções nativas para a solução de sistemas de equações lineares podendo resolver o sistema por meio das seguintes etapas 1 criando a matriz de coeficientes A e a matriz de cargas B 2 usar o comando com barra invertida logo abaixo Neste processo os coeficientes são os valores que multiplicam as variáveis nas duas equações e as cargas são os valores que estão do lado direito da igualdade Nesse caso a barra invertida é o comando do Octave para resolver o sistema a resposta é de cima para baixo pois os coeficientes foram inseridos nas matrizes da esquerda para a direita e são relacionadas ao x1 e x2 respectivamente No MATLAB os comandos são os mesmos para resolver esse sistema de equações A Eliminação de Gauss é um método computacional para a solução de um sistema de equações lineares dividido em duas etapas eliminação progressiva e substituição progressiva e sistema de n equações e n incógnitas na forma de uma matriz contendo n linhas e n1 colunas com todos os coeficientes a e b As variáveis x não entram nessa matriz e é a partir dela que inicia a eliminação progressiva de modo a criar uma matriz triangular superior que possua valores diferentes de zero somente nos elementos da diagonal principal e nos elementos acima desta O processo é realizado por meio de operações matemáticas específicas entre todas as equações com a equação de pivô de modo a eliminar variáveis A etapa de eliminação é iniciada com a seleção da equação de pivô que normalmente é a primeira equação Após selecionase o coeficiente de pivô que é simplesmente a razão entre o primeiro coeficiente de qualquer uma das equações e o primeiro coeficiente da equação de pivô Essa operação é repetida para todas as equações em relação à primeira equação a equação de pivô cancelando a variável x1 de todas Após aplicase a eliminação progressiva ao eliminar a variável x2 Nesse próximo passo a equação de pivô tornase a segunda equação e a mesma operação matemática deve ser feita entre todas as equações com relação à segunda equação a nova equação de pivô Por meio deste novo procedimento ao eliminar a variável x2 de todas as equações produzindo novos coeficientes O resultado é o conjunto de equações abaixo representado na forma geral Ao obter essa equação tornase possível iniciar a etapa de substituição progressiva que começa pela determinação da variável xn até a determinação da primeira x1 O valor de xn pode ser obtido pela simples divisão dos coeficientes Devese atentar à substituição correta dos índices i e j para usar a fórmula da substituição progressiva Para o cálculo da variável x1 o índice i 1 e o índice j vão desde j i 1 2 até n Na eliminação de Gauss existe uma limitação onde não se previne eventuais divisões por zero sendo por isso chamado de eliminação de Gauss ingênua Para solucionar essa questão devese trocar a primeira equação equação de pivô por outra equação dentro do mesmo sistema cujo primeiro coeficiente seja o maior de todos em módulo no sistema em questão Logo esse sistema poderá ser agora resolvido por meio da eliminação de Gauss Automatizar o pivotamento parcial e outros métodos tornase simples ao aplicar a linguagem computacional A construção de códigos de procedimentos automatizados para qualquer método deve ser realizada com perspicácia e paciência executandose vários testes na linha de comando inicialmente com problemas simplificados para o desenvolvimento do código e posteriormente realizando testes para problemas mais complexos A eliminação de Gauss como visto é um procedimento que envolve apenas cálculos aritméticos na etapa de eliminação progressiva bem como na etapa de substituição progressiva O próximo método a ser estudado é o método iterativo de GaussSeidel que requer alguma habilidade de manipulação algébrica para isolar as variáveis ainda que seja de desenvolvimento mais simples O método de GaussSeidel é iterativo envolvendo repetição dos cálculos com a necessidade do cálculo de erros iterativos e um critério de parada baseado em um valor de tolerância No código acima está faltando o critério de parada Devese inserilo critério de parada usando qualquer uma das variáveis para o cálculo dos erros iterativos Modificando ou melhorando o código conforme necessário Portanto os sistemas de equações podem ser lineares ou não lineares Existem dois métodos usados para a solução de um sistema de equações lineares a eliminação de Gauss resposta em duas etapas eliminação progressiva e a posterior substituição progressiva podendo ainda ser complementada por um pivotamento parcial para evitar divisões por zero e o método iterativo de GaussSeidel executado por um simples rearranjo algébrico inicial e posterior substituição iterativa dos novos valores obtidos nas equações geradas método mais simples que a eliminação de Gauss e mais fácil de aplicar na linguagem computacional

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®