我正在运行一个模型,该模型具有一堆读取一些.mat文件的DLL。
当我使用旧版本的MATLAB(我认为是2011a)生成文件时,我得到的文件可以正常工作,但是当我使用2017a创建文件时,这些文件似乎无法在同一脚本中工作。
我使用2017年读取了正在工作的2011年文件,然后将其保存,这些文件也无法使用。
我也尝试过根据help将'-vXX'设置设为所有可用值的上述方法,但没有成功。
示例:
clear; load('v2011file.mat'); save('v2017copy.mat', '-v6', 'var1', 'var2', 'var3');
我注意到这两者之间的一件事是,当在“当前文件夹”浏览器中选择它们时,预览总是以字母顺序显示变量名称为2017的文件,而与我保存它们的顺序无关,而较旧的2011文件似乎可以保持其保存顺序。我只能假设这与文件保存方式的更改有关-可能不是问题,但是它确实暗示了更改(无论是否包含“ -vXX”以使用较旧的格式,都可以这样做) )。
可能值得注意的是,2011文件是在XP上创建的,而2017文件是在Windows 7上创建的。
基本上,我在寻找可能知道我是否可以更改MATLAB组合文件方式的人,而不必更改DLL来接受较新的文件。
答案 0 :(得分:0)
看来我可以解决保存订单问题,并且可以通过以下方式起作用:
save('new2017file.mat', 'var1');
save('new2017file.mat', 'var3'. '-append');
save('new2017file.mat', 'var2', '-append');
意思是我可以按特定顺序放置它们-我还必须在preferences> general> .mat文件中将默认存储设置为-v7。
如果有答案的话,我不会拒绝更优雅的答案!