- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机仿真期末作业
姓名:吴隐奎 班级:04601 学号:041751 日期:2007-6-15
题目:Floyd 算法实现和分析
内容:用 MATLAB 仿真工具实现 Floyd 算法,求任意两端间的最短路径。
要求:尽可能用 M 函数分别实现算法的关键部分,用 M 脚本来进行算法结果验证;分别用以下两个图(用初始距离矩阵表示)进行算法验证:
?0 100 100 1.2 9.2 100 0.5 ?
? ??100 0 100 5 100 3.1
? ?
?100 100 0 100 100 4 1.5 ?
? ?
图一:W (0)
图二:W (0)
? ?1.2 5 100 0 6.7 100 100 ?
?9.2 100 100 6.7 0 15.6 100?
? ?
?100 3.1 4 100 15.6 0 100 ?
??0.5 2 1.5 100 100 100 0] ??
?0 0.5 2 1.5 100 100 100 ?
? ??0.5 0 100 100 1.2 9.2 100
? ?
?2 100 0 100 5 100 3.1 ?
?? ?
?
?1.5 100 100 0 100 100 4 ?
?100 1.2 5 100 0 6.7 100 ?
? ?
?100 9.2 100 100 6.7 0 15.6?
??100 100 3.1 4 100 15.6 0 ??
算法:给定图G 及其边(i, j) 的权w
i, j
(1? i ? n,1?
j ? n)
F0:初始化距离矩阵W (0) 和路由矩阵 R(0) 。其中:
? w
? ij
若 e ? E (有边)
ij
w (0)
? ? ? 若 e
? E (无边)
?ij ? 0 若 i ?ij j ( 对角线元素 )
?
??
?
r (0) ?
j 若w
(0) ? ?
ij
ij ?
0, 其它
F1:已求得W (k -1) 和 R(k -1) ,依据下面的迭代求W (k ) 和 R(k )
w(k ) ? min(w(k ?1) , w(k ?1) ? w(k -1))
i, j
i, j
i,k k , j
?? r(k ?1)
若w (k ) ? w
( k ?1)
r
i, j
(k )
? ?
??r
i,k
( k ?1)
i, j
若w
( k )
i, j
? w
( k ?1)
i, j
i, j
i, j
F2:若 kn,重复 F1;若 k=n,终止。
仿真:
用四个 m 文件来实现仿真,其中 main 为主函数,首先测试出矩阵的长度, 然后赋给 n,作为循环的次数;然后调用 func1 实现路由矩阵的初始化,把第 k-1 次的值付给 a 后,调用 func2 函数来迭代求出 k 次的 w 值,调用 func3 函数, 根据 a(实际上为 k-1 次 w 值)值和 k 次 w 值来求出 k 次 r 值。迭代循环 n 次。主要程序:
n=length(w); r=func1(w,n); for k=1:n
a=w; w=func2(w,n,k);
r=func3(a,w,r,n,k); end;
Func1 实现路由矩阵的初始化主要程序
for i=1:1:n
for j=1:1:n
if x(i,j)==100
r0(i,j)=0;
end;
else
end,
end;
r0(i,j)=j;
Fuuc2 该函数实现的功能是根据 k-1 次 w 的值迭代求 k 次 w 的值主要程序
for i=1:n
for j=1:n
w(i,j)=min(s(i,j),s(i,k)+s(k,j));
end
end
Func3 来根据 k-1 次 w 值和 k 次 w 值的大小求 k 次 R 的值主要程序:
for i=1:n for j=1:n
if i==j r(i,j)=0;
elseif w(i,j)a(i,j)
r(i,j)=r(i,k);
else
r(i,j)=r(i,j);
end
end
end
结果:
图一的结果:
w=
0
2.5000
2.0000
1.2000
7.9000
5.6000
0.5000
2.5000
0
3.5000
3.7000
10.4000
3.1000
2.0000
2.0000
3.5000
0
3.2000
9.9000
4.0000
1.5000
1.2000
3.7000
3.2000
0
6.7000
6.8000
1.7000
7.9000
10.4000
9.9000
6.7000
0
13.5000
8.4000
5.6000
3.1000
4.0000
6.8000
13.5000
0
5.100
您可能关注的文档
最近下载
- 2025医保政策培训(1).pptx VIP
- 2025年北京市自来水集团有限责任公司校园招聘笔试备考试题及答案解析.docx VIP
- Fujifilm富士相机X-T5用户手册.pdf
- 口袋妖怪梦的光点全图鉴.docx
- 东南大学出版社孙志忠版《数值分析解析》习题答案.pdf VIP
- 痰诱导检查课件.pptx VIP
- 中南林业科技大学涉外学院《高等数学A》2025-2026学年期末考试试卷(A)卷.docx VIP
- 人工髋关节置换术术后护理.pptx VIP
- 中南林业科技大学《高等数学A》2025-2026学年期末考试试卷(A)卷.docx VIP
- 【浅析幼儿园安全教育现状及改进对策研究—以A幼儿园为例6000字】.docx VIP
原创力文档


文档评论(0)