2015-06-22 3 views
2

Я новичок в 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

Похоже, распаковывает – Zizouz212

+1

типы Какие данные 'M' и' v [я + 1] '? – Brien

+3

'**' - это либо экспроприация, либо расширение аргументов ключевого слова в любом месте, где я его видел. что такое 'v', что такое' L', какая книга? –

ответ

9

Этот код из книги «Элементарные механика Использование Python: современный курс Объединяя аналитические и численные методы».
Согласно формуле на странице 255: enter image description here

Так линия Python должна быть:

T[i+1] = m*v[i+1]**2/L + m*g*cos(s[i+1]/L) 
+0

Я понял это неправильно. Спасибо за исправление и замечание математической формулы. Кажется, он работает с IronPython 2.7 в Visual Studio с моей настройкой. Это работает как ожидалось, спасибо Delimitry – DaiWei

+3

Тогда вам нужно прекратить использование IronPython 2.7 и/pr Visual Studio. Он принимает бессмысленный синтаксис! –

5

Что с двойной звездочкой часть этого кода?

Ответ на ваши основные вопросы (по крайней мере, поскольку он существует в этом письме) - это двойная звездочка (звезда) - сила - «поднять силу». Таким образом, i**3 будет «кубом i».

My (перепроверить) Источник: https://stackoverflow.com/a/1044866/18196