Python 如何在np.array中将符号更改为sympy subs?
我尝试使用np.数组矩阵中的sympy符号。 但是,它不起作用。如何修理我的绳子Python 如何在np.array中将符号更改为sympy subs?,python,numpy,sympy,Python,Numpy,Sympy,我尝试使用np.数组矩阵中的sympy符号。 但是,它不起作用。如何修理我的绳子 将numpy导入为np 从sympy导入符号,求解 dna_list=np.random.rand(10,2) 数据列表=np.random.rand(10,3) alpha=np.sqrt([2]) x1=dna_列表[:,0] x2=dna_列表[:,1] m=数据列表[:,1] b=数据列表[:,2] RSMX=np.数组([[6,15*alpha,1],-2,15,1],[10,15,1],-alpha*1
将numpy导入为np
从sympy导入符号,求解
dna_list=np.random.rand(10,2)
数据列表=np.random.rand(10,3)
alpha=np.sqrt([2])
x1=dna_列表[:,0]
x2=dna_列表[:,1]
m=数据列表[:,1]
b=数据列表[:,2]
RSMX=np.数组([[6,15*alpha,1],-2,15,1],[10,15,1],-alpha*1,10,1],[6,10,1],[10*alpha,10,1],-2,5,1],[6,-alpha*5,1])
打印(RSMX)
xhat1,xhat2=符号('xhat1,xhat2')
RSMy=(m)/(1-xhat1)+(m)/(1-xhat2)+(b)
打印(RSMy)
SOLVE=RSMy.subs({xhat1:6,xhat2:15+alpha})
AttributeError回溯(最近的调用) 最后)在() ---->1 SOLVE=RSMy.subs({xhat1:6,xhat2:15+alpha}) AttributeError:'numpy.ndarray'对象没有属性'subs'
您使用的
RSMy
是numpy
数组,没有subs
方法。您应该对此数组中的每个元素应用subs
方法。您可以这样做:
SOLVE=np.vectorize(lambda x:x.subs({xhat1:6,xhat2:15+alpha}))(RSMy)
还要注意,您使用的是返回数组而不是数字的
alpha=np.sqrt([2])
。我建议您使用alpha=np.sqrt(2)
,它在某些情况下可能很关键。RSMy
您使用的是numpy
数组,没有subs
方法。您应该对此数组中的每个元素应用subs
方法。您可以这样做:
SOLVE=np.vectorize(lambda x:x.subs({xhat1:6,xhat2:15+alpha}))(RSMy)
还要注意,您使用的是返回数组而不是数字的alpha=np.sqrt([2])
。我建议您使用alpha=np.sqrt(2)
,它在某些情况下可能很关键