如何解决如何将sympy“ vector”转换为numpy数组?
我想做一个函数并计算其雅可比行列式,它可以帮助我用sympy进行派生,但是现在我不能像以前那样用numpy进行赋值。我不知道如何将每个条目从Jacobian传递到ndarray。因为Jacobian [1] [1]的类型是sympy.core.add.Add,并且值是numpy.ndarray。但我也不知道该怎么估价。
import numpy as np
import sympy as sp
from string import ascii_lowercase as asi
vari=list(asi)[0:10]
var=sp.symbols(vari,real=True)
Funcion=[]
for i in np.arange(1,len(var)+1,1):
if i==1:
Funcion=Funcion+[(3-2*var[0])*var[0]-2*var[1]+1]
elif i!=1 and i!=10:
Funcion=Funcion+[(3-2*var[i-1])*var[i-1]-2*var[i-2]-2*var[i]+1]
elif i==10:
Funcion=Funcion+[(3-2*var[9])*var[9]-var[8]+1]
Jacobiano=[]
Gradiente=[]
for i in np.arange(0,len(var),1): #varia la funcion
Gradiente=[]
for j in np.arange(0,1): #varia la fila (lo mato a derivadas)
Gradiente=Gradiente+[sp.diff(Funcion[i],var[j])]
Jacobiano=Jacobiano+[Gradiente]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。