2016-04-02 13 views
-5

Ich habe einen MATLAB-Code, den ich in Python übersetzen möchte. Es ist sehr einfach, aber ich weiß nicht, wie man es in Python schreibt. Dies ist der Code:Wie kann ich diesen Matlab-Code in Python konvertieren?

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 

Antwort

0

ich über die Indizierung von u vorsichtig sein würde und y bei der Verwendung von nbefore und nafter so, dass ich nicht Indexfehler außerhalb der Grenzen erhalte. Hier

ist ein Pythonic Weg -

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

Scheint, dass dies nur ein Teil eines größeren Programms ist, so kann ich nicht ausfüllen, was Sie nicht zeigen. Aber dieser Teil wäre so etwas wie:

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