さて、これが何をしようとしているのですか?Pythonでnumpy.arrayの各要素に数式を適用する
私の入力は(D、y) Yは配列内のいくつの要素なので、Yが3の場合は配列が([1,2,3])、51ならば配列([1,2,3 ... 51])です。 ので、このために行うイム= D *(T [K + 1] -T [K])+ D
K以下れる
def okay(D,y):
T=np.arange(y)
iは、アレイに適用する方程式ものですしたがって、kはT配列内の任意のインデックスであり、Dは関数の先頭で指定された値である。
基本的に何が起こっているのかは、操作後の配列の任意の要素の新しい値がD *([要素の前の要素] - [要素自体])+ D *([それ以前のエレメンツ - [要素そのもの])
だから、これは一般に簡単なようです。私は私が試してみて、エリア内のすべての単一の要素のためにこれを行う機能を作るたび
d=3
T=np.array([23,17,46,2])
T[1] = d*(T[2]-T[1])+d*(T[0]-T[1])
print(T)
は、しかし、私の問題が表示され、個々のインデックスを指定することで、単純な配列でそれを行うことができました。 k面をどのように設定するかを理解することはできません。つまり、関数は配列の任意の点を意味すると理解しています。だから、私は5000の値の配列を持っている場合、それは、インデックス自体を使用して、それぞれの操作を行い、infront /背後にある。
私はintとiと "for element in T"を使ってみましたが、決してエラーを終了しません。それらは前またはそれらの後に任意の値を持っていけないので
第二に、機能は、エンドポイントの異なる式を実行する必要があります。
Tの変化[0] = D *(T [1] -T [0] )
Tの変化[L-1] = D *(T [L-2] -T [L-1])
Iは、関数にこれらを組み込む方法がわかりません。
ありがとうございました!
ループを作成し、結果の配列要素を要素ごとに構築してください。このループの中で、2つの特別なケース(エンドポイント)を追加してください。 –
スライス、 'T [1:]'、 'T [ - - 1]'などでほとんどの値を計算してみてください。 – hpaulj