
SymPy不知道如何获取样条函数的导数,因为它只有scipy的数字版本。
另外,
A这里可能只是一个Python函数,因为您从不评估它。这也更有意义,因为将函数作为参数传递给SymPy函数有点奇怪。
所有
implemented_function*** 作都是
symfunc._imp_ =staticmethod(implementation)(在这里
symfunc = B和
implementation = lambda r:B_spline(r))。您还需要添加
fdiff使其返回一个新的SymPy函数
B_der_spline。就像是
class B_spline_sym(Function): _imp_ = staticmethod(B_spline) def fdiff(self, argindex=1): return B_der_spline_sym(self.args[0])class B_der_spline_sym(Function): _imp_ = staticmethod(B_der_spline)def A(r, B): return r**2*B(r)
给予
In [87]: B = B_spline_symIn [88]: A_eval = lambdify(r, A(r,B))In [89]: A_eval(3)Out[89]: 81.0In [91]: A_diff_eval = lambdify(r, sp.diff(A(r,B)))In [92]: A_diff_eval(3)Out[92]: 108.0
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)