Can't append variables to large .mat files?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Christopher
le 7 Déc 2014
Réponse apportée : Mohammad Abouali
le 8 Déc 2014
I am using R2013b. I have the code:
save(savefilename, 'newP_hist', 'newO_hist', 'newE_hist', 'newt_hist');
save(savefilename, 'newLa_hist', 'newSm_hist', 'newYb_hist', '-append');
save(savefilename, 'newU238_hist', 'newU235_hist', 'newTh_hist', 'newRa_hist', 'newPa_hist', '-append');
where newP_hist, newO_hist, etc. are 840000x120 full matrices. The above code works correctly until it, apparently, tries to save the last variable 'newPa_hist' and I get the error "Error using save, can't write file...'. The resulting file, with the final variable missing, is about 4.37 GB. However, if I do not append the variables and just save the whole thing as:
save(savefilename, 'newP_hist', 'newO_hist', 'newE_hist', 'newt_hist', 'newLa_hist', 'newSm_hist', 'newYb_hist', 'newU238_hist', 'newU235_hist', 'newTh_hist', 'newRa_hist', 'newPa_hist')
Then it works. It also works if I change the order of what is saved in the original code, until the last variable is attempted to write. Whatever the last variable is, it will fail to append. However, it will be written if all the variables are included in one non-appending save command.
So, is matlab unable to append variables to files larger than ~4 GB? Or am I missing something else?
Thanks
1 commentaire
Jan
le 7 Déc 2014
Are you using teh -v7 or the -v7.3 format? See the "MAT-File" settings in the preferences.
Réponse acceptée
Mohammad Abouali
le 8 Déc 2014
Refer to save() command. Scroll down to version. Most possibly you need to pass the version as v7.3.
It is possible that when you gradually append the variables, at the beginning the file is less than 2GB and it decides to use the v7 and once it gets big it can not write. But once you add all the variable at once, it knows that it gonna be a big file and then chooses the right version.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Workspace Variables and MAT-Files dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!