假设我们有一些线性不等式,如2x-5y<=6
和x+y>=0
,我们该如何绘制这两个不等式?如果有多个这样的不等式,我们该如何尝试用图形解决它们呢?
假设我们有一些线性不等式,如2x-5y<=6
和x+y>=0
,我们该如何绘制这两个不等式?如果有多个这样的不等式,我们该如何尝试用图形解决它们呢?
将y隔离出来,我们可以看到两个不等式都是形如y>=ax+b
的。这意味着我们可以使用绘图、相应等式的函数以及函数在区间上取得的最大值来绘制这些不等式。
using Plots
f(x) = (2/5)x-6/5
g(x) = -x
X = -10:10
the_max = max(f(X[end]), g(X[1]))
plot(X, f, fill = (the_max, 0.5, :auto))
plot!(X, g, fill = (the_max, 0.5, :auto))
如果第二个方程的不等式被反转,我们会得到
using Plots
f(x) = (2/5)x-6/5
g(x) = -x
X = -10:10
the_max = max(f(X[end]), g(X[1]))
the_min = min(f(X[1]), g(X[end]))
plot(X, f, fill = (the_max, 0.5, :auto))
plot!(X, g, fill = (the_min, 0.5, :auto))
x
和y
组成的矩阵(使用meshgrid
的版本),然后让u=(2x-5y.<=6)
和v=(x+y.>=0)
。当方程被满足时,u
将为1,v
也是如此。您可以使用Plots.jl中的热图、等高线图或散点图来绘制(x,y,u)
和(x,y,v)
(通过绘图的粗细程度可以看出是否选择了足够精细的网格)。对于重叠部分,您可以绘制z=(u.==v)
。
>
和<
已被 Unicode 符号\gg[tab]
和\ll[tab]
(或Lt(f, 0) & Gt(g, 0)
)所取代。 - jverzani