saving variable with -v7.3 flag check
8 views (last 30 days)
Show older comments
Lora
on 13 Jan 2015
Edited: Philip Borghesani
on 13 Jan 2015
Hi i have a code in which i have a an array with 4 field called Data
Data.name Data.index Data.PixelInd Data.bbox
I save it in the end but for some images this variable Data become large and matlab does not allow to save it as a mat File unless you turn on the v-7.3 switch.So i want to have a check in my code that if the variable is bigger than this size then save it with -v7.3 flag else save it using without this flag.
if(Data is greater than 2Gb)
save(fileName.mat, 'Data' ,'-v7.3')
else
save(fileName.mat, 'Data')
end
Thanks anyways
0 Comments
Accepted Answer
Philip Borghesani
on 13 Jan 2015
Edited: Philip Borghesani
on 13 Jan 2015
Use the whos function:
varinfo=whos('data');
saveopt='';
if varinfo.bytes >= 2^31
saveopt='-v7.3';
end
save('filename','data',saveopt);
This code is a bit too conservative in that it will use -v7.3 format when data is over 2gb but only needs to when a member of data is over 2gb. I do not see that as a problem and checking all members is a bit more work.
That said I would not do this. I would use the -v7.3 option for all files. Some day in the future it may complicate things to have files that are of different formats.
0 Comments
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!