Я решаю систему дифференциальных уравнений в питонах, чтобы найти Z
.
sol = solve_ivp(conv, tspan, Z0,method='BDF')
aa=sol.t
bb=sol.y
, тогда я нахожу X
как
X=v1.dot(bb) where `v1`is a transformation matrix.
Мне нужно найти значение второй строки X
на каждом шаге интеграции для выполнения программы как
X[:,0]=[0,0,0,0]
def conv(t,Z):
if (second element of 4*1 X )> .7
Zdot=A*Z+B*U
sol = solve_ivp(conv, tspan, Z0,method='BDF')
aa=sol.t
bb=sol.y
X=v1.dot(bb)
Я хочу, чтобы условие if проверялось на каждом шаге, а затем выполнялся Zdot=A*Z+B*U
. Я просто знаю, нет. строк X на каждом шаге интеграции, поэтому нельзя использовать для l oop. как мне это сделать?