如何在Matlab中自动保存文件?

时间:2017-07-06 17:10:26

标签: matlab neural-network matlab-figure

我有一个神经网络,我正在生成数字,我希望自动保存这些数字,文件名为训练功能和隐藏的图层大小,以及正确的百分比

我有以下

... trainFcn=trainscg

这在几个选项之间发生变化:scg,rp,lm等

我也有

hiddenLayerSize=[10 10 10]

这些值也经常变化。

我运行神经网络并输出混淆矩阵:

figure, plotconfusion(nnOutput, target)

然后我做

saveas(gcf, trainFcn+hiddenLayerSize)

当我添加这样的变量时,这不起作用,当我输入逗号而不是加号时也失败。如何使此saveas工作并使文件名成为我的变量?我不需要在文件名中保持准确性,但如果可以,那就太棒了。

1 个答案:

答案 0 :(得分:2)

您的方法不起作用,因为函数需要将字符串作为文件名,但trainFcn+hiddenLayerSize不是一个。请尝试以下方法:

% convert size vector to a string
sizeString = sprintf('%dx', hiddenLayerSize);
sizeString = sizeString(1:end-1); % removes the trailing x
% auto-generate your filename
filename = sprintf('%s_%s', func2str(trainFcn), sizeString);
saveas(gcf, filename);

这假设您已将trainFcn定义为trainFcn = @trainscg;或类似的内容。