A comprehensive suite of numerical methods implemented in pure Python for solving foundational applied mathematics and computational engineering problems.
The scripts are built for CLI interactivity and data visualization, allowing users to input mathematical functions f(x), integration boundaries, linear systems, and discrete datasets at runtime.
- Dynamic Input Parsing: Parse mathematical function strings at runtime (e.g., math.sin(x) + x**2 or exp(x)).
- Symbolic Differentiation: Automated derivative computations via sympy for methods like Newton-Raphson and truncation error evaluations.
- Data Visualization: Convergence plots, root locations, and regression curves rendered with matplotlib.
- Performance Profiling: Execution time tracking and iteration counters across iterative solvers.
- Language: Python 3.x
- Standard Library: math, time
- External Dependencies: numpy, matplotlib, sympy
- Conversão Binario-Decimal.py: Radix base conversions.
- Ponto flutuante.py: Floating-point representable domain analysis.
- Truncamento.py: Lagrange remainder and truncation error evaluation via symbolic calculus.
Visual plotting of functions, computed roots, and runtime metrics included.
- Método de Bisseção.py: Bisection method via successive interval bisection.
- Metodo baseado em tangente - Método de Newton.py: Newton-Raphson method with automated symbolic differentiation.
- Método baseado em secante.py: Secant method.
- Sistemas Lineares.py: Interactive solver suite:
- Gaussian Elimination (Standard and Partial Pivoting).
- LU Decomposition (Standard and Partial Pivoting).
- Eliminação de gauss.py: Standalone modular elimination routine.
- Polynomial Interpolation: Lagrange.py, Dispositivo pratico de lagrange.py, Metodo de Newton.py (Divided Differences), Gregory Newton.py.
- Least Squares Method (LSM): Minimos quadrados.py (Linear regression with scatter and line plotting).
- Goodness of Fit Analysis: Qualidade do ajuste.py (Coefficient of determination R^2, residual variance sigma^2, and residual distribution plots).
Interactive modules supporting both continuous string functions and discrete data tables.
- Trapezoidal Rules: Método do Trapézio.py (Standard), Regra trapézio composta.py (Composite).
- Simpson's 1/3 Rules: Método do terço de Simpson.py (Standard), Regra terço de Sympson Composta.py (Composite).
- Simpson's 3/8 Rules: Método 3 oitavas de Sympson.py (Standard), Regra 3 oitavas de Sympson composta.py (Composite).
- Método de Euler EDO.py: Initial value problem solver via Euler's method.
- Método de Runge-Kutta.py: Integrated solver featuring RK2 and RK4 routines.
- Error Analysis Modules: ERRO EDO.py, Erro Exata-Numerica EDO.py.
It is recommended to run the scripts within an isolated Python virtual environment (venv).
git clone https://github.com/JoV1206/CalculoNumerico cd CalculoNumerico
-
On Windows: python -m venv venv venv\Scripts\activate
-
On Linux / macOS: python3 -m venv venv source venv/bin/activate
pip install numpy matplotlib sympy
Execute any script directly via the CLI: python "Minimos quadrados.py"
To deactivate the virtual environment when finished: deactivate
João Vitor Almeida Teodoro
B.S. in Computer Engineering, Instituto Federal Fluminense (IFF).
Este repositório contém uma coleção completa de algoritmos implementados 100% em Python para a resolução de problemas matemáticos utilizando métodos numéricos.
Os scripts foram desenvolvidos com foco na interatividade e visualização, oferecendo menus via linha de comando (CLI) que permitem ao usuário inserir funções matemáticas f(x), limites de integração, matrizes e conjuntos de pontos em tempo de execução.
- Entrada Dinâmica: Inserção de funções matemáticas em formato de texto (ex: math.sin(x) + x**2 ou exp(x)).
- Derivação Simbólica: Uso da biblioteca sympy para calcular derivadas automaticamente em métodos como Newton-Raphson e no cálculo do erro de truncamento.
- Visualização Gráfica: Geração de gráficos para visualização de raízes de funções e linhas de regressão (ajuste de curvas) utilizando matplotlib.
- Análise de Desempenho: Medição do tempo de execução e contagem de iterações nos métodos de busca de raízes e equações diferenciais.
- Linguagem: Python 3.x
- Bibliotecas Nativas: math, time
- Bibliotecas Externas: numpy, matplotlib, sympy
- Conversão Binario-Decimal.py: Conversão de bases numéricas.
- Ponto flutuante.py: Cálculo do total de números representáveis em um sistema de ponto flutuante.
- Truncamento.py: Avaliação do termo de erro de truncamento (Resto de Lagrange) com derivação simbólica.
Módulos com plotagem gráfica da função e da raiz encontrada, além de tempo de execução.
- Método de Bisseção.py: Busca de raízes por divisão sucessiva de intervalos.
- Metodo baseado em tangente - Método de Newton.py: Método de Newton-Raphson com derivação automática.
- Método baseado em secante.py: Método da Secante.
- Sistemas Lineares.py: Módulo interativo completo contendo:
- Eliminação de Gauss (Simples e com Pivotação Parcial).
- Decomposição LU (Simples e com Pivotação Parcial).
- Eliminação de gauss.py: Implementação modular isolada.
- Interpolação: Lagrange.py, Dispositivo pratico de lagrange.py, Metodo de Newton.py (Diferenças Divididas), Gregory Newton.py.
- Mínimos Quadrados (MMQ): Minimos quadrados.py (Ajuste linear com geração de diagrama de dispersão e reta de regressão).
- Análise de Erro: Qualidade do ajuste.py (Cálculo do coeficiente de determinação R^2, variância residual sigma^2 e plotagem dos resíduos).
Módulos interativos que aceitam tanto a função expressa em texto quanto tabelas de pontos discretos.
- Regras do Trapézio: Método do Trapézio.py (Simples), Regra trapézio composta.py (Composta).
- Regras de Simpson (1/3): Método do terço de Simpson.py (Simples), Regra terço de Sympson Composta.py (Composta).
- Regras de Simpson (3/8): Método 3 oitavas de Sympson.py (Simples), Regra 3 oitavas de Sympson composta.py (Composta).
- Método de Euler EDO.py: Solução de EDOs via método de passo inicial.
- Método de Runge-Kutta.py: Script integrado contendo RK2 e RK4.
- Módulos de Verificação de Erro: ERRO EDO.py, Erro Exata-Numerica EDO.py.
Para garantir que todas as bibliotecas externas funcionem corretamente sem interferir nos pacotes globais da sua máquina, é recomendado utilizar um ambiente virtual (venv).
git clone https://github.com/JoV1206/CalculoNumerico cd CalculoNumerico
-
No Windows: python -m venv venv venv\Scripts\activate
-
No Linux / macOS: python3 -m venv venv source venv/bin/activate
pip install numpy matplotlib sympy
Execute qualquer script diretamente pelo terminal: python "Minimos quadrados.py"
Para desativar o ambiente virtual quando terminar de usar: deactivate
João Vitor Almeida Teodoro
Estudante do Bacharelado em Engenharia de Computação no Instituto Federal Fluminense (IFF).