python - 索引超出尺寸 100 的轴 0 的范围

标签 python arrays numpy

我有一个函数,通过迭代 for 循环来用值填充 100x100 2D 数组。我需要将值存储在 [i][i]、[i][i-1] 和 [i][i+1] 位置。这是我到目前为止所拥有的:

    Delta = 1/100
    N = 100 
    Matrix = np.zeros(N,N), int)

    for i in range(N):
       Matrix[i][i] = ((2*D)/pow(Delta,2) + SigmaA)
       Matrix[i][i-1] = -(D/pow(Delta,2))
       Matrix[i][i+1] = -(D/pow(Delta,2))

最佳答案

i+1i-1 都试图访问无效索引。使矩阵 1 大于所需的大小,并让 range 从 1 开始,一直到 N+1。

Delta = 1/100
N = 100 
Matrix = np.zeros(N+1,N+1), int)

for i in range(1,N+1):
   Matrix[i][i] = ((2*D)/pow(Delta,2) + SigmaA)
   Matrix[i][i-1] = -(D/pow(Delta,2))
   Matrix[i][i+1] = -(D/pow(Delta,2))

关于python - 索引超出尺寸 100 的轴 0 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746840/

相关文章:

c++ - 仅从文本文件中读取浮点值

c - 返回数组的函数

arrays - 在 Numpy 中并行化类似 matmul 的矩阵计算

python - 如何将 numpy 数组保存到 webp 文件?

python - Pandas 中从列值创建排序列表的有效且最快的方法

python - Pandas:删除具有相同 "rounded"值的重复行而不创建新列

python - NLTK RegexpParser,通过精确匹配一个项目来分块短语

python - 元组 NumPy 数据类型

python - 圆点和十字 python 画板

python - 在 Python 中同时混合多个类?