通信网实验报告

  • 格式:doc
  • 大小:137.00 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一:路径选择实验

一、实验目的

在进行通信网选择路由时,首选路由和各个迂回路由通常都是按照路径最短的原则进行的,目的是为了使网络费用达到最小。在求解最短径的算法中常用的有D算法和F算法。D算法用于求指定节点到其他各节点的最短路径;F算法用于求任意端间最短径。在实际中都是由计算机实现这两种算法来帮助设计人员进行路由设计。本次实验目的就是要使学生深入理解这两种算法并能用计算机实现这两种算法。

二、实验内容

用编程语言实现F算法。

F算法M文件内容如下:

function [w,r]=fsuanfa(m)

% F算法的函数文件

v_num=size(m);

v_num=v_num(1);

w=zeros(v_num);

r=zeros(v_num);

for i=1:v_num

for j=1:v_num

if i~=j

if(m(i,j)==0)

w(i,j)=inf;

else

w(i,j)=m(i,j);

r(i,j)=j;

end

end

end

end

disp W0=

disp(w)

disp R0=

disp(r)

for k=1:v_num

pause;

for i=1:v_num

if(i~=k)

for j=1:v_num

if(w(i,k)+w(k,j)

w(i,j)=w(i,k)+w(k,j);

r(i,j)=k;

end

end

end

end

fprintf('W%d=\n',k);

disp(w)

fprintf('R%d=\n',k);

disp(r)

end

%r=m./2;

end

三、实验结果

把fsuanfa .m添加到MATLAB的当前目录下,在MA TLAB的command window下运行:

lj=[0 2 8 1 0 0 0 0

2 0 6 0 1 0 0 0

8 6 0 7 5 1 2 0

1 0 7 0 0 0 9 0

0 1 5 0 0 3 0 8

0 0 1 0 3 0 4 6

0 0 2 9 0 4 0 3

0 0 0 0 8 6 3 0];

Fsuanfa(lj);

可得到如下结果:

W0=

0 2 8 1 Inf Inf Inf Inf

2 0 6 Inf 1 Inf Inf Inf

8 6 0 7 5 1 2 Inf

1 Inf 7 0 Inf Inf 9 Inf

Inf 1 5 Inf 0 3 Inf 8

Inf Inf 1 Inf 3 0 4 6

Inf Inf 2 9 Inf 4 0 3

Inf Inf Inf Inf 8 6 3 0 R0=

0 2 3 4 0 0 0 0

1 0 3 0 5 0 0 0

1 2 0 4 5 6 7 0

1 0 3 0 0 0 7 0

0 2 3 0 0 6 0 8

0 0 3 0 5 0 7 8

0 0 3 4 0 6 0 8

0 0 0 0 5 6 7 0

W1=

0 2 8 1 Inf Inf Inf Inf

2 0 6

3 1 Inf Inf Inf

8 6 0 7 5 1 2 Inf

1 3 7 0 Inf Inf 9 Inf

Inf 1 5 Inf 0 3 Inf 8

Inf Inf 1 Inf 3 0 4 6

Inf Inf 2 9 Inf 4 0 3

Inf Inf Inf Inf 8 6 3 0 R1=

0 2 3 4 0 0 0 0

1 0 3 1 5 0 0 0

1 2 0 4 5 6 7 0

1 1 3 0 0 0 7 0

0 2 3 0 0 6 0 8

0 0 3 0 5 0 7 8

0 0 3 4 0 6 0 8

0 0 0 0 5 6 7 0

W2=

0 2 8 1 3 Inf Inf Inf

2 0 6

3 1 Inf Inf Inf

8 6 0 7 5 1 2 Inf

1 3 7 0 4 Inf 9 Inf

3 1 5

4 0 3 Inf 8

Inf Inf 1 Inf 3 0 4 6

Inf Inf 2 9 Inf 4 0 3

Inf Inf Inf Inf 8 6 3 0 R2=

0 2 3 4 2 0 0 0

1 0 3 1 5 0 0 0

1 2 0 4 5 6 7 0

1 1 3 0

2 0 7 0

2 2

3 2 0 6 0 8

0 0 3 0 5 0 7 8

0 0 3 4 0 6 0 8

0 0 0 0 5 6 7 0

W3=

0 2 8 1 3 9 10 Inf

2 0 6

3 1 7 8 Inf

8 6 0 7 5 1 2 Inf

1 3 7 0 4 8 9 Inf

3 1 5

4 0 3 7 8

9 7 1 8 3 0 3 6

10 8 2 9 7 3 0 3

Inf Inf Inf Inf 8 6 3 0 R3=

0 2 3 4 2 3 3 0

1 0 3 1 5 3 3 0

1 2 0 4 5 6 7 0

1 1 3 0

2

3 7 0

2 2

3 2 0 6 3 8

3 3 3 3 5 0 3 8

3 3 3

4 3 3 0 8

0 0 0 0 5 6 7 0

W4=

0 2 8 1 3 9 10 Inf

2 0 6

3 1 7 8 Inf

8 6 0 7 5 1 2 Inf

1 3 7 0 4 8 9 Inf

3 1 5

4 0 3 7 8

9 7 1 8 3 0 3 6

10 8 2 9 7 3 0 3

Inf Inf Inf Inf 8 6 3 0 R4=

0 2 3 4 2 3 3 0

1 0 3 1 5 3 3 0

1 2 0 4 5 6 7 0

1 1 3 0

2

3 7 0

2 2

3 2 0 6 3 8

3 3 3 3 5 0 3 8

3 3 3

4 3 3 0 8

0 0 0 0 5 6 7 0