我如何将这个matlab代码转换为python?

时间:2016-04-02 08:58:43

标签: python matlab

我有一个MATLAB代码,我想将其转换为python。它非常简单,但我不知道如何在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

2 个答案:

答案 0 :(得分:0)

似乎这只是较大程序的一部分,因此我无法填写您未显示的内容。但这部分将是这样的:

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])

答案 1 :(得分:0)

在使用uy时,我会对nbeforenafter的索引要小心,这样我就不会出现索引超出范围的错误。

这是一种Pythonic方式 -

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)]