[英]Substituting values in sympy for a list gives the unexpected result
我要执行以下操作,在该操作中输入索引,并吐出所需的值。 但是,当我给它赋值时,它给了我意外的结果。
import sympy as sy
import numpy as np
i = sy.Symbol('i', integer=True)
j = sy.Symbol('j', integer=True)
a = sy.IndexedBase('a')
y=a[i, j]**2+3
y.subs({a:np.array([[1,2,3,4,5,6,7]]),i:0,j:4})
我希望答案为5 ** 2 + 3 = 28,但这给了我[0,4] ** 2 + 3。
IndexedBase
类型似乎不是为访问数据而实现的(而是出于表示目的)。 请参见http://docs.sympy.org/latest/modules/tensor/indexed.html以下语句:
该类的主要目的是允许方便地创建Indexed类的对象。 IndexedBase的getitem方法返回Indexed的实例。
也许您可以使用Matrix
类型实现所需的功能?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.