2016-09-20 26 views
1

2x-5y<=6x+y>=0のような線形不等式が2つあると仮定して、2つの不等式をプロットするにはどうすればよいですか?これを拡張するには、このような不等式が複数ある場合、これをどのようにグラフで解決しようとしますか?あなたは(meshgridのバージョンを使用して)プロットしたい間隔にxyの行列を作ることができますJuliaの線形方程式/不等式をプロットする

答えて

3

をyのショーを分離します私たちはどちらも形式がy>=ax+bの不等式です。これは、プロット、等価バージョンの関数、および関数がその間隔で取得する最大値を使用して不等式をプロットできることを意味します。私たち 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])) 

plot(X, f, fill = (the_max, 0.5, :auto)) 
plot!(X, g, fill = (the_max, 0.5, :auto)) 

は、あなたが最小値と最大値を見つけるprecedureを自動化したいと思う、我々は明らかに

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

を持つことになり、第2式は、その不平等が反転していた持っていましたそのような不等式がたくさんある場合はプロットする。また、この書き換えは線形性に依存しますが、あなたの質問には特に線形であると書かれています。

enter image description here

1

、その後、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

パッケージは素晴らしい見えること

+0

(...まだ非常に多くの作業中)IntervalConstraintProgramming.jlを見てください。 – jverzani

関連する問題