Borrar filtros
Borrar filtros

Handling of large string array

1 visualización (últimos 30 días)
Christian F.
Christian F. el 4 de Abr. de 2015
Editada: per isakson el 4 de Abr. de 2015
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 comentario
per isakson
per isakson el 4 de Abr. de 2015
Editada: per isakson el 4 de Abr. de 2015
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.

Iniciar sesión para comentar.

Respuestas (1)

dpb
dpb el 4 de Abr. de 2015
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.

Categorías

Más información sobre String Parsing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by