我具有以下目标函数:
我不确定如何在cvx中编写它。
这是我的尝试:
cvx_begin sdp
variable Q(T,n,N)
%variable X_0T*Q(:,:,N) symmetric
obj = trace(X_0T*Q(:,:,N));
for j = 1:N-1
obj= obj + trace(X_0T*Q(:,:,j)))
subject to
[X_0T*Q(:,:,j+1)-eye(n), X_1T*Q(:,:,j); Q(:,:,j)'*X_1T', X_0T*Q(:,:,j)] >= 0;
X_0T*Q(:,:,1) >= eye(n);
end
minimize(obj)
cvx_end
K_cvx_df = -U_01T*Q(:,:,N)*pinv(X_0T*Q(:,:,N))
但是,当我尝试求解N到无穷大时,它为我提供了与无限时域情况不同的解决方案,
cvx_begin sdp
variable Q(T,n)
minimize( trace(X_0T*Q))
subject to
[X_0T*Q-eye(n), X_1T*Q; Q'*X_1T', X_0T*Q] >= 0
cvx_end
K_cvx_d = -U_01T*Q*inv(X_0T*Q)