声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1204|回复: 4

[求助]帮我看看这个小程序的问题吧

[复制链接]
发表于 2006-4-19 11:27 | 显示全部楼层 |阅读模式

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

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

x
<P>function[preij,gl]=spij2(Distance,i,j)%输入变量Distance表示给定的网络矩阵,i,j分别表示要求的<BR>                                       %最短路径的源,目的节点:输出变量preij表示得到的最短路径 <BR>                                       %gl用于标志点j是否是孤立点<BR>M=1000;<BR>u=[];<BR>u(i)=M;<BR>S(i)=1;<BR>pre(i)=M;<BR>w=Distance;<BR>N=size(Distance,1);<BR>row=N;<BR>PB=w(i,:);<BR>for m=1:row<BR>    if m~=i<BR>        u(m)=w(i,m);<BR>        s(m)=0;<BR>        pre(m)=i;<BR>    end<BR>end</P>
<P>if(min(u)==M)<BR>    sprintf('There are no paths from vi to other!');<BR>    gl=1;<BR>    preij=zeros(1,N);<BR>    break<BR>end</P>
<P>for m=1:row<BR>    for n=1:row<BR>        if S(n)==0<BR>            PB(n)=u(n);<BR>        else<BR>            PB(n)=M;<BR>        end<BR>    end</P>
<P>    P_MIN=min(PB);</P>
<P>    for n=1:row<BR>         f=1;<BR>         if PB(n)==P_MIN<BR>              S(n)=1;<BR>              just=n;<BR>              f=0;<BR>          end<BR>          if f==0<BR>             break<BR>          end<BR>     end</P>
<P>     for m=1:row<BR>          if S(m)==0<BR>              if u(just)+w(just,m)&lt;u(m)<BR>                   u(m)=u(just)+w(just,m);<BR>                   pre(m)=just;<BR>               end<BR>           end<BR>       end<BR>   end<BR>   <BR>   <BR>p=j;<BR>gl=1;%gl用于标志点j是否是孤立点,gl=1时点j是孤立点,gl=0时j不是孤立点<BR>for q=1:N<BR>    if(p~=q)&amp;(Distance(q,p)~=0)&amp;(Distance(q,p)~=M)<BR>        gl=0;<BR>    end<BR>end</P>
<P><BR>preij=zeros(1,N);<BR>preij(i)=M;<BR>if gl==1<BR>    preij=zeros(1,N);<BR>else<BR>    k=j;<BR>    while pre(k)~=M<BR>        preij(k)=pre(k);<BR>        k=pre(k);<BR>    end<BR>end</P>
<P>preij;<BR>gl;<BR>%这个子程序基于Dijkstra算法,主要用于计算点i到点j的最短路径<BR><BR><BR><BR>显示的错误是??? Input argument 'i' is undefined.</P>
<P>Error in ==&gt; d:\MATLAB6p5\work\spij2.m<BR>On line 6  ==&gt; u(i)=M;<BR><BR><BR><BR><BR></P>
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-4-19 13:58 | 显示全部楼层
呜呜,大家帮帮我吧
发表于 2006-4-19 15:10 | 显示全部楼层
这是函数,需要主程序调用的.你不会是直接运行这个函数了吧
 楼主| 发表于 2006-4-19 17:28 | 显示全部楼层
在主程序调用的时候也出现这个错误提示...............不明白
发表于 2006-4-21 20:30 | 显示全部楼层

回复:(夕雯)[求助]帮我看看这个小程序的问题吧

把主程序调用部分贴出来看一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 17:32 , Processed in 0.089303 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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