我想使用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)
区域,但我对0<=z<=x/(1+y)
所有x
和y
值的区域感兴趣。但是,我无法明确地绘制/着色该区域。你能帮忙吗?
已经问过类似的question,但是没有可接受的答案,我的问题也不同。
答案 0 :(得分:2)
使用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)
你所要做的就是想出一个在任何边界上都是常数的函数,只要它不是零,它的内部或外部值就无关紧要。