📄 graphimproved.m
字号:
global N M %%N:未知节点数目,M:信标节点数目
N=10;M=4;
radius=5;
%%actualunknownnodecoor=10*rand(N,2);
actualunknownnodecoor=8*rand(N,2)+ones(N,2);
%%refnodecoor=10*rand(M,2);
refnodecoor=[0 0;10 0;10 10;0 10];
undis=L2_distance(actualunknownnodecoor',actualunknownnodecoor');
refdis=L2_distance(actualunknownnodecoor',refnodecoor');
CN=zeros(N);
CNM=zeros(N,M);
for i=1:N
for j=1:N
if(i~=j&&undis(i,j)<=radius)
CN(i,j)=1;
end
end
end
for i=1:N
for j=1:M
if(refdis(i,j)<=radius)
CNM(i,j)=1;
end
end
end
iterative_time=60;
absolute_error_value=0.0001;
initial_value=10*randn(N,2);
%%initial_value=10*zeros(N,2);
a0 = initial_value;
e = calcuEmax(a0,refnodecoor,undis,refdis,CN,CNM);
for i = 0:10
e = e-e/10*i;
k = 0;
[a1,segmaX0] = DistanceSmoothOptimal(a0,refnodecoor,undis,refdis,CN,CNM,e);
segmaX1 = segmaX0;
while(k==0|(segmaX0-segmaX1>absolute_error_value&&k<=iterative_time))
k = k+1;
segmaX0 = segmaX1;
a0 = a1;
[a1,segmaX1] = DistanceSmoothOptimal(a0,refnodecoor,undis,refdis,CN,CNM,e);
end
end
calcoor = a1;
rectangle('Position',[0,0,10,10]);
axis auto;
grid on;
hold on;
plot(actualunknownnodecoor(:,1),actualunknownnodecoor(:,2),'r*');
plot(refnodecoor(:,1),refnodecoor(:,2),'ko');
plot(calcoor(:,1),calcoor(:,2),'bd');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -