我编写了以下代码,该代码定义了稍后我将使用的一些函数:
def dy1_dt(t, y1, y2, y3, y5, y6, i):
S=pi*y5**2
return -G*m_range[i]/y2**2+(1.0/(2.0*y3)*C_D*rho_range[i]*(y1**2+y2**2*y6**2)*cos(phi)*S
def dy2_dt(t, y1, i):
return y1
def dy3_dt(t, y1, y2, y5, y6, i):
S=pi*y5**2
return -0.5*C_H*rho_range[i]*(y1**2+y2**2*y6**2)**(1.50)*S/Q_abl
def dy4_dt(t, y1, y2, y5, y6, i):
return C_D*rho_range[i]/(2*iron_den)*(y1**2+y2**2*y6**2)/y5
def dy5_dt(t, y1, y2, y3, y5, y6, i):
S=pi*y5**2
return -y5/(6.0*y3)*C_H*rho_range[i]*(y1**2+y2**2*y6**2)**(1.50)*S/Q_abl
def dy6_dt(t, y1, y2, y3, y6, i):
return -C_D*rho_range[i]/(2*y3*y2)*(y1**2+y2**2*y6**2)*sin(phi)*S-((y1*y6)/y2)
def dy7_dt(t, y6, i):
return y6
我在' dy2_dt(t,y1,i)'的行中收到错误消息说“语法无效”#。我不知道其中实际包含了什么无效语法 - 似乎一切都很顺利。
答案 0 :(得分:2)
您的代码确实无效,您忘记关闭括号。
如果展开第一个功能,则会显示:
def dy1_dt(t, y1, y2, y3, y5, y6, i):
S=pi*y5**2
return (
-G *
m_range[i] /
y2 **
2 +
(
1.0 /
(2.0 *y3 ) *
C_D *
rho_range[i] *
(
y1 **
2 +
y2 **
2 *
y6 **
2
) *
cos(phi) *
S