不等式のセットから制限されたMATLABの3D領域をプロットしたいと思います。
例えば:
0 <= x <= 1
sqrt(x) <= y <= 1
0 <= z <= 1 - y
このサイトで誰かが行った2Dの例を見つけましたが、それを3Dに変換する方法がわかりません。不等式をプロットする方法。
編集:@Toboldのヘルプから、プロットされるポイントを3つの領域すべてによって定義されるポイントに制限するようにコードを変更しましたが、プロットされるのは2つまたは3つのポイントのみです。ベクトルX1、Y1、Z1の点は正しいように見えますが、何らかの理由でプロットされているのはごくわずかです。X1、Y1、Z1のすべてのベクトルではなく、いくつかの点だけをプロットしている理由はありますか?
[X,Y,Z]=meshgrid(0:0.1:1,0:0.1:1,0:0.1:1); % Make a grid of points between 0 and 1
p1=0.1; p2=0.2; % Choose some parameters
X1 = (X >= 0 & X <= 1) & (Y >= sqrt(X) & Y <= 1) & (Z >= 0 & Z <= 1 - Y);
Y1 = (X >= 0 & X <= 1) & (Y >= sqrt(X) & Y <= 1) & (Z >= 0 & Z <= 1 - Y);
Z1 = (X >= 0 & X <= 1) & (Y >= sqrt(X) & Y <= 1) & (Z >= 0 & Z <= 1 - Y);
ineq1 = (X >= 0 & X <= 1) * 2;
ineq2 = (Y >= sqrt(X) & Y <= 1) * 4;
ineq3 = (Z >= 0 & Z <= 1 - Y) * 8;
all = ineq1 & ineq2 & ineq3;
colors = zeros(size(X))+ineq1+ineq2+ineq3;
scatter3(X1(:),Y1(:),Z1(:),3,colors(:)','filled')