在Matlab中制作高质量的重叠不等式图?

时间:2019-03-01 22:59:20

标签: matlab contourf inequalities

我需要制作发布质量图,以显示参数空间中由各种不等式(f1(x,y)> 0,f2(x,y)> 0,...)界定的域,其中某些区域将满足多个不等式,并且应该具有混合的单色。

There are various proposed methods of making inequality plots,但似乎没有一个产生出色的结果:

  • 使用带有imagesc的网状网格会引入锯齿状的边缘(除非我 使用可笑的大矩阵来达到打印分辨率)。
  • Contourf(x,y,f1,[0 0])并按住几乎即可得到我想要的东西,但显然不可能赋予轮廓区域透明。
  • 使用surf(x,y,f1), 一个白色的z = 0平面用于裁剪,并且view(0,90)看起来也不错, 可以提高透明度,但如果我要绘制两个或更多个不平等现象 引入了人工制品,因为如果 f1(x,y)> f2(x,y)或f2(x,y)> f1(x,y)。
  • 将轴堆叠在一起, 先前的方法失败,因为裁剪平面不透明。
  • 获取countour矩阵并使用fill(C(1,:),C(2,:))填充时, 自从现在起1,2,甚至达到了两侧的轴的边缘 缺少3个角点,并且填充曲线将通过与图像交叉的直线闭合。

有人知道实现这一目标的方法吗?通过创建透明轮廓f区域,颜色以相同的方式组合在一起的表面(无论顺序如何),使用透明剪切平面的z剪切表面方法或将必要的额外边缘点添加到填充轮廓的算法。

0 个答案:

没有答案