[英]matlab - plot inequality in 3d with surf
我想用surf
在3d中繪制不等式。 我的病情是
0<=x<=1
0<=y<=1
0<=z<=x/(1+y)
我可以使用以下命令創建表面圖
[x y]=meshgrid(0:0.01:1);
z=x./(1+y);
surf(x,y,z);
該圖給出了z=x/(1+y)
區域,但我感興趣的是在x
和y
所有值上0<=z<=x/(1+y)
。 但是,我無法明確地繪制/着色該區域。 你能幫忙嗎?
有人問過類似的問題,但沒有可接受的答案,我的問題也不同。
使用isosurface
可以顯示邊界。 有兩個選項,首先創建點
[X,Y,Z]=meshgrid(0:.01:1);
然后繪制z
方向的邊界(即Z=0
和Z=X./(1+Y)
)
isosurface(X,Y,Z,Z.*(X./(1+Y)-Z),0)
或繪制所有邊界(包括X=0
, X=1
, Y=0
和Y=1
)
isosurface(X,Y,Z,Z.*(X./(1+Y)-Z).*X.*(X-1).*Y.*(Y-1),0)
你所要做的就是提出一個在任何邊界上都是常數的函數,只要它不是零,它的內部或外部值就無關緊要了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.