prim matlab,prim算法matlab

匿名用户

8级

2012-04-17 回答

%Prims Algorithm

%coded by Vikramaditya V. Kundur

clc

fid = fopen('testfile1.txt', 'r');

% Input file

%Input file should be in the form of a text file.

%5

%order of matrix

%0 2 3 4 0

%2 0 1 2 5

%3 1 0 1 2

%4 2 1 0 2

%0 5 2 2 0

l = fscanf(fid, '%g %g', [1 1])

% Input matrix size from line 1

h = fscanf(fid, '%g %g', [l l])

% Input the matrix

a=h'

fclose(fid);

fid = fopen('Result.txt','wt');

% Output file

fprintf(fid,'Original matrix\

\

'); % Printing the original matrix in the output file

for i=1:l

for k=1:l

fprintf(fid,'%6d',a(i,k));

end

fprintf(fid,' \

');

end

for i=1:l

for j=1:l

if a(i,j)==0

a(i,j)=inf;

end

end

end

k=1:l

listV(k)=0;

listV(1)=1;

e=1;

while (e

min=inf;

for i=1:l

if listV(i)==1

for j=1:l

if listV(j)==0

if min>a(i,j)

min=a(i,j);

b=a(i,j);

s=i;

d=j;

end

end

end

end

end

listV(d)=1;

distance(e)=b;

source(e)=s;

destination(e)=d;

e=e+1;

end

fprintf(fid,'\

\

Distance modified matrix\

\

');

for i=1:l

for k=1:l

if i==k

fprintf(fid,'%6d',0);

else

fprintf(fid,'%6d',a(i,k));

end

end

fprintf(fid,' \

');

end

fprintf(fid,'\

The nodes and shortest distances are \

');

fprintf(fid,'\

FORMAT: Distance(Source, destination) \

');

for g=1:e-1

fprintf(fid,'%d(%d,%d)\

',distance(g),source(g),destination(g));

end

status = fclose(fid);

clear

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值