を理解されるであろう0等しい
すべき3リスそれぞれ、上側の対角主対角線、及び下対角線のためのT以下のように、あなたはそれを書くことができる:もし上記のコードで
import numpy as np
a=[1,2,3,4]
b=[5,6,7,8,9]
c=[10,11,12,13]
n=len(b)
m=np.zeros((n,n))
for i in range(0,n-1):
m[i,i+1]=a[i]
m[i,i]=b[i]
m[i+1,i]=c[i]
m[n-1,n-1]=b[n-1]
print(m)
ゼロ行列を初期化し、その後のみ、上下、斜め主を更新あなたのリストに基づいてエントリ。 出力は
[[ 5. 1. 0. 0. 0.]
[ 10. 6. 2. 0. 0.]
[ 0. 11. 7. 3. 0.]
[ 0. 0. 12. 8. 4.]
[ 0. 0. 0. 13. 9.]]
編集ある:短い方法、マトリックスを作成
m=np.diag(a,1)+np.diag(b,0)+np.diag(c,-1)
np.diag(r,k)
あろう@hpauljによって示唆されるで(主対角線上対角線番目k
」k
がある場合は、以下負の値)はr
であり、残りのエントリは0です。
https://docs.scipy.org/doc/numpy/reference/generated/numpy.diag.html
あなたが試したコードを投稿してください。 - M [I-1、I] =レンジ(N)におけるiに対するSP としてNP インポートscipyのダウンロードとして –
インポートnumpyのN = 6 M =のnp.zeros((N、N)) Iが移動1 M [I、I] = 2 M [I、I-1] 1 M [0、N-1] = = 0 M [N-1,0] 0 印刷M – Jdigs
を=質問へのあなたのコード。それはより良いフォーマットです。 – hpaulj