import numpy as np
import scipy
from scipy.optimize import newton
import sympy
from sympy import diff
from sympy import Symbol
alpha = Symbol('alpha')
beta = Symbol('beta')
delta = Symbol('delta')
kss = ((((1/beta)+ alpha * delta - 1)/(1-alpha)) + delta)**alpha
css = (((1/beta)+ alpha * delta - 1)/(1-alpha))*kss
xss = [css,css,kss]
param = [alpha,beta,delta]
res = diff([xss],alpha, beta, delta)
eps = 0.0001 * np.absolute(css)
x1 = [css+eps,css,kss]
res1 = foc(x1,param)
b1 = (res1 - res)/eps
yss = [css,css+eps,kss]
res2 = foc(yss,param)
b2 = (res2-res)/eps
eps1 = 0.0001 * abs(kss)
zss = [css,css,kss+eps1]
res3 = foc(zss,param)
b3 = (res3-res)/eps1
print b1, b2, b3有谁知道怎么调试这个吗?
发布于 2014-11-11 12:37:25
通常,您的代码应该从以下几个方面进行改进:
使用模块和点来表示应用的函数,例如np.abs
abs应该弄清楚你想使用哪种数据结构: list还是np.array?它们是不同的。Simply xss = [css,css,kss]创建一个不能直接用于abs的列表。import pdb; pdb.set_trace()进行调试,here是一个教程。https://stackoverflow.com/questions/26857509
复制相似问题