前提・実現したいこと
実行結果で出たmatrixを表示から消したい
matrixをristへ変換したい
発生している問題・エラーメッセージ
エラーは、出ていません
該当のソースコード
import numpy as np def MODIFY(diagW,Gvect,nplst,rz,rw,sl,\ su,pl,gu,gl,ne,npg,nqg,nqgst,\ npgst,npl,ni,nj,dpl4,ndtl,d,e,\ rp,rq,pp,qq,per,ntot,nd_type): # MODIFY 修正量を算出するプログラム # 詳細説明をここに記述 ### 修正量(ステップ長をかける前)を算出 ### #modify = inv(diagW)*Gvect(:,1); #print(Gvect) #print(diagW) GvectB = [[0 for i in range(1)] for j in range(npg+nqg+4*ndtl)] diagWB = [[0 for i in range(npg+nqg+4*ndtl)] for j in range(npg+nqg+4*ndtl)] modify = [[0 for i in range(1+1)] for j in range(npg+nqg+4*ndtl+1)] for i in range(0,npg+nqg+4*ndtl): tmp= Gvect[i+1][1] GvectB[i][0]=tmp for i in range(0,npg+nqg+4*ndtl): for j in range(0,npg+nqg+4*ndtl): diagWB[i][j] = diagW[i+1][j+1] ### modify = inv(diagW)*Gvect(:,1); をきれいに... ### A=np.matrix(GvectB) #print(A) B=np.matrix(diagWB) #print(B) B=B.astype(np.float64) C=np.linalg.inv(B) #print(C) D=np.dot(C,A) for i in range(0,npg+nqg+4*ndtl): modify[i+1][1] = D[i][0] print(modify) ############## 以下が実行結果です ################# [[0, 0], [0, matrix([[-1.84293559]])], [0, matrix([[0.42187868]])], [0, matrix([[0.5421875]])], [0, matrix([[0.634375]])], [0, matrix([[-3.37631349e-33]])], [0, matrix([[-0.36228691]])], [0, matrix([[-2.16875001]])], [0, matrix([[68.30056121]])], [0, matrix([[0.86012398]])], [0, matrix([[-0.0559386]])], [0, matrix([[-2.53750001]])], [0, matrix([[71.84939705]])], [0, matrix([[0.25572165]])], [0, matrix([[-0.28585456]])], [0, matrix([[3.10490349]])], [0, matrix([[90.00351796]])], [0, matrix([[0.18757902]])], [0, matrix([[-0.31256414]])], [0, matrix([[1.24054555]])], [0, matrix([[74.87879889]])], [0, matrix([[0.36842755]])], [0, matrix([[-0.29225707]])], [0, matrix([[1.15342389]])], [0, matrix([[79.18513116]])], [0, matrix([[0.16791101]])], [0, matrix([[-0.31389678]])], [0, matrix([[0.29992592]])], [0, matrix([[75.1848679]])]]
試したこと
matrixをlistに戻す(表示させなくする)ように
しましたがどうしたらよいかわかりません。
補足情報(FW/ツールのバージョンなど)
Windows10
Python 3.7.0
ここにより詳細な情報を記載してください。
エラーは出ていません
怪しいのがPython 3.7.0で36bitで作っていますが
37行目でB=B.astype(np.float64)
を使っています
この64と書いている32bitが関係しているかどうかが気にっています
最初の3要素程度でよいので、欲しいリスト例を提示ください。
[[0,0],[0,-1.8~],...] または [[0,0],[0,[[-1.8~]]],...]?
回答2件
あなたの回答
tips
プレビュー