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

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

8 Commenti

Kenta
Kenta il 6 Feb 2021
こんにちは、15Gだと保存も大変そうですね。具体的に保存したい変数はどのようなものなのでしょうか?画像的なものなのか、3D的なものなのかなど、、、その特性に応じて何か策がないものかと思っていました
poni_poni
poni_poni il 6 Feb 2021
ご返信ありがとうございます! やってることは3Dシミュレーションでして出力される変数は3次元の少数含むsingle型行列となっております...
Hiroyuki Hishida
Hiroyuki Hishida il 7 Feb 2021
横から失礼します。 質問への直接的な回答にはならず、またMATLAB 関数ではないですが、Octreeを試されるのはいかがですか?
poni_poni
poni_poni il 8 Feb 2021
>Hishida様 コメントありがとうございます。 ざっとして読んだ限りですが3Dの数値データはOctreeで圧縮することもできるんですね! 後出しですが2D×時間も扱うことがあり、この場合は厳しいですかね。。
Hiroyuki Hishida
Hiroyuki Hishida il 8 Feb 2021
やって良いかどうかは自信ありませんが、xyzではなくxytだとみなせるのであれば、表現できなくもないかな?と思うのですが、差し支えなければ、解析やその対象についてご教授いただけますでしょうか?
poni_poni
poni_poni il 9 Feb 2021
>Hishida様 確かに圧縮目的ならできなくもなさそうですね... 意図に沿った回答かわかりませんが2次元×時間の方はFDTD法による電磁波の時間方向シミュレーションです。
Hiroyuki Hishida
Hiroyuki Hishida il 10 Feb 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 il 10 Feb 2021
いえいえ,ご検討いただきありがとうございます.
Tを分割するのが一番よさそうですね.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Tag

Richiesto:

il 5 Feb 2021

Commentato:

il 10 Feb 2021

Community Treasure Hunt

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

Start Hunting!