大きなサイズのファイルを圧縮して保存したい

私の行う研究では1回の解析につき15GBほどのファイルが出力され,これを圧縮して保存する必要があります.
上記のリンクでsaveコマンドのv7.3を利用したMATLABファイルは圧縮されないとありますが,なぜ大きいサイズは圧縮されないのでしょうか?(逆に大きいサイズほど圧縮するべきだと思うのですが...)
saveコマンドでは圧縮ができないということで,matファイルに出力後zipへの変換も試みましたが,ファイルサイズは変わりませんでした.出力時,出力後,どちらでも構いませんので,ファイルサイズを下げる良い方法をご存じないでしょうか?
似たような質問はいくつか拝見しましたが,これという解決策が見つけられていません.既出でしたら申し訳ありません.

8 commentaires

Kenta
Kenta le 6 Fév 2021
こんにちは、15Gだと保存も大変そうですね。具体的に保存したい変数はどのようなものなのでしょうか?画像的なものなのか、3D的なものなのかなど、、、その特性に応じて何か策がないものかと思っていました
poni_poni
poni_poni le 6 Fév 2021
ご返信ありがとうございます! やってることは3Dシミュレーションでして出力される変数は3次元の少数含むsingle型行列となっております...
Hiroyuki Hishida
Hiroyuki Hishida le 7 Fév 2021
横から失礼します。 質問への直接的な回答にはならず、またMATLAB 関数ではないですが、Octreeを試されるのはいかがですか?
poni_poni
poni_poni le 8 Fév 2021
>Hishida様 コメントありがとうございます。 ざっとして読んだ限りですが3Dの数値データはOctreeで圧縮することもできるんですね! 後出しですが2D×時間も扱うことがあり、この場合は厳しいですかね。。
Hiroyuki Hishida
Hiroyuki Hishida le 8 Fév 2021
やって良いかどうかは自信ありませんが、xyzではなくxytだとみなせるのであれば、表現できなくもないかな?と思うのですが、差し支えなければ、解析やその対象についてご教授いただけますでしょうか?
poni_poni
poni_poni le 9 Fév 2021
>Hishida様 確かに圧縮目的ならできなくもなさそうですね... 意図に沿った回答かわかりませんが2次元×時間の方はFDTD法による電磁波の時間方向シミュレーションです。
Hiroyuki Hishida
Hiroyuki Hishida le 10 Fév 2021
似たことをしたことがありますが、諦めて都度都度データを書き出しておりました。
圧縮させるのでしたら、XYTのデータをいくつかに分割して、個別に保存するのはいかがでしょうか?元データD(x, y, t)を、例えばn個のサブ集合に分割しますd1(x, y, t1~t10)、d2(x, y, t11~t20)、・・・、dn(x, y, tn-9~tn)。この各dについてMAT保存いただければ、圧縮も可能かと思います。
すみません、この程度しかでてきませんでした。
poni_poni
poni_poni le 10 Fév 2021
いえいえ,ご検討いただきありがとうございます.
Tを分割するのが一番よさそうですね.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Tags

Question posée :

le 5 Fév 2021

Commenté :

le 10 Fév 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!