[求助]真的是走投无路了!!!
<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: "Courier New"; mso-font-kerning: 0pt;"><p><span style="FONT-SIZE: 10.5pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial;"></span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"><p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;">a =<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> 0 8 Inf 1 5<br/> 8 0 6 Inf 7<br/> Inf 6 0 9 10<br/> 1 Inf 9 0 3<br/> 5 7 10 3 0<p></p></span></p><p><span style="FONT-SIZE: 10.5pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial;">程序的</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;">M</span><span style="FONT-SIZE: 10.5pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial;">文件如下:</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"><p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> a=<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> T=[]<br/>c=0<br/>v=1<br/>n=5<br/>sb=2:n<br/> for j=2:n <br/> b(1,j-1)=1<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> b(2,j-1)= j<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> b(3,j-1)=a(1,j)<br/> end<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> while size(T,2)<n-1<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> =min(b(3,:))<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> T(:,size(T,2)+1)= b(:,i)<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> c=c+b(3.i)<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> v=b(2,i)<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> temp=find(sb= =b(2,i))<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> sb(temp)=[]<br/> b(:,I)=[]<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> for j=1:length(sb)<br/> d=a(v,b(2,j))<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> if d<b(3,j)<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> b(1,j)=v<br/> b(3,j)=d<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> end<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> end<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> end<p></p></span></p><p><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"> T,c<p></p></span></p><p><span style="FONT-SIZE: 10.5pt; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial;">但是,结果为:</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"><p></p></span></p><p><u><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;">??? Error: File: C:\MATLAB6p5p1\work\tt.m Line: 34 Column: 21<br/>Assignment statements do not produce results. (Use == to test<br/>for equality.)</span></u><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial;"><p></p></span></p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; tab-stops: 18.0pt 36.0pt 54.0pt 72.0pt 90.0pt 108.0pt 126.0pt 144.0pt 162.0pt 180.0pt 198.0pt 216.0pt 234.0pt 252.0pt 270.0pt 288.0pt 306.0pt 324.0pt 342.0pt 360.0pt 378.0pt 396.0pt 414.0pt 432.0pt 450.0pt 468.0pt 486.0pt 504.0pt 522.0pt 540.0pt 558.0pt 576.0pt; mso-layout-grid-align: none;">为什么?</p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; tab-stops: 18.0pt 36.0pt 54.0pt 72.0pt 90.0pt 108.0pt 126.0pt 144.0pt 162.0pt 180.0pt 198.0pt 216.0pt 234.0pt 252.0pt 270.0pt 288.0pt 306.0pt 324.0pt 342.0pt 360.0pt 378.0pt 396.0pt 414.0pt 432.0pt 450.0pt 468.0pt 486.0pt 504.0pt 522.0pt 540.0pt 558.0pt 576.0pt; mso-layout-grid-align: none;"></p></span> <p>看错误提示是你把该用等号的地方使用了赋值号,让你用==试试!</p>回复LZ的帮助
<p>我尝试了换成==结果成功。</p><p></p><p>谢谢!</p><p></p><p>您能再帮助做这个吗?</p><p>function =floyd(a,sp,ep);<br/>a=;<br/>n=size(a,1);<br/>D=a;<br/>path=zeros(n,n);<br/>for i=1:n<br/> for j=1:n<br/> if D(i,j)~=inf<br/> path(i,j)=j;<br/> end<br/> end<br/>end<br/>for k=1:n<br/> for i=1:n<br/> for j=1:n<br/> if D(i,j)>D(i,k)+D(k,j)<br/> D(i,j)=D(i,k)+D(k,j);<br/> path(i,j)=path(i,k);<br/> end<br/> end<br/> end<br/>end<br/>sp=;<br/>ep=;<br/>p=;</p><p>mp=sp;<br/>for k=1:n<br/> if mp~=ep<br/> d=path(mp,ep);<br/> p=;<br/> mp=d;<br/> end<br/>end<br/>d=D(sp,ep);<br/>path=p;</p><p>我的结果为:</p><p>??? Error using ==> floyd3<br/>Error using ==> vertcat<br/>All rows in the bracketed expression must have the same <br/>number of columns.<br/></p><p>不明白啥意思。</p><p>谢谢了。</p> 检查一下,行或者是列的长度, 学习一下
页:
[1]