最短路径算法图形输出
%floyd算法计算最短路径,输入a为赋权邻接矩阵function =floyd(a)
a={0,3,7,0,0,0;3,0,2,5,4,0;7,2,0,1,4,0;0,5,1,0,2,8;0,4,4,2,0,3;0,0,0,8,3,0};
n=size(a,1); D=a; path=zeros(n,n);
for i=1:n, for j=1:n
if D(i,j)~=inf, path(i,j)=j;,end
end; end
for k=1:n, for i=1:n, for j=1:n
if D(i,k)+D(k,j)<D(i,j),D(i,j)=D(i,k)+D(k,j); path(i,j)=path(i,k); end
end; end; end
%配合floyd算法的后续程序,s为源点,t为宿点, L为长度,R为路由
function =router(D,path,s,t)
L=zeros(0,0); R=s;
while 1
if s==t, L=fliplr(L); L=; return; end
L=; R=; s=path(s,t);
end
我是希望用GUI做个界面:用两个edit text框用来输入起点s和终点t,再用一个edit text框输出其途径的路径和路程,点击计算按纽开始计算。
貌似挺简单的,但是困扰我很久了,求教高手!
或者利用VB 和matlab混合编程也可以!最好是matlab 6.5版本的,谢谢好心人
上
dzy8111@163.com
[ 本帖最后由 ChaChing 于 2009-5-2 11:28 编辑 ] 画出个大概的布局参考一下
做了一个, 样子是这样, 但是结果不对, lz自己在看看吧
不知道你的结果输出是什么形式
那两个函数是你写的那两个
[ 本帖最后由 ChaChing 于 2009-5-2 11:12 编辑 ] 非常感谢HolySaint的指点,好象你是用 matlab 7.0编写 的吧
在我的6.5运行不了,呵呵
:@) 是用7.0
没用过6.5
提示什么错误? figure根本就打不开,m文件提示很多错误 搭车同问,如何用edit 框实现计算结果的输出? 万分感谢,敬礼!! 不错呀!呵呵呵…… 很好的{:{44}:}{:{23}:} 却是很不错哟{:{39}:} 谢谢了!!!
页:
[1]