Мне нужно преобразовать старый код Octave в форму Matlab R2017a. Matlab не понимает упомянутый код и выдает ошибку:
Неопределенная переменная "lasterror" или класс "lasterror.message".
Ошибка в computeCentroids (строка 16)
msg = lasterror.message;
Mathworks говорит, что "lasterror" будет или уже был удален из более современных версий Matlab. Лично я не знаком ни с lasterror.message
, ни с парой try-catch. Надеюсь, вы поможете мне.
Код:
function centroids = computeCentroids(Xnum, Xcat, idx, K)
[m n] = size([Xcat Xnum]);
centroids = zeros(K, n);
for i=1:K,
indx = (idx(:,1)== i);
try
centroids(i,:) = [findMode(Xcat, indx) computeMean(Xnum, indx)];
catch
msg = lasterror.message;
fprintf(strcat(msg, '\n'));
end_try_catch
end
end
.
.
.
.
end