2017-03-05 22 views
1

私は、2つの関数の比率値をプロ​​ットするための比率値をプロ​​ットできる方法を見つけようとしています。2つの関数依存値の「関係」をプロットする

たとえば、2つの従属変数xy f(x)= g(y)を持つ2つの関数のルーツを見つけるのが好きでしょう。しかし、彼らの機能に基づいて、xyの関係をプロットしたいと思います。例えば

enter image description here

、同じN(> M_h)= N(> M_star)のためにここでこれらの値が一致参照しようとするようなものです。 x値(この画像から切り取られたもの)が一致するy値と一致するかどうかを確認し、M_h(M_star)やM_star(M_h)などの関係をプロットします。

このような方法を開始する方法がわからないため、残念なことにサンプルコードはありません。

もっと精緻化する必要がある場合は、教えてください。機能f(x)g(y)を条件2つのindependend変数xyの関係をプロット

答えて

1

f(x)-g(y) = 0で等高線をプロットすることによって行うことができます。

enter image description here

import numpy as np 
import matplotlib.pyplot as plt 

f = lambda x: x**2 
g = lambda y: np.sqrt(y) 

x = np.linspace(0,2,101) 
y = np.linspace(0,10,101) 

fig, (ax, ax2, ax3) = plt.subplots(ncols=3, figsize=(10,4)) 

ax.plot(x, f(x)) 
ax.plot([1.5],[f(1.5)], marker="o") 
ax2.plot(y, g(y)) 
ax2.plot([f(1.5)**2],[f(1.5)], marker="o") 

#create a meshgrid from the x and y array 
X,Y = np.meshgrid(x,y) 
#plot the contour f(X)-g(Y) = 0 
c = ax3.contour(X,Y, f(X)-g(Y), 0) 
ax3.plot([1.5],[f(1.5)**2], marker="o") 

ax.set_ylim([0,4]) 
ax2.set_ylim([0,4]) 
ax.set_xlabel("x") 
ax.set_ylabel("f(x)") 
ax2.set_xlabel("y") 
ax2.set_ylabel("g(y)") 
ax3.set_xlabel("x") 
ax3.set_ylabel("y") 

ax3.legend(handles=[c.collections[0]], labels=["f(x) = g(y)"]) 
plt.tight_layout() 
plt.show() 
関連する問題