我正在matlab中运行一个脚本来获得矩阵的随机排列测试,以获得交叉验证的准确性值。我的脚本如下:保存matlab输出到文本文件
%randperm
labels = [zeros(40,1); ones(40,1)];
for i = 1:500
p = labels(randperm(length(labels)));
end
bestcv = 0;
for log2c = -10:10,
for log2g = -10:10,
cmd = ['-s 0 -t 0 -v 20 -c ', num2str(2^log2c), ' -g ', num2str(2^log2g) ' -q '];
cv = svmtrain(labels, p, cmd);
if (cv > bestcv),
bestcv = cv; bestc = 2^log2c; bestg = 2^log2g;
fprintf('%g %g %g (best c = %g, g = %g, rate = %g)\n', log2c, log2g, cv, bestc, bestg, bestcv);
end
end
end
cmd = ['-s 0 -t 0 -c ', num2str(bestc), ' -g ', num2str(bestg)];
我想知道我怎么可以保存输出(500交叉验证准确度值)到一个文本文件,如果有可能写入我的代码这一点。
由于提前,
了Andrea C
我理解的保存功能的文件,但为了做到这一点,我需要拯救我的整个for循环的变量(精度)。有没有办法做到这一点,而不会中断循环? (对不起 - 我对Matlab相当陌生) – user2532780
你是什么意思*破坏循环*?如果你想保存*所有*中间结果(例如所有精度),你需要以某种方式存储它们。我害怕没有办法。 –
好的。感谢您的帮助。我无法向产生精度的循环添加变量赋值而不会出现错误。 – user2532780