matrix of double
サイズがです1024x1024
。ファイルに書きたい。これがこれに対する解決策です。受け入れられた回答は、予想どおり、質問の2番目の回答よりも50〜60%時間効率が高くなります(両方の方法でファイルに書き込むという私の簡単なテストによると)。
csvファイルに書き込む別の解決策があります(質問で受け入れられた回答)、はるかに遅くなります(3〜4倍遅くなります)
ファイルに書き込んでいる間、行列の各要素の浮動小数点数は 16 で、出力は次のようになります。
-1.6819883882999420e-001 -3.5269531607627869e-001 2.4137189984321594e-001 -3.9325976371765137e-001 -2.2069962322711945e-001 -5.9525445103645325e-002
ファイルに書き込むと、ファイルサイズは最初の方法(最初のリンク、受け入れられた回答)で24 MB、3番目の方法(2番目のリンク、受け入れられた回答)で37 MBになり、どちらも受け入れられません。
行列の精度をすばやく設定する必要があり、出力は のようになり-1.6819e-01 -3.5269e-01
ます。どんな助けでも大歓迎です。
私がやっていることは、1024x1024 の画像を読み取り、それを処理してから、出力 Mat(これは double) をファイルに書き込むことです。何千もの画像があり、画像はすべて 1 MB 未満であり、各画像の実行時間は保存せずに 1 秒未満であると考えてください。
編集: Matlab で同じ行列を保存すると、6.75 MB になります