MATLAB不会打开由Octave创建的文件

时间:2017-04-06 23:18:25

标签: matlab octave compatibility

我使用Octave生成并保存了大量数据文件,现在我需要在MATLAB中打开它们作为分析它们的一部分。 MATLAB吐出这个错误。

Error using load
Unable to read MAT-file
[file path]/PhPar_40.mat: not a binary MAT-file.
Try LOAD -ASCII to read as text.

尝试加载-ASCII的建议然后给出了这个错误。

Error using load
Number of columns on line 2 of ASCII file
[filepath]/PhPar_40.mat must be the same as previous lines.

我(现在)明白Octave能够以MATLAB可读格式保存,但重新创建这些数据文件需要花费大量时间,而且实际上不是一种选择。有没有办法让MATLAB读取这些文件?

1 个答案:

答案 0 :(得分:1)

MATLAB无法打开这些文件,因为这些文件无法正确保存。尝试按照以下命令将它们保存在八度音程中:

save -mat7-binary '[filepath]/PhPar_40.mat' 'm'

如果您有大量文件,可以将所有文件放在文件夹中,然后运行迭代器来读取所有加载并自动以正确的格式保存。这个迭代器看起来像:

file = dir('[filepath_read]/*.mat'); 
index = 1;   
while (index==length(file)+1)
   m = load('file(index).name')
   save -mat7-binary strcat("[filepath_write]/", file(index).name, ".mat") 'm';
   index = index+1;
   pause(1);
endwhile

将所有文件转换为正确格式后,在MATLAB中加载它们。我希望它能解决你的问题