【发布时间】:2020-10-30 03:34:39
【问题描述】:
我有 numpy 数组,我想使用像 e^x 的泰勒系列这样的幂级数,我想知道如何在 python 中实现它。为简单起见,我想我可以在x0=0 使用 maclaurin 系列,其中x 是 numpy 数组。基本上,我有 1 个暗像素向量,我想通过使用 e^x 的泰勒级数展开来非线性地展开每个像素值。换句话说,在输出向量中,每个像素将被替换为泰勒级数展开项的第一项和第二项。有什么想法可以在 python 中实现吗?
数学概念:
这是我想要完成的简单数学概念,其中 nunmpy 数组预计将通过使用幂级数(如e^x 的麦克劳林级数)进行非线性扩展。
我的尝试:
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)
新更新 2:
准确地说,F 是 e^x 的泰勒级数,x 是每个像素值,x0 是 0 处的近似点。例如,如果我们在 1 个暗淡向量中有 8 个像素,那么在我们使用 taylor每个像素值的一系列 e^x,泰勒展开的第一项和第二项将被视为输出。
如何在 python 中实现这一点?任何解决方法可以以更紧凑的方式完成e^x 的 Maclaurin 系列的实施?有什么想法吗?
预期输出
例如我们有 1 个暗像素向量 [1,2,3,4,5,6,7,8],然后我们应用上面的数学方程通过使用 e^x 的 maclurin 系列来近似每个像素值:
pixel = [1,2,3,4,5,6,7,8]
那么每个像素值的泰勒级数 e^x 的第一项和第二项将是我的最终输出。
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: python numpy pixel taylor-series