У меня есть массив numpy, и я хочу использовать степенные серии, такие как серия Тейлора e^x
, и мне интересно, как реализовать это в python. Для простоты я думаю, что могу использовать серию маклорена в x0=0
, где x
- это массив numpy. В принципе, у меня есть 1 тусклый пиксельный вектор, и я хочу нелинейно расширить каждое значение пикселя, используя расширение серии Тейлора для e ^ x. Другими словами, в выходном векторе каждый пиксель будет заменен первым и вторым членами члена расширения ряда Тейлора. Любая идея сделать это в python?
математической концепции :
вот простая математическая концепция, которую я хочу реализовать sh, где nunmpy array is ожидается, что он будет нелинейно расширен за счет использования степенных рядов, таких как ряд маклорена e^x
.
my attempt:
import numpy as np
arr= np.array([[120.0,24.0,12.0],[14.0,28.0,43.0]])
arr= arr/255.0
def maclurin_exp(x, power):
res = x*0
for i in range(power):
res += x**i/math.factorial(i)
return res
## test my code:
maclurin_exp(x=arr, power=3)
new update 2:
Precisely, F
is taylor series of e^x
, x
is each pixel value, x0
is approximation point at 0. For example if we have 8 pixel in 1 dim vector, then after we used taylor series of e^x for each pixel value, first and second term of taylor expansion will be considered as ouput.
введите описание изображения здесь
как сделать это в python? какой обходной путь для достижения sh реализации серии Maclaurin для e^x
более компактным способом? любая мысль?
ожидаемый результат
например, у нас есть 1 тусклый вектор пикселей [1,2,3,4,5,6,7,8]
, затем мы применяем математическое уравнение выше для аппроксимации каждого значения пикселя с помощью серии маклурина of e ^ x:
pixel = [1,2,3,4,5,6,7,8]
, то первый и второй член ряда Тейлора e ^ x для каждого значения пикселя будет моим окончательным результатом.