⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphtest.asv

📁 自己做的毕设
💻 ASV
字号:
global N M    %%N是未知节点数目,M是已知节点数目
N=10;M=4;
radius=5;     %%设通信半径为5m
actualunknownnodecoor=8*rand(N,2)+ones(N,2);     %%未知节点实际坐标分布在8*8的区域内
%%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');             %%计算未知节点和 信标节点之间的欧拉距离;L2_distance调用函数,计算两个坐标矩阵所代表的点阵之间欧拉距离
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=zeros(N,2);
a0=initial_value;
[a1,segmaX0]=matrix_optimal(a0,refnodecoor,undis,refdis,CN,CNM);
segmaX1=segmaX0;
k=0;
while(k==0|(segmaX0-segmaX1>absolute_error_value&&k<=iterative_time))
    k=k+1;
    segmaX0=segmaX1;
    a0=a1;
    [a1,segmaX1]=matrix_optimal(a0,refnodecoor,undis,refdis,CN,CNM);
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 + -