Мне нужно провести экстраполирование таблично-заданной функции путем построения экстраполяционного полинома. Как можно сделать, чтобы не использовать библиотеку scipy и саму интерполяцию, а нужно просто данную библиотеку расписать как-то математически в Python.
Есть пример 1, в котором нужно как-то это все расписать.
Пример 1)
from scipy import interpolate # Импорт файла
def extra(x, y, d): #Функция
x = # Мы вводим Х, разделяя её через пробел (разделитель) - разделяя их пробелом мы используем их как список чисел
y = # То же самое, как в Х
f = interpolate.interp1d(x, y, fill_value = “extrapolate”) # Это и есть Экстраполяция, вычислительная функция
return f(d) #Вывод
if __name__ == ‘__main__’: # Необходимый элемент для визуала
print(extra('1 2 3', ‘1 2 3’, 15)) # Пример
Есть и 2й пример, в котором используется библиотека numpy, которую мне можно как раз использовать. Как сделать .чтобы человек сам вводил числа, а не чтобы они были заданы массивом? Также нужно, чтобы ,когда искалась неизвестная точка, нужно сделать, чтобы полином проходил и через нее.
Пример 2)
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
def exponential_fit(x, a, b, c):
return a*np.exp(-b*x) + c
if __name__ == “__main__”:
x = np.array()
y = np.array()
fitting_parameters, covariance = curve_fit(exponential_fit, x, y)
a, b, c = fitting_parameters
next_x = 6
next_y = exponential_fit(next_x, a, b, c)
plt.plot(y)
plt.plot(np.append(y, next_y), ‘ro’)
plt.show()
Если есть идеи написания самого кода, буду благодарен, если поможете)