2016-09-20 77 views
1

假設我們有一對線性不等式如2x-5y<=6x+y>=0,我們如何繪製這兩個不等式?爲了擴大這一點,如果我們有多個這樣的不平等,我們如何試圖解決這個圖形?繪製茱莉亞的線性方程/不等式

回答

3

隔離ÿ節目我們這兩個都是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)) 

這讓我們 enter image description here

有第二個公式有其不平等翻轉,我們將有

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)) 

很明顯,你將要自動尋找最小和最大的precedure如果有很多這樣的不平等情節。此外,這種重寫取決於線性,但你的問題具體提到它們是線性的。

enter image description here

1

您可以對您想要繪製(使用一個版本的meshgrid)間隔xy矩陣,然後讓u=(2x-5y.<=6)和。然後u將在等式滿足時爲1,對於v也是如此。您可以使用Plots.jl中的熱圖,等值線圖或散點圖,然後繪製(x,y,u)(x,y,v)(如果您選擇一個足夠精細的網格,則該圖的粗略程度會很粗糙)。對於重疊,您可以繪製z=(u.==v)

2

您可以嘗試ImplicitEquations

using ImplicitEquations, Plots 
f(x,y) = 2x - 5y - 6 
g(x,y) = x + y - 0 
plot((f < 0) & (g > 0)) 

在該地區在默認矩形[-5,5]所得,[-5,5]:

rendered image

1

看一看IntervalConstraintProgramming.jl(仍然非常進展中的工作...)

+0

那包看上去很不錯。 – jverzani