Creating a memory mapped file
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ken
el 31 de Ag. de 2016
Comentada: Ken
el 1 de Sept. de 2016
I am trying to create a new memory-mapped 'big data' file by using sequential writes of structured binary data, where I write a vector of values for each variable separately. First, can I start with an empty file that I have opened for write? I cannot seem to write an array into mapped location unless data already exists at that location. See below
%%define the memory map for the output binary file
OutFile = 'testOutFile';
fid = fopen('test.lls','w');
mmLLS = memmapfile('test.lls',...
'Format',{ ...
'single' 1 'lat'; ...
'single' 1 'lon'},...
'Repeat',1,'Writable',true);
Lat = single(32.3);
Lon = single(-110.2);
mmLLS.Data.lat = Lat;
Error using memmapfile/subsasgn (line 732)
A subscripting operation on the Data field attempted to create a
comma-separated list. The memmapfile class does not support the use
of comma-separated lists when subscripting.
1 comentario
per isakson
el 31 de Ag. de 2016
Editada: per isakson
el 31 de Ag. de 2016
"First, can I start with an empty file that I have opened for write?"   The short answer is NO!
Doc says: "Memory-mapping is a mechanism that maps a portion of a [existing] file, or an entire [existing] file, on disk to a range of addresses within an application's address space."
Respuesta aceptada
Walter Roberson
el 1 de Sept. de 2016
"memmapfile does not expand or append to a mapped file. Use instead standard file I/O functions like fopen and fwrite."
Más respuestas (0)
Ver también
Categorías
Más información sobre Large Files and Big Data en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!