python - python dblquad 无效的可调用
问题描述
我正在尝试使用 dblquad 逼近 R^3 中两条直线的高斯链接积分。我已经将这对线创建为一个对象。
我有一个函数生成的参数化变量 s 和 t 中的被积函数的形式,gaussint(self,s,t)
这是有效的。然后我只是试图定义一个函数,它返回两个区间 [0,1] 上的双积分。
编辑 - 函数的代码如下所示:
def gaussint(self,s,t):
formnum = self.newlens()[0]*self.newlens()[1]*np.sin(test.angle())*np.cos(test.angle())
formdenone = (np.cos(test.angle())**2)*(t*(self.newlens()[0]) - s*(self.newlens()[1]) + self.adists()[0] - self.adists()[1])**2
formdentwo = (np.sin(test.angle())**2)*(t*(self.newlens()[0]) + s*(self.newlens()[1]) + self.adists()[0] + self.adists()[1])**2
fullden = (4 + formdenone + formdentwo)**(3/2)
fullform = formnum/fullden
return fullform
这里的各种其他函数调用只是线性代数的一部分——线的长度、它们之间的角度等等。如果需要,s 和 t 已被定义为上游符号。
集成的代码看起来像这样(我把它分开只是为了弄清楚发生了什么:
def approxint(self, s, t):
from scipy.integrate import dblquad
return dblquad(self.gaussint(s,t),0,1, lambda t:0,lambda t:1)
运行它会给我一些冗长的有点难以理解的进程消息,然后是
ValueError: invalid callable given
知道我哪里出错了吗?
干杯。
解决方案
推荐阅读
- r - 如何在 R-markdown 中创建带有字母和/或罗马数字的自动嵌套列表和子列表?
- amazon-web-services - 如何在不同的 AWS 账户中使用相同的域名?
- laravel - 实时服务器上的 dompdf laravel,无法下载 pdf 并返回错误 500
- python - 如何编写一个将在数小时内运行的 while 循环
- android - Android 辅助功能服务 - GestureDescription.Builder - 未正确分派复杂手势滑动
- php - wordpress 自定义帖子类型 register_post_type 删除单个视图但保留存档页面
- c++ - 将多维数组作为 void * 传递给外部“C”函数
- python - Django Rest Framework 没有从我的数据库中检索数据
- sql - 规范化 - 清除 sql 列中重复的拼写错误值的最佳方法
- recaptcha - 获取请求的 Recaptcha v3 保护