matlab中mat文件中的sava数据问题

时间:2015-08-10 11:32:47

标签: matlab

对于我的项目,我想在mat文件中保存一个变量。这是我的代码。

s1 = [1;2;3;4;5;6;7;8;9;10];
for fr = 1 : 1 :10
    data_file = [];
    save('/home/shahnawaz/Desktop/yaml/YAMLMatlab_0.4.3/mytest.mat','s1')
    data_file = s1(:)';
    save('/home/shahnawaz/Desktop/yaml/YAMLMatlab_0.4.3/mytest.mat','s1','-append')
end

问题
我想在mat文件中保存10个s1实例。有人可以帮助我如何做到这一点。

1 个答案:

答案 0 :(得分:1)

在您对该问题发表评论之后,这里有一个解决方案,可以直接从循环中将变量存储为s1s2,...而无需在代码中明确地将它们写入。中间结构用于存储变量,直到它们保存到.mat - 文件。

for i = 1:5
    data.(['s',num2str(i)]) = 10*i;
end

save('mytest.mat','-struct','data')

.mat - 文件的内容如下所示:

>> whos -file mytest.mat

  Name      Size            Bytes  Class     Attributes

  s1        1x1                 8  double                          
  s2        1x1                 8  double              
  s3        1x1                 8  double              
  s4        1x1                 8  double              
  s5        1x1                 8  double