Sympy match() 不适用于多个积分?

发布于 2025-01-10 07:09:56 字数 945 浏览 0 评论 0原文

我想获取多个积分()的参数:

'''
from sympy import *
z = symbols('z', real=True)
nu = Function('nu', real=True, positive=True)(z)
xx1 = nu.integrate((z,0,z))
xx2 = xx1.integrate((z,0,1))
xx1
xx2
xx1.cancel
xx2.cancel
'''

Integral and its Structure in jupyterlab shown

然后用“wild”类型变量“Wi”我尝试获取积分参数

''''
mm1 = Integral(W1,(W2,W3,W4))
mm2 = Integral(W1,(W2,W3,W4),(W5,W6,W7))
mm1
mm2
rr1 = xx1.match(mm1)
rr2 = xx2.match(mm2)
rr1
rr2.type()
''''

匹配结果

它适用于单积分,但不适用于多重积分。为什么?

第二个问题是:为什么积分变量“z”没有得到“W2”? 第三问题:为什么“W1:nu(z)”中的变量“z”更改为符号“_0”?如何正确执行?

评论中推荐的“.list”不起作用: 给出错误消息

I want to obtain parameters of multiple integral ():

'''
from sympy import *
z = symbols('z', real=True)
nu = Function('nu', real=True, positive=True)(z)
xx1 = nu.integrate((z,0,z))
xx2 = xx1.integrate((z,0,1))
xx1
xx2
xx1.cancel
xx2.cancel
'''

Integral and its structure in jupyterlab shown

Then with "wild"-type variables "Wi" I try to obtain parameters of integrals

''''
mm1 = Integral(W1,(W2,W3,W4))
mm2 = Integral(W1,(W2,W3,W4),(W5,W6,W7))
mm1
mm2
rr1 = xx1.match(mm1)
rr2 = xx2.match(mm2)
rr1
rr2.type()
''''

matching result

It works for single integral but doesmt for multiple. Why?

SECOND question is: why integration variable "z" is not obtained to "W2"?
THIRD question: why variable "z" is changed to symbol "_0" in "W1:nu(z)? How to do it right?

Recommended in comment '.list' doesn't work:
gives error message

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

獨角戲 2025-01-17 07:09:56

每个表达式都有参数——你(显然)要做的就是捕获变量中的参数。为此不需要 Wild:

>>> W1,(W2,W3,W4),(W5,W6,W7) = xx2.args
>>> W1,(W2,W3,W4),(W5,W6,W7)
(nu(z), (z, 0, z), (z, 0, 1))

Every expression has args -- all you are (apparently) try to do is capture the arguments in variables. Wild are not needed for this:

>>> W1,(W2,W3,W4),(W5,W6,W7) = xx2.args
>>> W1,(W2,W3,W4),(W5,W6,W7)
(nu(z), (z, 0, z), (z, 0, 1))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文