2

私は暗黙の関数を持っています、例えば:

f(x,y) = x**y + y**y - 3*x

メッシュグリッドのルートを解きたい。したがって、f(x、y)= 0

ソリューションの描画は簡単です。

x = linspace(-2,2,11)
y = linspace(-2,2,11)
(X,Y) = meshgrid(x,y)

A = X**Y + Y**Y - 3*X
contour(X,Y,A,0)

これはうまく機能します。必要な曲線の描画がありますが、視覚的なプロットだけでなく、プロットにあるデータが必要です。では、どうすればプロットのデータを見つけることができますか?

4

1 に答える 1

3

次を使用して、「[matplotlib]プロットにあるデータ」を取得できます。

cs = contour(X,Y,A,0)
data = cs.collections[0].get_paths()[1]

等高線を直接計算するためのさまざまなアルゴリズムがありますが、numpy/scipyのバージョンはわかりません。 マーチングスクエアは私がいつもここにいるものですが、アルゴリズムは特許を取得しており、その使用には厳しい制限があるため、matplotlibがそれを使用しているとは思えません。 これは、 matplotlibが等高線を計算する方法についてのちょっとしたチャットへのリンクです。

于 2010-06-28T23:34:02.510 に答える