Métodos de Raízes
Funções do módulo codigos.raizes para cálculo de raízes (Bisseção, Newton, Secante).
Documentação
Módulo para métodos de busca de raízes de equações.
Este módulo implementa algoritmos numéricos para encontrar raízes de funções: bisseção, Newton-Raphson e secante.
Author: Pedro Henrique Rocha de Andrade Date: Fevereiro 2026
- codigos.raizes.bissecao(func_str, a, b, tol, max_iter, verbose=False, grafico=None)[código-fonte]
Método da bisseção para encontrar raiz de uma função dada por string.
- Parâmetros:
func_str (str) – Expressão Python de
f(x)(ex.:'x**2 - 4').a (float) – Intervalo inicial [a, b] com sinais opostos.
b (float) – Intervalo inicial [a, b] com sinais opostos.
tol (float) – Tolerância para critério de parada.
max_iter (int) – Número máximo de iterações.
verbose (bool, optional) – Se
True, imprime detalhes de cada iteração e ativa o gráfico por padrão.grafico (bool or None, optional) – Controla plotagem: se
Noneeverbosefor True, o gráfico é mostrado.
- Retorna:
Tupla (raiz_aproximada, n_iter) ou (None, 0) se os sinais em a/b não forem opostos.
- Tipo de retorno:
(float, int)
- codigos.raizes.newton(func_str, x0, tol, max_iter, verbose=False, a=None, b=None)[código-fonte]
Método de Newton-Raphson para encontrar raiz de função dada por string.
- Parâmetros:
func_str (str) – Expressão Python de
f(x).x0 (float) – Chute inicial.
tol (float) – Tolerância para critério de parada.
max_iter (int) – Número máximo de iterações.
verbose (bool, optional) – Se True imprime detalhes de cada iteração.
- Retorna:
Tupla (raiz_aproximada, n_iter) ou (None, n_iter) se houver erro.
- Tipo de retorno:
(float, int)
- codigos.raizes.secante(func_str, x0, x1, tol, max_iter, verbose=False, a=None, b=None)[código-fonte]
Método da secante para encontrar raiz de função dada por string.
- Parâmetros:
func_str (str) – Expressão Python de
f(x).x0 (float) – Dois chutes iniciais.
x1 (float) – Dois chutes iniciais.
tol (float) – Tolerância para critério de parada.
max_iter (int) – Número máximo de iterações.
verbose (bool, optional) – Se True imprime detalhes de cada iteração.
- Retorna:
Tupla (raiz_aproximada, n_iter) ou (None, n_iter) em caso de erro.
- Tipo de retorno:
(float, int)
- codigos.raizes.pedir_dados_raizes(metodo=None)[código-fonte]
Lê os dados necessários para o método de raízes.
Se
metodoforNone, comporta-se como modo interativo completo (executa o método e plota o resultado). Semetodofor uma das strings'bissecao','newton'ou'secante', apenas lê os parâmetros e retorna uma tupla(func_str, tol, max_iter, params)para uso por menus externos (compatibilidade com menu_raizes).Em modo interativo, protege contra EOFError para permitir execuções em ambientes não interativos (scripts/tests).
Exemplo de Uso
1"""Exemplo simples de uso: encontrar raiz com bisseção"""
2
3from codigos import raizes
4
5if __name__ == "__main__":
6 raiz, iters = raizes.bissecao("x**2 - 4", 0, 3, 1e-8, 100)
7 print(f"Raiz encontrada: {raiz} (iteração {iters})")
Testes de Integração
Coberto pelos seguintes testes:
Teste global:
pytest -q(roda todos os testes do projeto)Teste de calcnum:
pytest tests/test_inputs_calcnum.py::test_calcnum_inputs_basic -q(valida integração via menu principal)Teste individual:
pytest tests/test_raizes.py -v(testes específicos do módulo)
Teste correspondente: tests/inputs/inputRaizes.txt
Testes Unitários (visíveis)
Links rápidos
Testes unitários (arquivo):
tests/test_raizes.pyPágina de testes (docs): Testes: test_raizes