我不确定我在 sympy
中使用的方法是将 MutableDenseMatrix
转换为 numpy.array
还是 numpy.matrix
是一个很好的当前实践。
我有一个符号矩阵,如:
g = sympy.Matrix( [[ x, 2*x, 3*x, 4*x, 5*x, 6*x, 7*x, 8*x, 9*x, 10*x],
[x**2, x**3, x**4, x**5, x**6, x**7, x**8, x**9, x**10, x**11]] )
我正在转换为 numpy.array
做:
g_func = lambda val: numpy.array( g.subs( {x:val} ).tolist(), dtype=float )
我在其中获取给定值 x
的数组。
SymPy 中是否有更好的内置解决方案来做到这一点?
谢谢!
最佳答案
这看起来是最直接的:
np.array(g).astype(np.float64)
如果您跳过 astype 方法,numpy 将创建一个“object”类型的矩阵,这不适用于常见的数组操作。
关于python - 将 SymPy 矩阵转换为 numpy 数组/矩阵的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069864/