声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2652|回复: 10

[GUI界面] 最短路径算法图形输出

[复制链接]
发表于 2007-8-12 19:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
%floyd算法计算最短路径,输入a为赋权邻接矩阵
function [D,path]=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 [L,R]=router(D,path,s,t)
L=zeros(0,0); R=s;
while 1
    if s==t, L=fliplr(L); L=[0,L]; return; end
    L=[L,D(s,t)]; R=[R,path(s,t)]; 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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-8-12 22:50 | 显示全部楼层
画出个大概的布局参考一下

做了一个, 样子是这样, 但是结果不对, lz自己在看看吧
不知道你的结果输出是什么形式

那两个函数是你写的那两个

[ 本帖最后由 ChaChing 于 2009-5-2 11:12 编辑 ]

floyd.m

542 Bytes, 下载次数: 76

router.m

265 Bytes, 下载次数: 57

shortpath.m

7.25 KB, 下载次数: 51

shortpath.fig

2.1 KB, 下载次数: 53

评分

1

查看全部评分

 楼主| 发表于 2007-8-13 12:57 | 显示全部楼层
非常感谢HolySaint的指点,好象你是用 matlab 7.0编写 的吧
在我的6.5运行不了,呵呵
:@)
发表于 2007-8-13 17:10 | 显示全部楼层
是用7.0

没用过6.5

提示什么错误?
 楼主| 发表于 2007-8-13 22:42 | 显示全部楼层
figure根本就打不开,m文件提示很多错误
发表于 2007-8-15 13:32 | 显示全部楼层
搭车同问,如何用edit 框实现计算结果的输出?
发表于 2009-5-2 10:49 | 显示全部楼层
万分感谢,敬礼!!
发表于 2011-8-21 00:37 | 显示全部楼层
不错呀!呵呵呵……

点评

勿灌水!?  发表于 2011-8-21 00:50
发表于 2011-8-21 00:38 | 显示全部楼层
很好的
发表于 2011-8-21 00:38 | 显示全部楼层
却是很不错哟
发表于 2011-8-21 00:38 | 显示全部楼层
谢谢了!!!

点评

反对: 5.0
反对: 5
勿灌水!?  发表于 2011-8-21 00:52
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 05:44 , Processed in 0.066637 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表