24小时热门版块排行榜    

查看: 254  |  回复: 1

zhangjian98

新虫 (初入文坛)

[求助] 求助大侠啊 程序有错误 不知道在哪里啊 新手求救啊

程序有错误:Missing variable or function.

while isempty(R)~=1; %当矩阵里的所有元素都为0时则停止循环
    A=R(find(R>0));
    [x,y]=size(A);
for i=1:x;
  
[p,q]=find(R==A(i));

   if S(p,q)==1;
    R(p,q)=0;
     R1(p,q)=0;
     r(p,q)=1;
   elseif  S(p,q)~=S(6,3);     
       B(1)=S(p-1,q)*J(p-1,q)*r(p-1,q); % 上
        B(2)=S(p+1,q)*J(p+1,q)*r(p+1,q); % 下邻域
         B(3)=S(p,q-1)*J(p,q-1)*r(p,q-1); % 左
        B(4)=S(p,q+1)*J(p,q+1)*r(p,q+1); % 右  若为0则表示为 有人 或 边界 或座位
           B(5)=100;
         C=B(find(B>0));
       D=min(C);
      
       if D<100;
          [s,t]=find(S(p-1:p+1,q-1:q+1)==D);
          a=s+p-2;
          b=t+q-2;
          if S(a,b)<S(p,q);
              
              R(a(1),b(1))=R(p,q);
              R1(a(1),b(1))=R1(p,q)
            
           if S(a,b)==1
           r(a(1),b(1))=1;
           else r(a(1),b(1))=0;
           end
          R(p,q)=0;
           R1(p,q)=0;
         r(p,q)=1;
          end
       end
  elseif S(p,q)==S(6,3);
     x=mod(i,2)+1;
     if x==1;
      R(p+1,q)=R(p,q);
      R1(p+1,q)=R1(p,q);
     R(p,q)=0;
           R1(p,q)=0;
         r(p,q)=1;
     elseif x==0;
          R(p-1,q)=R(p,q);
         R1(p-1,q)=R1(p,q);
          R(p,q)=0;
           R1(p,q)=0;
         r(p,q)=1;
     end
end
end
    set(Ii,'Cdata',R1); % 更新显示的数据

   pause(0.2);
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cjc5367

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
1:你的R在哪定义的,程序中就没有;
2:你这个应该是matlab程序吧,if or elseif 还有for语句后面不要加标点符号
2楼2013-10-17 17:04:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhangjian98 的主题更新
信息提示
请填处理意见