图论模型matlab编码,图论Prime算法Matlab源代码

%Prims Algorithm

%coded by Vikramaditya V. Kundur

%more information www.matlabsky.cn

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\n\n'); % 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,' \n');

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,'\n\nDistance modified matrix\n\n');

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,' \n');

end

fprintf(fid,'\n The nodes and shortest distances are \n');

fprintf(fid,'\nFORMAT: Distance(Source, destination) \n');

for g=1:e-1

fprintf(fid,'%d(%d,%d)\n',distance(g),source(g),destination(g));

end

status = fclose(fid);

clear

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值