MATLAB から python に変換するコードがあります。まだ非常にPython的な方法で書かれていませんが、後の段階で適応させます.
MATLAB スクリプトにはvec2mat
、Communications systems ツールボックスの関数があります。( http://www.mathworks.co.uk/help/comm/ref/vec2mat.htmlを参照してください)これは、変換したいベクトルと必要な列の数を指定して、ベクトルを行列に変更することで機能します。 . mat = vec2mat(vec,matcol)
.
私は通常、単に使用しますnumpy.reshape
。ただし、最後の行を完全に埋めるのに十分な値がベクトルにない場合、vec2mat は最後の行にゼロを追加します。
必要なパディングは、入力した csv ファイルによって異なります。
atbmat = vec2mat(atbvec,nb);
この例の場合nb
は 5 で、 の長さatbvec
は 4806 です。したがって、4 つのゼロが一番下の行に追加されます。
2D 配列を作成するために Python で余分なゼロを追加するにはどうすればよいですか? atbvec
長さ4806でnb
5に等しい1D配列 があります(nb列が必要です)。
アドバイスをいただきありがとうございます。これが理にかなっていることを願っています。
編集
dim=len(atbvec)/int(nb)
atbvec=np.array(atbvec)
atbvec=np.copy(atbvec)
atb_mat=atbvec.resize((dim,nb)
これは戻ってきNone
ます。