read and write data from .mat file
조회 수: 1 (최근 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.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!