CB2325NumericaG1.interpolacao package

Submodules

CB2325NumericaG1.interpolacao.interpolacao_linear module

CB2325NumericaG1.interpolacao.interpolacao_linear.lin_interp(x: list, y: list, plot: bool = False) Callable[código-fonte]

Interpolação linear por partes a partir dos pontos dados.

Essa função ordena pontos a partir da ordem crescente das coordenadas x. Em seguida, cria retas descritas pela nova função f, que ‘ligam’ os pontos descritos pelas coordenadas x e y. É permitida extrapolação. Por fim, caso ‘plot = True’, há uma plotagem do gráfico correspondente.

Parâmetros:
  • x – lista das coordenadas x, em x[i], de cada ponto i.

  • y – lista das coordenadas y, em y[i], de cada ponto i.

  • plot – indica se deve haver a plotagem (True) ou não (False).

Retorna:

função de interpolação linear por partes

Tipo de retorno:

f

Levanta:
  • ValueError – Caso ‘x’ e ‘y’ tenham tamanhos diferentes, caso as listas

  • estejam vazias, ou caso as coordenadas em 'x' não sejam distintas.

  • TypeError – caso ‘x’ ou ‘y’ não sejam listas, ou caso ‘plot não seja bool’.

CB2325NumericaG1.interpolacao.interpolacao_polinomial module

CB2325NumericaG1.interpolacao.interpolacao_polinomial.poly_interp(x_val: list, y_val: list, plot: bool = False, res: int = 100, pcolor: str = '#234883', ccolor: str = '#4287f5', titulo: str = 'Interpolação Polinomial de Lagrange') Callable[código-fonte]

Gera um polinômio interpolador usando o método de Lagrange.

Esta função recebe um conjunto de pontos (x, y) e retorna uma função (polinômio) que passa exatamente por todos esses pontos.

Parâmetros:
  • x_val (list) – Uma lista de coordenadas x dos pontos. Os valores devem ser todos distintos entre si.

  • y_val (list) – Uma lista de coordenadas y dos pontos. Deve ter o mesmo tamanho de x_val.

  • plot (bool, optional) – Se True, exibe um gráfico do polinômio e dos pontos originais. O padrão é False.

  • res (int, optional) – Resolução (número de pontos) usada para desenhar a curva do polinômio no gráfico. O padrão é 100.

  • pcolor (str, optional) – Cor dos pontos originais no gráfico. O padrão é “#234883”.

  • ccolor (str, optional) – Cor da curva do polinômio no gráfico. O padrão é “#4287f5”.

  • titulo (str, optional) – Título do gráfico. O padrão é “Interpolação Polinomial de Lagrange”.

Retorna:

Uma função P(x) que recebe um número (int ou float) e retorna o valor do polinômio interpolador avaliado naquele ponto x.

Tipo de retorno:

Callable

Levanta:

ValueError

  • Se x_val e y_val tiverem tamanhos diferentes. - Se as listas de entrada estiverem vazias. - Se x_val contiver valores duplicados. - Se res não for um inteiro. - Se pcolor ou ccolor não forem strings. - Se titulo não for uma string.

Exemplos

>>> x = [0, 1, 2]
>>> y = [1, 3, 2]
>>> pol = poly_interp(x, y)
>>> print(pol(1.5))
2.625

CB2325NumericaG1.interpolacao.interpolacao_polinomial_hermite module

CB2325NumericaG1.interpolacao.interpolacao_polinomial_hermite.hermite_interp(x_pontos: list, y_pontos: list, dy_pontos: list, f_real: Callable | None = None, titulo: str = 'Interpolação de Hermite', plot: bool = False) Callable[código-fonte]

Cria e plota uma função de interpolação polinomial de Hermite.

Parâmetros:
  • x_pontos – Coordenadas x (n valores).

  • y_pontos – Coordenadas y (n valores).

  • dy_pontos – Derivadas dy/dx em cada x (n valores).

  • f_real – (Opcional) A função ‘verdadeira’ para plotar junto e calcular o gráfico de erro.

  • titulo – Título para o gráfico.

  • plot – indica se deve haver a plotagem (True) ou não (False).

Retorna:

Função de interpolação de Hermite. Se f_real for fornecida, imprime o erro médio e máximo

Notas

Sobre a Extrapolação: Esta função sempre permite a extrapolação (avaliar valores de x fora do intervalo de dados [min(x_pontos), max(x_pontos)]). O usuário é responsável por verificar os resultados, pois polinômios podem crescer rapidamente e produzir valores imprevisíveis fora do intervalo de interpolação.

CB2325NumericaG1.interpolacao.interpolacao_polinomial_vandermond module

CB2325NumericaG1.interpolacao.interpolacao_polinomial_vandermond.vandermond_interp(x: list, y: list, plot: bool = False, f_ideal: Callable | None = None) Callable[código-fonte]

Interpolação polinomial pelo método de Vandermonde

Essa função ordena pontos a partir da ordem crescente das coordenadas x. Em seguida, cria matriz de Vandermonde e retorna a solução algébrica para, assim, conseguir os coeficientes do polinômio interpolado. Caso haja uma função ideal, também é calculado o erro, que é representado no plot. Por fim, caso ‘plot = True’, há uma plotagem do gráfico correspondente. Por padrão, ‘plot = False’, ou seja, por padrão não há a plotagem.

Parâmetros:
  • x – lista das coordenadas x, em x[i], de cada ponto i.

  • y – lista das coordenadas y, em y[i], de cada ponto i.

  • plot – indica se deve haver a plotagem (True) ou não (False).

  • f_ideal – função ideal, caso queira fazer comparação de erros.

Retorna:

função de interpolação linear por partes.

Tipo de retorno:

f

Levanta:
  • ValueError – Caso ‘x’ e ‘y’ tenham tamanhos diferentes, caso as listas

  • estejam vazias, ou caso as coordenadas em 'x' não sejam distintas.

  • TypeError – caso ‘x’ ou ‘y’ não sejam listas, caso ‘f_ideal’ não seja

  • callable, ou caso 'plot não seja bool'.

Module contents