CB2325NumericaG1.aproximacao package

Submodules

CB2325NumericaG1.aproximacao.aproximacao_regressao_exp_taylor module

CB2325NumericaG1.aproximacao.aproximacao_regressao_exp_taylor.polinomio_de_taylor(function: Expr, x_symbol: Symbol, point: float, times: int, plot: bool = False) Expr[código-fonte]

Calcula, imprime e opcionalmente plota o Polinômio de Taylor para uma dada função em torno de um ponto.

Parâmetros:
  • function (sp.Expr) – A expressão simbólica da função que será aproximada.

  • x_symbol (sp.Symbol) – O símbolo em relação ao qual o polinômio será construído e as derivadas calculadas.

  • point (float) – O ponto de expansão ‘a’ (o centro) em torno do qual a função será aproximada. IMPORTANTE: Ponto será do eixo x.

  • times (int) – O número de termos a serem usados na série. O polinômio resultante terá grau ‘times - 1’.

  • plot (bool, optional) – Se True, gera um gráfico comparando a função original e o polinômio de Taylor. Padrão é False.

Retorna:

A expressão simbólica do Polinômio de Taylor resultante.

Tipo de retorno:

sympy.Expr

Dependencies:
  • sympy (importada como sp)

  • math

  • numpy (importado como np) - Necessário se plot=True.

  • matplotlib.pyplot (importado como plt) - Necessário se plot=True.

Notas

  • Esta função utiliza a biblioteca SymPy para realizar a diferenciação simbólica e a construção do polinômio.

  • Se plot = True, utiliza Numpy e Matplotlib para visualizar a aproximação.

  • O plot (opcional) mostra a função e a aproximação de Taylor.

CB2325NumericaG1.aproximacao.aproximacao_regressao_exp_taylor.regressao(dados_x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], dados_y: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], grau: int, plot: bool = False) ndarray[código-fonte]

Calcula os coeficientes de uma regressão polinomial usando Mínimos Quadrados.

Esta função ajusta um polinômio de grau ‘grau’ (y = … + c_1*x + c_0) aos dados, resolvendo o sistema de mínimos quadrados lineares A * c = y usando ‘np.linalg.lstsq’.

Parâmetros:
  • dados_x (npt.ArrayLike) – Vetor contendo os valores da variável independente.

  • dados_y (npt.ArrayLike) – Vetor contendo os valores da variável dependente.

  • grau (int) – O grau (d) do polinômio a ser ajustado.

  • plot (bool, optional) – Se True, exibe o gráfico dos dados e da curva de regressão. Padrão é False.

Retorna:

Um array numpy contendo os coeficientes do polinômio. IMPORTANTE: Os coeficientes são retornados da menor potência para a maior (ex: [c_0, c_1, …, c_grau]).

Tipo de retorno:

np.ndarray

Levanta:
  • ValueError – Se ‘dados_x’ e ‘dados_y’ tiverem comprimentos diferentes.

  • np.linalg.LinAlgError – Pode ser levantado por ‘np.linalg.lstsq’ se a matriz for singular ou houver problemas numéricos.

Dependencies:
  • numpy (importado como np)

  • matplotlib.pyplot (importado como plt) - Se plot=True

Notas

  • A função ‘np.linalg.lstsq’ é uma forma robusta de resolver o problema de mínimos quadrados, geralmente usando decomposição SVD ou QR por baixo dos panos.

  • A ordem dos coeficientes retornados ([c_0, c_1, …]) é o inverso da ordem usada por ‘np.polyfit’ ([… c_1, c_0]).

CB2325NumericaG1.aproximacao.aproximacao_regressao_exp_taylor.regressao_logaritmica(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], y: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], plot: bool = False) tuple[float, float][código-fonte]

Calcula os coeficientes ‘a’ e ‘b’ de uma regressão logarítmica do tipo (y = a * ln(x) + b) e, opcionalmente, plota a função.

