For循环错误?

2024-09-28 13:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还不熟悉,但我正在努力学习。我正在尝试用Python重新创建一个Matlabfor循环。Matlab for循环如下所示:

for i = 2:(L-1)
    Acceleration_RMT5_x(i-1) = (RMT5(i+1,1)-2*RMT5(i,1)+RMT5(i
    1,1))/(1/FrameRate)^2;
end

数据类型是float64,是一个288x1向量。到目前为止,我的Python是:

for i in RMT5x:

  Acceleration_RMT5x = RMT5x[i+1] -2*RMT5x[i] +RMT5x[i-1]/(1/250)^2)

这给了我“无效语法”。你知道吗

我需要修复什么才能解决此错误?你知道吗


Tags: infor错误语法向量end数据类型matlab
2条回答

我会使用列表理解:

import numpy as np
Acceleration_RMT5x = [np.power( (RMT5(i+1,1)-2*RMT5(i,1)+RMT5(i-1,1))/(1/FrameRate), 2)]

要在Python中提升某些功能,需要**而不是^

另外,您正在遍历RMT5x,但是您试图使用值(i)作为索引。相反,您希望循环遍历索引。你知道吗

Acceleration_RMT5x = list()

for i in range(1, len(RMT5x)-1):
    Acceleration_RMT5x.append(RMT5x[i+1] -2*RMT5x[i] +RMT5x[i-1]/(1./250)**2)

相关问题 更多 >

    热门问题