Я работаю с k-средствами на MATLAB. Для обработки допустимого кластера необходимо выполнить цикл, пока позиция кластера больше не изменится. Таким образом, возможен цикл более 10 итераций. И это может занять много времени.Как разрешить пользователям вводить число итераций
Итак, я хочу, чтобы пользователи задавали итерацию. Пример: пользовательские входы «3» для итераций, то итерации будут продолжаться до 3-х итераций. Вот фрагмент итерационного процесса:
while 1,
d=DistMatrix3(data,c); % calculate the distance
[z,g]=min(d,[],2); % set the matrix g group
if g==temp, % if the iteration doesn't change anymore
break; % stop the iteration
else
temp=g; % copy the matrix to the temporary variable
end
for i=1:k
f=find(g==i);
if f % calculate the new centroid
c(i,:)=mean(data(find(g==i),:),1);
end
end
end
Все, что я знаю, что я должен определить переменную, чтобы пользователи вводят число итераций. Эта переменная будет использоваться для процесса циклизации/итерации. Я попробовал это, удалив while 1
до for i=1:iteration
. Но он все еще не работает, как я хочу. Кто-нибудь знает, как это сделать?
Все ответы будут оценены.
спасибо.
Что значит «не работает, как [вы] хотите»? Ваша идея должна работать нормально. –