Interpolado ccepy

Interpolado ccepy

Interpolação é o que vamos discutir hoje. O conceito de interpolação pode ser definido como um método de calcular um valor ou número entre dois pontos em uma linha ou mesmo uma curva. Esse conceito pode usar os dados em 1, 2 ou até mais dimensões, pois existem vários recursos gerais disponíveis no Scipy para interpolação, bem como suavidade. Se os dados não são estruturados, unidimensionais ou fornecidos em uma grade estruturada, determina qual método de interpolação é usado. A suavidade necessária do interpolador é outra consideração. Os métodos sugeridos para interpolação vêm em uma variedade de formas. Com explicação e exemplos adequados, discutiremos sobre a interpolação de Scipy neste artigo.

Interpolação no círculo

Scipy oferece um módulo chamado Scipy.Interpolar que apresenta uma ampla gama de funções relacionadas à interpolação. Um método para criar os pontos de dados entre os pontos de dados existentes é chamado de interpolação. Existem classes, funções de spline e classes de interpolação univariadas e multivariadas no módulo Scipy, Scipy.interpolar.

Tipos de interpolação

Existem inúmeras maneiras de interpolar, algumas das quais incluem:

    • Interpolação 1-D
    • Interpolação spline
    • Interpolação de spline univariada
    • Interpolação RBF

Vamos discutir todos esses tipos em detalhes e com exemplos de programação para ver os resultados.

Interpolação 1-D

Uma distribuição com apenas uma variável pode ser interpolada usando a função interp1d (). Requer a entrada de dois pontos, X e Y, e produz uma função chamada que, quando chamada com um novo X, retorna o y apropriado.

Aqui está sua sintaxe completa:


Vamos explicar o conceito de interpolação 1-D com o exemplo a seguir:

Exemplo:

Digamos que você queira usar os valores X_RANGE e Y_RANGE para construir uma função linear com a fórmula y_range = f (x_range).

Este exemplo mostra como criar uma função que já usa duas variáveis ​​conhecidas X_RANGE e Y_RANGE para estimar os pontos de dados de uma linha usando o Scipy.interpolar.Método interp1d (). O termo "interp1d" refere -se à interpolação em uma única dimensão, como uma linha, usando apenas os eixos X_Range e Y_Range. Todo o código é fornecido aqui.

A primeira seção do código mostra que importamos os módulos necessários. Estes são matplotlib.Pyplot, Numpy, Scipy e Interp1D. A próxima seção mostra a geração dos pontos aleatórios para X_Range e Y_Range e o uso desses dois valores, X_Range e Y_Range. Também inclui a execução do círculo.interpolar.Método interp1d () no qual os valores X_Range e Y_Range são passados ​​como parâmetros. Depois disso, novos pontos aleatórios são gerados para X_Range e Y_Range. As quatro declarações impressas que são usadas aqui exibem os pontos gerados pela função linear.

A última seção do código é onde um gráfico é plotado usando os valores X_RANGE, Y_RANGE e os valores X_RES e Y_RES resultantes.

importar matplotlib.pyplot como plt
importar numpy
Importar Scipy
de Scipy.Interpolar Importar Interp1d
x_Range = Numpy.ARANGE (12,20)
print ('x:', x_Range)
y_Range = Numpy.exp (-x_range/10)
print ('y:', y_range)
func_linear = scipy.interpolar.interp1d (x_Range, y_range)
x_res = Numpy.Arange (12,19,0.1)
y_res = func_linear (x_res)
print ('new_x:', x_res)
print ('new_y:', y_res)
plt.dispersão (x_Range, y_Range, color = 'vermelho')
plt.plot (x_res, y_res, color = 'laranja')
plt.xlabel ("x")
plt.ylabel ("y")
plt.Título ("Interpolação 1-D")
plt.mostrar()
plt.savefig ('resultado/gráfico.png ')


Esta é a tela resultante em que você pode ver a implementação da interpolação 1-D na tela:

Interpolação spline

Este exemplo é sobre a interpolação spline.

Nos campos de engenharia de computadores de modelagem auxiliada por computador e computação gráfica, uma curvatura polinomial (paramétrica) por partes é mais frequentemente chamada de spline. Devido à sua simplicidade na construção, simplicidade e precisão na avaliação e capacidade de prever formas complexas por meio de ajuste de curva e design de curva altamente interativo, as splines são freqüentemente utilizadas em uma variedade de campos.

A interpolação spline usa splines esterliadas com polinômios para construir uma função por partes, em oposição à interpolação 1D, onde os pontos são montados para uma única curva.

