【发布时间】:2017-08-08 12:49:32
【问题描述】:
我刚学python,想定义一个返回nxn方阵的函数,主对角线(i=j)、上对角线(j=i+1)和下对角线(j=i)的预定义值-1) 和所有其他元素都等于 0。
任何帮助将不胜感激,
谢谢
import numpy as np
import scipy as sp
n=6
m=np.zeros((n,n))
for i in range(n):
m[i-1,i]=-1
m[i,i]=2
m[i,i-1]=1
m[0,n-1]=0
m[n-1,0]=0
print m
【问题讨论】:
-
贴出你试过的代码。
-
import numpy as np import scipy as sp n=6 m=np.zeros((n,n)) for i in range(n): m[i-1,i]=-1 m[i,i]=2 m[i,i-1]=1 m[0,n-1]=0 m[n-1,0]=0 打印 m
-
我将您的代码移到了问题中。它在那里的格式更好。
-
scipy.sparse有几种方法可以同时设置多个对角线。numpy.diag一次设置一个对角线,但其他方面很容易使用。
标签: python-2.7 numpy scipy