problem in parsing data
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hello Everyone,
I am reading a binary file using MATLAB whose size is around 96 MB. After I read in the binary file I convert it into a MATRIX of 11563 rows and 8192 columns. I have written a code for data parsing which takes the first row and the first 12 columns are taken as header of data and the rest is taken as the actual data. Problem is while I am parsing the the initial 1000 rows are parsed quickly and then MATLAB slows down considerably. How can I increase the speed of my MATLAB code. I am storing the data in predefined cell array.
3 comentarios
per isakson
el 8 de Jul. de 2013
Editada: per isakson
el 8 de Jul. de 2013
Did you watch the Windows Task Manager | Performance while your code is running?
It's the fields of the actual and the header data that needs to be pre-allocated.
How much RAM does the computer have?
Respuestas (2)
Image Analyst
el 7 de Jul. de 2013
Why are you using a cell array? That probably slows it down. Also, if you're displaying the data with image() or imshow() without clearing out prior images you've stored, then that will slow it down also. Use "cla" to clear the old images/matrices out of the axes before you display a new one.
2 comentarios
Image Analyst
el 8 de Jul. de 2013
I still don't see why you can't just use a regular structure for your header data, and then a uint8 or uint16 array for your data. I do that all the time. I just read stuff one at a time and load up a header structure, then when it's time to get the data, just use fread() to load all the data into one 2D array all in one fell swoop (no looping required).
Muthu Annamalai
el 8 de Jul. de 2013
Editada: Muthu Annamalai
el 8 de Jul. de 2013
You want to cast your data to right type. Default numeric type in MATLAB in double. You may want to use uint8() on your fread() calls so that you only store byte-sized chunks into your variable.
If you do this consistently you should get a 8x reduction in the data size.
Also as others have commented, it is always good to share your code to provide context to your problem!
0 comentarios
Ver también
Categorías
Más información sobre Data Type Conversion 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!