私はPythonに翻訳したいMATLABコードを持っています。非常にシンプルですが、Pythonで書く方法はわかりません。これはコードです:このmatlabコードをどのようにしてPythonに変換できますか?
for n=1:N
nbefore=n-1;
nafter=n+1;
ynew(n)=dt*u(n)+y(n);
unew(n)=dt*(k/m)*(y(nafter)+y(nbefore);
end
私はPythonに翻訳したいMATLABコードを持っています。非常にシンプルですが、Pythonで書く方法はわかりません。これはコードです:このmatlabコードをどのようにしてPythonに変換できますか?
for n=1:N
nbefore=n-1;
nafter=n+1;
ynew(n)=dt*u(n)+y(n);
unew(n)=dt*(k/m)*(y(nafter)+y(nbefore);
end
:しかし、この部分は次のようなものになるだろう。
ynew = [dt * u[i] + y[i] for i in xrange(1,n+1)]
unew = [dt * (k/m) * (y[i+1] + y[i-1]) for i in xrange(1,n+1)]
- ここ
はPython的な方法です
これは大きなプログラムの一部にすぎないと思われますので、私はあなたが表示していないものを記入することはできません。私は境界エラーのうちのインデックスを取得しないように、私はu
とy
nbefore
を使用し、nafter
のインデックス作成には注意でしょう
for n in range (1, N + 1):
nbefore = n - 1
nafter = n + 1
ynew[n] = dt * u[n] + y[n]
unew[n] = dt * (k/m) * (y[nafter] + y[nbefore])