Il semble que la méthode subs est inutile, et il semble que vous deviez utiliser une fonction appelée sympy.lambdify.
subs_vs_lambdify.py
# coding:utf-8
import numpy as np
import sympy as sp
#Créer des variables sympy
x = sp.Symbol('x')
y = sp.Symbol('y')
#Faire un tableau de numpy
arrX = np.arange(12, dtype='float64').reshape((3, 4))
arrY = np.ones((3, 4))
#Créer une fonction sympy
symbolFunc = 2*x + y
#Attribuer un tableau avec la méthode subs
resSubs = symbolFunc.subs([(x, arrX), (y, arrY)])
print(resSubs)
# ==> 2*x + y
#Il semble que le tableau ne puisse pas être calculé
#Essayez de calculer en utilisant lambdify
#Tout d'abord, créez une fonction
lambdifyFunc = sp.lambdify([x, y], symbolFunc)
#Passer un tableau comme argument de la fonction créée
resLambdify = lambdifyFunc(arrX, arrY)
print(resLambdify)
# ==> [[ 1. 3. 5. 7.]
# [ 9. 11. 13. 15.]
# [17. 19. 21. 23.]]
#Celui-ci calculé
Recommended Posts