[英]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.