2014-01-27 2 views
0

У меня 31 моделируют я хочу сохранить каждый в определенном файлесохранить модели SVM в файл MATLAB

это моя MATLAB функция

formatspec='model%d' 
for k = 1:length(libsvmFiles) 
baseFileName = libsvmFiles(k).name; 
fullFileName = fullfile(myFolder, baseFileName); 
[labels train]=libsvmread(fullFileName); 
model=svmtrain(labels,train, '-t 2 -h 0'); 
file=sprintf(formatspec,k); 
save file model; 

, но проблема только сохраняется первый файл и его имя является «файлом», то есть значение переменной file не оценивается

как я могу решить эту проблему?

+0

Ваш код является неполным и плохо отформатирован. Более того, проблема, с которой вы сталкиваетесь, не имеет ничего общего с libsvm. Я все еще мог понять проблему. :-) –

ответ

3

Как многие функции Matlab, save могут использоваться в форме функции (save(...)) или в командной форме (save ...). В используемой командной форме все аргументы интерпретируются как строки. Это означает, что

save file model 

эквивалентно

save('file', 'model') 

Для второго аргумента, который является правильным, потому что вы хотите обратиться к переменной с именем «модель». Для первого аргумента это неверно, потому что вы хотите обратиться к имени файла , содержащемуся в переменной file. Поэтому правильный синтаксис для использования

save(file, 'model') 
0

Вам не хватает параметров для функции сохранения. Переменная model также должна быть указана в виде строки, так как вам нужно указать функции save имя переменной, а не самой переменной. См. Matlab's documentation.

save(file, 'model');

Кроме того, вы не конец вашего цикла for показанных, который обычно просто бросает ошибку - однако впоследствии код может вызвать этот цикл, чтобы вместо того, чтобы работать только один раз. В противном случае вы должны проверить свою переменную libsvmFiles, поскольку она может быть только длиной 1 или не быть массивом.

+0

'model' - это имя переменной, которая должна быть сохранена, и должна быть указана в кавычках. см. мой ответ. :-) –

+0

Да, вы правы - добавите это! – Pyrce

Смежные вопросы