read and write data from .mat file
2 次查看(过去 30 天)
显示 更早的评论
I have a .mat file containing matrix of size 8x3800000.
I need to read 8x980 matrix twice at a time, process it(overlap add technique of convolution) and write back the processed data into a new file.
That is, at a time my RAM should hold only 2x(8x980) data blocks.
How can I do it efficiently? Please help me with the relevant syntax.
Thank you.
0 个评论
回答(1 个)
Wayne King
2012-3-21
Do you have the DSP System Toolbox? You can use dsp.MatFileReader
For example:
filename = [tempname '.mat']; % Create variable name
originalData = rand(100,4);
save(filename,'originalData','-v7.3'); % Write to MAT file
H = dsp.MatFileReader(filename,'VariableName',...
'originalData','SamplesPerFrame', 25);
Y = step(H);
Each time step() is called you get 25x4 out of the 100x4 matrix.
5 个评论
Wayne King
2012-3-21
You have to contact MathWorks for that. If your version of MATLAB is on maintenance, you should be able to just download R2012a. I don't know what your licensing situation is, so contact MW.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!