Resave a Matlab file with v7.3 option
12 次查看(过去 30 天)
显示 更早的评论
Hello,
I have few huge files with many substructures inside. I need to partially modify the content. I'm using matfile with option "'Writable',true".
I'm getting a lot of errors because although the total file is less than 2Gb, apparently once uncompressed some array is over 2 GB:
"Warning: The file 'D:\work\capture_tool\dsp\ctt_platform\input\rawdata_toronto55_matrix7x5_70g_50taps.mat' was saved in a format that does not support partial loading. Temporarily loading variable 'Push'
into memory. To use partial loading efficiently, save MAT-files with the -v7.3 flag.
Warning: Variable 'Push' was not saved. For variables larger than 2GB use MAT-file version 7.3 or later. "
If i load and save, it adds another layer in the structure which is the name of the original variable i used to load. Therefore, my program can't access it again:
temp = load('orig.mat');
save('-v7.3','mod.mat','temp')
temp2 = load('mod.mat')
temp2 =
struct with fields:
temp: [1×1 struct]
How can i automatically resave the files with option v7.3 leaving the structure untouched?
Thanks
Riccardo
0 个评论
采纳的回答
Ridwan Alam
2019-11-21
编辑:Ridwan Alam
2019-11-21
The version option goes at the end on save():
save('mod.mat','temp','-v7.3');
While loading,
temp2 = load('mod.mat');
temp2 = temp2.temp;
6 个评论
Ridwan Alam
2019-11-21
编辑:Ridwan Alam
2019-11-21
Cool!! Glad to help!
Please accept the answer and vote if you liked the conversation!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!