我是Python新手,真的很难过。我正在读一本书,代码工作得很好;我只是不明白!
T[i+1] = m*v[i+1]ˆ**/L
此代码的双星号部分是什么?它甚至出现了正斜杠。变量L初始化为值1.0但是,看起来有人瘫倒在键盘上,但代码工作正常。这是一个数学表达还是更多的东西?我很感激帮助理解这一点。谢谢!
完整代码:
from pylab import *
g = 9.8 # m/sˆ2
dt = 0.01 # s
time = 10.0 # s
v0 = 2.0 # s
D = 0.05 #
L = 1.0 # m
m = 0.5 # kg
# Numerical initialization
n = int(round(time/dt))
t = zeros(n,float)
s = zeros(n,float)
v = zeros(n,float)
T = zeros(n,float)
# Initial conditions
v[0] = v0
s[0] = 0.0
# Simulation loop
i = 0
while (i<n AND T[i]>=0.0):
t[i+1] = t[i] + dt
a = -D/m*v[i]*abs(v[i])-g*sin(s[i]/L)
v[i+1] = v[i] + a*dt
s[i+1] = s[i] + v[i+1]*dt
T[i+1] = m*v[i+1]ˆ**/L + m*g*cos(s[i+1]/L)
i = i + 1
答案 0 :(得分:11)
本代码来自书籍#34;使用Python的基础力学:结合分析和数值技术的现代课程&#34;。
根据第255页的公式:
所以Python行应该是:
T[i+1] = m*v[i+1]**2/L + m*g*cos(s[i+1]/L)
答案 1 :(得分:8)
此代码的双星号部分是什么?
你的核心问题的答案(至少在写作中存在)是双星号(星号)就是力量 - “提升能力”。因此,i**3
将是“cube i
”。
我的(交叉检查)来源:https://stackoverflow.com/a/1044866/18196