5.6.7 最適な制御入力を出力する関数の作成 について
Closed this issue · 1 comments
asei-proxima commented
これは誤りの指摘ではなくて質問ですが、共有したいのでここに投稿します。
5.6.7 節に以下のコードが書かれています。
def compute_optimal_control(S, x_init, x0):
x_init = x_init.full().ravel().tolist()
lbx = x_init + x_lb * K + u_lb * K
ubx = x_init + x_ub * K + u_ub * K
lbg = [0] * nx * K
ubg = [0] * nx * K
res = S(lbx=lbx, ubx=ubx, lbg=lbg, ubg=ubg, x0=x0)
offset = nx * (K + 1)
x0 = res["x"]
u_opt = x0[offset : offset + nu]
return u_opt, x0
この関数は x0
という引数を受け取ってそれを x0 = res["x"]
で上書きして、更新された x0
を返り値として返しているようですが、print
してみると引数の x0
と更新された x0
の値は同じであるように見え、どういう更新を x0
に対して行いたいのか疑問に思いました。
asei-proxima commented
自己解決したのでクローズします