Очевидно, что ваше состояние P имеет 2 компонента. Таким образом, выражения, которые вы вычисляете из P, будут иметь два компонента. Затем вы пытаетесь присвоить эти кортежи одной ячейке в массиве dP
, что невозможно и приводит к появлению этого сообщения об ошибке.
Возможно, вы захотите заменить P
его первым элементом P[0]
в этих выражениях. Или используйте
def rhs(t, u):
P,phi = u
dP = ...
dphi = ...
return [dP, dphi]