Matlab,fimplicit,如何使用不等式在图形上显示指定区域

Matlab,fimplicit,如何使用不等式在图形上显示指定区域

我正在使用 fimplicit 命令来生成图形,但我有一个条件 x+y<=1,并且我只希望显示图形的那个区域。

例如:f = @(x,y) x.^2 + y.^2 - 3; fimplicit(f,[-3 3 -2 2])

如果 fimplicit 中没有这样的选项,我也欢迎大家在绘制 fimplicit 后修改图形的建议。PS。当然,我的函数不是上面的函数,它要复杂得多,所以我认为在这篇文章中使用一个简单的例子会很有用。顺便说一句,简单地将 -3 和 -2 更改为 0,将 3 和 2 更改为 1 对我的原始函数不起作用。或者,对我的情况可行的方法是将图形中我不想看到的部分(例如 x+y>=1)涂成白色,但我不知道该怎么做。

答案1

我终于解决了我的问题,使用 patch 命令,我只需为我不想看到的区域绘制一个多边形,然后选择填充颜色为白色。下面,我为 x+y 大于 1 的值绘制一个三角形,并将它们填充为白色。

v = [0 1; 1 0; 1 1]; f = [1 2 3]; patch('Faces',f,'Vertices',v,'FaceColor','white')

相关内容