Engenharia de Materiais Químicos &
Como usar o Scipy para encontrar raiz numérica em simulações de engenharia
Table of Contents
O achado numérico de raiz é uma tarefa comum em simulações de engenharia, usada para resolver equações onde soluções analíticas são difíceis ou impossíveis de obter. SciPy, uma biblioteca Python, fornece ferramentas poderosas para realizar esses cálculos de forma eficiente. Este artigo explica como usar o SciPy para encontrar raiz em contextos de engenharia.
Introdução ao SciPy Root Finding
O SciPy oferece várias funções para encontrar raizes, principalmente dentro do módulo [[FLT: 0]]. Estas funções podem lidar com equações simples ou sistemas de equações. Elas são adequadas para vários tipos de problemas, incluindo equações não lineares comuns em simulações de engenharia.
Usando a função 'root'
A função é versátil e suporta vários métodos, como 'hybr', 'lm' e 'broyden1'. Para usá-la, defina a função que representa a equação e dê um palpite inicial.
Exemplo:
«```python
importar o numby como np
a partir de scipy. optimize import root
equação( x):
retornar x**2 - 4
inicial desconfiação = [1]
solução = raiz(equação, inicial adivinhação)
print(solution.x)
«``
Sistemas de Manuseamento de Equações
SciPy também pode resolver sistemas de equações definindo uma função que retorna múltiplos valores. A função então encontra a solução onde todas as equações são satisfeitas simultaneamente.
Exemplo:
«```python
sistema de def( x):
retornar [x[0]**2 + x[1] - 1, x[0] - x[1]**2]
inicial guess = [0,5; 0,5]
solução = raiz( sistema, inicial adivinha)
print(solution.x)
Escolher o método certo
O SciPy fornece vários métodos para encontrar a raiz. A escolha depende da natureza do problema. Por exemplo, o 'hybr' é robusto para equações não lineares, enquanto o 'lm' é adequado para problemas de mínimos quadrados. Os usuários devem selecionar o método que melhor se adapte aos seus requisitos específicos de simulação.
Os métodos podem ser especificados através do parâmetro :
«```python
solução = raiz(equação, inicial divisa, método='hybr')
«``