A essência da minha pergunta é a seguinte: Eu tenho um sistema de dois EDOs. Um tem uma restrição de valor inicial e o outro tem uma restrição de valor final. Isso pode ser pensado como um sistema único com uma restrição de valor inicial em algumas variáveis e uma restrição de valor final em outras.
Aqui estão os detalhes:
Estou tentando usar um controlador LQR de horizonte finito de tempo contínuo para conduzir um sistema dinâmico linear. Eu gostaria de continuar usando o ecossistema Python.
O sistema está na forma , sujeito a x ( 0 ) = x 0
A solução LQR gera uma matriz modo que a entrada de controle ideal u (t), linear em x ( t ) , seja u ( t ) = K ( t ) x ( t ) .
onde
e é a solução para uma equação diferencial de Riccati em tempo contínuo (observe que este P ( t ) é uma matriz)
sujeito aP(tf)=Q
, B , x 0 , Q , Q f , R , t f são todos dados.
. Isso me preocupa porque o solucionador numérico de ODE para x (t) não necessariamente amostrará o ODE nos mesmos horários que os tempos na solução numérica para $ P (t). Talvez haja alguma maneira inteligente de fazer isso.
A outra maneira que prevejo resolver o problema é resolver o sistema juntos, mas não sei como lidar com a mistura de restrições de valor inicial e final. Esses problemas computacionalmente são pesados para resolver? Posso fazer isso no SciPy / Python?