Handling of large string array

Hi,
I am dealding with a 22,000,000 x 1 string array, which causes Matlab real problems. I import the data from a .csv file of about 1gig size. But when I save it in Matlab as a .mat file, it blows up to over 9gig. How can I save this vector more efficiently?
Best

1 件のコメント

per isakson
per isakson 2015 年 4 月 4 日
編集済み: per isakson 2015 年 4 月 4 日
I cannot reproduce your problems on R2013b,64bit,Win7
>> str = char( randi([32,112],22e6,1) );
>> save( 'd:\tmp\test.mat', 'str' )
creates a file that is 18MB.

サインインしてコメントする。

回答 (1 件)

dpb
dpb 2015 年 4 月 4 日

0 投票

Cast to char() if not (default Matlab storage is double). This will be 4:1 reduction as Matlab character is 16-bit. If you're using a ASCII code, you can save another factor of 2 by converting to uint8 but Matlab may then get confused if try to use the data as character.

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

質問済み:

2015 年 4 月 4 日

編集済み:

2015 年 4 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by