2014-08-28 38 views
-3

我遇到此消息,“下标索引必须是真正的正整数或逻辑”。 (b(s,1),b(s,2),'r *')中的错误。 这是我的代码下标索引必须是真正的正整数或逻辑。

ptsIntersect=floor(ptsIntersect); 
    for s1=1:numBorderPoints 
     d1=sqrt((b(s1,1)-ptsIntersect(1,1)).^2 + (b(s1,2)-ptsIntersect(1,2)).^2); 
     if (d1<2) 
      break; 
     end 
    end 
    plot(b(s1,1),b(s1,2),'*') 
    % find second point of border in intersection 
    for s2=1:numBorderPoints 
     d2=sqrt((b(s2,1)-ptsIntersect(2,1)).^2 + (b(s2,2)-ptsIntersect(2,2)).^2); 
     if (d2<2) 
      break; 
     end 

    end 

    plot(b(s2,1),b(s2,2),'*') 

    if (s2-s1>5) 
      s=(s1+s2)/2; 
      hold on 
      plot(b(s,1),b(s,2),'r*') 
    end 

回答

2

就在错误之前,这两个s1s2是正整数。但是,当您执行s=(s1+s2)/2时,可能发生s不是整数,例如, (3+2)/2=2.5

在命令窗口中输入s并显示其值。

+0

谢谢你的回答。究竟 – user3883254 2014-08-29 10:55:07

相关问题