ODES: ValueError: setting an array element with a sequence
ODES: ValueError: setting an array element with a sequence
我正在尝试在 python 中定义以下 ODES 系统:
这样:
def rhs(t, P):
dP = np.zeros_like(P)
dP[0] = np.sqrt((1 - 3 / P) * (2 + 4 / P**2))
dP[1] = 1 / math.pow(P,2)
return dP
但是,我收到一个错误:
ValueError: setting an array element with a sequence.
我不确定是什么问题...如果有任何帮助,我们将不胜感激!
显然,您的状态 P 有 2 个组件。因此,您从 P 计算出的表达式也将具有两个分量。然后您尝试将这些元组分配给数组 dP
中的单个单元格,这是不可能的,并会导致该错误消息。
您可能想用这些表达式中的第一个元素 P[0]
替换 P
。或者使用
def rhs(t, u):
P,phi = u
dP = ...
dphi = ...
return [dP, dphi]
我正在尝试在 python 中定义以下 ODES 系统:
这样:
def rhs(t, P):
dP = np.zeros_like(P)
dP[0] = np.sqrt((1 - 3 / P) * (2 + 4 / P**2))
dP[1] = 1 / math.pow(P,2)
return dP
但是,我收到一个错误:
ValueError: setting an array element with a sequence.
我不确定是什么问题...如果有任何帮助,我们将不胜感激!
显然,您的状态 P 有 2 个组件。因此,您从 P 计算出的表达式也将具有两个分量。然后您尝试将这些元组分配给数组 dP
中的单个单元格,这是不可能的,并会导致该错误消息。
您可能想用这些表达式中的第一个元素 P[0]
替换 P
。或者使用
def rhs(t, u):
P,phi = u
dP = ...
dphi = ...
return [dP, dphi]