[未答复] CVX PSD计算问题请教

[复制链接]
日暮苍山远1994 发表于 2021-11-24 22:11:07
其中,s,E,V都已知。一个式子加减同时存在怎么写?
我的代码
S = [ ] * 1e6;
V = [ ]*1e3;
x = [0.37780202, 3.15597773, 5.52147726]'*1e6;
c = 3e8;
t_true = zeros(5,3);
v = zeros(5,3);

%% 得到测得的TDOA,FDOA
for i = 1:5     %5个时刻
    for j = 1:3 %3个卫星
        t_true(i,j) = norm(S([1:3] + (i-1)*3,j)-x)/c;
        v(i,j) = (S([1:3] + (i-1)*3,j)-x)'*V([1:3] + (i-1)*3,j)/(c*norm(S([1:3] + (i-1)*3,j)-x));
    end
end
delta_t = [t_true(:,1)-t_true(:,2) t_true(:,1)-t_true(:,3) t_true(:,2)-t_true(:,3)];
delta_f = [v(:,1)-v(:,2) v(:,1)-v(:,3) v(:,2)-v(:,3)];
%%
G = [1 -1 0; 1 0 -1; 0 1 -1];
E = [G'*G -G'*delta_t(1,:)'; -delta_t(1,:)*G delta_t(1,:)*delta_t(1,:)'];
V = [G'*G -G'*delta_f(1,:)'; -delta_f(1,:)*G delta_f(1,:)*delta_f(1,:)'];
n = 3;
cvx_begin sdp
    variables x1(3) z(1) t(3) f(3)
    variables T(3,3)  F(3,3)
    for i = 1:n
            for j = 1:n
                  R(i,j)  = ([S([1:3],i) + V([1:3],i); -1]' * [eye(n) x1;x1' z] * [S([1:3],j)+V([1:3],j); -1] - V([1:3],i)'*V([1:3],j))/c^2;
            end
    end
    minimize(trace([T t; t' 1]*E) + trace([F f; f' 1]*V) + 1e-6*sum(sum(T,1),2)+ 1e-1*trace(F))
    subject to
        for l = 1:n
            for k = 1:n
                if (l == k)
                    T(l,k) == [S([1:3],l); -1]' * [eye(n) x1;x1' z] * [S([1:3],l); -1]/c^2;
                else
                    T(l,k) >= abs([S([1:3],l); -1]' * [eye(n) x1;x1' z] * [S([1:3],k); -1]/c^2);
                end
            end
        end
        [1 (t+f)';t+f F + R] == semidefinite(4);
        [1 (t-f)';t-f F + R] == semidefinite(4);
        [T t; t' 1] == semidefinite(4);
        [F f; f' 1] == semidefinite(4);
        [eye(3) x1; x1' z] == semidefinite(4);
cvx_end

我现在的结果

求各位大佬指教一下 哪里出错了
下载.png
下载 (1).png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表