Parâmetros:
  • x (npt.ArrayLike) – Vetor contendo os valores da variável independente. IMPORTANTE: Todos os valores de ‘x’ devem ser estritamente positivos (x > 0), pois o logaritmo de valores negativos ou zero não é definido.

  • y (npt.ArrayLike) – Vetor contendo os valores da variável dependente.

  • plot (bool, optional) – Se True, exibe o gráfico dos dados e da curva de regressão. Padrão é False.

Retorna:

Uma tupla contendo (a, b), onde: a (float): Coeficiente ‘a’ que multiplica o termo ln(x). b (float): Coeficiente ‘b’ (intercepto) da linha de regressão.

Tipo de retorno:

tuple[float, float]

Levanta:
  • ValueError

    • Herdado da função ‘regressao_linear’: Se ‘x’ e ‘y’ tiverem comprimentos diferentes. - Herdado da função ‘regressao_linear’: Se tiverem menos de 2 pontos de dados. - Se ‘x’ contiver valores menores ou iguais a zero.

  • RuntimeWarning – Pode ser levantado pelo numpy se ‘x’ contiver valores menores ou iguais a zero, resultando em ‘NaN’ ou ‘-inf’ (embora um ValueError seja levantado primeiro por esta função).

Notas

  • Este método funciona transformando a variável preditora ‘x’ aplicando o logaritmo natural (ln), e depois utilizando a função ‘regressao_linear’ padrão nos dados transformados (ln(x), y).

  • O plot (opcional) mostra os pontos de dados e a função aproximadora.

CB2325NumericaG1.aproximacao.aproximacao_trig_linear module

CB2325NumericaG1.aproximacao.aproximacao_trig_linear.ajuste_linear(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], y: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], plot: bool = False) tuple[float, float][código-fonte]

Calcula o coeficiente angular ‘a’ e o coeficiente linear ‘b’ de uma regressão linear simples (y = ax + b).

Parâmetros:
  • x (npt.ArrayLike) – Vetor contendo os valores da variável independente.

  • y (npt.ArrayLike) – Vetor contendo os valores da variável dependente.

  • plot (bool, optional) – Se True, exibe o gráfico dos dados e da linha de regressão. Padrão é False. (Este argumento foi inferido da função regressao_logaritmica, mas não estava na sua docstring original da linear).

Retorna:

Uma tupla contendo (a, b), onde: a (float): Coeficiente angular da linha de regressão. b (float): Coeficiente linear da linha de regressão.

Tipo de retorno:

tuple[float, float]

Levanta:

ValueError – Se ‘x’ e ‘y’ tiverem comprimentos diferentes ou se tiverem menos de 2 pontos de dados, o que é insuficiente para a regressão.

Dependencies:
  • numpy (importada como np)

  • matplotlib.pyplot (importada como plt) - Se plot=True

Notas

  • A regressão é realizada utilizando o Método dos Mínimos Quadrados Ordinários (MQO).

CB2325NumericaG1.aproximacao.aproximacao_trig_linear.ajuste_trigonometrico(x: List[float], y: List[float], periodo: float, plot: bool = False) Tuple[float, float, float][código-fonte]

Calcula o ajuste trigonométrico (Série de Fourier de 1ª ordem) de um conjunto de pontos (x, y) usando o método dos mínimos quadrados. Encontra os coeficientes c0, c1, c2 para a função: y = c0 + c1*cos(omega*x) + c2*sin(omega*x) onde omega = 2*pi / periodo.

Parâmetros :

x : Lista ou array de valores para o eixo x. y : Lista ou array de valores para o eixo y. periodo (T) : O período fundamental estimado dos dados. Estimar

corretamente é crucial para um bom ajuste.

plot : Se True, plota o gráfico.

Retorna :

Uma tupla (c0, c1, c2) contendo os coeficientes do ajuste. (c0 = offset, c1 = amplitude do cosseno, c2 = amplitude do seno)

Module contents