Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA FACULDADE DE ENGENHARIA QUÍMICA ENGENHARIA QUÍMICA DISCIPLINA: MODELAGEM E SIMULAÇÃO DE PROCESSOS INDUSTRIAIS DOCENTE: SIL FRANCILEY DOS SANTOS QUARESMA DISCENTE: BRUNA MAIA DOS SANTOS MATRICULA Nº 201807540034 4ª ATIVIDADE BELÉM/PA 2023 BRUNA MAIA DOS SANTOS 4ª ATIVIDADE Trabalho avaliativo apresentado a Faculdade de Engenharia Química, da Universidade Federal do Pará como requisito avaliativo referente a Disciplina de Modelagem e Simulação de Processos Industriais, ministrada pelo Prof. Dr. Sil Franciley dos Santos Quaresma Belém/PA 2023 SUMÁRIO 1. INTRODUÇÃO .................................................................................................................. 4 2. METODOLOGIA ............................................................................................................... 5 2.1. MATLAB e Rotina “fsolve” ........................................................................................ 5 2.2. Metodo de Newton-Raphson ....................................................................................... 5 2.3. Implementação no MATLAB ...................................................................................... 7 2.3.1. Definição do problema ......................................................................................... 7 2.3.2. Resolução pelo “fsolve” ....................................................................................... 7 2.3.3. Resolução pelo Metodo de Newton ...................................................................... 8 3. RESULTADOS E DISCUSSÃO ....................................................................................... 9 4. CONCLUSÃO .................................................................................................................. 10 5. REFERENCIAS ............................................................................................................... 11 4 1. INTRODUÇÃO A maioria dos problemas de engenharia pode ser representado através de um modelo matemático que representa de maneira conveniente o processo a ser analisado, assim permitindo acesso a informações sobre esse processo e sua possível solução. Geralmente, esses modelos matemáticos são transformados em equações que podem ser resolvidas através de métodos numéricos, que são técnicas pelas quais esses problemas matemáticos são formulados de modo que possam ser resolvidos com operações aritméticas. (CHAPRA, CANALE, 2016; QUADROS, BORTELLI, 2009) Com o advento dos computadores, tais métodos são usados principalmente de forma computacional, pela sua facilidade e agilidade, com isso, eles podem resolver equações matemáticas mais complexas que normalmente surgem em problemas de engenharia e que seriam mais complicadas de se resolver manualmente. Além disso, eles também podem correlacionar dados experimentais e obter resultados numéricos que podem ser usados para melhorar os processos existentes ou até mesmo ajudar a desenvolver novos. (CHAPRA, CANALE, 2016; JALURIA, 2011) Dentre um desses problemáticas de grande complexidade encontram-se as equações não lineares, que são um sistema constituído por combinação de funções algébricas e funções transcendentes, os quais em sua grande maioria são impossíveis de serem resolvidos de forma analítica, e portanto, muitos deles são resolvidos através de uma abordagem que consiste em adaptar os métodos que determinam as soluções aproximadas de uma única equação não linear em uma variável, substituindo-se o problema de uma variável por um problema de vetor que incorpora todas as variáveis. (SOUZA, 2015) Dentre esses métodos numéricos encontra-se o método de Newton, que é provavelmente o mais utilizado para a obtenção da solução de sistemas de equações não lineares, além disso também é possível utilizar esse método através de rotinas em softwares que implementam tais métodos de solução em seus algoritmos e assim conseguem de forma fácil e rápida a resolução de tais problemas. Tendo em vista isso, o presente trabalho visa comparar a solução obtida pela rotina “fsolve” do software MATLAB e a implementação analítica do método de Newton nesse mesmo software afim de comparar os resultados obtidos na solução de um sistema de equações não lineares. 5 2. METODOLOGIA 2.1.MATLAB e Rotina “fsolve” O MATLAB é um programa de computador especializado e otimizado para cálculos científicos e de engenharia que implementa a linguagem de programação MATLAB, e que conta juntamente com uma grande biblioteca de funções predefinidas que tornam as tarefas de programações técnicas mais fáceis e eficientes. Dentre essas funções encontra-se a chamada “fsolve” que serve para resolver sistemas de múltiplas equações algébricas não lineares. (CHAPMAN, 2003) Essa rotina utiliza dentro de seu algoritmo o método de região de confiança de Newton, assim tornando muito mais fácil a realização dos cálculos, entretanto, dependendo da versão do MATLAB utilizada nem sempre essa função pode ser encontrada. (BEERS, 2017) 2.2.Método de Newton-Raphson O método de Newton-Raphson ou método de Newton é um método com iterações que tem por objetivo aproximar a solução de equações. Assim dado um sistema de equações não lineares com n incógnitas (JALURIA, 2011; SOUZA, 2015) 𝑓𝑓1(𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛) 𝑓𝑓2(𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛) ⋮ 𝑓𝑓𝑛𝑛(𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛) (1) Esse método diz que essas funções podem ser expandidas em uma serie de Taylor, que representará uma aproximação da solução. Assim, considerando apenas a equação 𝑓𝑓1 sendo expandida em torno do valor atual, 𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛 tem-se que a sua expansão de Taylor é representada matematicamente na equação 2: (JALURIA, 2011) 𝑓𝑓1(𝑥𝑥1���, 𝑥𝑥2���, … , 𝑥𝑥𝑛𝑛���) ≅ 𝑓𝑓1(𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛) + � 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥1 � 𝑥𝑥𝑥𝑥 (𝑥𝑥1��� − 𝑥𝑥1) + � 𝜕𝜕𝑓𝑓2 𝜕𝜕𝑥𝑥2 � 𝑥𝑥𝑥𝑥 (𝑥𝑥2��� − 𝑥𝑥2) + ⋯+ � 𝜕𝜕𝑓𝑓𝑛𝑛 𝜕𝜕𝑥𝑥𝑛𝑛 � 𝑥𝑥𝑥𝑥 (𝑥𝑥𝑛𝑛��� − 𝑥𝑥𝑛𝑛) (2) onde as derivadas parciais são avaliadas em 𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛. A solução exata não é conhecida, mas fornece um método para melhorar a aproximação do resultado. Se as outras funções, 𝑓𝑓2,𝑓𝑓3, … . ,𝑓𝑓𝑛𝑛 são similarmente expandidas pela série de Taylor em torno de (𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛), a solução exata desse conjunto pode ser expressa em um sistema de equações lineares. 6 Sendo (𝑥𝑥1���, 𝑥𝑥2���, … , 𝑥𝑥𝑛𝑛���) o vetor solução, a função 𝑓𝑓𝑥𝑥(𝑥𝑥1���, 𝑥𝑥2���, … , 𝑥𝑥𝑛𝑛���), para 𝑖𝑖 = 1,2,3 … ,𝑛𝑛 é igual a zero, com isso, nesse conjunto de equações lineares as incógnitas serão 𝑥𝑥𝑥𝑥 , 𝑥𝑥𝑥𝑥′ e ∆𝑥𝑥𝑥𝑥, onde (JALURIA, 2011) ∆𝑥𝑥𝑥𝑥 = 𝑥𝑥𝑥𝑥′ − 𝑥𝑥𝑥𝑥 (3) Onde 𝑥𝑥𝑥𝑥′ é a próxima aproximação encontrada e 𝑥𝑥𝑥𝑥 a aproximação ou chute anterior. Assim o sistema de equações pode ser representado matematicamente como: ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥1 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥2 … 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥𝑛𝑛 𝜕𝜕𝑓𝑓2 𝜕𝜕𝑥𝑥1 𝜕𝜕𝑓𝑓2 𝜕𝜕𝑥𝑥2 … 𝜕𝜕𝑓𝑓2 𝜕𝜕𝑥𝑥𝑛𝑛 ⋮ ⋮ … ⋮ 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥1 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥2 … 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑥𝑥𝑛𝑛⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ � ∆𝑥𝑥1 ∆𝑥𝑥2 ⋮ ∆𝑥𝑥𝑛𝑛 � = −� 𝑓𝑓1 𝑓𝑓2 ⋮ 𝑓𝑓𝑛𝑛 � (4) A matriz contendo as derivadas é conhecida como Jacobiana e sua determinação pode ser bastante demorada se o número de variáveis independentes for alto. Nesse método, essa matriz é multiplicada pela matriz das incógnitas que geralmente se deseja encontrar e como resultado terão as funções analisadas. Como apenas os termos lineares foram mantidos na expansão da série de Taylor, a solução exatageralmente não é obtida resolvendo este sistema de equações. No entanto, a próxima aproximação da solução pode ser obtida como: 𝑥𝑥1(𝑥𝑥+1) = 𝑥𝑥1(𝑥𝑥) + ∆𝑥𝑥1(𝑥𝑥) 𝑥𝑥2(𝑥𝑥+1) = 𝑥𝑥2(𝑥𝑥) + ∆𝑥𝑥2(𝑥𝑥) ⋮ 𝑥𝑥𝑛𝑛(𝑥𝑥+1) = 𝑥𝑥𝑛𝑛(𝑥𝑥) + ∆𝑥𝑥𝑛𝑛(𝑥𝑥) (5) Onde o sobrescrito (𝑖𝑖) representa os valores após uma dada iteração e (𝑖𝑖 + 1) aqueles que obtido resolvendo a equação (4) para a próxima iteração. Assim essas equações fornecem um método interativo para resolver um determinado sistema de equações. Para começar a interação é necessário um palpite inicial e assim o processo começa e continua até que todos os 𝑓𝑓𝑥𝑥 estejam próximos de zero ou caso as incógnitas não mudem de uma iteração para a próxima, dentro de uma convergência especificada. Entretanto é preciso ressaltar que apesar da eficiência do método, essa técnica só apresenta um valor que converge caso a suposição inicial esteja perto da solução exata, caso o contrário esse método pode apresentar grandes divergências. 7 2.3.Implementação no MATLAB 2.3.1. Definição do problema Dado um determinado sistema de equações lineares apresentado na equação (6) que compreende o domínio como o especificado na figura (1), será calculado os valores de 𝑥𝑥 e 𝑦𝑦 através da rotina “fsolve” do MATLAB e da implementação do Método de Newton nesse mesmo software. 𝑓𝑓1(𝑥𝑥, 𝑦𝑦) = 𝑦𝑦 − 1 2 �𝑒𝑒𝑥𝑥 2⁄ + 𝑒𝑒(−𝑥𝑥) 2⁄ � = 0 𝑓𝑓1(𝑥𝑥, 𝑦𝑦) = 9𝑥𝑥2 + 25𝑦𝑦2 − 225 = 0 (6) Ambos os métodos utilizados devem considerar inicialmente uma suposição inicial, nesse caso é preciso analisar o domínio dessas funções, que pode ser visualizado na figura 1, com isso o chute inicial para ambas as incógnitas e ambos os casos será igual a 1. Figura 1: Gráfico das equações 2.3.2. Resolução pelo “fsolve” Implementando o sistema de equações mostrado na equação (6) e considerando o chute inicial 𝑥𝑥0 = [1, 1], e 𝑥𝑥(1) = 𝑥𝑥 e 𝑥𝑥(2) = 𝑦𝑦 Figura 2: Implementação do “fsolve” 8 2.3.3. Resolução pelo Método de Newton É implementado o sistema de equações mostrado na equação (6), e sua resolução é baseado na equação (4) e (5), onde primeiramente se realiza um cálculo simbólico afim de calcular as derivadas presentes no jacobiano, tal resolução é feita através da rotina “diff”, entretanto, por ser um cálculo simbólico é necessário retornar ao valor numérico, o que é realizado utilizado a função “matlabFunction”. Figura 3: Implementação da primeira parte do Método de Newton Após isso, são implementadas as matrizes da equação (5), tanto a da função e do jacobiano, que são colocadas em um laço através da função “for” para realizar o método com 10 iterações, onde 𝑥𝑥(1) = 𝑥𝑥 e 𝑥𝑥(2) = 𝑦𝑦 da equação (6) Além disso foi calculado o erro que é a diferença entre o valor obtido na iteração atual e do valor anterior, dividido pelo valor da iteração atual que pode ser representado matematicamente como: 𝑥𝑥𝑛𝑛(𝑥𝑥) − 𝑥𝑥𝑛𝑛(𝑛𝑛+1) 𝑥𝑥𝑛𝑛(𝑥𝑥) = ∆𝑥𝑥𝑛𝑛(𝑥𝑥) 𝑥𝑥𝑛𝑛(𝑥𝑥) (7) Tendo em vista isso, o restante do código é implementado no MATLAB 9 3. RESULTADOS E DISCUSSÃO Os dados obtidos para os valores de x e y no sistema de equação para os métodos “fsolve” e para o método de Newton após 10 interações são mostrados na tabela abaixo. Tabela 01: valores calculados pelo “fsolve”, método de newton e diferença do valor entre eles Fsolve (𝑟𝑟1) Newton (𝑟𝑟2) |𝑟𝑟1 − 𝑟𝑟2| x 3.0312 3.0919 7 ∗ 104 y 2.3859 2.3576 0,0283 Fonte: Autor, 2023 Desse modo pode-se observar que os valores obtidos em ambos os métodos são muito próximos apresentando pouca diferença entre si, portanto, é possível afirmar que ambos os métodos são eficientes para a resolução de equações lineares dando valores extremamente aproximados. Entretanto pelo método de Newton ser um método iterativo também é possível realizar algumas outras analises nele como em qual iteração os valores convergiram, o erro atribuído ao método, por conta disso, é apresentada uma tabela com os dados obtidos pelo método de Newton. Tabela 02: Dados obtidos através do método de newton Iteração 𝑥𝑥 𝑦𝑦 𝑒𝑒𝑟𝑟𝑟𝑟𝑒𝑒 𝑥𝑥 𝑒𝑒𝑟𝑟𝑟𝑟𝑒𝑒 𝑦𝑦 1 6,7389 3,0919 0,8516 0,6369 2 4,9603 1,6096 0,3586 0,7110 3 3,7085 2,2378 0,3376 0,2807 4 3,1708 2,3443 0,1696 0,0454 10 5 3,0934 2,3574 0,0250 0,0056 6 3,0919 2,3576 4,6149*10-4 7,6238*10-5 7 3,0919 2,3576 1,5267*10-7 2,5689*10-8 8 3,0919 2,3576 1,6629*10-14 2,7289*10-15 9 3,0919 2,3576 0 0 10 3,0919 2,3576 0 0 Fonte: Autor, 2023 Através da tabela 2 é possível ver que o valor convergiu na sexta iteração e começou a repetir na sétima iteração em diante, mostrando uma conversão adequada. Também é possível ver que os erros são cada vez menores a medida que aumenta o número de iterações, entretanto por ser considerado os valores até a 4 casa decimal para x e y não é possível mais visualizar a alteração destes valores, entretanto no cálculo dos erros ainda se leva em consideração as restantes casas decimais e por isso a cada nova interação é apresentado erros cada vez menores até o programa não conseguir distinguir mais essas casas decimais e concluir que não há erro, fato que ocorre na 9 iteração. 4. CONCLUSÃO Com isso é possível observar que ambos os métodos são eficientes para a resolução de equações não lineares, apresentando soluções bem próximas para os valores de x e y. Além disso, o método “fsolve” mostra a facilidade e praticidade de resolver as equações pelo software MATLAB, contudo, por esse método não se encontrar em todas as versões do programa também se torna útil saber implementar o método de Newton para encontrar os resultados. 11 5. REFERENCIAS BEERS, K.J. Numerical methods for chemical engineering: applications in MATLAB. Cambridge University Press, 2007. BORTOLI, A.; QUADROS, R. Fundamentos de Cálculo Numérico para Engenheiros. Porto Alegre, 2009. CHAPMAN, S. J. Programação em MATLAB para engenheiros. Pioneira Thomson Learning, 2003. CHAPRA, S. C.; CANALE, R. P. Métodos Numéricos para Engenharia-7ª Edição. McGraw Hill Brasil, 2016. DE SOUZA, Elienai Alves. Métodos iterativos para problemas não lineares. Dissertação de Mestrado. Universidade Federal Fluminense. Volta Redonda, 2015. JALURIA, Y. Computer methods for engineering with MATLAB applications. 2° edição. 2011 1. INTRODUÇÃO 2. METODOLOGIA 2.1. MATLAB e Rotina “fsolve” 2.2. Método de Newton-Raphson 2.3. Implementação no MATLAB 2.3.1. Definição do problema 2.3.2. Resolução pelo “fsolve” 2.3.3. Resolução pelo Método de Newton 3. RESULTADOS E DISCUSSÃO 4. CONCLUSÃO 5. REFERENCIAS
Compartilhar