graphimproved.asv

来自「自己做的毕设」· ASV 代码 · 共 52 行

ASV
52
字号
global N M
N=10;M=4;
radius=5;
actualunknownnodecoor=10*rand(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=10;
absolute_error_value=0.0001;
%% initial_value=10*randn(N,2);
initial_value=10*zeros(N,2);
a0 = initial_value;
e = calcuEmax(a0,b,Da,Dab,Wa,Wab);
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,b,Da,Dab,Wa,Wab,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 + =
减小字号Ctrl + -
显示快捷键?