一个函数中有两个变量,两个变量有初始的给定范围,想用图形来表示两个变量在什么样的取值范围内能使得函数的值恒大于0(比如z=18x+y≥100,x的给定范围是x≥3,y的给定范围是y≥1)如何在matlab上生成这两个变量取值范围的临界线图形(二维图形,横纵坐标分别是x,y)?谢谢
同时满足18x+y>=100、x>=3、y>=1的点,一定位于直线y=100-18x的上方、直线x=3的右侧、直线x=99/18的左侧。绘图代码如下:
>>> import matplotlib.pyplot as plt
>>> plt.plot((3,99/18), (46,1), c='r')
[<matplotlib.lines.Line2D object at 0x0000015A92FF7A48>]
>>> plt.plot((3,3), (46,50), c='r')
[<matplotlib.lines.Line2D object at 0x0000015A9037C588>]
>>> plt.plot((99/18,99/18), (1,50), c='r')
[<matplotlib.lines.Line2D object at 0x0000015A8FEF2D08>]
>>> plt.show()
显示效果如下:
绘制直线相对简单,如果是曲线的话,建议导入numpy,在绘图区间内生成几百个数据点,就可以保证曲线有足够的圆滑度。