Учитывая четыре двоичных векторов, которые представляют собой «классы»:Алгоритм лучших усилий классификации вектора
[1,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,1]
[0,1,1,1,1,1,1,1,1,0]
[0,1,0,0,0,0,0,0,0,0]
Какие методы доступны для классификации вектор значений с плавающей точкой в одну из этих «классов»?
Basic округления работает в большинстве случаев:
round([0.8,0,0,0,0.3,0,0.1,0,0,0]) = [1 0 0 0 0 0 0 0 0 0]
Но как я могу справиться с некоторым вмешательством?
round([0.8,0,0,0,0.6,0,0.1,0,0,0]) != [1 0 0 0 0 1 0 0 0 0]
Это второй случай должен быть лучше подходит для 1000000000, но вместо этого, я потерял решение полностью, поскольку не существует четкого совпадения.
Я хочу использовать MATLAB для выполнения этой задачи.
+1: бейте меня к нему! Я набрал практически тот же пример, когда ваш ответ появился. – gnovice
Lol, спасибо :) .. но я думаю, что не так много других способов сделать это отдельно от использования разных показателей. – Jacob
Да, единственные отличия заключались в использовании REPMAT вместо BSXFUN и ABS вместо квадратизации разницы. – gnovice