У меня есть случайный набор точек, которые я хочу использовать в разных классах (цветах). Я знаю, как я могу классифицировать их в соответствии с различными функциями, и я привел пример ниже. Проблема в том, что я знаю регионы классификации, которые я хочу, от (0,0,1) до (0,7,1), например, но я не знаю, какие функции достигнут этого или как их выработать.Классификация различных точек MATLAB
x = rand(500,1);
y = rand(500,1);
g(:,1) = 1-x;
g(:,2)= 1 -y;
[~,la] = max(g'); % find the labels
figure, hold on
plot(x(la==1),y(la==1),'k.','MarkerSize',8)
plot(x(la==2),y(la==2),'r.','MarkerSize',8)
grid on,xlabel('x_1'),ylabel('x_2')
Это пример использования некоторых основных функций для создания графика ниже. На данный момент я использую пробную версию и ошибки, но как я могу использовать ту же идею, что и выше, но нарисовать области, где я знаю конечные точки, как я упоминал выше.
EDIT: Использование am304 решения. У меня есть правильный результат, но с более сложным сюжетом, похоже, это может быть упрощено.
x = rand(500,1);
y = rand(500,1);
p = polyfit([0 0.7],[0.1 1],1);
p2 = polyfit([0.4 1],[1 0],1);
p3 = polyfit([0 1],[0.3 0.6],1);
figure
hold on
plot(x,y,'m.','MarkerSize',8)
plot(x(y>=polyval(p,x) & y<=polyval(p2,x) & y>=polyval(p3,x)),y(y>=polyval(p,x) & y<=polyval(p2,x) & y>=polyval(p3,x)),'y.','MarkerSize',8)
plot(x(y>=polyval(p2,x) & y<=polyval(p,x) & y>=polyval(p3,x)),y(y>=polyval(p2,x) & y<=polyval(p,x) & y>=polyval(p3,x)),'r.','MarkerSize',8)
plot(x(y<=polyval(p3,x) & y<=polyval(p,x) & y<=polyval(p2,x)),y(y<=polyval(p3,x) & y<=polyval(p,x) & y<=polyval(p2,x)),'g.','MarkerSize',8)
plot([0 0.7],[0.1 1],'k-')
plot([0.4 1],[1 0],'k-')
plot([0 1],[0.3 0.6],'k-')
grid on,xlabel('x_1'),ylabel('x_2')
Ваше решение выглядит отлично с первого взгляда. О какой проб и ошибках вы говорите? –
Расчеты приведены для разных цветных участков: g (:, 1) = 1-x; g (:, 2) = 1 -y; Пробная и ошибка заключается в том, чтобы получить сюжет, который я хочу (я знаю, в каких точках я хочу, чтобы мои линии проходили) я не знаю, что я должен заменить 1-x и 1-y с –
@ Томус, у вас есть посмотрите на мой ответ? Разве это не делает то, что вы хотите? – am304