私はNumPyを使用して、大きなボックスと小さなボックスの間のApertureでY切片を見つける計算をしています。大きな箱には100,000個以上の粒子があり、小さな箱には1000個以上の粒子があります。そしてそれはそうするために多くの時間がかかります。すべてのself.YD、self.XDは、私が乗算している非常に大きな配列です。計算 - numpy pythonのバグ
PS:indは、乗算する必要がある値のインデックスです。私は自分のコードでその行の前に非ゼロの条件を持っていました。
私はこの計算を簡単な方法でどのように行うのですか?
YD_zero = self.oldYD[ind] - ((self.oldYD[ind]-self.YD[ind]) * self.oldXD[ind])/(self.oldXD[ind]-self.XD[ind])
ありがとうございます!乗算、除算、減算し、numpyののすべてのものを使用して
UPDATE
でしょう。早くする? もしかすると私は計算を分割します。例えば。最初にこれを行うには
:
YD_zero = self.oldYD[ind] - ((self.oldYD[ind]-self.YD[ind])*self.oldXD[ind])
し、次の行は次のようになります。
YD_zero /= (self.oldXD[ind]-self.XD[ind])
任意の提案!私は今しばらく、これを理解しようとしている2
UPDATEではなく、多くの進歩。私の懸念は、分母が次のように分母であるということです。
self.oldXL[ind]-self.XL[ind] == 0
そして私は奇妙な結果を得ています。
もう1つは非ゼロ関数です。私はしばらくそれをテストしています。 Matlabで見つけたものとほとんど同じだと誰にでも教えてもらえますか?
は、重大な精度の損失ですか? – Wok
本当に正確なデータが必要です。 –
シンプルにすると、CPUのサイクル数は少なくなりますか? –