我想提一下,我是 CVX 社区的新手。所以,我的怀疑可能是愚蠢的。由于我无法弄清楚我的代码的问题,我决定在这里发布它。我正在尝试实现论文中所述的算法,标题为-
从不完整的噪声距离测量中定位。(论文链接)
如果论文无法访问,我还将在我的:google drive 链接中上传算法的快照
我正在处理一个无噪音场景中的完整图表。所以根据理论,我应该得到完美的重建。但这并没有给我正确的结果,而且错误值很高。
我写的代码如下——
% E: n-by-n matrix where (i,j)th element represents the distance between ith and jth node
% N: Number of nodes
% d: dimension of the space where nodes are embedded
%% Calling CVX Package
Q = zeros(N,N);
Mij = zeros(N,N);
cvx_precision best;
cvx_begin
variable Q(N,N) semidefinite % Defining variables
minimize(trace(Q)) % Objective function
subject to
% Constraints
for i = 1:N-1
for j = i:N
if E(i,j) ~= 0
Mij = Mij-Mij;
Mij(i,j) = -1;
Mij(j,i) = -1;
Mij(i,i) = 1;
Mij(j,j) = 1;
trace(Mij*Q) == square_pos(E(i,j));
end
end
end
cvx_end
[U,S,~] = svd(Q);
X_est = U(:,1:d)*sqrt(S(1:d,1:d));
X_est = X_est';
算法 SDP-based Algorithm for Localization