2 回答
TA贡献1111条经验 获得超0个赞
您正在混合numpy和sympy,并且会出现问题:
您的sympy导入定义i为一个符号(这对numpy用户来说并不明显):
In [1]: from sympy.abc import *
In [2]: i
Out[2]: i
然后你定义一个numpy数组。(import numpy as np优于*):
In [3]: M=np.zeros((3,3))
尝试将其i用作索引会引发您的错误:
In [4]: M[1,i]
------------------------------------------------------------------
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
符号可以在sympy矩阵中工作,但在索引 numpy 数组时不起作用。
Ms = sy.zeros(3,3) # sympy matrix
for m in range(1,3):
for n in range(3):
Ms[m,n] = (sy.Sum(Ms[m-1,i],(i,0,n+1)))/(n+1)
这运行,虽然结果Ms没有多大意义。
所以问题的根源是你混合了 numpy 和 sympy,可能是因为无知,也可能是因为*进口。
添加回答
举报
