サイズの異なる2つのnumpy配列がある場合、どうすればそれらを重ね合わせることができますか。
a = numpy([0, 10, 20, 30])
b = numpy([20, 30, 40, 50, 60, 70])
これらの2つのベクトルを追加して新しいベクトル(20、40、60、80、60、70)を生成する最もクリーンな方法は何ですか?
これは私の一般的な質問です。背景として、私は特にGreenの変換関数を適用しており、評価の各タイムステップの結果を以前に蓄積された応答に重ね合わせる必要があります。
これはあなたが探しているものかもしれません
if len(a) < len(b):
c = b.copy()
c[:len(a)] += a
else:
c = a.copy()
c[:len(b)] += b
基本的に、長い方をコピーしてから、短い方をインプレースで追加します
b
が高次元であることがわかっている場合は、次のようにします。
>>> a.resize(b.shape)
>>> c = a+b
は、あなたが必要とすることすべてです。