私は異なる長さの2つの配列(aとb)を持っています。私も重みのセットを持っているので、xに等しいa + bの重み付けされた組み合わせを見つける必要があります。重みの合計は常に等しい1xと等しい長さの配列の重み付けされた組み合わせを見つけるにはどうすればよいですか?
なければならない私は、次のことを試してみました:
import numpy as np
a = np.arange(1.2, 1.7, 0.1)
b = np.arange(0.0, 0.9, 0.1)
x = 0.6
weights = np.arange(0.05, 1.05, 0.05)
a.resize(b.shape)
lw = []
for w in weights:
for y in weights:
np.where((w * a + y * b) == x, lw.append(w), np.nan)
これは私の20の* 20の重みのリスト、すなわち、すべての重みを与えます。
私は重みを持つリスト必要があります:私はこれを行うことができますどのように* A +のy * bの= X
ワット任意のアイデアを?
ド: 'np.argwhere(np.isclose((重み[:なし、なし] * A)+(重み[:なし] * b)に示すように、 x)) 'を実行し、最初の2つの列を重み付けに使用し、最後の列は' a'と 'b'の対応する要素をIDで識別します。 – Divakar
@Divakar重みの合計が常に1に等しくなければならないことを忘れていました。上記の質問に追加されました。 – cJc