首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集成SymPy阵列

集成SymPy阵列
EN

Stack Overflow用户
提问于 2020-05-10 00:25:49
回答 1查看 88关注 0票数 1

不知道问这个问题最好的地方在哪里。我正在尝试集成SymPy数组,但如果

代码语言:javascript
复制
sympy.integrate(x, (x, 0, 1))

返回

代码语言:javascript
复制
1/2

不出所料,

代码语言:javascript
复制
sympy.integrate(sympy.Array([x]), (x, 0, 1))

返回

代码语言:javascript
复制
1

这是相当麻烦的。有什么提示吗?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 14:00:52

我假设Array对微积分运算有点挑剔,因为它似乎继承了张量。你将不得不做一些挖掘来找出原因。然而,Matrix类往往做得更好一些。当我做一点向量微积分时,我发现使用Matrix很有帮助。

对于您的问题,我们有:

代码语言:javascript
复制
from sympy import *

x = symbols('x')
print(integrate(Matrix([[x]]), (x, 0, 1)))

它会按照预期产生:

代码语言:javascript
复制
Matrix([[1/2]])

它也适用于更大的矩阵:

代码语言:javascript
复制
from sympy import *

x = symbols('x')
A = Matrix([[x],
            [x+1],
            [x**2]])  # column vector
print(integrate(A, x))

B = Matrix([[1, x, x**2],
            [-x, 2, 0],
            [sin(x), cos(x), tan(x)]])
print(integrate(B, x))

制作:

代码语言:javascript
复制
Matrix([[x**2/2], [x**2/2 + x], [x**3/3]])
Matrix([[x, x**2/2, x**3/3], [-x**2/2, 2*x, 0], [-cos(x), sin(x), -log(cos(x))]])

如果你真的需要积分张量,那么这个数学远远超出了我的范围,但看起来你至少可以用differentiate them

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61700075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档