対角成分以外を0とするプログラムを作りたいです
import
1def trans(a): 2 n=a.shape[0] 3 for i in range(n): 4 for j in range(i,n): 5 tmp=a[i][j] 6 a[i][j]=0 7 a[j][i]=0 8 a[j][i]=tmp 9a=np.array([[2,5,3],[1,6,4],[9,3,8]]) 10print('original matrix');print(a) 11trans(a) 12print('transposed matrix');print(a)
この状態で実行すると
original matrix
[[2 5 3]
[1 6 4]
[9 3 8]]
transposed matrix
[[2 0 0]
[5 6 0]
[3 4 8]] と表示されてしまい
求めている
[[2 0 0]
[0 6 0]
[0 0 8]] という形になりません。
また、出来ればfor文で作りたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。