82

メッシュグリッドのような機能の明確な比較を探しています。残念ながら見つかりません!

Numpy http://docs.scipy.org/doc/numpy/reference/提供

  • mgrid

  • ogrid

  • meshgrid

Scitools http://hplgit.github.io/scitools/doc/api/html/index.htmlが提供します

  • ndgrid

  • boxgrid

理想的には、これらすべてを要約した表があれば完璧です!

4

2 に答える 2

89

numpy.meshgridMatlab のmeshgridコマンドをモデルにしています。2 変数の関数をベクトル化するために使用されるため、次のように記述できます。

x = numpy.array([1, 2, 3])
y = numpy.array([10, 20, 30]) 
XX, YY = numpy.meshgrid(x, y)
ZZ = XX + YY

ZZ => array([[11, 12, 13],
             [21, 22, 23],
             [31, 32, 33]])

したがって、関数に入れられるとZZのすべての組み合わせが含まれます。あなたがそれについて考えるとき、彼らはブロードキャストするので、派手な配列には少し余分です。これは、あなたができることを意味しますxymeshgrid

XX, YY = numpy.atleast_2d(x, y)
YY = YY.T # transpose to allow broadcasting
ZZ = XX + YY

同じ結果が得られます。

mgridogridは、インデックス表記を使用するヘルパー クラスであるため、前の例で と などを使用せずに と を直接作成XXできYYますlinspace。出力が生成される順序が逆になります。

YY, XX = numpy.mgrid[10:40:10, 1:4]
ZZ = XX + YY # These are equivalent to the output of meshgrid

YY, XX = numpy.ogrid[10:40:10, 1:4]
ZZ = XX + YY # These are equivalent to the atleast_2d example

私は scitools のことには詳しくありませんが、ndgridと同等のように見えますがmeshgridBoxGrid実際には、この種の生成を支援するクラス全体です。

于 2012-09-13T10:40:34.653 に答える