小编Stj*_*rac的帖子

如何在Python中定义依赖于函数的函数?

我需要绘制颗粒的位置在时间t,给出以下公式:s(t) = -0.5*g(s)*t^2+v0*t,其中g(s) = G*M/(R+s(t))^2(G,M,和R是常数,s是一个值,而不是函数s(t)).粒子被垂直射击,我想每秒打印它的当前位置,直到它撞到地面.但我无法弄清楚如何定义一个函数而不使用另一个函数定义之前.到目前为止这是我的代码:

G =  6.6742*10^(-11)
M = 5.9736*10^24
R = 6371000
s0 = 0
v0 = 300
t = 0
dt = 0.005

def g(s):
    def s(t):
        s(t) = -0.5*g(s)*t^2+v0*t
    g(s) = G*M/(R+s(t))^2


def v(t):
    v(t) = v(t-dt)-g(s(t-dt))*dt


while s(t) >= 0:
    s(t) = s(t-dt)+v(t)*dt
    t = t+dt

if t == int(t):
    print s(t)
Run Code Online (Sandbox Code Playgroud)

当我运行该函数时,它表示它无法分配函数调用.

python function projectile

2
推荐指数
1
解决办法
965
查看次数

标签 统计

function ×1

projectile ×1

python ×1