夕雯 发表于 2006-4-19 11:27

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

<P>function=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

呜呜,大家帮帮我吧

stu000 发表于 2006-4-19 15:10

这是函数,需要主程序调用的.你不会是直接运行这个函数了吧

夕雯 发表于 2006-4-19 17:28

在主程序调用的时候也出现这个错误提示...............不明白

happy 发表于 2006-4-21 20:30

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

把主程序调用部分贴出来看一下
页: [1]
查看完整版本: [求助]帮我看看这个小程序的问题吧