2014-02-19 49 views
0

我試圖解決8皇后的n皇后問題。我有麻煩,使第一個for循環重演。它告訴我循環沒有循環破壞的Matlab代碼

||的操作數。和& &運算符必須可轉換爲邏輯標量值。錯誤project_4(12號線)

if (ya >= 1)&&(ya <= 8)

我不能確定這意味着什麼或如何解決它。任何建議或幫助將不勝感激。

x1=input('what is the inital x of the queen?'); 

y1=input('what is the inital y of the queen?'); 

a1=zeros(8,8); 

px=zeros(8); 
py=zeros(8); 

for k=1:1:8 

    for h=1:1:8 

     b1=y1-x1; 

     ya=h+b1; 

     if (ya >= 1)&&(ya <= 8) 

      a1(ya,h)=1; 

     end 
     b2=y1+x1; 
     yb=-h+b2; 
     if (yb >= 1) && (yb <= 8) 
      a1(yb,h)=1; 

     end 
     a1(y1,h)=1; 
     a1(h,x1)=1; 
     px(k)=x1; 
     py(k)=y1; 
    end 
    [t,y]=find(a1==0, 1, 'first'); 
    x1=t; 
    y1=y; 
end 

回答

0

的線,因爲沒有值[t,y]=find(a1==0, 1, 'first');將返回空值,其a1 == 0

+0

我本可以發佈此答案 – marsei

+1

@ Macduff/macduff ...真的嗎? = P並且你們都是MATLAB標籤中最活躍的...... –