Я запускаю скрипт в 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
Я понимаю, функцию сохранения, однако для того, чтобы сделать это, я должен был бы сохранить мой весь «для» цикла в переменной (точности). Есть ли способ сделать это, не нарушая цикл? (Извините, я довольно новичок в Matlab) – user2532780
Что вы подразумеваете под * прерыванием цикла *? Если вы хотите сохранить * все * промежуточные результаты (например, все точные значения), вам нужно будет их каким-то образом сохранить. Я не боюсь этого. –
ОК. Спасибо за помощь. Я не могу добавить назначение переменной в цикл, который создает точность, не получая ошибку. – user2532780