2015-04-03 106 views
0

我正在处理一个类项目,并且每次脚本运行时都需要为相同的变量保存不同的值。该脚本获取乐高的输入图片并输出大小,颜色和形状。这些值需要保存在任何一种表格中,当脚本再次运行时使用不同的图片时,所有新值都会添加到“库存”列表中。保存来自相同脚本的变量在MATLAB中运行多次

这是脚本的底部。我一直在尝试使用保存功能来发现,每次脚本运行时,它只会替换.mat中当前变量的值。希望这足以帮助我。先谢谢你。

size = area_width * area_length ; 

%%%%%% make sure smaller dimension always first %%%%% 
% width = smaller length 
% length = longer length 

Cell = {Color, size, shape, x_length, y_length}; 

% for iterations 1:block_count 
%  if Final = {Color, size, shape, x_length, y_length} 
disp(Cell) 

SaveData = sprintf('%s, %d, %s, %s, %s', Color, size, shape, x_length, y_length) 

save('Data.mat', 'SaveData','-append') 
+2

的'-append'选项允许你新变量追加到已经存在的mat文件。如果这个变量已经存在,它将被替换。 – Daniel 2015-04-03 22:41:03

回答

1

之前运行此脚本,做这个命令线 -

data={}; 
save('Data.mat','data'); 

而且,则─

SaveData = {sprintf('%s, %d, %s, %s, %s', Color, size, shape, x_length, y_length)}; 
load('Data.mat'); 
data = [data; SaveData]; 
save('Data.mat', 'data'); 
+0

这有助于很多。对于我们每次都要用新输入来运行脚本,我们不得不clc;清除要运行脚本的脚本。我假设变量的旧值的存在使MATLAB无法第二次运行脚本。当我们clc;清除,它似乎重置Data.mat或用新值覆盖。有什么建议么?感谢您的帮助。 – Carpenterguy 2015-04-05 22:16:26