【发布时间】:2016-08-15 02:11:22
【问题描述】:
我是 Python 新手,但我正在努力学习。我正在尝试在 Python 中重新创建 Matlab for 循环。 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)
这给了我“无效的语法”。
我需要解决什么问题才能解决此错误?
【问题讨论】:
-
power 在 Python 中是
**。^是异或。 -
括号不匹配。数一数:一个打开的
(和两个关闭的)。 -
不是你的问题,如果你使用 numpy,购买这个循环可以向量化:
Acceleration_RMT5x = RMT5x[2:] -2*RMT5x[1:-1] +RMT5x[:-2]/(1/250)**2。不需要循环。