さまざまなクラス (色) にプロットしたいポイントのランダムなセットがあります。さまざまな機能に従ってそれらを分類する方法を知っています。以下に例を示します。問題は、たとえば (0,0.1) から (0.7,1) までの必要な分類領域を知っていることですが、どの関数がこれを達成するのか、またはそれらをどのように解決するのかわかりません。
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')
これは、いくつかの基本的な関数を使用して以下のプロットを作成する例です。現時点では試行錯誤を行っていますが、上記と同じアイデアを使用して、上記のようにエンドポイントがわかっている領域をプロットするにはどうすればよいでしょうか。
編集: 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')