擅长:python、mysql、java
<p>根据更新后的定义,可能是这样的:</p>
<pre><code>def exp_taylor(x, x0=0, n_terms=2):
f_a = np.exp(x0)
terms = [f_a * ((x-x0)**i)/np.math.factorial(i) for i in range(n_terms)]
return np.dstack(terms).ravel()
</code></pre>
<p>在<code>a</code>周围的<code>e^(x)</code>的扩展是<code>e^(a) + e^(a)(x-a) + e^(a)(x-a)^2/2!</code>这一事实之后,依此类推。然后<code>dstack</code>和<code>ravel</code>的组合将这些项交织成一个向量。因此,如果您有<code>[np.array([a0,b0,c0]), np.array([a1,b1,c1])]</code>,它将把它们组合成<code>np.array([a0,a1,b0,b1,c0,c1])</code></p>
<pre><code>x = np.array([1, 1, 2, 3, 5, 8, 13, 21])
x_ = exp_taylor(x, x0=1, n_terms=3)
print(x_)
>>>
[ 2.71828183 0. 0. 2.71828183 0.
0. 2.71828183 2.71828183 1.35914091 2.71828183
5.43656366 5.43656366 2.71828183 10.87312731 21.74625463
2.71828183 19.0279728 66.5979048 2.71828183 32.61938194
195.71629165 2.71828183 54.36563657 543.65636569]
</code></pre>