Error on opening a .mat file.
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have got a rather big .mat file. When I try to open it an error message pops up: "File might be corrupt."
Here is a more detail discription if I try to import data from this file
Warning: Unable to read some of the variables due to unknown MAT-file error.
> In matfinfo (line 9)
In finfo (line 118)
In uiimport/gatherFilePreviewData (line 412)
In uiimport (line 242)
Error using load
Unknown text on line number 1 of ASCII file Q:\BGFIAV\ZENT...
Ansatz\Code\Iteration 2.2\Unit Tests\Styles\matlab.mat
"MATLAB".
Error in uiimport/runImportdata (line 463)
datastruct = load('-ascii', fileAbsolutePath);
Error in uiimport/gatherFilePreviewData (line 431)
[datastruct, textDelimiter, headerLines]= runImportdata(fileAbsolutePath, type);
Error in uiimport (line 242)
gatherFilePreviewData(fileAbsolutePath);
I there a way of open it?
Thank you in advance for your help.
0 commentaires
Réponse acceptée
Jan
le 12 Déc 2018
"Unknown text on line number 1 of ASCII file Q:\BGFIAV\ZENT..."
This sounds like it is a MAT file in ASCII format. Please confirm this and specify "big" in numbers. Some users assume that an 100kB file is large already, because it is hard to read by a human. Others works with medium sized files of 32GB, when their machines have 192GB RAM installed.
If the file is in ASCII format, this was a bad choice because the reading is less efficient than with binary files. Maybe a specific routine for reading the ASCII file is better than the general purpose load. Please post a small but relevant part of the file.
0 commentaires
Plus de réponses (1)
BdS
le 12 Déc 2018
1 commentaire
Jan
le 12 Déc 2018
Please post comments in the sections for comments, not as answer.
Open the file in an editor - e.g. Matlab's or Notepad++. The later handles large files more efficiently than e.g. the built-in Editor of Windows. Alternatively open the file in Matlab with fopen and use fread to read the 1st 100 characters. If you can read this, it is ASCII.
If you import a 644 MB text file to Matlab, you need 1.2GB of free RAM, because the characters are stores with 2 bytes. If you want to perform calculations with these data, a concersion to doubles is required at all. So better convert the data during the import already.
Voir également
Catégories
En savoir plus sur Environment and Settings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!