<p>我用这个简单的函数,用数值方法来确定函数的梯度。你知道吗</p>
<pre><code> def f_prime((x,y),delta=0.1):
'''Numerically derive the gradient of f(x,y).'''
x = int((x,y)[:1])
y = int((x,y)[1:])
df_dx = (f((x+delta,y))-f((x-delta,y)))/(2*delta)
df_dy = (f((x,y+delta))-f((x,y-delta)))/(2*delta)
return numpy.array((df_dx,df_dy))
</code></pre>
<p>这将给出错误反馈:</p>
<pre><code> File "J:\...\.py", line 32, in f_prime
def f_prime((x,y),delta=0.1):
TypeError: int() argument must be a string or a number, not 'tuple'
</code></pre>
<p>你知道我是怎么把它变成元组的吗?提前谢谢</p>