Если под «Сохранить» вы подразумеваете сохранение его в файл JPEG, то следующий код делает это:
piece1=[1,1,1;1,1,1;1,1,1];
piece2=[0,1,0;1,1,1;1,0,1];
piece3=[0,0,0;0,0,0;0,0,0];
N = 3
for i=1:N
piece = eval(sprintf('piece%d', i));
file_name = sprintf('piece%d.jpg', i);
imwrite(piece, file_name);
end
но в целом ваш подход не лучший способ написания кода в Matlab. Вы можете использовать ячейки, например:
piece{1}=[1,1,1;1,1,1;1,1,1];
piece{2}=[0,1,0;1,1,1;1,0,1];
piece{3}=[0,0,0;0,0,0;0,0,0];
for i=1:numel(piece)
file_name = sprintf('piece%d.jpg', i);
imwrite(piece{i}, file_name);
end