O método univariatespline () aceita dois parâmetros, xs e ys, e gera uma função chamada que pode ser invocada com um novo valor para xs. Veja o seguinte código anexado:

O código é muito semelhante ao exemplo anterior, exceto que usamos os diferentes valores de entrada aqui. Então, o interpolado.A função SPLEV () é usada nesses valores. Valores diferentes são gerados para x, y e t. Esses valores são plotados na tela com uma linha de código na última seção da imagem anexada:

importar numpy
importar matplotlib.pyplot como plt
De Importar Scipy Interpolate
x = Numpy.Arange (0, 12)
y = Numpy.cos (x ** 3)
t = interpolado.splrep (x, y, s = 0)
x = Numpy.Arange (0, Numpy.pi ** 2, Numpy.pi/100)
y = interpolado.splev (x, t, der = 0)
plt.figura()
plt.plot (x, y, '*', x, y, x, numpy.cos (x),
x, y, 'b', color = "vermelho")
plt.lenda (['linear', 'spline cúbica', 'true']))
plt.eixo ([-0.2, 5.6, -1.3, 1.2])
plt.título ('Exemplo de interpolação de spline cubic')
plt.mostrar()


A seguir, é apresentado o gráfico gerado que explica o conceito de interpolação de spline cúbica:

Interpolação de spline univariada

Falaremos sobre o spline univariado aqui. Ele se encaixa em um conjunto específico de pontos de dados e é um spline de suavização 1D. Os dados de entrada x val e y val são montados em um spline de k usando o ccepy.interpolar.Univariatespline. O círculo.interpolar.O método Univariatespline tem mais um argumento, S, que define o número de nós especificando uma condição de suavização. O spline.Definir o fator de suavização () da função calcula o spline usando o fator de suavização especificado e os nós identificados pela chamada anterior.

importar numpy
importar matplotlib.pyplot como plt
de Scipy.Interpolar a importação univariatespline
x_val = Numpy.Linspace (-3, 3, 40)
y_val = Numpy.exp (-x_val ** 2) + 0.1 * Numpy.aleatório.Randn (40)
plt.Título ("Spline Univariate Spline")
plt.plot (x_val, y_val, 'g.', ms = 8)
spline_shape = univariatespline (x_val, y_val)
xs_shape = Numpy.Linspace (-3, 3, 2000)
plt.plot (xs_shape, spline_shape (xs_shape), 'amarelo', lw = 3)
spline_shape.set_smoothing_factor (0.5)
plt.plot (xs_shape, spline_shape (xs_shape), color = 'laranja', lw = 3)
plt.mostrar()


A seguir, o gráfico gerado do código anterior:

Interpolação da função de base radial (RBF)

Neste último exemplo, vamos nos concentrar na função de base radial (RBF) para interpolação. O círculo interpolado.O RBF é empregado para a interpolação n-dimensional de dados dispersos. De acordo com sua definição, a função de base radial corresponde a um ponto de dados de referência constante. O círculo.interpolar.A classe RBF é usada para interpolar as funções diretamente, desde dados espalhados por N-D até um domínio M-D com o uso das funções de base radial.

A seguinte captura de tela anexada mostra o código completo. Aqui, importamos os módulos RBF e Numpy. Depois disso, os valores são gerados para xs_val e ys_val usando o arange () e numpy.Métodos Sin (). Uma declaração de impressão é usada para mostrar a mensagem "Aqui você pode ver o resultado". Uma variável "res" é criada na qual o método RBF é usado e o xs_val e ys_val gerados são passados ​​como parâmetros. Depois disso, ZZ pode ser visto em que uma lista de números é gerada para o intervalo especificado. Finalmente, o resultado é exibido.

de Scipy.Interpolar Importar RBF
importar numpy
xs_val = Numpy.ARANGE (8)
ys_val = xs_val ** 3 + numpy.sin (xs_val) + 2
print ("Aqui você pode ver o resultado:")
res = rbf (xs_val, ys_val)
zz = res (Numpy.Arange (2.1, 3, 0.1))
Impressão (ZZ)


A seguir, é apresentado a saída em que uma série de números é gerada a partir do código anterior em que o método RBF é usado.

Conclusão

Neste artigo, discutimos qual é o conceito de interpolado scipy. Seus tipos básicos e detalhes gerais são abordados aqui. Você pode encontrar facilmente todos os requisitos sobre o tópico referido em detalhes com exemplos de programação. Discutimos separadamente todos os seus tipos (interpolação 1-D, interpolação de spline, interpolação univariada de spline e interpolação RBF) com explicações e exemplos adequados para que você possa entender melhor todo o conceito.