【发布时间】:2016-03-25 18:04:04
【问题描述】:
目前已经得到如下代码:
class beam(object):
def __init__(self, E, I, L):
self.E = E
self.I = I
self.L = L
self.Loads = [(0.0, 0.0)] #[(Force, distance along beam)]
def getTotalDeflection(self, x):
"""Calculate total deflection of beam due to multiple loads"""
return sum(self.beamDeflection(loadall, x) for loadall in self.Loads)
def getSlope(self, x):
"""Calculate gradient at a point x on beam due to deflection
"""
import scipy.misc
return scipy.misc.derivative(self.getTotalDeflection, x)
对于函数 getSlope(),我需要通过求偏转关于 x 的导数来计算斜率。但是,我收到以下错误:
文件“C:/Users/X/Downloads/beamModel.py”,第 12 行,在 类梁(对象):文件“C:/Users/X/Downloads/beamModel.py”,第 67 行,在梁中 在 getSlope 中打印 b.getSlope(1.0) 文件“C:/Users/X/Downloads/beamModel.py”,第 62 行 返回 scipy.misc.derivative(self.getTotalDeflection, x) 文件“C:\Users\X\Anaconda2\lib\site-packages\scipy\misc\common.py”,行 258,衍生 val += weights[k]*func(x0+(k-ho)*dx,*args) TypeError: 'float' object is not callable
【问题讨论】:
-
已编辑以修复复制和粘贴的错误。
标签: python