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

📄 第二次模拟题prim算法.m

📁 many matlab script ,i colect many things about mathmatics and many method of math problem
💻 M
字号:
x=zuobiao(:,1);
y=zuobiao(:,2);
n=zuobiao(:,3);
maxright=500;
num=96;
for i=1:num
    for j=1:num
        if(i~=j)    
            avalue(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);
        end
        if(i==j)
            avalue(i,j)=maxright;
        end
    end
end
avalue(34,86)=sqrt((90-x(34))^2+(75-y(34))^2)+sqrt((90-x(86))^2+(75-y(86))^2);
avalue(86,34)=avalue(37,86);
avalue(34,12)=sqrt((90-x(34))^2+(75-y(34))^2)+sqrt((90-x(12))^2+(75-y(12))^2);
avalue(12,34)=avalue(34,12);
in=zeros(num,1);
in(1)=1;
path=zeros(num,2);
min=maxright;
v1=1;
v2=1;
for i=1:num-1
    for j=1:num
        for k=1:num
            if(in(j)==1)
                if(in(k)==0)
                    if(avalue(j,k)<min)
                        v1=j;
                        v2=k;
                        min=avalue(j,k);
                    end
                end
            end
        end
    end
    if(in(v2)==0)
          path(i,1)=v1;
          path(i,2)=v2;
          in(v1)=1;
          in(v2)=1;
          min=maxright;
    end
end
s=0;
for i=1:num-1
    x1=x(path(i,:));
    y1=y(path(i,:));
    n1=n(path(i,:));
    s=s+avalue(path(i,1),path(i,2));
    if(x1(1)~=x(34))
        plot(x1,y1,'*-');
        hold on
    end
    if(x1(1)==x(34))
        plot([x(34),90,x(12)],[y(34),75,y(12)]);
        hold on
    end
end
plot(zhangai([1,2,3,1],1),zhangai([1,2,3,1],2),zhangai([4,5,6,8,7,4],1),zhangai([4,5,6,8,7,4],2),zhangai([9,10,11,9],1),zhangai([9,10,11,9],2),zhangai([12,13,14,12],1),zhangai([12,13,14,12],2))
hold on
s
    
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -